All classes:
- pathspec._backends.base.Backend
- pathspec.pattern.Pattern
- pathspec.pattern.RegexPattern
- pathspec.pattern.RegexMatchResult
- pathspec.patterns.gitwildmatch.GitWildMatchPatternError
- pathspec.patterns.gitwildmatch.GitWildMatchPattern
- pathspec.patterns.gitwildmatch.GitIgnorePattern
- pathspec._backends.hyperscan._base.HyperscanExprDat
- pathspec._backends.hyperscan.pathspec.HyperscanPsBackend
- pathspec._backends.hyperscan.gitignore.HyperscanGiBackend
- pathspec.util.AlreadyRegisteredError
- pathspec.util.RecursionError
- pathspec.util.CheckResult
- pathspec.util.MatchDetail
- pathspec.util.TreeEntry
- pathspec._backends.simple.pathspec.SimplePsBackend
- pathspec._backends.simple.gitignore.SimpleGiBackend
- pathspec.pathspec.PathSpec
- pathspec.gitignore.GitIgnoreSpec
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_pathspec'
    functionSourceFile: '...fuzz_pathspec'
    functionUses: 0
    functionsReached:
    - atheris.instrument_all
    - atheris.Fuzz
    - '...fuzz_pathspec.main'
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 21
    functionName: '...fuzz_pathspec.test_raw'
    functionSourceFile: '...fuzz_pathspec'
    functionUses: 1
    functionsReached:
    - expr_data.append
    - pathspec._backends.agg.make_pathspec_backend
    - itertools.count
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
    - <builtin>.list
    - pathspec.util.lookup_pattern
    - fdp.ConsumeUnicodeNoSurrogates
    - ids.append
    - out_patterns.reverse
    - regex.decode
    - pathspec.pathspec.PathSpec._make_backend
    - regex.encode
    - use_regexes.append
    - pathspec.pathspec.PathSpec.from_lines
    - pathspec.util._is_iterable
    - atheris.FuzzedDataProvider
    - hyperscan.Database
    - spec.match_files
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db
    - regex_str.replace
    - lines.append
    - <builtin>.range
    - fdp.ConsumeIntInRange
    - typing.cast
    - pathspec.pathspec.PathSpec.__init__
    - <builtin>.dict
    - <builtin>.next
    - exprs.append
    - <builtin>.enumerate
    - db.compile
    - <builtin>.len
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__
    - pathspec._backends._utils.enumerate_patterns
    - pathspec._backends.simple.pathspec.SimplePsBackend.__init__
    - regex_str.endswith
    - <builtin>.callable
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeIntInRange
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeUnicodeNoSurrogates
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lines.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues: []
    argNames:
    - cls
    - pattern_factory
    - lines
    - backend
    - _test_backend_factory
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 217
    functionName: pathspec.pathspec.PathSpec.from_lines
    functionSourceFile: pathspec.pathspec
    functionUses: 3
    functionsReached:
    - expr_data.append
    - pathspec._backends.agg.make_pathspec_backend
    - itertools.count
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
    - <builtin>.list
    - pathspec.util.lookup_pattern
    - ids.append
    - out_patterns.reverse
    - regex.decode
    - pathspec.pathspec.PathSpec._make_backend
    - regex.encode
    - use_regexes.append
    - pathspec.util._is_iterable
    - hyperscan.Database
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db
    - regex_str.replace
    - typing.cast
    - pathspec.pathspec.PathSpec.__init__
    - <builtin>.dict
    - <builtin>.next
    - exprs.append
    - <builtin>.enumerate
    - db.compile
    - <builtin>.len
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__
    - pathspec._backends._utils.enumerate_patterns
    - pathspec._backends.simple.pathspec.SimplePsBackend.__init__
    - regex_str.endswith
    - <builtin>.callable
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec.match_files
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 34
    functionName: '...fuzz_pathspec.test_git'
    functionSourceFile: '...fuzz_pathspec'
    functionUses: 1
    functionsReached:
    - expr_data.append
    - pathspec._backends.agg.make_pathspec_backend
    - itertools.count
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
    - <builtin>.list
    - pathspec.util.lookup_pattern
    - fdp.ConsumeUnicodeNoSurrogates
    - ids.append
    - out_patterns.reverse
    - regex.decode
    - pathspec.pathspec.PathSpec._make_backend
    - regex.encode
    - use_regexes.append
    - pathspec.pathspec.PathSpec.from_lines
    - pathspec.util._is_iterable
    - atheris.FuzzedDataProvider
    - hyperscan.Database
    - spec.match_files
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db
    - regex_str.replace
    - lines.append
    - <builtin>.range
    - fdp.ConsumeIntInRange
    - typing.cast
    - pathspec.pathspec.PathSpec.__init__
    - <builtin>.dict
    - <builtin>.next
    - exprs.append
    - <builtin>.enumerate
    - db.compile
    - <builtin>.len
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__
    - pathspec._backends._utils.enumerate_patterns
    - pathspec._backends.simple.pathspec.SimplePsBackend.__init__
    - regex_str.endswith
    - <builtin>.callable
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 49
    functionName: '...fuzz_pathspec.TestOneInput'
    functionSourceFile: '...fuzz_pathspec'
    functionUses: 0
    functionsReached:
    - expr_data.append
    - pathspec._backends.agg.make_pathspec_backend
    - itertools.count
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
    - <builtin>.list
    - pathspec.util.lookup_pattern
    - fdp.ConsumeUnicodeNoSurrogates
    - ids.append
    - out_patterns.reverse
    - regex.decode
    - pathspec.pathspec.PathSpec._make_backend
    - regex.encode
    - use_regexes.append
    - pathspec.pathspec.PathSpec.from_lines
    - pathspec.util._is_iterable
    - atheris.FuzzedDataProvider
    - hyperscan.Database
    - spec.match_files
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db
    - regex_str.replace
    - lines.append
    - <builtin>.range
    - fdp.ConsumeIntInRange
    - typing.cast
    - pathspec.pathspec.PathSpec.__init__
    - <builtin>.dict
    - '...fuzz_pathspec.test_raw'
    - <builtin>.next
    - exprs.append
    - <builtin>.enumerate
    - db.compile
    - <builtin>.len
    - '...fuzz_pathspec.test_git'
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__
    - pathspec._backends._utils.enumerate_patterns
    - pathspec._backends.simple.pathspec.SimplePsBackend.__init__
    - regex_str.endswith
    - <builtin>.callable
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: '...fuzz_pathspec.main'
    functionSourceFile: '...fuzz_pathspec'
    functionUses: 1
    functionsReached:
    - atheris.instrument_all
    - atheris.Fuzz
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec
    functionSourceFile: pathspec
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._meta
    functionSourceFile: pathspec._meta
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec.gitignore
    functionSourceFile: pathspec.gitignore
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.TypeVar
    functionSourceFile: typing
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 53
    functionName: pathspec.gitignore.GitIgnoreSpec.__eq__
    functionSourceFile: pathspec.gitignore
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec.gitignore.GitIgnoreSpec
    functionSourceFile: pathspec.gitignore
    functionUses: 0
    functionsReached:
    - typing.overload
    - typing.override
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.overload
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fe74abac4f0>
    argNames:
    - cls
    - lines
    - pattern_factory
    - backend
    - _test_backend_factory
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 93
    functionName: pathspec.gitignore.GitIgnoreSpec.from_lines
    functionSourceFile: pathspec.gitignore
    functionUses: 0
    functionsReached:
    - pathspec.util._is_iterable
    - typing.cast
    - <builtin>.super
    - <builtin>.callable
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.override
    functionSourceFile: ''
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.callable
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: pathspec.util._is_iterable
    functionSourceFile: pathspec.util
    functionUses: 11
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast
    functionSourceFile: typing
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - name
    - patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 134
    functionName: pathspec.gitignore.GitIgnoreSpec._make_backend
    functionSourceFile: pathspec.gitignore
    functionUses: 0
    functionsReached:
    - pathspec._backends.simple.gitignore.SimpleGiBackend.__init__
    - pathspec._backends.agg.make_gitignore_backend
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.__init__
    - typing.cast
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - name
    - patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 43
    functionName: pathspec._backends.agg.make_gitignore_backend
    functionSourceFile: pathspec._backends.agg
    functionUses: 1
    functionsReached:
    - typing.cast
    - <builtin>.super
    - pathspec._backends.simple.gitignore.SimpleGiBackend.__init__
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.__init__
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends.agg
    functionSourceFile: pathspec._backends.agg
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.__init__
    functionSourceFile: pathspec._backends.hyperscan.gitignore
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - patterns
    - no_filter
    - no_reverse
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: pathspec._backends.simple.gitignore.SimpleGiBackend.__init__
    functionSourceFile: pathspec._backends.simple.gitignore
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - name
    - patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 69
    functionName: pathspec._backends.agg.make_pathspec_backend
    functionSourceFile: pathspec._backends.agg
    functionUses: 7
    functionsReached:
    - expr_data.append
    - itertools.count
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
    - out_patterns.reverse
    - ids.append
    - regex.decode
    - regex.encode
    - use_regexes.append
    - hyperscan.Database
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db
    - regex_str.replace
    - typing.cast
    - <builtin>.dict
    - <builtin>.next
    - exprs.append
    - <builtin>.enumerate
    - db.compile
    - <builtin>.len
    - pathspec._backends._utils.enumerate_patterns
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__
    - pathspec._backends.simple.pathspec.SimplePsBackend.__init__
    - regex_str.endswith
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 50
    functionName: pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__
    functionSourceFile: pathspec._backends.hyperscan.pathspec
    functionUses: 8
    functionsReached:
    - expr_data.append
    - itertools.count
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db
    - ids.append
    - out_patterns.reverse
    - regex.decode
    - regex.encode
    - use_regexes.append
    - hyperscan.Database
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db
    - regex_str.replace
    - <builtin>.dict
    - <builtin>.next
    - exprs.append
    - <builtin>.enumerate
    - db.compile
    - <builtin>.len
    - pathspec._backends._utils.enumerate_patterns
    - regex_str.endswith
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - patterns
    - no_filter
    - no_reverse
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 32
    functionName: pathspec._backends.simple.pathspec.SimplePsBackend.__init__
    functionSourceFile: pathspec._backends.simple.pathspec
    functionUses: 8
    functionsReached:
    - out_patterns.reverse
    - <builtin>.enumerate
    - pathspec._backends._utils.enumerate_patterns
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec.pattern
    functionSourceFile: pathspec.pattern
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - include
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 32
    functionName: pathspec.pattern.Pattern.__init__
    functionSourceFile: pathspec.pattern
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - files
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: pathspec.pattern.Pattern.match
    functionSourceFile: pathspec.pattern
    functionUses: 0
    functionsReached:
    - pathspec.pattern.Pattern.match_file
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: pathspec.pattern.Pattern.match_file
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fe74b1043d0>
    argNames:
    - self
    - pattern
    - include
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: pathspec.pattern.RegexPattern.__init__
    functionSourceFile: pathspec.pattern
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - pathspec.pattern.RegexPattern.pattern_to_regex
    - re.compile
    - <builtin>.super
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - pattern
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 186
    functionName: pathspec.pattern.RegexPattern.pattern_to_regex
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 156
    functionName: pathspec.pattern.RegexPattern.__eq__
    functionSourceFile: pathspec.pattern
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec.pattern.RegexPattern
    functionSourceFile: pathspec.pattern
    functionUses: 0
    functionsReached:
    - typing.override
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 168
    functionName: pathspec.pattern.RegexPattern.match_file
    functionSourceFile: pathspec.pattern
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec._typing
    functionSourceFile: pathspec._typing
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: pathspec._typing.override
    functionSourceFile: pathspec._typing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends.simple.gitignore
    functionSourceFile: pathspec._backends.simple.gitignore
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec._backends.simple.gitignore.SimpleGiBackend
    functionSourceFile: pathspec._backends.simple.gitignore
    functionUses: 0
    functionsReached:
    - typing.override
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: pathspec._backends.simple.gitignore.SimpleGiBackend.match_file
    functionSourceFile: pathspec._backends.simple.gitignore
    functionUses: 8
    functionsReached:
    - pattern.match_file
    - match.match.groupdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.match_file
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.match.groupdict
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec.patterns.gitwildmatch
    functionSourceFile: pathspec.patterns.gitwildmatch
    functionUses: 0
    functionsReached:
    - util.register_pattern
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec.patterns.gitwildmatch.GitWildMatchPattern
    functionSourceFile: pathspec.patterns.gitwildmatch
    functionUses: 0
    functionsReached:
    - typing.override
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 37
    ICount: 14
    IfCount: 26
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - pattern
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 50
    functionName: pathspec.patterns.gitwildmatch.GitWildMatchPattern.pattern_to_regex
    functionSourceFile: pathspec.patterns.gitwildmatch
    functionUses: 0
    functionsReached:
    - re.escape
    - pattern_segs.insert
    - <builtin>.enumerate
    - pattern.lstrip
    - pattern.decode
    - pattern.startswith
    - <builtin>.len
    - pattern.endswith
    - pattern.split
    - <builtin>.range
    - output.append
    - pathspec.patterns.gitwildmatch.GitWildMatchPattern._translate_segment_glob
    - pattern.strip
    - regex.encode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - GitWildMatchPatternError
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.lstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern_segs.insert
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 1
    IfCount: 11
    argCount: 1
    argDefaultValues: []
    argNames:
    - pattern
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: pathspec.patterns.gitwildmatch.GitWildMatchPattern._translate_segment_glob
    functionSourceFile: pathspec.patterns.gitwildmatch
    functionUses: 1
    functionsReached:
    - re.escape
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: regex.encode
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.escape
    functionSourceFile: re
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 364
    functionName: pathspec.patterns.gitwildmatch.GitWildMatchPattern.escape
    functionSourceFile: pathspec.patterns.gitwildmatch
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - out_string.encode
    - s.decode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: out_string.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: util.register_pattern
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 401
    functionName: pathspec.patterns.gitwildmatch.GitIgnorePattern.__init__
    functionSourceFile: pathspec.patterns.gitwildmatch
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - warnings.warn
    - pathspec.patterns.gitwildmatch.GitIgnorePattern._deprecated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 409
    functionName: pathspec.patterns.gitwildmatch.GitIgnorePattern._deprecated
    functionSourceFile: pathspec.patterns.gitwildmatch
    functionUses: 2
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec.patterns.gitwildmatch.GitIgnorePattern
    functionSourceFile: pathspec.patterns.gitwildmatch
    functionUses: 0
    functionsReached:
    - typing.override
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 420
    functionName: pathspec.patterns.gitwildmatch.GitIgnorePattern.pattern_to_regex
    functionSourceFile: pathspec.patterns.gitwildmatch
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - warnings.warn
    - pathspec.patterns.gitwildmatch.GitIgnorePattern._deprecated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends.simple.pathspec
    functionSourceFile: pathspec._backends.simple.pathspec
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - patterns
    - filter
    - reverse
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: pathspec._backends._utils.enumerate_patterns
    functionSourceFile: pathspec._backends._utils
    functionUses: 10
    functionsReached:
    - out_patterns.reverse
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec._backends.simple.pathspec.SimplePsBackend
    functionSourceFile: pathspec._backends.simple.pathspec
    functionUses: 0
    functionsReached:
    - typing.override
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 66
    functionName: pathspec._backends.simple.pathspec.SimplePsBackend.match_file
    functionSourceFile: pathspec._backends.simple.pathspec
    functionUses: 8
    functionsReached:
    - pathspec.util.check_match_file
    - pattern.match_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fe74b1107f0>
    argNames:
    - patterns
    - file
    - is_reversed
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: pathspec.util.check_match_file
    functionSourceFile: pathspec.util
    functionUses: 9
    functionsReached:
    - pattern.match_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec._backends._utils
    functionSourceFile: pathspec._backends._utils
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: out_patterns.reverse
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - iterable
    - default
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: pathspec._backends._utils.first
    functionSourceFile: pathspec._backends._utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends.base
    functionSourceFile: pathspec._backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 22
    functionName: pathspec._backends.base.Backend.match_file
    functionSourceFile: pathspec._backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec.util
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: pathspec.util.append_dir_sep
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached:
    - path.is_dir
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.is_dir
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fe74ad452e0>
    argNames:
    - patterns
    - files
    - all_matches
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: pathspec.util.detailed_match_files
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached:
    - pathspec.util.MatchDetail.__init__
    - <builtin>.list
    - pattern.match
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.match
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 731
    functionName: pathspec.util.MatchDetail.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - patterns
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: pathspec.util._filter_check_patterns
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fe74ad18970>
    - <ast.Constant object at 0x7fe74ad181c0>
    argNames:
    - root
    - on_error
    - follow_links
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 195
    functionName: pathspec.util.iter_tree_entries
    functionSourceFile: pathspec.util
    functionUses: 1
    functionsReached:
    - os.path.realpath
    - node_ent.is_file
    - pathspec.util._iter_tree_entries_next
    - os.scandir
    - node_ent.stat
    - pathspec.util.TreeEntry.__init__
    - node_ent.is_symlink
    - os.path.abspath
    - node_ent.is_dir
    - os.path.join
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.abspath
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 5
    argDefaultValues: []
    argNames:
    - root_full
    - dir_rel
    - memo
    - on_error
    - follow_links
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: pathspec.util._iter_tree_entries_next
    functionSourceFile: pathspec.util
    functionUses: 2
    functionsReached:
    - os.path.realpath
    - node_ent.is_file
    - pathspec.util._iter_tree_entries_next
    - os.scandir
    - node_ent.stat
    - pathspec.util.TreeEntry.__init__
    - node_ent.is_symlink
    - node_ent.is_dir
    - os.path.join
    linkageType: pythonLinkage
    raised:
    - RecursionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: os
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.realpath
    functionSourceFile: os
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.scandir
    functionSourceFile: os
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node_ent.stat
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node_ent.is_symlink
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node_ent.is_dir
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - name
    - path
    - lstat
    - stat
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 757
    functionName: pathspec.util.TreeEntry.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node_ent.is_file
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fe74ad0f970>
    - <ast.Constant object at 0x7fe74ad0fee0>
    argNames:
    - root
    - on_error
    - follow_links
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 307
    functionName: pathspec.util.iter_tree_files
    functionSourceFile: pathspec.util
    functionUses: 3
    functionsReached:
    - os.path.realpath
    - node_ent.is_file
    - os.scandir
    - node_ent.is_symlink
    - os.path.abspath
    - pathspec.util._iter_tree_files_next
    - node_ent.is_dir
    - os.path.join
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 5
    argDefaultValues: []
    argNames:
    - root_full
    - dir_rel
    - memo
    - on_error
    - follow_links
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 341
    functionName: pathspec.util._iter_tree_files_next
    functionSourceFile: pathspec.util
    functionUses: 4
    functionsReached:
    - os.path.realpath
    - node_ent.is_file
    - os.scandir
    - node_ent.is_symlink
    - pathspec.util._iter_tree_files_next
    - node_ent.is_dir
    - os.path.join
    linkageType: pythonLinkage
    raised:
    - RecursionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fe74abace50>
    - <ast.Constant object at 0x7fe74abac910>
    argNames:
    - root
    - on_error
    - follow_links
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 403
    functionName: pathspec.util.iter_tree
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached:
    - os.path.realpath
    - node_ent.is_file
    - os.scandir
    - warnings.warn
    - node_ent.is_symlink
    - os.path.abspath
    - pathspec.util._iter_tree_files_next
    - node_ent.is_dir
    - os.path.join
    - <builtin>.callable
    - pathspec.util.iter_tree_files
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 414
    functionName: pathspec.util.lookup_pattern
    functionSourceFile: pathspec.util
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - patterns
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 426
    functionName: pathspec.util.match_file
    functionSourceFile: pathspec.util
    functionUses: 1
    functionsReached:
    - pattern.match_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - patterns
    - files
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 446
    functionName: pathspec.util.match_files
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached:
    - warnings.warn
    - return_files.add
    - pathspec.util.match_file
    - <builtin>.set
    - pattern.match_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_files.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fe74b356970>
    argNames:
    - file
    - separators
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 479
    functionName: pathspec.util.normalize_file
    functionSourceFile: pathspec.util
    functionUses: 9
    functionsReached:
    - norm_file.replace
    - norm_file.startswith
    - os.fspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fspath
    functionSourceFile: os
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: norm_file.replace
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: norm_file.startswith
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fe74abb1970>
    argNames:
    - files
    - separators
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 518
    functionName: pathspec.util.normalize_files
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached:
    - norm_file.startswith
    - warnings.warn
    - os.fspath
    - pathspec.util.normalize_file
    - norm_file.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fe74abb1190>
    argNames:
    - name
    - pattern_factory
    - override
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 555
    functionName: pathspec.util.register_pattern
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - AlreadyRegisteredError
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - pattern_factory
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 592
    functionName: pathspec.util.AlreadyRegisteredError.__init__
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 608
    functionName: pathspec.util.AlreadyRegisteredError.message
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 618
    functionName: pathspec.util.AlreadyRegisteredError.name
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 625
    functionName: pathspec.util.AlreadyRegisteredError.pattern_factory
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - real_path
    - first_path
    - second_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 638
    functionName: pathspec.util.RecursionError.__init__
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 657
    functionName: pathspec.util.RecursionError.first_path
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 665
    functionName: pathspec.util.RecursionError.message
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 675
    functionName: pathspec.util.RecursionError.real_path
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 683
    functionName: pathspec.util.RecursionError.second_path
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fe74b33d820>
    argNames:
    - self
    - follow_links
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 800
    functionName: pathspec.util.TreeEntry.is_dir
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fe74b33dbe0>
    argNames:
    - self
    - follow_links
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 816
    functionName: pathspec.util.TreeEntry.is_file
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 832
    functionName: pathspec.util.TreeEntry.is_symlink
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fe74ad00580>
    argNames:
    - self
    - follow_links
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 838
    functionName: pathspec.util.TreeEntry.stat
    functionSourceFile: pathspec.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends.hyperscan.base
    functionSourceFile: pathspec._backends.hyperscan.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends.hyperscan
    functionSourceFile: pathspec._backends.hyperscan
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends.simple
    functionSourceFile: pathspec._backends.simple
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends.hyperscan.gitignore
    functionSourceFile: pathspec._backends.hyperscan.gitignore
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec._backends.hyperscan.gitignore.HyperscanGiBackend
    functionSourceFile: pathspec._backends.hyperscan.gitignore
    functionUses: 0
    functionsReached:
    - typing.override
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 9
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - db
    - patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
    functionSourceFile: pathspec._backends.hyperscan.gitignore
    functionUses: 9
    functionsReached:
    - expr_data.append
    - <builtin>.next
    - exprs.append
    - itertools.count
    - regex_str.replace
    - db.compile
    - ids.append
    - <builtin>.len
    - regex.decode
    - regex_str.endswith
    - regex.encode
    - use_regexes.append
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.count
    functionSourceFile: itertools
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: regex.decode
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: regex_str.endswith
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: use_regexes.append
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: regex_str.replace
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expr_data.append
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exprs.append
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ids.append
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: db.compile
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 149
    functionName: pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.match_file
    functionSourceFile: pathspec._backends.hyperscan.gitignore
    functionUses: 8
    functionsReached:
    - file.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file.encode
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - expr_id
    - _from
    - _to
    - _flags
    - _context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 166
    functionName: pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.__on_match
    functionSourceFile: pathspec._backends.hyperscan.gitignore
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec.patterns
    functionSourceFile: pathspec.patterns
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends.hyperscan.pathspec
    functionSourceFile: pathspec._backends.hyperscan.pathspec
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db
    functionSourceFile: pathspec._backends.hyperscan.pathspec
    functionUses: 9
    functionsReached:
    - hyperscan.Database
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - db
    - patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db
    functionSourceFile: pathspec._backends.hyperscan.pathspec
    functionUses: 9
    functionsReached:
    - expr_data.append
    - <builtin>.next
    - itertools.count
    - exprs.append
    - db.compile
    - ids.append
    - <builtin>.len
    - regex.encode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec._backends.hyperscan.pathspec.HyperscanPsBackend
    functionSourceFile: pathspec._backends.hyperscan.pathspec
    functionUses: 0
    functionsReached:
    - typing.override
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.match_file
    functionSourceFile: pathspec._backends.hyperscan.pathspec
    functionUses: 8
    functionsReached:
    - file.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hyperscan.Database
    functionSourceFile: hyperscan
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - expr_id
    - _from
    - _to
    - _flags
    - _context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__on_match
    functionSourceFile: pathspec._backends.hyperscan.pathspec
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends.hyperscan._base
    functionSourceFile: pathspec._backends.hyperscan._base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: pathspec.pathspec
    functionSourceFile: pathspec.pathspec
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - patterns
    - backend
    - _test_backend_factory
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 49
    functionName: pathspec.pathspec.PathSpec.__init__
    functionSourceFile: pathspec.pathspec
    functionUses: 4
    functionsReached:
    - expr_data.append
    - pathspec._backends.agg.make_pathspec_backend
    - itertools.count
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db
    - <builtin>.list
    - ids.append
    - out_patterns.reverse
    - regex.decode
    - pathspec.pathspec.PathSpec._make_backend
    - regex.encode
    - use_regexes.append
    - hyperscan.Database
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db
    - regex_str.replace
    - typing.cast
    - <builtin>.dict
    - <builtin>.next
    - exprs.append
    - <builtin>.enumerate
    - db.compile
    - <builtin>.len
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__
    - pathspec._backends._utils.enumerate_patterns
    - pathspec._backends.simple.pathspec.SimplePsBackend.__init__
    - regex_str.endswith
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - name
    - patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 258
    functionName: pathspec.pathspec.PathSpec._make_backend
    functionSourceFile: pathspec.pathspec
    functionUses: 6
    functionsReached:
    - expr_data.append
    - pathspec._backends.agg.make_pathspec_backend
    - itertools.count
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
    - out_patterns.reverse
    - ids.append
    - regex.decode
    - regex.encode
    - use_regexes.append
    - hyperscan.Database
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db
    - regex_str.replace
    - typing.cast
    - <builtin>.dict
    - <builtin>.next
    - exprs.append
    - <builtin>.enumerate
    - db.compile
    - <builtin>.len
    - pathspec._backends._utils.enumerate_patterns
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__
    - pathspec._backends.simple.pathspec.SimplePsBackend.__init__
    - regex_str.endswith
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: pathspec.pathspec.PathSpec.__add__
    functionSourceFile: pathspec.pathspec
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 106
    functionName: pathspec.pathspec.PathSpec.__eq__
    functionSourceFile: pathspec.pathspec
    functionUses: 0
    functionsReached:
    - <builtin>.all
    - <builtin>.isinstance
    - itertools.zip_longest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.zip_longest
    functionSourceFile: itertools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 117
    functionName: pathspec.pathspec.PathSpec.__iadd__
    functionSourceFile: pathspec.pathspec
    functionUses: 0
    functionsReached:
    - expr_data.append
    - pathspec._backends.agg.make_pathspec_backend
    - itertools.count
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db
    - ids.append
    - out_patterns.reverse
    - regex.decode
    - pathspec.pathspec.PathSpec._make_backend
    - regex.encode
    - use_regexes.append
    - hyperscan.Database
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db
    - regex_str.replace
    - typing.cast
    - <builtin>.dict
    - <builtin>.next
    - exprs.append
    - <builtin>.enumerate
    - db.compile
    - <builtin>.len
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__
    - pathspec._backends._utils.enumerate_patterns
    - pathspec._backends.simple.pathspec.SimplePsBackend.__init__
    - regex_str.endswith
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 129
    functionName: pathspec.pathspec.PathSpec.__len__
    functionSourceFile: pathspec.pathspec
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fe74ad48e80>
    argNames:
    - self
    - file
    - separators
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 135
    functionName: pathspec.pathspec.PathSpec.check_file
    functionSourceFile: pathspec.pathspec
    functionUses: 0
    functionsReached:
    - pathspec._backends.simple.pathspec.SimplePsBackend.match_file
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.match_file
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.match_file
    - pathspec.util.check_match_file
    - norm_file.startswith
    - file.encode
    - os.fspath
    - pathspec._backends.simple.gitignore.SimpleGiBackend.match_file
    - pathspec.util.normalize_file
    - match.match.groupdict
    - norm_file.replace
    - pattern.match_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fe74b345400>
    argNames:
    - self
    - files
    - separators
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 156
    functionName: pathspec.pathspec.PathSpec.check_files
    functionSourceFile: pathspec.pathspec
    functionUses: 1
    functionsReached:
    - pathspec._backends.simple.pathspec.SimplePsBackend.match_file
    - pathspec.util._is_iterable
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.match_file
    - pathspec.util.check_match_file
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.match_file
    - norm_file.startswith
    - file.encode
    - os.fspath
    - pathspec._backends.simple.gitignore.SimpleGiBackend.match_file
    - pathspec.util.normalize_file
    - match.match.groupdict
    - norm_file.replace
    - pattern.match_file
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fe74abc17c0>
    - <ast.Constant object at 0x7fe74abc1fd0>
    argNames:
    - self
    - root
    - on_error
    - follow_links
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 183
    functionName: pathspec.pathspec.PathSpec.check_tree_files
    functionSourceFile: pathspec.pathspec
    functionUses: 0
    functionsReached:
    - pathspec._backends.simple.pathspec.SimplePsBackend.match_file
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.match_file
    - os.scandir
    - pathspec.pathspec.PathSpec.check_files
    - os.path.abspath
    - pathspec._backends.simple.gitignore.SimpleGiBackend.match_file
    - node_ent.is_dir
    - norm_file.replace
    - pattern.match_file
    - pathspec.util._is_iterable
    - norm_file.startswith
    - pathspec.util.check_match_file
    - pathspec.util.normalize_file
    - match.match.groupdict
    - os.path.join
    - pathspec.util.iter_tree_files
    - os.path.realpath
    - node_ent.is_file
    - node_ent.is_symlink
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.match_file
    - file.encode
    - os.fspath
    - pathspec.util._iter_tree_files_next
    - <builtin>.callable
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fe74ad001c0>
    argNames:
    - self
    - entries
    - separators
    - negate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 274
    functionName: pathspec.pathspec.PathSpec.match_entries
    functionSourceFile: pathspec.pathspec
    functionUses: 1
    functionsReached:
    - pathspec._backends.simple.pathspec.SimplePsBackend.match_file
    - pathspec.util._is_iterable
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.match_file
    - pathspec.util.check_match_file
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.match_file
    - norm_file.startswith
    - file.encode
    - os.fspath
    - pathspec._backends.simple.gitignore.SimpleGiBackend.match_file
    - pathspec.util.normalize_file
    - match.match.groupdict
    - norm_file.replace
    - pattern.match_file
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fe74ab6fdf0>
    argNames:
    - self
    - file
    - separators
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 312
    functionName: pathspec.pathspec.PathSpec.match_file
    functionSourceFile: pathspec.pathspec
    functionUses: 0
    functionsReached:
    - pathspec._backends.simple.pathspec.SimplePsBackend.match_file
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.match_file
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.match_file
    - pathspec.util.check_match_file
    - norm_file.startswith
    - file.encode
    - os.fspath
    - pathspec._backends.simple.gitignore.SimpleGiBackend.match_file
    - pathspec.util.normalize_file
    - match.match.groupdict
    - norm_file.replace
    - pattern.match_file
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fe74b545f10>
    argNames:
    - self
    - files
    - separators
    - negate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 333
    functionName: pathspec.pathspec.PathSpec.match_files
    functionSourceFile: pathspec.pathspec
    functionUses: 1
    functionsReached:
    - pathspec._backends.simple.pathspec.SimplePsBackend.match_file
    - pathspec.util._is_iterable
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.match_file
    - pathspec.util.check_match_file
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.match_file
    - norm_file.startswith
    - file.encode
    - os.fspath
    - pathspec._backends.simple.gitignore.SimpleGiBackend.match_file
    - pathspec.util.normalize_file
    - match.match.groupdict
    - norm_file.replace
    - pattern.match_file
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fe74b110310>
    - <ast.Constant object at 0x7fe74b1105e0>
    argNames:
    - self
    - root
    - on_error
    - follow_links
    - negate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 372
    functionName: pathspec.pathspec.PathSpec.match_tree_entries
    functionSourceFile: pathspec.pathspec
    functionUses: 0
    functionsReached:
    - pathspec._backends.simple.pathspec.SimplePsBackend.match_file
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.match_file
    - os.scandir
    - node_ent.stat
    - os.path.abspath
    - pathspec._backends.simple.gitignore.SimpleGiBackend.match_file
    - node_ent.is_dir
    - norm_file.replace
    - pattern.match_file
    - pathspec.util.iter_tree_entries
    - pathspec.util._is_iterable
    - pathspec.util.check_match_file
    - norm_file.startswith
    - pathspec.util.normalize_file
    - os.path.join
    - match.match.groupdict
    - os.path.realpath
    - node_ent.is_file
    - node_ent.is_symlink
    - pathspec.pathspec.PathSpec.match_entries
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.match_file
    - pathspec.util._iter_tree_entries_next
    - pathspec.util.TreeEntry.__init__
    - file.encode
    - os.fspath
    - <builtin>.callable
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fe74abb1d90>
    - <ast.Constant object at 0x7fe74abb1190>
    argNames:
    - self
    - root
    - on_error
    - follow_links
    - negate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 407
    functionName: pathspec.pathspec.PathSpec.match_tree_files
    functionSourceFile: pathspec.pathspec
    functionUses: 0
    functionsReached:
    - pathspec._backends.simple.pathspec.SimplePsBackend.match_file
    - pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.match_file
    - os.scandir
    - os.path.abspath
    - pathspec._backends.simple.gitignore.SimpleGiBackend.match_file
    - node_ent.is_dir
    - norm_file.replace
    - pattern.match_file
    - pathspec.util._is_iterable
    - norm_file.startswith
    - pathspec.util.check_match_file
    - pathspec.util.normalize_file
    - match.match.groupdict
    - os.path.join
    - pathspec.util.iter_tree_files
    - pathspec.pathspec.PathSpec.match_files
    - os.path.realpath
    - node_ent.is_file
    - node_ent.is_symlink
    - pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.match_file
    - file.encode
    - os.fspath
    - pathspec.util._iter_tree_files_next
    - <builtin>.callable
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathspec._backends
    functionSourceFile: pathspec._backends
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_pathspec':
  - 60
  - 61
  '...fuzz_pathspec.TestOneInput':
  - 50
  - 51
  '...fuzz_pathspec.main':
  - 56
  - 57
  - 55
  '...fuzz_pathspec.test_git':
  - 35
  - 37
  - 38
  - 41
  - 46
  '...fuzz_pathspec.test_raw':
  - 22
  - 25
  - 26
  - 28
  - 31
  pathspec:
  - 1
  pathspec._backends:
  - 1
  pathspec._backends._utils:
  - 1
  - 19
  - 20
  - 21
  pathspec._backends._utils.enumerate_patterns:
  - 48
  - 44
  - 29
  - 47
  pathspec._backends._utils.first:
  - 64
  - 73
  - 60
  - 55
  pathspec._backends.agg:
  - 1
  - 37
  - 33
  pathspec._backends.agg.make_gitignore_backend:
  - 64
  - 47
  - 58
  - 61
  - 62
  - 63
  pathspec._backends.agg.make_pathspec_backend:
  - 73
  - 84
  - 87
  - 88
  - 89
  - 90
  pathspec._backends.base:
  - 1
  pathspec._backends.base.Backend:
  - 17
  pathspec._backends.base.Backend.match_file:
  - 23
  pathspec._backends.hyperscan._base:
  - 1
  pathspec._backends.hyperscan._base.HyperscanExprDat:
  - 16
  - 40
  - 35
  - 29
  pathspec._backends.hyperscan.base:
  - 1
  - 21
  pathspec._backends.hyperscan.gitignore:
  - 1
  - 42
  - 37
  pathspec._backends.hyperscan.gitignore.HyperscanGiBackend:
  - 48
  pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.__init__:
  - 64
  - 58
  pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.__on_match:
  - 191
  - 174
  - 183
  pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db:
  - 128
  - 129
  - 131
  - 136
  - 137
  - 140
  - 143
  - 73
  - 87
  - 89
  - 90
  - 94
  - 98
  - 101
  - 104
  - 105
  - 107
  - 109
  - 112
  - 113
  - 114
  - 117
  - 118
  - 120
  - 122
  - 124
  - 125
  pathspec._backends.hyperscan.gitignore.HyperscanGiBackend.match_file:
  - 162
  - 150
  pathspec._backends.hyperscan.pathspec:
  - 1
  pathspec._backends.hyperscan.pathspec.HyperscanPsBackend:
  - 46
  - 39
  pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__:
  - 65
  - 68
  - 72
  - 73
  - 77
  - 78
  - 84
  - 54
  - 88
  - 89
  - 60
  - 63
  pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__on_match:
  - 180
  pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db:
  - 129
  - 99
  - 134
  - 135
  - 138
  - 141
  - 113
  - 115
  - 116
  - 120
  - 123
  - 126
  - 127
  pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db:
  - 170
  - 165
  pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.match_file:
  - 160
  - 148
  pathspec._backends.simple.gitignore:
  - 1
  pathspec._backends.simple.gitignore.SimpleGiBackend:
  - 25
  pathspec._backends.simple.gitignore.SimpleGiBackend.__init__:
  - 40
  - 52
  pathspec._backends.simple.gitignore.SimpleGiBackend.match_file:
  - 99
  - 70
  - 71
  - 73
  - 78
  - 80
  - 87
  - 56
  - 88
  - 94
  pathspec._backends.simple.pathspec:
  - 1
  pathspec._backends.simple.pathspec.SimplePsBackend:
  - 27
  pathspec._backends.simple.pathspec.SimplePsBackend.__init__:
  - 57
  - 60
  - 53
  - 39
  pathspec._backends.simple.pathspec.SimplePsBackend.match_file:
  - 67
  - 76
  pathspec._meta:
  - 1
  pathspec._typing:
  - 16
  - 1
  pathspec.gitignore:
  - 40
  - 1
  - 41
  pathspec.gitignore.GitIgnoreSpec:
  - 48
  pathspec.gitignore.GitIgnoreSpec.__eq__:
  - 59
  - 60
  - 61
  - 54
  pathspec.gitignore.GitIgnoreSpec._make_backend:
  - 138
  - 148
  pathspec.gitignore.GitIgnoreSpec.from_lines:
  - 129
  - 130
  - 101
  - 77
  - 89
  - 122
  - 125
  pathspec.pathspec:
  - 1
  - 36
  - 37
  pathspec.pathspec.PathSpec:
  - 44
  pathspec.pathspec.PathSpec.__add__:
  - 97
  - 101
  - 102
  pathspec.pathspec.PathSpec.__eq__:
  - 112
  - 113
  - 107
  - 111
  pathspec.pathspec.PathSpec.__iadd__:
  - 122
  - 124
  - 118
  pathspec.pathspec.PathSpec.__init__:
  - 68
  - 69
  - 71
  - 74
  - 75
  - 76
  - 78
  - 81
  - 86
  - 56
  - 91
  pathspec.pathspec.PathSpec.__len__:
  - 130
  - 133
  pathspec.pathspec.PathSpec._make_backend:
  - 272
  - 262
  pathspec.pathspec.PathSpec.check_file:
  - 152
  - 153
  - 154
  - 140
  pathspec.pathspec.PathSpec.check_files:
  - 161
  - 175
  - 178
  - 179
  - 180
  - 181
  pathspec.pathspec.PathSpec.check_tree_files:
  - 213
  - 189
  - 214
  pathspec.pathspec.PathSpec.from_lines:
  - 225
  - 245
  - 246
  - 248
  - 251
  - 254
  - 255
  pathspec.pathspec.PathSpec.match_entries:
  - 299
  - 302
  - 303
  - 304
  - 306
  - 309
  - 310
  - 281
  pathspec.pathspec.PathSpec.match_file:
  - 329
  - 330
  - 331
  - 317
  pathspec.pathspec.PathSpec.match_files:
  - 359
  - 362
  - 363
  - 364
  - 366
  - 369
  - 370
  - 340
  pathspec.pathspec.PathSpec.match_tree_entries:
  - 404
  - 380
  - 405
  pathspec.pathspec.PathSpec.match_tree_files:
  - 439
  - 438
  - 415
  pathspec.pattern:
  - 1
  pathspec.pattern.Pattern:
  - 23
  pathspec.pattern.Pattern.__init__:
  - 33
  - 42
  pathspec.pattern.Pattern.match:
  - 68
  - 69
  - 70
  - 49
  - 62
  pathspec.pattern.Pattern.match_file:
  - 73
  pathspec.pattern.RegexMatchResult:
  - 216
  - 205
  pathspec.pattern.RegexPattern:
  - 86
  pathspec.pattern.RegexPattern.__eq__:
  - 162
  - 157
  pathspec.pattern.RegexPattern.__init__:
  - 131
  - 102
  - 142
  - 145
  - 116
  - 151
  - 120
  - 123
  - 124
  - 126
  pathspec.pattern.RegexPattern.match_file:
  - 169
  - 178
  - 179
  - 180
  - 181
  pathspec.pattern.RegexPattern.pattern_to_regex:
  - 187
  pathspec.patterns:
  - 1
  pathspec.patterns.gitwildmatch:
  - 1
  - 392
  - 429
  - 20
  - 25
  pathspec.patterns.gitwildmatch.GitIgnorePattern:
  - 396
  pathspec.patterns.gitwildmatch.GitIgnorePattern.__init__:
  - 402
  - 405
  - 406
  pathspec.patterns.gitwildmatch.GitIgnorePattern._deprecated:
  - 410
  - 413
  pathspec.patterns.gitwildmatch.GitIgnorePattern.pattern_to_regex:
  - 424
  - 425
  - 421
  pathspec.patterns.gitwildmatch.GitWildMatchPattern:
  - 40
  pathspec.patterns.gitwildmatch.GitWildMatchPattern._translate_segment_glob:
  - 288
  - 356
  - 293
  - 326
  - 358
  - 330
  - 268
  - 303
  - 315
  - 274
  - 308
  - 277
  - 341
  - 279
  - 283
  - 254
  pathspec.patterns.gitwildmatch.GitWildMatchPattern.escape:
  - 385
  - 387
  - 388
  - 365
  - 373
  - 376
  - 378
  pathspec.patterns.gitwildmatch.GitWildMatchPattern.pattern_to_regex:
  - 130
  - 136
  - 142
  - 148
  - 149
  - 157
  - 162
  - 169
  - 173
  - 174
  - 175
  - 176
  - 179
  - 181
  - 54
  - 184
  - 187
  - 190
  - 191
  - 64
  - 193
  - 66
  - 68
  - 198
  - 201
  - 74
  - 203
  - 204
  - 77
  - 206
  - 79
  - 208
  - 84
  - 212
  - 218
  - 91
  - 219
  - 222
  - 97
  - 98
  - 226
  - 230
  - 234
  - 235
  - 113
  - 247
  - 248
  - 124
  - 127
  pathspec.patterns.gitwildmatch.GitWildMatchPatternError:
  - 32
  pathspec.util:
  - 1
  - 34
  - 35
  - 44
  - 52
  pathspec.util.AlreadyRegisteredError:
  - 587
  pathspec.util.AlreadyRegisteredError.__init__:
  - 605
  - 597
  pathspec.util.AlreadyRegisteredError.message:
  - 609
  - 612
  pathspec.util.AlreadyRegisteredError.name:
  - 619
  pathspec.util.AlreadyRegisteredError.pattern_factory:
  - 626
  pathspec.util.CheckResult:
  - 717
  - 706
  - 693
  - 711
  pathspec.util.MatchDetail:
  - 724
  pathspec.util.MatchDetail.__init__:
  - 732
  - 741
  pathspec.util.RecursionError:
  - 634
  pathspec.util.RecursionError.__init__:
  - 644
  - 654
  pathspec.util.RecursionError.first_path:
  - 658
  pathspec.util.RecursionError.message:
  - 666
  pathspec.util.RecursionError.real_path:
  - 676
  pathspec.util.RecursionError.second_path:
  - 684
  pathspec.util.TreeEntry:
  - 749
  pathspec.util.TreeEntry.__init__:
  - 779
  - 785
  - 790
  - 795
  - 764
  pathspec.util.TreeEntry.is_dir:
  - 801
  - 810
  - 814
  pathspec.util.TreeEntry.is_file:
  - 817
  - 826
  - 830
  pathspec.util.TreeEntry.is_symlink:
  - 833
  - 836
  pathspec.util.TreeEntry.stat:
  - 848
  - 839
  pathspec.util._filter_check_patterns:
  - 168
  - 179
  pathspec.util._is_iterable:
  - 192
  - 185
  pathspec.util._iter_tree_entries_next:
  - 259
  - 264
  - 266
  - 267
  - 271
  - 273
  - 274
  - 277
  - 280
  - 282
  - 283
  - 288
  - 291
  - 293
  - 295
  - 297
  - 235
  - 254
  - 255
  pathspec.util._iter_tree_files_next:
  - 385
  - 387
  - 389
  - 391
  - 393
  - 367
  - 368
  - 372
  - 380
  - 377
  - 379
  - 348
  - 382
  pathspec.util.append_dir_sep:
  - 59
  - 68
  - 69
  pathspec.util.check_match_file:
  - 98
  - 101
  - 102
  - 111
  - 80
  - 112
  pathspec.util.detailed_match_files:
  - 141
  - 143
  - 144
  - 145
  - 146
  - 148
  - 149
  - 150
  - 151
  - 155
  - 124
  - 159
  pathspec.util.iter_tree:
  - 408
  - 411
  - 404
  pathspec.util.iter_tree_entries:
  - 200
  - 225
  - 219
  - 222
  pathspec.util.iter_tree_files:
  - 312
  - 338
  - 332
  - 335
  pathspec.util.lookup_pattern:
  - 415
  pathspec.util.match_file:
  - 440
  - 427
  - 439
  pathspec.util.match_files:
  - 450
  - 464
  - 471
  - 472
  - 473
  - 474
  pathspec.util.normalize_file:
  - 483
  - 498
  - 502
  - 504
  - 505
  - 507
  - 511
  pathspec.util.normalize_files:
  - 545
  - 546
  - 547
  - 548
  - 522
  - 539
  pathspec.util.register_pattern:
  - 560
  - 577
  - 580
  - 574
Fuzzer filename: /src/fuzz_pathspec.py
Inheritance:
  pathspec._backends.base.Backend:
  - object
  pathspec._backends.hyperscan._base.HyperscanExprDat:
  - object
  pathspec._backends.hyperscan.gitignore.HyperscanGiBackend:
  - HyperscanPsBackend
  pathspec._backends.hyperscan.pathspec.HyperscanPsBackend:
  - Backend
  pathspec._backends.simple.gitignore.SimpleGiBackend:
  - SimplePsBackend
  pathspec._backends.simple.pathspec.SimplePsBackend:
  - Backend
  pathspec.gitignore.GitIgnoreSpec:
  - PathSpec
  pathspec.pathspec.PathSpec:
  - object
  pathspec.pattern.Pattern:
  - object
  pathspec.pattern.RegexMatchResult:
  - object
  pathspec.pattern.RegexPattern:
  - Pattern
  pathspec.patterns.gitwildmatch.GitIgnorePattern:
  - GitWildMatchPattern
  pathspec.patterns.gitwildmatch.GitWildMatchPattern:
  - RegexPattern
  pathspec.patterns.gitwildmatch.GitWildMatchPatternError:
  - ValueError
  pathspec.util.AlreadyRegisteredError:
  - Exception
  pathspec.util.CheckResult: []
  pathspec.util.MatchDetail:
  - object
  pathspec.util.RecursionError:
  - Exception
  pathspec.util.TreeEntry:
  - object
ep:
  func_name: TestOneInput
  module: '...fuzz_pathspec'
