All classes:
- black.mode.TargetVersion
- black.mode.Feature
- black.mode.Preview
- black.mode.Deprecated
- black.mode.Mode
- black.cache.FileData
- black.cache.Cache
- black.nodes.Visitor
- black.comments.ProtoComment
- black.report.Changed
- black.report.NothingChanged
- black.report.Report
- black.handle_ipynb_magics.Replacement
- black.handle_ipynb_magics.CellMagic
- black.handle_ipynb_magics.CellMagicFinder
- black.handle_ipynb_magics.OffsetAndMagic
- black.handle_ipynb_magics.MagicFinder
- black.brackets.BracketMatchError
- black.brackets.BracketTracker
- black.lines.Line
- black.lines.RHSResult
- black.lines.LinesBlock
- black.lines.EmptyLineTracker
- black.rusty.Ok
- black.rusty.Err
- black.trans.CannotTransform
- black.trans.StringTransformer
- black.trans.CustomSplit
- black.trans.CustomSplitMapMixin
- black.trans.StringMerger
- black.trans.StringParenStripper
- black.trans.BaseStringSplitter
- black.trans.StringSplitter
- black.trans.StringParenWrapper
- black.trans.StringParser
- black.linegen.CannotSplit
- black.linegen.LineGenerator
- black.linegen._BracketSplitComponent
- black.parsing.InvalidInput
- black.parsing.ASTSafetyError
- black.ranges._TopLevelStatementsVisitor
- black.ranges._LinesMapping
- black.WriteBack
- black.debug.DebugVisitor
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_format_filecontents'
    functionSourceFile: '...fuzz_format_filecontents'
    functionUses: 0
    functionsReached:
    - atheris.Setup
    - '...fuzz_format_filecontents.main'
    - atheris.instrument_all
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 21
    functionName: '...fuzz_format_filecontents.TestOneInput'
    functionSourceFile: '...fuzz_format_filecontents'
    functionUses: 0
    functionsReached:
    - chain.append
    - _line_pattern.finditer
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - traceback.format_tb
    - parent_stack.append
    - re.match
    - <builtin>.sorted
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - black.parsing._stringify_ast
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - re.finditer
    - i.strip
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.nodes.is_number_token
    - black.handle_ipynb_magics.replace_magics
    - src.strip
    - nb.get
    - src_contents.count
    - line.startswith
    - black.nodes.preceding_leaf
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.comments._should_keep_compound_statement_inline
    - normalized_contents.lstrip
    - <builtin>.bool
    - warnings.catch_warnings
    - dst_blocks.append
    - io.BytesIO
    - black.comments.children_contains_fmt_on
    - black.nodes.is_vararg
    - line.comments_after
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - black.nodes.furthest_ancestor_with_last_leaf
    - re.split
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - black.nodes.fstring_tstring_to_string
    - ignored_nodes.insert
    - black.handle_ipynb_magics._get_code_start
    - srcbuf.seek
    - node_str.endswith
    - src.split
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - content.rstrip
    - black.format_cell
    - <builtin>.enumerate
    - black.ranges.is_valid_line_range
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.validate_metadata
    - multiline_string_contexts.append
    - tempfile.NamedTemporaryFile
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - black.parsing.parse_ast
    - dst_contents.extend
    - nodes_to_ignore.insert
    - line.contains_unsplittable_type_ignore
    - black.parsing.stringify_ast
    - line_str.split
    - node.insert_child
    - blib2to3.pytree.Leaf.value.lstrip
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - diff_lines.append
    - fdp.ConsumeIntInRange
    - fdp.ConsumeBool
    - line.contains_standalone_comments
    - black.comments._get_compound_statement_header
    - content.split
    - atheris.FuzzedDataProvider
    - black.check_stability_and_equivalence
    - black.lines.is_line_short_enough
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - difflib.unified_diff
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - black.parsing._parse_single_version
    - black.nodes.first_leaf_of
    - type_part.strip
    - first_leaf.prefix.count
    - line.endswith
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_sequence_between
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - new_srcs.append
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - fmt_off_prefix.split
    - ast.parse
    - black.ranges.sanitized_lines
    - parts.append
    - modified_source.splitlines
    - result.extend
    - IPython.core.inputtransformer2.TransformerManager
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - black.parsing._normalize
    - seen_nodes.add
    - black.linegen.LineGenerator.__init__
    - black.format_ipynb_string
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - src.replace
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - <builtin>.type
    - original_prefix.split
    - blib2to3.pytree.Node.endswith
    - <builtin>.isinstance
    - black.comments.list_comments
    - collections.defaultdict
    - fdp.ConsumeUnicodeNoSurrogates
    - <builtin>.any
    - secrets.token_hex
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - black.handle_ipynb_magics.get_token
    - dst.rstrip
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.assert_stable
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.ranges._calculate_lines_mappings
    - black.parsing.get_grammars
    - black._format_str_once
    - functools.partial
    - json.loads
    - block.content_lines.append
    - line.contains_multiline_strings
    - new_line.append
    - matcher.get_matching_blocks
    - result.append
    - black.format_str
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - lines_mappings.append
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - f.write
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - black.handle_ipynb_magics.create_token
    - node.leaves
    - tokenize_rt.src_to_tokens
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - black.parsing._unwrap_tuples
    - value.splitlines
    - warnings.simplefilter
    - body_node.leaves
    - black.ranges._TopLevelStatementsVisitor.__init__
    - black.handle_ipynb_magics.mask_cell
    - current_node.prev_sibling.leaves
    - lines_set.update
    - black.assert_equivalent
    - match.groups
    - black.nodes.last_leaf
    - tokenize_rt.reversed_enumerate
    - black.handle_ipynb_magics.validate_cell
    - black.nodes.is_multiline_string
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - <builtin>.getattr
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - features.add
    - transformed.strip
    - token._replace
    - black.trans.hug_power_op
    - black.nodes.container_of
    - new_lines.append
    - difflib.SequenceMatcher
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - replacements.append
    - tokenize.detect_encoding
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - ast.NodeVisitor.visit
    - leaf.clone
    - result.pop
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - cell.get
    - <builtin>.sum
    - match.group
    - black.comments._is_valid_standalone_fmt_comment
    - black.output.diff
    - normalized.strip
    - lineend.join
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - <builtin>.id
    - black.output._splitlines_no_ff
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - io.TextIOWrapper
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - black.comments.normalize_fmt_off
    - tiow.read
    - line.split
    - dst.splitlines
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.output.dump_to_file
    - prefix.split
    - blib2to3.pytree.Node
    - grammars.append
    - header_leaves.append
    - black.get_future_imports
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - black.get_future_imports.get_imports_from_children
    - json.dumps
    - good_lines.append
    - black.format_file_contents
    - value.rstrip
    - blib2to3.pgen2.driver.Driver
    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: 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: fdp.ConsumeIntInRange
    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: fdp.ConsumeUnicodeNoSurrogates
    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: fdp.ConsumeBool
    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: []
    argNames:
    - src_contents
    - fast
    - mode
    - lines
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1062
    functionName: black.format_file_contents
    functionSourceFile: black
    functionUses: 9
    functionsReached:
    - chain.append
    - _line_pattern.finditer
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - traceback.format_tb
    - parent_stack.append
    - re.match
    - <builtin>.sorted
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - black.parsing._stringify_ast
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - re.finditer
    - i.strip
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.nodes.is_number_token
    - black.handle_ipynb_magics.replace_magics
    - src.strip
    - nb.get
    - src_contents.count
    - line.startswith
    - black.nodes.preceding_leaf
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.comments._should_keep_compound_statement_inline
    - normalized_contents.lstrip
    - <builtin>.bool
    - warnings.catch_warnings
    - dst_blocks.append
    - io.BytesIO
    - black.comments.children_contains_fmt_on
    - black.nodes.is_vararg
    - line.comments_after
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - black.nodes.furthest_ancestor_with_last_leaf
    - re.split
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - black.nodes.fstring_tstring_to_string
    - ignored_nodes.insert
    - black.handle_ipynb_magics._get_code_start
    - srcbuf.seek
    - node_str.endswith
    - src.split
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - content.rstrip
    - black.format_cell
    - <builtin>.enumerate
    - black.ranges.is_valid_line_range
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.validate_metadata
    - multiline_string_contexts.append
    - tempfile.NamedTemporaryFile
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - black.parsing.parse_ast
    - dst_contents.extend
    - nodes_to_ignore.insert
    - line.contains_unsplittable_type_ignore
    - black.parsing.stringify_ast
    - line_str.split
    - node.insert_child
    - blib2to3.pytree.Leaf.value.lstrip
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - diff_lines.append
    - black.comments._get_compound_statement_header
    - line.contains_standalone_comments
    - content.split
    - black.check_stability_and_equivalence
    - black.lines.is_line_short_enough
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - difflib.unified_diff
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - black.parsing._parse_single_version
    - black.nodes.first_leaf_of
    - type_part.strip
    - first_leaf.prefix.count
    - line.endswith
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_sequence_between
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - new_srcs.append
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - fmt_off_prefix.split
    - ast.parse
    - black.ranges.sanitized_lines
    - parts.append
    - modified_source.splitlines
    - result.extend
    - IPython.core.inputtransformer2.TransformerManager
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - black.parsing._normalize
    - seen_nodes.add
    - black.linegen.LineGenerator.__init__
    - black.format_ipynb_string
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - src.replace
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - <builtin>.type
    - original_prefix.split
    - blib2to3.pytree.Node.endswith
    - <builtin>.isinstance
    - black.comments.list_comments
    - collections.defaultdict
    - <builtin>.any
    - secrets.token_hex
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - black.handle_ipynb_magics.get_token
    - dst.rstrip
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.assert_stable
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.ranges._calculate_lines_mappings
    - black.parsing.get_grammars
    - black._format_str_once
    - functools.partial
    - json.loads
    - block.content_lines.append
    - line.contains_multiline_strings
    - new_line.append
    - matcher.get_matching_blocks
    - result.append
    - black.format_str
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - lines_mappings.append
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - f.write
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - black.handle_ipynb_magics.create_token
    - node.leaves
    - tokenize_rt.src_to_tokens
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - black.parsing._unwrap_tuples
    - value.splitlines
    - warnings.simplefilter
    - body_node.leaves
    - black.ranges._TopLevelStatementsVisitor.__init__
    - black.handle_ipynb_magics.mask_cell
    - current_node.prev_sibling.leaves
    - lines_set.update
    - black.assert_equivalent
    - match.groups
    - black.nodes.last_leaf
    - tokenize_rt.reversed_enumerate
    - black.handle_ipynb_magics.validate_cell
    - black.nodes.is_multiline_string
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - <builtin>.getattr
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - features.add
    - transformed.strip
    - token._replace
    - black.trans.hug_power_op
    - black.nodes.container_of
    - new_lines.append
    - difflib.SequenceMatcher
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - replacements.append
    - tokenize.detect_encoding
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - ast.NodeVisitor.visit
    - leaf.clone
    - result.pop
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - cell.get
    - <builtin>.sum
    - match.group
    - black.comments._is_valid_standalone_fmt_comment
    - black.output.diff
    - normalized.strip
    - lineend.join
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - <builtin>.id
    - black.output._splitlines_no_ff
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - io.TextIOWrapper
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - black.comments.normalize_fmt_off
    - tiow.read
    - line.split
    - dst.splitlines
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.output.dump_to_file
    - prefix.split
    - blib2to3.pytree.Node
    - grammars.append
    - header_leaves.append
    - black.get_future_imports
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - black.get_future_imports.get_imports_from_children
    - json.dumps
    - good_lines.append
    - value.rstrip
    - blib2to3.pgen2.driver.Driver
    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: 37
    functionName: '...fuzz_format_filecontents.main'
    functionSourceFile: '...fuzz_format_filecontents'
    functionUses: 1
    functionsReached:
    - atheris.instrument_all
    - atheris.Setup
    - atheris.Fuzz
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: -1
    functionName: black
    functionSourceFile: black
    functionUses: 0
    functionsReached:
    - _line_pattern.finditer
    - comment.strip
    - ctx.exit
    - loop.close
    - re.match
    - logging.getLogger
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - click.option
    - black.mode.Mode.get_cache_key
    - black.output.out
    - black.nodes.is_number_token
    - black.comments._should_keep_compound_statement_inline
    - src_contents.count
    - nb.get
    - black.nodes.preceding_leaf
    - pathlib.Path
    - <builtin>.bool
    - loop.add_signal_handler
    - warnings.catch_warnings
    - datetime.datetime.now
    - sources.add
    - black.parsing.lib2to3_parse
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - black.handle_ipynb_magics._get_code_start
    - pickle.load
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - pathlib.Path.relative_to
    - tasks.keys
    - task.cancel
    - asyncio.gather
    - <builtin>.range
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - dst_contents.extend
    - child.is_absolute
    - black.concurrency.shutdown
    - blib2to3.pytree.Leaf.value.lstrip
    - node.insert_child
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.comments._get_compound_statement_header
    - black.lines.is_line_short_enough
    - concurrent.futures.ProcessPoolExecutor
    - commas.append
    - black.nodes.first_leaf_of
    - type_part.strip
    - black.output._out
    - root.is_absolute
    - black.trans.hug_power_op.is_simple_operand
    - src_contents.encode
    - tomli.load
    - new_srcs.append
    - colorama.initialise.wrap_stream
    - black.nodes.is_simple_decorator_trailer
    - parts.append
    - platform.python_version
    - black.re_compile_maybe_verbose
    - black.parsing._normalize
    - black.linegen.LineGenerator.__init__
    - sources_to_cache.append
    - src.replace
    - comment_line.split
    - pattern.match_file
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - collections.defaultdict
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - dst.rstrip
    - commas.pop
    - line.clone
    - dataclasses.replace.get_cache_key
    - parent.insert_child
    - click.argument
    - black.output._err
    - black.parsing.get_grammars
    - functools.partial
    - result.append
    - line_generator.visit
    - black.ranges._leaf_line_end
    - black.ranges._get_line_range
    - black.concurrency.reformat_many
    - <builtin>.all
    - transformers.append
    - black.ranges._TopLevelStatementsVisitor.__init__
    - black.patched_main
    - black.handle_ipynb_magics.validate_cell
    - lines_str.split
    - features.add
    - hashlib.sha256.hexdigest
    - black.nodes.parent_type
    - replacements.append
    - black.strings.has_triple_quotes
    - black.trans.is_expression_chained
    - ast.NodeVisitor.visit
    - black.files.wrap_stream_for_windows
    - cell.get
    - contextlib.nullcontext
    - black.handle_ipynb_magics.jupyter_dependencies_are_installed
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - child.relative_to
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - dst.splitlines
    - black.output.dump_to_file
    - blib2to3.pytree.Node
    - grammars.append
    - prefix.split
    - header_leaves.append
    - report.failed
    - black.report.Report.path_ignored
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - traceback.format_tb
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Node.splitlines
    - version_str.encode
    - report.path_ignored
    - re.split
    - current_line.is_fmt_pass_converted
    - task.cancelled
    - click.style
    - node_str.endswith
    - cache.write
    - colorama.initialise.wrap_stream.detach
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - black.format_cell
    - operator.attrgetter
    - black.ranges.is_valid_line_range
    - asyncio.wait
    - pathlib.Path.cwd
    - pathlib.Path.is_file
    - multiline_string_contexts.append
    - black.parsing.parse_ast
    - nodes_to_ignore.insert
    - gf.readlines
    - click.echo
    - traceback.print_exc
    - black.parsing.stringify_ast
    - line.contains_unsplittable_type_ignore
    - ctx.get_parameter_source
    - black.lines.line_to_string
    - buf.readline
    - black.parsing._parse_single_version
    - <builtin>.open
    - set.intersection
    - first_leaf.prefix.count
    - uvloop.install
    - pathlib.Path.resolve
    - black.nodes.is_one_sequence_between
    - <builtin>.tuple
    - hashlib.sha256
    - black.brackets.get_leaves_inside_matching_brackets
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - header.decode
    - black.WriteBack.from_configuration
    - black.comments._find_compound_statement_context
    - cf_logger.setLevel
    - original_prefix.split
    - asyncio.set_event_loop
    - child.is_dir
    - pathlib.Path.home
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - include.search
    - contents.split
    - black.comments._handle_regular_fmt_block
    - black.ranges._calculate_lines_mappings
    - pathlib.Path.iterdir
    - new_line.append
    - matcher.get_matching_blocks
    - lines_mappings.append
    - black._contains_asexpr
    - black.strings.str_width
    - node.remove
    - content.startswith
    - child.leaves
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - black.main
    - lines_set.update
    - multiprocessing.freeze_support
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - traceback.print_exception
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - black.files._cached_resolve
    - transformed.strip
    - black.report.Report.done
    - black.nodes.container_of
    - difflib.SequenceMatcher
    - black.reformat_code
    - bracket_stack.append
    - report.done
    - <builtin>.map
    - resolved_path.relative_to
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - blib2to3.pytree.Leaf.value.strip
    - black.ranges._convert_nodes_to_standalone_comment
    - match.group
    - black.files.path_is_excluded
    - black.output.diff
    - black.comments._is_valid_standalone_fmt_comment
    - lineend.join
    - importlib.util.find_spec
    - black.ranges.parse_line_ranges
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - line.split
    - black.files.best_effort_relative_path
    - black.nodes.is_fstring
    - black.get_future_imports
    - black.cache.get_cache_file
    - normalized.strip
    - black.format_file_contents
    - json.dumps
    - chain.append
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - black.files.gen_python_files
    - <builtin>.sorted
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - re.finditer
    - i.strip
    - black.handle_ipynb_magics.replace_magics
    - line.startswith
    - src.strip
    - black.nodes.is_type_comment_string
    - normalized_contents.lstrip
    - dst_blocks.append
    - black.comments.children_contains_fmt_on
    - black.nodes.furthest_ancestor_with_last_leaf
    - line.comments_after
    - drv.parse_string
    - datetime.datetime.fromtimestamp
    - black.output.color_diff
    - srcbuf.seek
    - black.files._load_toml
    - line.contains_implicit_multiline_string_with_comments
    - black.reformat_one
    - <builtin>.enumerate
    - black.format_stdin_to_stdout
    - black.nodes.first_leaf
    - click.Choice
    - black.comments.is_fmt_on
    - lines.append
    - black.report.Report.failed
    - diff_lines.append
    - line.contains_standalone_comments
    - content.split
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - difflib.unified_diff
    - <builtin>.hasattr
    - cache.filtered_cached
    - black.trans.handle_is_simple_look_up_prev
    - re.compile
    - gitignore_dict.items
    - pathlib.Path.expanduser
    - black.files.resolves_outside_root_or_cannot_stat
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - ast.parse
    - IPython.core.inputtransformer2.TransformerManager
    - pyproject_toml.get
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.linegen._hugging_power_ops_line_to_string
    - concurrent.futures.ThreadPoolExecutor.shutdown
    - concurrent.futures.ProcessPoolExecutor.shutdown
    - seen_nodes.add
    - black.format_ipynb_string
    - black.files._path_is_ignored
    - black.comments.list_comments
    - black.get_sources
    - secrets.token_hex
    - click.pass_context
    - black.linegen.LineGenerator.__post_init__
    - sources.update
    - black._format_str_once
    - line.contains_multiline_strings
    - json.loads
    - black.output.ipynb_diff
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - features_and_magics.encode
    - _black_version.version.split
    - black.handle_ipynb_magics.create_token
    - node.leaves
    - black.detect_target_versions
    - tokenize_rt.src_to_tokens
    - body_node.leaves
    - multiprocessing.Manager.shutdown
    - current_node.prev_sibling.leaves
    - match.groups
    - path.is_dir
    - black.nodes.last_leaf
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.format_file_in_place
    - <builtin>.getattr
    - sys.stdin.buffer.read
    - black.lines.LinesBlock.all_lines
    - black.trans.hug_power_op
    - token._replace
    - multiprocessing.Manager
    - colorama.initialise.wrap_stream.write
    - pathlib.Path.absolute
    - black.files.get_gitignore
    - asyncio.all_tasks
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.linegen.run_transformer
    - <builtin>.str
    - tomllib.load
    - leaf.clone
    - result.pop
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - sources.pop
    - task.exception
    - cache.is_changed
    - black.output._splitlines_no_ff
    - io.TextIOWrapper
    - black.lines.Line.contains_standalone_comments
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.nodes.is_type_comment
    - v.name.lower
    - <builtin>.len
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - good_lines.append
    - value.rstrip
    - child.iterdir
    - subscript_start.pre_order
    - parent_stack.append
    - pathlib.Path.exists
    - black.parsing._stringify_ast
    - black.output.err
    - ids.add
    - os.environ.get
    - black.linegen.transform_line
    - loop.run_in_executor
    - black.lines.Line.is_complex_subscript
    - click.command
    - typing.NamedTuple.__init__
    - io.BytesIO
    - black.nodes.is_vararg
    - result.endswith
    - black.files.find_user_pyproject_toml
    - ignored_nodes.insert
    - cancelled.append
    - platform.python_implementation
    - src.split
    - blib2to3.pytree.Leaf.value.startswith
    - pathspec.GitIgnoreSpec.from_lines
    - click.Path
    - black.cache.Cache.read
    - blib2to3.pytree.Node.leaves
    - black.validate_metadata
    - tempfile.NamedTemporaryFile
    - black.files.find_project_root
    - line_str.split
    - pathlib.Path.stat
    - pathlib.Path.open
    - <builtin>.int
    - black.check_stability_and_equivalence
    - click.IntRange
    - line.endswith
    - os.cpu_count
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - sys.stdin.read
    - <builtin>.list
    - black.lines.Line.append
    - header_leaves.extend
    - fmt_off_prefix.split
    - black.ranges.sanitized_lines
    - modified_source.splitlines
    - ctx.ensure_object
    - result.extend
    - <builtin>.type
    - blib2to3.pytree.Node.endswith
    - ctx.default_map.items
    - black.concurrency.schedule_formatting
    - path.relative_to
    - <builtin>.any
    - black.handle_ipynb_magics.get_token
    - black.assert_stable
    - black.mode.supports_feature
    - value_part.strip
    - black.get_features_used
    - sys.stdout.write
    - block.content_lines.append
    - dataclasses.replace
    - loop.run_until_complete
    - black.format_str
    - black.nodes.whitespace
    - black.comments.generate_ignored_nodes
    - f.write
    - mypy_extensions.mypyc_attr
    - child.is_file
    - return_type_leaves.append
    - value.splitlines
    - task.result
    - black.parsing._unwrap_tuples
    - warnings.simplefilter
    - click.version_option
    - black.handle_ipynb_magics.mask_cell
    - black.assert_equivalent
    - tokenize_rt.reversed_enumerate
    - black.nodes.is_multiline_string
    - black.nodes.make_simple_prefix
    - asyncio.new_event_loop
    - concurrent.futures.ThreadPoolExecutor
    - new_lines.append
    - pattern.search
    - tokenize.detect_encoding
    - data.items
    - black.lines.append_leaves
    - multiprocessing.Manager.Lock
    - task.done
    - black.concurrency.maybe_install_uvloop
    - black.ranges.convert_unchanged_lines
    - buf.read
    - <builtin>.sum
    - <builtin>.id
    - asyncio.ensure_future
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.get_future_imports.get_imports_from_children
    - tasks.pop
    - pathlib.Path.is_dir
    - blib2to3.pgen2.driver.Driver
    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: pathlib.Path
    functionSourceFile: pathlib
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - check
    - diff
    - color
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 99
    functionName: black.WriteBack.from_configuration
    functionSourceFile: black
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - ctx
    - param
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 115
    functionName: black.read_pyproject_toml
    functionSourceFile: black
    functionUses: 0
    functionsReached:
    - pathlib.Path.home
    - black.files.parse_req_python_specifier
    - <builtin>.max
    - <builtin>.map
    - black.files.find_pyproject_toml
    - black.output.err
    - os.environ.get
    - black.output.out
    - <builtin>.str
    - enum.Enum.__init__
    - black.output._err
    - black.files.strip_specifier_set
    - packaging.version.Version
    - tomllib.load
    - <builtin>.open
    - pathlib.Path
    - k.replace
    - black.output._out
    - set.intersection
    - black.files.parse_req_python_version
    - pathlib.Path.expanduser
    - pathlib.Path.resolve
    - ctx.params.get
    - <builtin>.list
    - black.files.find_user_pyproject_toml
    - tomli.load
    - click.style
    - default_map.update
    - black.files._load_toml
    - <builtin>.tuple
    - packaging.specifiers.SpecifierSet
    - <builtin>.set
    - pyproject_toml.get
    - v.name.lower
    - <builtin>.len
    - config.get
    - path_pyproject_toml.is_file
    - black.files.infer_target_version
    - black.spellcheck_pyproject_toml_keys
    - pathlib.Path.cwd
    - path.is_dir
    - specifiers.append
    - black.files.parse_pyproject_toml
    - <builtin>.isinstance
    - packaging.specifiers.Specifier
    - path_user_pyproject_toml.is_file
    - black.files.find_project_root
    - black.files._cached_resolve
    - packaging.specifiers.SpecifierSet.filter
    - project_metadata.get
    - click.echo
    - config.items
    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: ctx.params.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcd0755adc0>
    argNames:
    - path_search_start
    - stdin_filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 98
    functionName: black.files.find_pyproject_toml
    functionSourceFile: black.files
    functionUses: 1
    functionsReached:
    - pathlib.Path.home
    - <builtin>.max
    - black.output.err
    - os.environ.get
    - <builtin>.str
    - black.output._err
    - tomllib.load
    - <builtin>.open
    - pathlib.Path
    - set.intersection
    - pathlib.Path.expanduser
    - pathlib.Path.resolve
    - <builtin>.list
    - black.files.find_user_pyproject_toml
    - tomli.load
    - click.style
    - black.files._load_toml
    - <builtin>.tuple
    - <builtin>.set
    - pyproject_toml.get
    - path_pyproject_toml.is_file
    - pathlib.Path.cwd
    - path.is_dir
    - path_user_pyproject_toml.is_file
    - black.files.find_project_root
    - black.files._cached_resolve
    - click.echo
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - path_config
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 121
    functionName: black.files.parse_pyproject_toml
    functionSourceFile: black.files
    functionUses: 1
    functionsReached:
    - black.files.parse_req_python_specifier
    - black.files.strip_specifier_set
    - <builtin>.str
    - enum.Enum.__init__
    - packaging.version.Version
    - tomllib.load
    - <builtin>.open
    - k.replace
    - black.files.parse_req_python_version
    - <builtin>.list
    - tomli.load
    - black.files._load_toml
    - packaging.specifiers.SpecifierSet
    - pyproject_toml.get
    - v.name.lower
    - <builtin>.len
    - black.files.infer_target_version
    - specifiers.append
    - packaging.specifiers.Specifier
    - packaging.specifiers.SpecifierSet.filter
    - project_metadata.get
    - config.items
    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: 87
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - ctx
    - config_keys
    - config_file_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 180
    functionName: black.spellcheck_pyproject_toml_keys
    functionSourceFile: black
    functionUses: 1
    functionsReached:
    - click.style
    - black.output._out
    - <builtin>.map
    - click.echo
    - black.output.out
    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: 130
    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>.str
    functionSourceFile: <builtin>
    functionUses: 88
    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: config.items
    functionSourceFile: <builtin>
    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: config.get
    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: default_map.update
    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>.map
    functionSourceFile: <builtin>
    functionUses: 35
    functionsReached: []
    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 0x7fcd0720ea60>
    - <ast.Constant object at 0x7fcd0720e190>
    argNames:
    - message
    - nl
    - styles
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 34
    functionName: black.output.out
    functionSourceFile: black.output
    functionUses: 14
    functionsReached:
    - click.style
    - black.output._out
    - click.echo
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - c
    - p
    - v
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: black.target_version_option_callback
    functionSourceFile: black
    functionUses: 0
    functionsReached:
    - val.upper
    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: val.upper
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - c
    - p
    - v
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 205
    functionName: black.enable_unstable_feature_callback
    functionSourceFile: black
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - regex
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 212
    functionName: black.re_compile_maybe_verbose
    functionSourceFile: black
    functionUses: 6
    functionsReached:
    - re.compile
    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: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - ctx
    - param
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 223
    functionName: black.validate_regex
    functionSourceFile: black
    functionUses: 0
    functionsReached:
    - black.re_compile_maybe_verbose
    - re.compile
    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: click.command
    functionSourceFile: click
    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: click.option
    functionSourceFile: click
    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: v.name.lower
    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: click.Choice
    functionSourceFile: click
    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>.sorted
    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: click.IntRange
    functionSourceFile: click
    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: platform.python_implementation
    functionSourceFile: platform
    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: platform.python_version
    functionSourceFile: platform
    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: click.version_option
    functionSourceFile: click
    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: click.Path
    functionSourceFile: click
    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: click.argument
    functionSourceFile: click
    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: click.pass_context
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 36
    ICount: 36
    IfCount: 25
    argCount: 30
    argDefaultValues: []
    argNames:
    - ctx
    - code
    - line_length
    - target_version
    - check
    - diff
    - line_ranges
    - color
    - fast
    - pyi
    - ipynb
    - python_cell_magics
    - skip_source_first_line
    - skip_string_normalization
    - skip_magic_trailing_comma
    - preview
    - unstable
    - enable_unstable_feature
    - quiet
    - verbose
    - required_version
    - include
    - exclude
    - extend_exclude
    - force_exclude
    - stdin_filename
    - workers
    - src
    - config
    - no_cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 516
    functionName: black.main
    functionSourceFile: black
    functionUses: 3
    functionsReached:
    - _line_pattern.finditer
    - comment.strip
    - ctx.exit
    - loop.close
    - re.match
    - logging.getLogger
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - black.nodes.is_number_token
    - black.output.out
    - black.mode.Mode.get_cache_key
    - black.comments._should_keep_compound_statement_inline
    - src_contents.count
    - nb.get
    - black.nodes.preceding_leaf
    - pathlib.Path
    - <builtin>.bool
    - loop.add_signal_handler
    - warnings.catch_warnings
    - datetime.datetime.now
    - sources.add
    - black.parsing.lib2to3_parse
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - black.handle_ipynb_magics._get_code_start
    - pickle.load
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - pathlib.Path.relative_to
    - tasks.keys
    - task.cancel
    - asyncio.gather
    - <builtin>.range
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - dst_contents.extend
    - child.is_absolute
    - black.concurrency.shutdown
    - blib2to3.pytree.Leaf.value.lstrip
    - node.insert_child
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.comments._get_compound_statement_header
    - black.lines.is_line_short_enough
    - concurrent.futures.ProcessPoolExecutor
    - commas.append
    - black.nodes.first_leaf_of
    - type_part.strip
    - black.output._out
    - root.is_absolute
    - black.trans.hug_power_op.is_simple_operand
    - src_contents.encode
    - tomli.load
    - new_srcs.append
    - colorama.initialise.wrap_stream
    - black.nodes.is_simple_decorator_trailer
    - parts.append
    - black.re_compile_maybe_verbose
    - black.parsing._normalize
    - black.linegen.LineGenerator.__init__
    - sources_to_cache.append
    - src.replace
    - comment_line.split
    - pattern.match_file
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - collections.defaultdict
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - dst.rstrip
    - commas.pop
    - line.clone
    - dataclasses.replace.get_cache_key
    - parent.insert_child
    - black.output._err
    - black.parsing.get_grammars
    - functools.partial
    - result.append
    - line_generator.visit
    - black.ranges._leaf_line_end
    - black.ranges._get_line_range
    - black.concurrency.reformat_many
    - <builtin>.all
    - transformers.append
    - black.ranges._TopLevelStatementsVisitor.__init__
    - black.handle_ipynb_magics.validate_cell
    - lines_str.split
    - features.add
    - hashlib.sha256.hexdigest
    - black.nodes.parent_type
    - replacements.append
    - black.strings.has_triple_quotes
    - black.trans.is_expression_chained
    - ast.NodeVisitor.visit
    - black.files.wrap_stream_for_windows
    - cell.get
    - contextlib.nullcontext
    - black.handle_ipynb_magics.jupyter_dependencies_are_installed
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - child.relative_to
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - dst.splitlines
    - black.output.dump_to_file
    - grammars.append
    - blib2to3.pytree.Node
    - prefix.split
    - header_leaves.append
    - report.failed
    - black.report.Report.path_ignored
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - traceback.format_tb
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Node.splitlines
    - version_str.encode
    - report.path_ignored
    - re.split
    - current_line.is_fmt_pass_converted
    - task.cancelled
    - click.style
    - node_str.endswith
    - cache.write
    - colorama.initialise.wrap_stream.detach
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - black.format_cell
    - black.ranges.is_valid_line_range
    - operator.attrgetter
    - asyncio.wait
    - pathlib.Path.cwd
    - pathlib.Path.is_file
    - multiline_string_contexts.append
    - black.parsing.parse_ast
    - nodes_to_ignore.insert
    - gf.readlines
    - click.echo
    - traceback.print_exc
    - black.parsing.stringify_ast
    - line.contains_unsplittable_type_ignore
    - ctx.get_parameter_source
    - black.lines.line_to_string
    - buf.readline
    - <builtin>.open
    - black.parsing._parse_single_version
    - set.intersection
    - first_leaf.prefix.count
    - pathlib.Path.resolve
    - uvloop.install
    - black.nodes.is_one_sequence_between
    - <builtin>.tuple
    - hashlib.sha256
    - black.brackets.get_leaves_inside_matching_brackets
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - header.decode
    - black.WriteBack.from_configuration
    - black.comments._find_compound_statement_context
    - cf_logger.setLevel
    - original_prefix.split
    - asyncio.set_event_loop
    - child.is_dir
    - pathlib.Path.home
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - include.search
    - contents.split
    - black.comments._handle_regular_fmt_block
    - black.ranges._calculate_lines_mappings
    - pathlib.Path.iterdir
    - new_line.append
    - matcher.get_matching_blocks
    - lines_mappings.append
    - black._contains_asexpr
    - black.strings.str_width
    - node.remove
    - content.startswith
    - child.leaves
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - lines_set.update
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - traceback.print_exception
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - black.files._cached_resolve
    - transformed.strip
    - black.report.Report.done
    - black.nodes.container_of
    - difflib.SequenceMatcher
    - black.reformat_code
    - bracket_stack.append
    - report.done
    - <builtin>.map
    - resolved_path.relative_to
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - blib2to3.pytree.Leaf.value.strip
    - black.ranges._convert_nodes_to_standalone_comment
    - match.group
    - black.files.path_is_excluded
    - black.output.diff
    - black.comments._is_valid_standalone_fmt_comment
    - lineend.join
    - importlib.util.find_spec
    - black.ranges.parse_line_ranges
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - line.split
    - black.files.best_effort_relative_path
    - black.nodes.is_fstring
    - black.get_future_imports
    - json.dumps
    - black.cache.get_cache_file
    - black.format_file_contents
    - normalized.strip
    - chain.append
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - black.files.gen_python_files
    - <builtin>.sorted
    - blib2to3.pytree.Leaf
    - re.finditer
    - black.comments.convert_one_fmt_off_pair
    - i.strip
    - black.handle_ipynb_magics.replace_magics
    - line.startswith
    - src.strip
    - black.nodes.is_type_comment_string
    - normalized_contents.lstrip
    - dst_blocks.append
    - black.comments.children_contains_fmt_on
    - line.comments_after
    - black.nodes.furthest_ancestor_with_last_leaf
    - drv.parse_string
    - datetime.datetime.fromtimestamp
    - black.output.color_diff
    - srcbuf.seek
    - black.files._load_toml
    - line.contains_implicit_multiline_string_with_comments
    - black.reformat_one
    - <builtin>.enumerate
    - black.format_stdin_to_stdout
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - lines.append
    - black.report.Report.failed
    - diff_lines.append
    - line.contains_standalone_comments
    - content.split
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - difflib.unified_diff
    - <builtin>.hasattr
    - cache.filtered_cached
    - black.trans.handle_is_simple_look_up_prev
    - re.compile
    - gitignore_dict.items
    - pathlib.Path.expanduser
    - black.files.resolves_outside_root_or_cannot_stat
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - ast.parse
    - IPython.core.inputtransformer2.TransformerManager
    - pyproject_toml.get
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.linegen._hugging_power_ops_line_to_string
    - concurrent.futures.ThreadPoolExecutor.shutdown
    - concurrent.futures.ProcessPoolExecutor.shutdown
    - seen_nodes.add
    - black.format_ipynb_string
    - black.files._path_is_ignored
    - black.comments.list_comments
    - black.get_sources
    - secrets.token_hex
    - black.linegen.LineGenerator.__post_init__
    - sources.update
    - black._format_str_once
    - json.loads
    - line.contains_multiline_strings
    - black.output.ipynb_diff
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - features_and_magics.encode
    - _black_version.version.split
    - black.handle_ipynb_magics.create_token
    - tokenize_rt.src_to_tokens
    - black.detect_target_versions
    - node.leaves
    - body_node.leaves
    - multiprocessing.Manager.shutdown
    - current_node.prev_sibling.leaves
    - match.groups
    - path.is_dir
    - black.nodes.last_leaf
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.format_file_in_place
    - sys.stdin.buffer.read
    - <builtin>.getattr
    - black.lines.LinesBlock.all_lines
    - black.trans.hug_power_op
    - token._replace
    - multiprocessing.Manager
    - colorama.initialise.wrap_stream.write
    - pathlib.Path.absolute
    - black.files.get_gitignore
    - asyncio.all_tasks
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.linegen.run_transformer
    - <builtin>.str
    - tomllib.load
    - leaf.clone
    - result.pop
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - sources.pop
    - task.exception
    - cache.is_changed
    - black.output._splitlines_no_ff
    - io.TextIOWrapper
    - black.lines.Line.contains_standalone_comments
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.nodes.is_type_comment
    - <builtin>.len
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - good_lines.append
    - value.rstrip
    - child.iterdir
    - subscript_start.pre_order
    - parent_stack.append
    - pathlib.Path.exists
    - black.parsing._stringify_ast
    - black.output.err
    - ids.add
    - os.environ.get
    - black.linegen.transform_line
    - loop.run_in_executor
    - black.lines.Line.is_complex_subscript
    - typing.NamedTuple.__init__
    - io.BytesIO
    - black.nodes.is_vararg
    - result.endswith
    - black.files.find_user_pyproject_toml
    - ignored_nodes.insert
    - cancelled.append
    - src.split
    - blib2to3.pytree.Leaf.value.startswith
    - pathspec.GitIgnoreSpec.from_lines
    - black.cache.Cache.read
    - blib2to3.pytree.Node.leaves
    - black.validate_metadata
    - tempfile.NamedTemporaryFile
    - black.files.find_project_root
    - pathlib.Path.stat
    - line_str.split
    - pathlib.Path.open
    - <builtin>.int
    - black.check_stability_and_equivalence
    - line.endswith
    - os.cpu_count
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - sys.stdin.read
    - <builtin>.list
    - black.lines.Line.append
    - header_leaves.extend
    - fmt_off_prefix.split
    - black.ranges.sanitized_lines
    - modified_source.splitlines
    - ctx.ensure_object
    - result.extend
    - <builtin>.type
    - ctx.default_map.items
    - blib2to3.pytree.Node.endswith
    - black.concurrency.schedule_formatting
    - path.relative_to
    - <builtin>.any
    - black.handle_ipynb_magics.get_token
    - black.assert_stable
    - black.mode.supports_feature
    - value_part.strip
    - black.get_features_used
    - sys.stdout.write
    - block.content_lines.append
    - dataclasses.replace
    - loop.run_until_complete
    - black.format_str
    - black.nodes.whitespace
    - black.comments.generate_ignored_nodes
    - f.write
    - child.is_file
    - task.result
    - return_type_leaves.append
    - value.splitlines
    - black.parsing._unwrap_tuples
    - warnings.simplefilter
    - black.handle_ipynb_magics.mask_cell
    - black.assert_equivalent
    - tokenize_rt.reversed_enumerate
    - black.nodes.is_multiline_string
    - black.nodes.make_simple_prefix
    - asyncio.new_event_loop
    - concurrent.futures.ThreadPoolExecutor
    - new_lines.append
    - pattern.search
    - tokenize.detect_encoding
    - data.items
    - black.lines.append_leaves
    - multiprocessing.Manager.Lock
    - task.done
    - black.concurrency.maybe_install_uvloop
    - black.ranges.convert_unchanged_lines
    - buf.read
    - <builtin>.sum
    - <builtin>.id
    - asyncio.ensure_future
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.get_future_imports.get_imports_from_children
    - tasks.pop
    - pathlib.Path.is_dir
    - blib2to3.pgen2.driver.Driver
    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: ctx.ensure_object
    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: ctx.exit
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcd07736640>
    argNames:
    - srcs
    - stdin_filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 47
    functionName: black.files.find_project_root
    functionSourceFile: black.files
    functionUses: 6
    functionsReached:
    - <builtin>.str
    - tomli.load
    - tomllib.load
    - <builtin>.open
    - black.files._load_toml
    - pathlib.Path
    - pathlib.Path.cwd
    - set.intersection
    - <builtin>.tuple
    - path.is_dir
    - <builtin>.set
    - <builtin>.max
    - pathlib.Path.resolve
    - pyproject_toml.get
    - black.files._cached_resolve
    - <builtin>.list
    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: ctx.get_parameter_source
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 221
    functionName: black.files.find_user_pyproject_toml
    functionSourceFile: black.files
    functionUses: 6
    functionsReached:
    - pathlib.Path.home
    - pathlib.Path
    - pathlib.Path.expanduser
    - pathlib.Path.resolve
    - black.files._cached_resolve
    - os.environ.get
    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: ctx.default_map.items
    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: _black_version.version.split
    functionSourceFile: _black_version
    functionUses: 4
    functionsReached: []
    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 0x7fcd0720e850>
    - <ast.Constant object at 0x7fcd0720e0d0>
    argNames:
    - message
    - nl
    - styles
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 38
    functionName: black.output.err
    functionSourceFile: black.output
    functionUses: 16
    functionsReached:
    - black.output._err
    - click.echo
    - click.style
    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: 66
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - line_ranges
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: black.ranges.parse_line_ranges
    functionSourceFile: black.ranges
    functionUses: 4
    functionsReached:
    - <builtin>.int
    - lines.append
    - <builtin>.len
    - lines_str.split
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - content
    - fast
    - write_back
    - mode
    - report
    - lines
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 831
    functionName: black.reformat_code
    functionSourceFile: black
    functionUses: 4
    functionsReached:
    - chain.append
    - _line_pattern.finditer
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - traceback.format_tb
    - parent_stack.append
    - re.match
    - <builtin>.sorted
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - black.parsing._stringify_ast
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - re.finditer
    - i.strip
    - black.output.err
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.output.out
    - black.nodes.is_number_token
    - black.handle_ipynb_magics.replace_magics
    - line.startswith
    - nb.get
    - src_contents.count
    - src.strip
    - black.nodes.preceding_leaf
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.comments._should_keep_compound_statement_inline
    - normalized_contents.lstrip
    - pathlib.Path
    - <builtin>.bool
    - warnings.catch_warnings
    - io.BytesIO
    - dst_blocks.append
    - black.comments.children_contains_fmt_on
    - black.nodes.is_vararg
    - datetime.datetime.now
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - line.comments_after
    - black.nodes.furthest_ancestor_with_last_leaf
    - re.split
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - black.nodes.fstring_tstring_to_string
    - ignored_nodes.insert
    - click.style
    - black.output.color_diff
    - black.handle_ipynb_magics._get_code_start
    - srcbuf.seek
    - node_str.endswith
    - colorama.initialise.wrap_stream.detach
    - src.split
    - blib2to3.pytree.Node.pre_order
    - content.lstrip
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - content.rstrip
    - black.format_cell
    - <builtin>.enumerate
    - black.format_stdin_to_stdout
    - black.ranges.is_valid_line_range
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.validate_metadata
    - multiline_string_contexts.append
    - tempfile.NamedTemporaryFile
    - black.report.Report.failed
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - black.parsing.parse_ast
    - dst_contents.extend
    - nodes_to_ignore.insert
    - click.echo
    - traceback.print_exc
    - line.contains_unsplittable_type_ignore
    - black.parsing.stringify_ast
    - line_str.split
    - node.insert_child
    - blib2to3.pytree.Leaf.value.lstrip
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - diff_lines.append
    - black.comments._get_compound_statement_header
    - line.contains_standalone_comments
    - content.split
    - black.lines.is_line_short_enough
    - black.check_stability_and_equivalence
    - difflib.unified_diff
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - black.parsing._parse_single_version
    - black.nodes.first_leaf_of
    - type_part.strip
    - black.output._out
    - first_leaf.prefix.count
    - line.endswith
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_sequence_between
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - new_srcs.append
    - colorama.initialise.wrap_stream
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - fmt_off_prefix.split
    - ast.parse
    - black.ranges.sanitized_lines
    - parts.append
    - modified_source.splitlines
    - result.extend
    - IPython.core.inputtransformer2.TransformerManager
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - black.parsing._normalize
    - seen_nodes.add
    - black.linegen.LineGenerator.__init__
    - black.format_ipynb_string
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - src.replace
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - <builtin>.type
    - original_prefix.split
    - blib2to3.pytree.Node.endswith
    - <builtin>.isinstance
    - black.comments.list_comments
    - collections.defaultdict
    - <builtin>.any
    - secrets.token_hex
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - black.handle_ipynb_magics.get_token
    - dst.rstrip
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.assert_stable
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - contents.split
    - black.output._err
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.ranges._calculate_lines_mappings
    - black.parsing.get_grammars
    - black._format_str_once
    - functools.partial
    - json.loads
    - block.content_lines.append
    - line.contains_multiline_strings
    - new_line.append
    - matcher.get_matching_blocks
    - result.append
    - black.format_str
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - lines_mappings.append
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - f.write
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - black.handle_ipynb_magics.create_token
    - node.leaves
    - tokenize_rt.src_to_tokens
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - black.parsing._unwrap_tuples
    - value.splitlines
    - warnings.simplefilter
    - body_node.leaves
    - black.ranges._TopLevelStatementsVisitor.__init__
    - black.handle_ipynb_magics.mask_cell
    - current_node.prev_sibling.leaves
    - lines_set.update
    - black.assert_equivalent
    - match.groups
    - black.nodes.last_leaf
    - tokenize_rt.reversed_enumerate
    - black.handle_ipynb_magics.validate_cell
    - black.nodes.is_multiline_string
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - sys.stdin.buffer.read
    - <builtin>.getattr
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - features.add
    - transformed.strip
    - black.report.Report.done
    - token._replace
    - black.nodes.container_of
    - black.trans.hug_power_op
    - colorama.initialise.wrap_stream.write
    - new_lines.append
    - difflib.SequenceMatcher
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - replacements.append
    - tokenize.detect_encoding
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - ast.NodeVisitor.visit
    - black.files.wrap_stream_for_windows
    - leaf.clone
    - result.pop
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - cell.get
    - <builtin>.sum
    - match.group
    - black.output.diff
    - black.comments._is_valid_standalone_fmt_comment
    - normalized.strip
    - lineend.join
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - black.output._splitlines_no_ff
    - <builtin>.id
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - io.TextIOWrapper
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - black.comments.normalize_fmt_off
    - tiow.read
    - line.split
    - dst.splitlines
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.output.dump_to_file
    - prefix.split
    - blib2to3.pytree.Node
    - grammars.append
    - header_leaves.append
    - black.get_future_imports
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - black.get_future_imports.get_imports_from_children
    - json.dumps
    - good_lines.append
    - black.format_file_contents
    - value.rstrip
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 11
    IfCount: 14
    argCount: 10
    argDefaultValues: []
    argNames:
    - root
    - src
    - quiet
    - verbose
    - include
    - exclude
    - extend_exclude
    - force_exclude
    - report
    - stdin_filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 733
    functionName: black.get_sources
    functionSourceFile: black
    functionUses: 4
    functionsReached:
    - <builtin>.next
    - pathlib.Path.open
    - pathlib.Path.absolute
    - black.files.get_gitignore
    - pattern.search
    - black.files.gen_python_files
    - resolved_path.relative_to
    - include.search
    - black.output.err
    - sources.update
    - black.output.out
    - black.output._err
    - pathlib.Path.iterdir
    - pathlib.Path
    - <builtin>.bool
    - black.output._out
    - re.compile
    - gitignore_dict.items
    - root.is_absolute
    - black.files.resolves_outside_root_or_cannot_stat
    - pathlib.Path.resolve
    - sources.add
    - report.path_ignored
    - black.files.path_is_excluded
    - match.group
    - importlib.util.find_spec
    - black.handle_ipynb_magics.jupyter_dependencies_are_installed
    - gf.readlines
    - click.style
    - child.relative_to
    - <builtin>.set
    - black.re_compile_maybe_verbose
    - black.files.best_effort_relative_path
    - child.is_file
    - pathlib.Path.relative_to
    - pathspec.GitIgnoreSpec.from_lines
    - black.files._path_is_ignored
    - pattern.match_file
    - pathlib.Path.is_file
    - black.report.Report.path_ignored
    - path.is_dir
    - child.is_dir
    - path.relative_to
    - black.files._cached_resolve
    - child.is_absolute
    - pathlib.Path.is_dir
    - click.echo
    - child.iterdir
    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: sys.stdin.read
    functionSourceFile: sys
    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: sys.stdout.write
    functionSourceFile: sys
    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: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 201
    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: sources.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 5
    IfCount: 11
    argCount: 7
    argDefaultValues: []
    argNames:
    - src
    - fast
    - write_back
    - mode
    - report
    - lines
    - no_cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 864
    functionName: black.reformat_one
    functionSourceFile: black
    functionUses: 4
    functionsReached:
    - _line_pattern.finditer
    - comment.strip
    - re.match
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - black.nodes.is_number_token
    - black.output.out
    - black.mode.Mode.get_cache_key
    - black.comments._should_keep_compound_statement_inline
    - src_contents.count
    - nb.get
    - black.nodes.preceding_leaf
    - pathlib.Path
    - <builtin>.bool
    - warnings.catch_warnings
    - datetime.datetime.now
    - black.parsing.lib2to3_parse
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - black.handle_ipynb_magics._get_code_start
    - pickle.load
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - <builtin>.range
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - dst_contents.extend
    - blib2to3.pytree.Leaf.value.lstrip
    - node.insert_child
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.comments._get_compound_statement_header
    - black.lines.is_line_short_enough
    - commas.append
    - black.nodes.first_leaf_of
    - type_part.strip
    - black.output._out
    - black.trans.hug_power_op.is_simple_operand
    - src_contents.encode
    - new_srcs.append
    - colorama.initialise.wrap_stream
    - black.nodes.is_simple_decorator_trailer
    - parts.append
    - black.parsing._normalize
    - black.linegen.LineGenerator.__init__
    - src.replace
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - collections.defaultdict
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - dst.rstrip
    - commas.pop
    - line.clone
    - dataclasses.replace.get_cache_key
    - parent.insert_child
    - black.output._err
    - black.parsing.get_grammars
    - functools.partial
    - result.append
    - line_generator.visit
    - black.ranges._leaf_line_end
    - black.ranges._get_line_range
    - <builtin>.all
    - transformers.append
    - black.ranges._TopLevelStatementsVisitor.__init__
    - black.handle_ipynb_magics.validate_cell
    - hashlib.sha256.hexdigest
    - features.add
    - black.nodes.parent_type
    - replacements.append
    - black.strings.has_triple_quotes
    - black.trans.is_expression_chained
    - ast.NodeVisitor.visit
    - black.files.wrap_stream_for_windows
    - cell.get
    - contextlib.nullcontext
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - dst.splitlines
    - black.output.dump_to_file
    - grammars.append
    - blib2to3.pytree.Node
    - prefix.split
    - header_leaves.append
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - traceback.format_tb
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Node.splitlines
    - version_str.encode
    - re.split
    - current_line.is_fmt_pass_converted
    - click.style
    - node_str.endswith
    - cache.write
    - colorama.initialise.wrap_stream.detach
    - content.rstrip
    - blib2to3.pytree.Leaf.get_lineno
    - black.format_cell
    - black.ranges.is_valid_line_range
    - operator.attrgetter
    - multiline_string_contexts.append
    - black.parsing.parse_ast
    - nodes_to_ignore.insert
    - click.echo
    - traceback.print_exc
    - line.contains_unsplittable_type_ignore
    - black.parsing.stringify_ast
    - black.lines.line_to_string
    - buf.readline
    - black.parsing._parse_single_version
    - <builtin>.open
    - first_leaf.prefix.count
    - black.nodes.is_one_sequence_between
    - hashlib.sha256
    - black.brackets.get_leaves_inside_matching_brackets
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - header.decode
    - black.comments._find_compound_statement_context
    - original_prefix.split
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - contents.split
    - black.comments._handle_regular_fmt_block
    - black.ranges._calculate_lines_mappings
    - new_line.append
    - matcher.get_matching_blocks
    - lines_mappings.append
    - black._contains_asexpr
    - black.strings.str_width
    - node.remove
    - content.startswith
    - child.leaves
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - lines_set.update
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - transformed.strip
    - black.report.Report.done
    - black.nodes.container_of
    - difflib.SequenceMatcher
    - bracket_stack.append
    - <builtin>.map
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - blib2to3.pytree.Leaf.value.strip
    - black.ranges._convert_nodes_to_standalone_comment
    - match.group
    - black.output.diff
    - black.comments._is_valid_standalone_fmt_comment
    - lineend.join
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - line.split
    - black.nodes.is_fstring
    - black.get_future_imports
    - normalized.strip
    - json.dumps
    - black.format_file_contents
    - black.cache.get_cache_file
    - chain.append
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - <builtin>.sorted
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - re.finditer
    - i.strip
    - black.handle_ipynb_magics.replace_magics
    - line.startswith
    - src.strip
    - black.nodes.is_type_comment_string
    - normalized_contents.lstrip
    - dst_blocks.append
    - line.comments_after
    - black.comments.children_contains_fmt_on
    - black.nodes.furthest_ancestor_with_last_leaf
    - drv.parse_string
    - datetime.datetime.fromtimestamp
    - black.output.color_diff
    - srcbuf.seek
    - line.contains_implicit_multiline_string_with_comments
    - <builtin>.enumerate
    - black.format_stdin_to_stdout
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - black.report.Report.failed
    - diff_lines.append
    - line.contains_standalone_comments
    - content.split
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - difflib.unified_diff
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - ast.parse
    - IPython.core.inputtransformer2.TransformerManager
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.linegen._hugging_power_ops_line_to_string
    - seen_nodes.add
    - black.format_ipynb_string
    - black.comments.list_comments
    - secrets.token_hex
    - black.linegen.LineGenerator.__post_init__
    - black._format_str_once
    - line.contains_multiline_strings
    - json.loads
    - black.output.ipynb_diff
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - features_and_magics.encode
    - black.handle_ipynb_magics.create_token
    - node.leaves
    - tokenize_rt.src_to_tokens
    - black.detect_target_versions
    - body_node.leaves
    - current_node.prev_sibling.leaves
    - match.groups
    - black.nodes.last_leaf
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.format_file_in_place
    - sys.stdin.buffer.read
    - <builtin>.getattr
    - black.lines.LinesBlock.all_lines
    - black.trans.hug_power_op
    - token._replace
    - colorama.initialise.wrap_stream.write
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.linegen.run_transformer
    - <builtin>.str
    - leaf.clone
    - result.pop
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - cache.is_changed
    - black.output._splitlines_no_ff
    - io.TextIOWrapper
    - black.lines.Line.contains_standalone_comments
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.nodes.is_type_comment
    - <builtin>.len
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - good_lines.append
    - value.rstrip
    - subscript_start.pre_order
    - parent_stack.append
    - pathlib.Path.exists
    - black.parsing._stringify_ast
    - black.output.err
    - ids.add
    - black.linegen.transform_line
    - black.lines.Line.is_complex_subscript
    - typing.NamedTuple.__init__
    - io.BytesIO
    - black.nodes.is_vararg
    - result.endswith
    - ignored_nodes.insert
    - src.split
    - blib2to3.pytree.Leaf.value.startswith
    - black.cache.Cache.read
    - blib2to3.pytree.Node.leaves
    - black.validate_metadata
    - tempfile.NamedTemporaryFile
    - line_str.split
    - pathlib.Path.stat
    - pathlib.Path.open
    - <builtin>.int
    - black.check_stability_and_equivalence
    - line.endswith
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - <builtin>.list
    - black.lines.Line.append
    - header_leaves.extend
    - fmt_off_prefix.split
    - black.ranges.sanitized_lines
    - modified_source.splitlines
    - result.extend
    - <builtin>.type
    - blib2to3.pytree.Node.endswith
    - <builtin>.any
    - black.handle_ipynb_magics.get_token
    - black.assert_stable
    - black.mode.supports_feature
    - value_part.strip
    - black.get_features_used
    - block.content_lines.append
    - dataclasses.replace
    - black.format_str
    - black.nodes.whitespace
    - black.comments.generate_ignored_nodes
    - f.write
    - return_type_leaves.append
    - value.splitlines
    - black.parsing._unwrap_tuples
    - warnings.simplefilter
    - black.handle_ipynb_magics.mask_cell
    - black.assert_equivalent
    - tokenize_rt.reversed_enumerate
    - black.nodes.is_multiline_string
    - black.nodes.make_simple_prefix
    - new_lines.append
    - tokenize.detect_encoding
    - data.items
    - black.lines.append_leaves
    - black.ranges.convert_unchanged_lines
    - buf.read
    - <builtin>.sum
    - <builtin>.id
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.get_future_imports.get_imports_from_children
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 7
    IfCount: 6
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fcd07df1760>
    argNames:
    - sources
    - fast
    - write_back
    - mode
    - report
    - workers
    - no_cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 74
    functionName: black.concurrency.reformat_many
    functionSourceFile: black.concurrency
    functionUses: 4
    functionsReached:
    - multiprocessing.Manager
    - pathlib.Path.open
    - click.echo
    - <builtin>.int
    - asyncio.all_tasks
    - loop.close
    - pathlib.Path.exists
    - <builtin>.sorted
    - <builtin>.min
    - report.done
    - logging.getLogger
    - dataclasses.replace.get_cache_key
    - black.output.err
    - os.environ.get
    - black.mode.Mode.get_cache_key
    - loop.run_in_executor
    - concurrent.futures.ProcessPoolExecutor
    - <builtin>.str
    - black.output._err
    - cache.filtered_cached
    - data.items
    - version_str.encode
    - hashlib.sha256.hexdigest
    - multiprocessing.Manager.Lock
    - loop.add_signal_handler
    - black.concurrency.maybe_install_uvloop
    - typing.NamedTuple.__init__
    - task.done
    - os.cpu_count
    - uvloop.install
    - loop.run_until_complete
    - task.exception
    - task.cancelled
    - cancelled.append
    - pickle.load
    - click.style
    - asyncio.ensure_future
    - features_and_magics.encode
    - cache.write
    - hashlib.sha256
    - task.result
    - concurrent.futures.ThreadPoolExecutor.shutdown
    - concurrent.futures.ProcessPoolExecutor.shutdown
    - <builtin>.len
    - operator.attrgetter
    - sources_to_cache.append
    - tasks.keys
    - asyncio.wait
    - multiprocessing.Manager.shutdown
    - black.cache.Cache.read
    - asyncio.gather
    - task.cancel
    - <builtin>.type
    - cf_logger.setLevel
    - report.failed
    - asyncio.set_event_loop
    - traceback.print_exception
    - black.concurrency.schedule_formatting
    - tasks.pop
    - black.cache.get_cache_file
    - asyncio.new_event_loop
    - concurrent.futures.ThreadPoolExecutor
    - black.concurrency.shutdown
    - <builtin>.getattr
    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: click.echo
    functionSourceFile: click
    functionUses: 25
    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: root.is_absolute
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - root
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 241
    functionName: black.files.get_gitignore
    functionSourceFile: black.files
    functionUses: 6
    functionsReached:
    - black.output._err
    - pathspec.GitIgnoreSpec.from_lines
    - pathlib.Path.open
    - click.style
    - click.echo
    - pathlib.Path.is_file
    - black.output.err
    - gf.readlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - normalized_path
    - pattern
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 312
    functionName: black.files.path_is_excluded
    functionSourceFile: black.files
    functionUses: 6
    functionsReached:
    - pattern.search
    - <builtin>.bool
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 57
    functionName: black.report.Report.path_ignored
    functionSourceFile: black.report
    functionUses: 7
    functionsReached:
    - click.style
    - black.output._out
    - click.echo
    - black.output.out
    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: pathlib.Path.is_file
    functionSourceFile: pathlib
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcd076c90d0>
    argNames:
    - path
    - root
    - report
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 255
    functionName: black.files.resolves_outside_root_or_cannot_stat
    functionSourceFile: black.files
    functionUses: 6
    functionsReached:
    - click.style
    - black.output._out
    - pathlib.Path.resolve
    - resolved_path.relative_to
    - black.report.Report.path_ignored
    - black.files._cached_resolve
    - click.echo
    - black.output.out
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - path
    - root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 279
    functionName: black.files.best_effort_relative_path
    functionSourceFile: black.files
    functionUses: 5
    functionsReached:
    - <builtin>.next
    - pathlib.Path.relative_to
    - pathlib.Path.absolute
    - pathlib.Path.resolve
    - black.files._cached_resolve
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - warn
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 49
    functionName: black.handle_ipynb_magics.jupyter_dependencies_are_installed
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 6
    functionsReached:
    - click.style
    - black.output._out
    - black.output.out
    - click.echo
    - importlib.util.find_spec
    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: sources.add
    functionSourceFile: <builtin>
    functionUses: 5
    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: pathlib.Path.is_dir
    functionSourceFile: pathlib
    functionUses: 5
    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: pathlib.Path.resolve
    functionSourceFile: pathlib
    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: pathlib.Path.iterdir
    functionSourceFile: pathlib
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 7
    IfCount: 11
    argCount: 10
    argDefaultValues: []
    argNames:
    - paths
    - root
    - include
    - exclude
    - extend_exclude
    - force_exclude
    - report
    - gitignore_dict
    - verbose
    - quiet
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 320
    functionName: black.files.gen_python_files
    functionSourceFile: black.files
    functionUses: 5
    functionsReached:
    - pathlib.Path.open
    - click.echo
    - black.files.get_gitignore
    - pattern.search
    - black.files.gen_python_files
    - path.relative_to
    - resolved_path.relative_to
    - include.search
    - black.output.err
    - black.output.out
    - black.output._err
    - <builtin>.bool
    - black.output._out
    - gitignore_dict.items
    - root.is_absolute
    - black.files.resolves_outside_root_or_cannot_stat
    - pathlib.Path.resolve
    - report.path_ignored
    - match.group
    - black.files.path_is_excluded
    - importlib.util.find_spec
    - black.handle_ipynb_magics.jupyter_dependencies_are_installed
    - click.style
    - child.relative_to
    - child.is_file
    - pathspec.GitIgnoreSpec.from_lines
    - black.files._path_is_ignored
    - pattern.match_file
    - pathlib.Path.is_file
    - path.is_dir
    - child.is_dir
    - black.report.Report.path_ignored
    - black.files._cached_resolve
    - child.is_absolute
    - gf.readlines
    - child.iterdir
    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: sources.update
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 5
    argDefaultValues: []
    argNames:
    - fast
    - content
    - write_back
    - mode
    - lines
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 993
    functionName: black.format_stdin_to_stdout
    functionSourceFile: black
    functionUses: 6
    functionsReached:
    - chain.append
    - _line_pattern.finditer
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - traceback.format_tb
    - parent_stack.append
    - re.match
    - <builtin>.sorted
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - black.parsing._stringify_ast
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - re.finditer
    - i.strip
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.nodes.is_number_token
    - black.handle_ipynb_magics.replace_magics
    - line.startswith
    - nb.get
    - src_contents.count
    - src.strip
    - black.nodes.preceding_leaf
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.comments._should_keep_compound_statement_inline
    - normalized_contents.lstrip
    - <builtin>.bool
    - warnings.catch_warnings
    - io.BytesIO
    - dst_blocks.append
    - black.comments.children_contains_fmt_on
    - black.nodes.is_vararg
    - datetime.datetime.now
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - line.comments_after
    - black.nodes.furthest_ancestor_with_last_leaf
    - re.split
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - black.nodes.fstring_tstring_to_string
    - ignored_nodes.insert
    - black.output.color_diff
    - black.handle_ipynb_magics._get_code_start
    - srcbuf.seek
    - node_str.endswith
    - colorama.initialise.wrap_stream.detach
    - src.split
    - blib2to3.pytree.Node.pre_order
    - content.lstrip
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - content.rstrip
    - black.format_cell
    - <builtin>.enumerate
    - black.ranges.is_valid_line_range
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.validate_metadata
    - multiline_string_contexts.append
    - tempfile.NamedTemporaryFile
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - black.parsing.parse_ast
    - dst_contents.extend
    - nodes_to_ignore.insert
    - line.contains_unsplittable_type_ignore
    - black.parsing.stringify_ast
    - line_str.split
    - node.insert_child
    - blib2to3.pytree.Leaf.value.lstrip
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - diff_lines.append
    - black.comments._get_compound_statement_header
    - line.contains_standalone_comments
    - content.split
    - black.check_stability_and_equivalence
    - black.lines.is_line_short_enough
    - difflib.unified_diff
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - black.parsing._parse_single_version
    - black.nodes.first_leaf_of
    - type_part.strip
    - first_leaf.prefix.count
    - line.endswith
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_sequence_between
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - new_srcs.append
    - colorama.initialise.wrap_stream
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - fmt_off_prefix.split
    - ast.parse
    - black.ranges.sanitized_lines
    - parts.append
    - modified_source.splitlines
    - result.extend
    - IPython.core.inputtransformer2.TransformerManager
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - black.parsing._normalize
    - seen_nodes.add
    - black.linegen.LineGenerator.__init__
    - black.format_ipynb_string
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - src.replace
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - <builtin>.type
    - original_prefix.split
    - blib2to3.pytree.Node.endswith
    - <builtin>.isinstance
    - black.comments.list_comments
    - collections.defaultdict
    - <builtin>.any
    - secrets.token_hex
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - black.handle_ipynb_magics.get_token
    - dst.rstrip
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.assert_stable
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - contents.split
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.ranges._calculate_lines_mappings
    - black.parsing.get_grammars
    - black._format_str_once
    - functools.partial
    - json.loads
    - block.content_lines.append
    - line.contains_multiline_strings
    - new_line.append
    - matcher.get_matching_blocks
    - result.append
    - black.format_str
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - lines_mappings.append
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - f.write
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - black.handle_ipynb_magics.create_token
    - node.leaves
    - tokenize_rt.src_to_tokens
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - black.parsing._unwrap_tuples
    - value.splitlines
    - warnings.simplefilter
    - body_node.leaves
    - black.ranges._TopLevelStatementsVisitor.__init__
    - black.handle_ipynb_magics.mask_cell
    - current_node.prev_sibling.leaves
    - lines_set.update
    - black.assert_equivalent
    - match.groups
    - black.nodes.last_leaf
    - tokenize_rt.reversed_enumerate
    - black.handle_ipynb_magics.validate_cell
    - black.nodes.is_multiline_string
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - sys.stdin.buffer.read
    - <builtin>.getattr
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - features.add
    - transformed.strip
    - token._replace
    - black.trans.hug_power_op
    - black.nodes.container_of
    - colorama.initialise.wrap_stream.write
    - new_lines.append
    - difflib.SequenceMatcher
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - replacements.append
    - tokenize.detect_encoding
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - ast.NodeVisitor.visit
    - black.files.wrap_stream_for_windows
    - leaf.clone
    - result.pop
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - cell.get
    - <builtin>.sum
    - match.group
    - black.output.diff
    - black.comments._is_valid_standalone_fmt_comment
    - normalized.strip
    - lineend.join
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - black.output._splitlines_no_ff
    - <builtin>.id
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - io.TextIOWrapper
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - black.comments.normalize_fmt_off
    - tiow.read
    - line.split
    - dst.splitlines
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.output.dump_to_file
    - prefix.split
    - blib2to3.pytree.Node
    - grammars.append
    - header_leaves.append
    - black.get_future_imports
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - black.get_future_imports.get_imports_from_children
    - json.dumps
    - good_lines.append
    - black.format_file_contents
    - value.rstrip
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - changed
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 36
    functionName: black.report.Report.done
    functionSourceFile: black.report
    functionUses: 6
    functionsReached:
    - click.style
    - black.output._out
    - click.echo
    - black.output.out
    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: traceback.print_exc
    functionSourceFile: traceback
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 52
    functionName: black.report.Report.failed
    functionSourceFile: black.report
    functionUses: 6
    functionsReached:
    - black.output._err
    - black.output.err
    - click.echo
    - click.style
    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: mypy_extensions.mypyc_attr
    functionSourceFile: mypy_extensions
    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: dataclasses.replace
    functionSourceFile: dataclasses
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 62
    functionName: black.cache.Cache.read
    functionSourceFile: black.cache
    functionUses: 7
    functionsReached:
    - pathlib.Path.open
    - click.echo
    - <builtin>.int
    - pathlib.Path.exists
    - <builtin>.sorted
    - dataclasses.replace.get_cache_key
    - black.output.err
    - black.mode.Mode.get_cache_key
    - <builtin>.str
    - black.output._err
    - version_str.encode
    - data.items
    - typing.NamedTuple.__init__
    - click.style
    - pickle.load
    - features_and_magics.encode
    - hashlib.sha256
    - <builtin>.len
    - operator.attrgetter
    - hashlib.sha256.hexdigest
    - black.cache.get_cache_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: cache.is_changed
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 6
    argDefaultValues:
    - <ast.Attribute object at 0x7fcd07b96d60>
    - <ast.Constant object at 0x7fcd07b96f10>
    argNames:
    - src
    - fast
    - mode
    - write_back
    - lock
    - lines
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 925
    functionName: black.format_file_in_place
    functionSourceFile: black
    functionUses: 5
    functionsReached:
    - chain.append
    - _line_pattern.finditer
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - traceback.format_tb
    - parent_stack.append
    - re.match
    - <builtin>.sorted
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - black.parsing._stringify_ast
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - re.finditer
    - i.strip
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.nodes.is_number_token
    - black.handle_ipynb_magics.replace_magics
    - line.startswith
    - nb.get
    - src_contents.count
    - black.nodes.preceding_leaf
    - black.lines.Line.is_complex_subscript
    - black.comments._should_keep_compound_statement_inline
    - black.nodes.is_type_comment_string
    - src.strip
    - normalized_contents.lstrip
    - <builtin>.bool
    - warnings.catch_warnings
    - io.BytesIO
    - dst_blocks.append
    - black.nodes.is_vararg
    - black.comments.children_contains_fmt_on
    - datetime.datetime.now
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - line.comments_after
    - re.split
    - black.nodes.furthest_ancestor_with_last_leaf
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - ignored_nodes.insert
    - black.nodes.fstring_tstring_to_string
    - datetime.datetime.fromtimestamp
    - black.output.color_diff
    - black.handle_ipynb_magics._get_code_start
    - srcbuf.seek
    - node_str.endswith
    - colorama.initialise.wrap_stream.detach
    - content.lstrip
    - src.split
    - blib2to3.pytree.Node.pre_order
    - line.contains_implicit_multiline_string_with_comments
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - blib2to3.pytree.Leaf.get_lineno
    - black.format_cell
    - <builtin>.enumerate
    - black.ranges.is_valid_line_range
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.validate_metadata
    - multiline_string_contexts.append
    - tempfile.NamedTemporaryFile
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - dst_contents.extend
    - black.parsing.parse_ast
    - nodes_to_ignore.insert
    - line.contains_unsplittable_type_ignore
    - black.parsing.stringify_ast
    - pathlib.Path.stat
    - line_str.split
    - blib2to3.pytree.Leaf.value.lstrip
    - black.trans.handle_is_simple_lookup_forward
    - node.insert_child
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - diff_lines.append
    - black.comments._get_compound_statement_header
    - line.contains_standalone_comments
    - content.split
    - black.check_stability_and_equivalence
    - black.lines.is_line_short_enough
    - difflib.unified_diff
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - <builtin>.hasattr
    - buf.readline
    - <builtin>.open
    - commas.append
    - black.nodes.first_leaf_of
    - type_part.strip
    - black.trans.handle_is_simple_look_up_prev
    - black.parsing._parse_single_version
    - line.endswith
    - first_leaf.prefix.count
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.handle_ipynb_magics.replace_cell_magics
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - new_srcs.append
    - colorama.initialise.wrap_stream
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - fmt_off_prefix.split
    - ast.parse
    - black.ranges.sanitized_lines
    - parts.append
    - modified_source.splitlines
    - result.extend
    - IPython.core.inputtransformer2.TransformerManager
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - seen_nodes.add
    - black.parsing._normalize
    - black.linegen.LineGenerator.__init__
    - black.format_ipynb_string
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - src.replace
    - header.decode
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - <builtin>.type
    - blib2to3.pytree.Node.endswith
    - original_prefix.split
    - <builtin>.isinstance
    - black.comments.list_comments
    - collections.defaultdict
    - <builtin>.any
    - <builtin>.next
    - secrets.token_hex
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - black.handle_ipynb_magics.get_token
    - dst.rstrip
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.assert_stable
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - contents.split
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.ranges._calculate_lines_mappings
    - black.parsing.get_grammars
    - black._format_str_once
    - functools.partial
    - json.loads
    - dataclasses.replace
    - block.content_lines.append
    - line.contains_multiline_strings
    - result.append
    - matcher.get_matching_blocks
    - new_line.append
    - black.format_str
    - black.output.ipynb_diff
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - lines_mappings.append
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - f.write
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - black.handle_ipynb_magics.create_token
    - node.leaves
    - tokenize_rt.src_to_tokens
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - body_node.leaves
    - value.splitlines
    - black.parsing._unwrap_tuples
    - black.ranges._TopLevelStatementsVisitor.__init__
    - warnings.simplefilter
    - black.handle_ipynb_magics.mask_cell
    - current_node.prev_sibling.leaves
    - lines_set.update
    - black.assert_equivalent
    - match.groups
    - black.nodes.last_leaf
    - tokenize_rt.reversed_enumerate
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.handle_ipynb_magics.validate_cell
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - <builtin>.getattr
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - black.trans.hug_power_op
    - token._replace
    - features.add
    - transformed.strip
    - black.nodes.container_of
    - colorama.initialise.wrap_stream.write
    - new_lines.append
    - difflib.SequenceMatcher
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - replacements.append
    - tokenize.detect_encoding
    - black.nodes.child_towards
    - black.strings.has_triple_quotes
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - leaf.clone
    - black.files.wrap_stream_for_windows
    - ast.NodeVisitor.visit
    - result.pop
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - buf.read
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - cell.get
    - contextlib.nullcontext
    - <builtin>.sum
    - match.group
    - black.output.diff
    - black.comments._is_valid_standalone_fmt_comment
    - normalized.strip
    - lineend.join
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - black.output._splitlines_no_ff
    - <builtin>.id
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - io.TextIOWrapper
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - dst.splitlines
    - black.nodes.is_type_comment
    - line.split
    - <builtin>.len
    - black.nodes.is_fstring
    - black.output.dump_to_file
    - grammars.append
    - prefix.split
    - blib2to3.pytree.Node
    - header_leaves.append
    - black.get_future_imports
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - black.get_future_imports.get_imports_from_children
    - json.dumps
    - good_lines.append
    - black.format_file_contents
    - value.rstrip
    - blib2to3.pgen2.driver.Driver
    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: cache.write
    functionSourceFile: <builtin>
    functionUses: 7
    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: pathlib.Path.stat
    functionSourceFile: pathlib
    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: datetime.datetime.fromtimestamp
    functionSourceFile: datetime
    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: <builtin>.open
    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: buf.readline
    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: buf.read
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 3
    argDefaultValues: []
    argNames:
    - src
    - mode
    - encoding_overwrite
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1281
    functionName: black.decode_bytes
    functionSourceFile: black
    functionUses: 16
    functionsReached:
    - srcbuf.seek
    - io.TextIOWrapper
    - io.BytesIO
    - tiow.read
    - tokenize.detect_encoding
    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: header.decode
    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: colorama.initialise.wrap_stream.write
    functionSourceFile: colorama
    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: datetime.datetime.now
    functionSourceFile: datetime
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - a
    - b
    - a_name
    - b_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 42
    functionName: black.output.ipynb_diff
    functionSourceFile: black.output
    functionUses: 6
    functionsReached:
    - black.output._splitlines_no_ff
    - _line_pattern.finditer
    - diff_lines.append
    - result.pop
    - json.loads
    - black.output.diff
    - difflib.unified_diff
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - a
    - b
    - a_name
    - b_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 75
    functionName: black.output.diff
    functionSourceFile: black.output
    functionUses: 16
    functionsReached:
    - _line_pattern.finditer
    - black.output._splitlines_no_ff
    - result.pop
    - diff_lines.append
    - difflib.unified_diff
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - contents
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: black.output.color_diff
    functionSourceFile: black.output
    functionUses: 8
    functionsReached:
    - contents.split
    - line.startswith
    - <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: 0
    functionLinenumber: -1
    functionName: contextlib.nullcontext
    functionSourceFile: contextlib
    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: io.TextIOWrapper
    functionSourceFile: io
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 409
    functionName: black.files.wrap_stream_for_windows
    functionSourceFile: black.files
    functionUses: 8
    functionsReached:
    - colorama.initialise.wrap_stream
    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: colorama.initialise.wrap_stream.detach
    functionSourceFile: colorama
    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: sys.stdin.buffer.read
    functionSourceFile: sys
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - src_contents
    - dst_contents
    - mode
    - lines
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1045
    functionName: black.check_stability_and_equivalence
    functionSourceFile: black
    functionUses: 12
    functionsReached:
    - chain.append
    - _line_pattern.finditer
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - traceback.format_tb
    - parent_stack.append
    - re.match
    - <builtin>.sorted
    - black.parsing._stringify_ast
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - i.strip
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.nodes.is_number_token
    - black.comments._should_keep_compound_statement_inline
    - line.startswith
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - normalized_contents.lstrip
    - <builtin>.bool
    - warnings.catch_warnings
    - dst_blocks.append
    - io.BytesIO
    - black.nodes.is_vararg
    - black.comments.children_contains_fmt_on
    - line.comments_after
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - black.nodes.furthest_ancestor_with_last_leaf
    - re.split
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - ignored_nodes.insert
    - black.nodes.fstring_tstring_to_string
    - srcbuf.seek
    - node_str.endswith
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.value.startswith
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - <builtin>.enumerate
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - multiline_string_contexts.append
    - tempfile.NamedTemporaryFile
    - black.nodes.is_simple_decorator_expression
    - black.parsing.parse_ast
    - dst_contents.extend
    - nodes_to_ignore.insert
    - line.contains_unsplittable_type_ignore
    - black.parsing.stringify_ast
    - line_str.split
    - node.insert_child
    - blib2to3.pytree.Leaf.value.lstrip
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - diff_lines.append
    - black.comments._get_compound_statement_header
    - line.contains_standalone_comments
    - content.split
    - black.lines.is_line_short_enough
    - ignored.remove
    - difflib.unified_diff
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - black.parsing._parse_single_version
    - black.nodes.first_leaf_of
    - type_part.strip
    - line.endswith
    - first_leaf.prefix.count
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - fmt_off_prefix.split
    - ast.parse
    - parts.append
    - result.extend
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - black.parsing._normalize
    - seen_nodes.add
    - black.linegen.LineGenerator.__init__
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - <builtin>.type
    - blib2to3.pytree.Node.endswith
    - original_prefix.split
    - <builtin>.isinstance
    - black.comments.list_comments
    - <builtin>.any
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.assert_stable
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.parsing.get_grammars
    - black._format_str_once
    - functools.partial
    - block.content_lines.append
    - line.contains_multiline_strings
    - new_line.append
    - result.append
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - f.write
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - node.leaves
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - value.splitlines
    - black.parsing._unwrap_tuples
    - warnings.simplefilter
    - body_node.leaves
    - black.ranges._TopLevelStatementsVisitor.__init__
    - current_node.prev_sibling.leaves
    - lines_set.update
    - black.assert_equivalent
    - match.groups
    - black.nodes.last_leaf
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - <builtin>.getattr
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - black.trans.hug_power_op
    - features.add
    - black.nodes.container_of
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - black.strings.has_triple_quotes
    - tokenize.detect_encoding
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - leaf.clone
    - result.pop
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - <builtin>.sum
    - black.output.diff
    - black.comments._is_valid_standalone_fmt_comment
    - lineend.join
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - <builtin>.id
    - black.output._splitlines_no_ff
    - io.TextIOWrapper
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - black.parsing._stringify_ast_with_new_parent
    - <builtin>.set
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.output.dump_to_file
    - prefix.split
    - blib2to3.pytree.Node
    - grammars.append
    - header_leaves.append
    - black.get_future_imports
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - black.get_future_imports.get_imports_from_children
    - normalized.strip
    - value.rstrip
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - dst
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1569
    functionName: black.assert_equivalent
    functionSourceFile: black
    functionUses: 13
    functionsReached:
    - black.parsing.stringify_ast
    - _line_pattern.finditer
    - traceback.format_tb
    - parent_stack.append
    - diff_lines.append
    - <builtin>.sorted
    - black.parsing._stringify_ast
    - i.strip
    - difflib.unified_diff
    - <builtin>.str
    - black.parsing._parse_single_version
    - result.pop
    - warnings.catch_warnings
    - black.output.diff
    - lineend.join
    - f.write
    - black.output._splitlines_no_ff
    - parent_stack.pop
    - ast.parse
    - black.parsing._stringify_ast_with_new_parent
    - value.splitlines
    - <builtin>.len
    - black.parsing._normalize
    - black.parsing._unwrap_tuples
    - warnings.simplefilter
    - black.output.dump_to_file
    - <builtin>.range
    - <builtin>.isinstance
    - tempfile.NamedTemporaryFile
    - black.parsing.parse_ast
    - normalized.strip
    - value.rstrip
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - ASTSafetyError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - src
    - dst
    - mode
    - lines
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1602
    functionName: black.assert_stable
    functionSourceFile: black
    functionUses: 13
    functionsReached:
    - chain.append
    - _line_pattern.finditer
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - re.match
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.nodes.is_number_token
    - black.comments._should_keep_compound_statement_inline
    - line.startswith
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - normalized_contents.lstrip
    - <builtin>.bool
    - dst_blocks.append
    - io.BytesIO
    - black.nodes.is_vararg
    - black.comments.children_contains_fmt_on
    - line.comments_after
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - black.nodes.furthest_ancestor_with_last_leaf
    - re.split
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - ignored_nodes.insert
    - black.nodes.fstring_tstring_to_string
    - srcbuf.seek
    - node_str.endswith
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.value.startswith
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - <builtin>.enumerate
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - multiline_string_contexts.append
    - tempfile.NamedTemporaryFile
    - black.nodes.is_simple_decorator_expression
    - dst_contents.extend
    - nodes_to_ignore.insert
    - blib2to3.pytree.Leaf.value.lstrip
    - line.contains_unsplittable_type_ignore
    - line_str.split
    - node.insert_child
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - diff_lines.append
    - black.comments._get_compound_statement_header
    - line.contains_standalone_comments
    - content.split
    - black.lines.is_line_short_enough
    - ignored.remove
    - difflib.unified_diff
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - black.nodes.first_leaf_of
    - type_part.strip
    - first_leaf.prefix.count
    - line.endswith
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - fmt_off_prefix.split
    - parts.append
    - result.extend
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - seen_nodes.add
    - black.linegen.LineGenerator.__init__
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - <builtin>.type
    - original_prefix.split
    - blib2to3.pytree.Node.endswith
    - <builtin>.isinstance
    - black.comments.list_comments
    - <builtin>.any
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.parsing.get_grammars
    - black._format_str_once
    - functools.partial
    - block.content_lines.append
    - line.contains_multiline_strings
    - new_line.append
    - result.append
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - f.write
    - comment_line.strip
    - black.lines.Line.remove_trailing_comma
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - node.leaves
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - body_node.leaves
    - black.ranges._TopLevelStatementsVisitor.__init__
    - current_node.prev_sibling.leaves
    - lines_set.update
    - match.groups
    - black.nodes.last_leaf
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - black.trans.hug_power_op
    - features.add
    - black.nodes.container_of
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - black.strings.has_triple_quotes
    - tokenize.detect_encoding
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - leaf.clone
    - result.pop
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - <builtin>.sum
    - black.output.diff
    - black.comments._is_valid_standalone_fmt_comment
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - black.output._splitlines_no_ff
    - <builtin>.id
    - io.TextIOWrapper
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.output.dump_to_file
    - prefix.split
    - blib2to3.pytree.Node
    - grammars.append
    - header_leaves.append
    - black.get_future_imports
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - black.get_future_imports.get_imports_from_children
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - src_contents
    - fast
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1139
    functionName: black.format_ipynb_string
    functionSourceFile: black
    functionUses: 10
    functionsReached:
    - chain.append
    - _line_pattern.finditer
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - traceback.format_tb
    - parent_stack.append
    - re.match
    - <builtin>.sorted
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - black.parsing._stringify_ast
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - blib2to3.pytree.Leaf
    - re.finditer
    - black.comments.convert_one_fmt_off_pair
    - i.strip
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.nodes.is_number_token
    - black.handle_ipynb_magics.replace_magics
    - src.strip
    - nb.get
    - line.startswith
    - src_contents.count
    - black.comments._should_keep_compound_statement_inline
    - black.nodes.preceding_leaf
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - normalized_contents.lstrip
    - <builtin>.bool
    - warnings.catch_warnings
    - dst_blocks.append
    - io.BytesIO
    - black.comments.children_contains_fmt_on
    - black.nodes.is_vararg
    - line.comments_after
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - black.nodes.furthest_ancestor_with_last_leaf
    - re.split
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - ignored_nodes.insert
    - black.nodes.fstring_tstring_to_string
    - black.handle_ipynb_magics._get_code_start
    - srcbuf.seek
    - node_str.endswith
    - src.split
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.value.startswith
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - black.format_cell
    - <builtin>.enumerate
    - black.ranges.is_valid_line_range
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.validate_metadata
    - multiline_string_contexts.append
    - tempfile.NamedTemporaryFile
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - dst_contents.extend
    - black.parsing.parse_ast
    - nodes_to_ignore.insert
    - line.contains_unsplittable_type_ignore
    - black.parsing.stringify_ast
    - line_str.split
    - blib2to3.pytree.Leaf.value.lstrip
    - node.insert_child
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - diff_lines.append
    - black.comments._get_compound_statement_header
    - line.contains_standalone_comments
    - content.split
    - black.check_stability_and_equivalence
    - black.lines.is_line_short_enough
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - difflib.unified_diff
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - black.parsing._parse_single_version
    - black.nodes.first_leaf_of
    - type_part.strip
    - first_leaf.prefix.count
    - line.endswith
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_sequence_between
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - new_srcs.append
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - fmt_off_prefix.split
    - ast.parse
    - black.ranges.sanitized_lines
    - parts.append
    - modified_source.splitlines
    - IPython.core.inputtransformer2.TransformerManager
    - result.extend
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - seen_nodes.add
    - black.parsing._normalize
    - black.linegen.LineGenerator.__init__
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - src.replace
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - <builtin>.type
    - original_prefix.split
    - <builtin>.isinstance
    - blib2to3.pytree.Node.endswith
    - black.comments.list_comments
    - collections.defaultdict
    - <builtin>.any
    - secrets.token_hex
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - black.handle_ipynb_magics.get_token
    - dst.rstrip
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.assert_stable
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.ranges._calculate_lines_mappings
    - black.parsing.get_grammars
    - black._format_str_once
    - functools.partial
    - json.loads
    - block.content_lines.append
    - line.contains_multiline_strings
    - new_line.append
    - matcher.get_matching_blocks
    - result.append
    - black.format_str
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - lines_mappings.append
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - f.write
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - black.handle_ipynb_magics.create_token
    - tokenize_rt.src_to_tokens
    - node.leaves
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - body_node.leaves
    - value.splitlines
    - black.parsing._unwrap_tuples
    - black.ranges._TopLevelStatementsVisitor.__init__
    - warnings.simplefilter
    - black.handle_ipynb_magics.mask_cell
    - current_node.prev_sibling.leaves
    - lines_set.update
    - black.assert_equivalent
    - match.groups
    - black.nodes.last_leaf
    - tokenize_rt.reversed_enumerate
    - black.handle_ipynb_magics.validate_cell
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - <builtin>.getattr
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - transformed.strip
    - token._replace
    - black.trans.hug_power_op
    - features.add
    - black.nodes.container_of
    - new_lines.append
    - difflib.SequenceMatcher
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - replacements.append
    - <builtin>.map
    - tokenize.detect_encoding
    - black.nodes.child_towards
    - black.strings.has_triple_quotes
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - ast.NodeVisitor.visit
    - black.lines.append_leaves
    - leaf.clone
    - result.pop
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - cell.get
    - <builtin>.sum
    - match.group
    - black.comments._is_valid_standalone_fmt_comment
    - black.output.diff
    - normalized.strip
    - lineend.join
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - <builtin>.id
    - black.output._splitlines_no_ff
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - io.TextIOWrapper
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - line.split
    - black.comments.normalize_fmt_off
    - dst.splitlines
    - tiow.read
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.output.dump_to_file
    - prefix.split
    - grammars.append
    - blib2to3.pytree.Node
    - header_leaves.append
    - black.get_future_imports
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.get_future_imports.get_imports_from_children
    - black.lines.Line.comments_after
    - json.dumps
    - good_lines.append
    - value.rstrip
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - src_contents
    - mode
    - lines
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1171
    functionName: black.format_str
    functionSourceFile: black
    functionUses: 12
    functionsReached:
    - chain.append
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - re.match
    - <builtin>.sorted
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.nodes.is_number_token
    - black.comments._should_keep_compound_statement_inline
    - src_contents.count
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - line.startswith
    - normalized_contents.lstrip
    - <builtin>.bool
    - dst_blocks.append
    - io.BytesIO
    - black.nodes.is_vararg
    - black.comments.children_contains_fmt_on
    - line.comments_after
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - black.nodes.furthest_ancestor_with_last_leaf
    - re.split
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - ignored_nodes.insert
    - black.nodes.fstring_tstring_to_string
    - srcbuf.seek
    - node_str.endswith
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.value.startswith
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - <builtin>.enumerate
    - black.ranges.is_valid_line_range
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - multiline_string_contexts.append
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - dst_contents.extend
    - nodes_to_ignore.insert
    - blib2to3.pytree.Leaf.value.lstrip
    - line.contains_unsplittable_type_ignore
    - line_str.split
    - node.insert_child
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - black.comments._get_compound_statement_header
    - line.contains_standalone_comments
    - content.split
    - black.lines.is_line_short_enough
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - black.nodes.first_leaf_of
    - type_part.strip
    - line.endswith
    - first_leaf.prefix.count
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - fmt_off_prefix.split
    - black.ranges.sanitized_lines
    - parts.append
    - modified_source.splitlines
    - result.extend
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - seen_nodes.add
    - black.linegen.LineGenerator.__init__
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - <builtin>.type
    - blib2to3.pytree.Node.endswith
    - original_prefix.split
    - <builtin>.isinstance
    - black.comments.list_comments
    - <builtin>.any
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.ranges._calculate_lines_mappings
    - black.parsing.get_grammars
    - black._format_str_once
    - functools.partial
    - block.content_lines.append
    - line.contains_multiline_strings
    - new_line.append
    - matcher.get_matching_blocks
    - result.append
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - lines_mappings.append
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - node.leaves
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - body_node.leaves
    - black.ranges._TopLevelStatementsVisitor.__init__
    - current_node.prev_sibling.leaves
    - lines_set.update
    - match.groups
    - black.nodes.last_leaf
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - black.trans.hug_power_op
    - features.add
    - black.nodes.container_of
    - new_lines.append
    - difflib.SequenceMatcher
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - black.strings.has_triple_quotes
    - tokenize.detect_encoding
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - leaf.clone
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - <builtin>.sum
    - black.comments._is_valid_standalone_fmt_comment
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - <builtin>.id
    - io.TextIOWrapper
    - black.ranges.adjusted_lines
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - prefix.split
    - blib2to3.pytree.Node
    - grammars.append
    - header_leaves.append
    - black.get_future_imports
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - black.get_future_imports.get_imports_from_children
    - good_lines.append
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - src
    - fast
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1090
    functionName: black.format_cell
    functionSourceFile: black
    functionUses: 11
    functionsReached:
    - chain.append
    - _line_pattern.finditer
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - traceback.format_tb
    - parent_stack.append
    - re.match
    - <builtin>.sorted
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - black.parsing._stringify_ast
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - blib2to3.pytree.Leaf
    - re.finditer
    - black.comments.convert_one_fmt_off_pair
    - i.strip
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.nodes.is_number_token
    - black.handle_ipynb_magics.replace_magics
    - src.strip
    - line.startswith
    - src_contents.count
    - black.comments._should_keep_compound_statement_inline
    - black.nodes.preceding_leaf
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - normalized_contents.lstrip
    - <builtin>.bool
    - warnings.catch_warnings
    - dst_blocks.append
    - io.BytesIO
    - black.comments.children_contains_fmt_on
    - black.nodes.is_vararg
    - line.comments_after
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - black.nodes.furthest_ancestor_with_last_leaf
    - re.split
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - ignored_nodes.insert
    - black.nodes.fstring_tstring_to_string
    - black.handle_ipynb_magics._get_code_start
    - srcbuf.seek
    - node_str.endswith
    - src.split
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.value.startswith
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - <builtin>.enumerate
    - black.ranges.is_valid_line_range
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - multiline_string_contexts.append
    - tempfile.NamedTemporaryFile
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - dst_contents.extend
    - black.parsing.parse_ast
    - nodes_to_ignore.insert
    - line.contains_unsplittable_type_ignore
    - black.parsing.stringify_ast
    - line_str.split
    - blib2to3.pytree.Leaf.value.lstrip
    - node.insert_child
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - diff_lines.append
    - black.comments._get_compound_statement_header
    - line.contains_standalone_comments
    - content.split
    - black.check_stability_and_equivalence
    - black.lines.is_line_short_enough
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - difflib.unified_diff
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - black.parsing._parse_single_version
    - black.nodes.first_leaf_of
    - type_part.strip
    - first_leaf.prefix.count
    - line.endswith
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_sequence_between
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - new_srcs.append
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - fmt_off_prefix.split
    - ast.parse
    - black.ranges.sanitized_lines
    - parts.append
    - modified_source.splitlines
    - IPython.core.inputtransformer2.TransformerManager
    - result.extend
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - seen_nodes.add
    - black.parsing._normalize
    - black.linegen.LineGenerator.__init__
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - src.replace
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - <builtin>.type
    - original_prefix.split
    - <builtin>.isinstance
    - blib2to3.pytree.Node.endswith
    - black.comments.list_comments
    - collections.defaultdict
    - <builtin>.any
    - secrets.token_hex
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - black.handle_ipynb_magics.get_token
    - dst.rstrip
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.assert_stable
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.ranges._calculate_lines_mappings
    - black.parsing.get_grammars
    - black._format_str_once
    - functools.partial
    - block.content_lines.append
    - line.contains_multiline_strings
    - new_line.append
    - matcher.get_matching_blocks
    - result.append
    - black.format_str
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - lines_mappings.append
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - f.write
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - black.handle_ipynb_magics.create_token
    - tokenize_rt.src_to_tokens
    - node.leaves
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - body_node.leaves
    - value.splitlines
    - black.parsing._unwrap_tuples
    - black.ranges._TopLevelStatementsVisitor.__init__
    - warnings.simplefilter
    - black.handle_ipynb_magics.mask_cell
    - current_node.prev_sibling.leaves
    - lines_set.update
    - black.assert_equivalent
    - match.groups
    - black.nodes.last_leaf
    - tokenize_rt.reversed_enumerate
    - black.handle_ipynb_magics.validate_cell
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - <builtin>.getattr
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - transformed.strip
    - token._replace
    - black.trans.hug_power_op
    - features.add
    - black.nodes.container_of
    - new_lines.append
    - difflib.SequenceMatcher
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - replacements.append
    - <builtin>.map
    - tokenize.detect_encoding
    - black.nodes.child_towards
    - black.strings.has_triple_quotes
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - ast.NodeVisitor.visit
    - black.lines.append_leaves
    - leaf.clone
    - result.pop
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - <builtin>.sum
    - match.group
    - black.comments._is_valid_standalone_fmt_comment
    - black.output.diff
    - lineend.join
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - <builtin>.id
    - black.output._splitlines_no_ff
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - io.TextIOWrapper
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - line.split
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.output.dump_to_file
    - prefix.split
    - grammars.append
    - blib2to3.pytree.Node
    - header_leaves.append
    - black.get_future_imports
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.get_future_imports.get_imports_from_children
    - black.lines.Line.comments_after
    - normalized.strip
    - good_lines.append
    - value.rstrip
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 62
    functionName: black.handle_ipynb_magics.validate_cell
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 12
    functionsReached:
    - <builtin>.any
    - line.startswith
    - black.handle_ipynb_magics._get_code_start
    - line.split
    - match.group
    - re.finditer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - src
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: black.handle_ipynb_magics.remove_trailing_semicolon
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 12
    functionsReached:
    - tokenize_rt.reversed_enumerate
    - tokenize_rt.src_to_tokens
    - tokenize_rt.tokens_to_src
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - src
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 146
    functionName: black.handle_ipynb_magics.mask_cell
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 12
    functionsReached:
    - secrets.token_hex
    - black.handle_ipynb_magics.get_token
    - <builtin>.max
    - replacements.append
    - black.handle_ipynb_magics.replace_magics
    - src.strip
    - ast.NodeVisitor.visit
    - black.handle_ipynb_magics.replace_cell_magics
    - new_srcs.append
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - ast.parse
    - src.split
    - IPython.core.inputtransformer2.TransformerManager
    - black.handle_ipynb_magics.create_token
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.handle_ipynb_magics.MagicFinder.__init__
    - <builtin>.len
    - <builtin>.enumerate
    - collections.defaultdict
    - transformed.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - replacements
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 296
    functionName: black.handle_ipynb_magics.unmask_cell
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 12
    functionsReached:
    - src.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - has_trailing_semicolon
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: black.handle_ipynb_magics.put_trailing_semicolon_back
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 12
    functionsReached:
    - <builtin>.str
    - tokenize_rt.reversed_enumerate
    - tokenize_rt.tokens_to_src
    - tokenize_rt.src_to_tokens
    - token._replace
    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: dst.rstrip
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - nb
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1127
    functionName: black.validate_metadata
    functionSourceFile: black
    functionUses: 11
    functionsReached:
    - nb.get
    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: nb.get
    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: json.loads
    functionSourceFile: json
    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: cell.get
    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: dst.splitlines
    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: json.dumps
    functionSourceFile: json
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - lines
    - src_contents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: black.ranges.sanitized_lines
    functionSourceFile: black.ranges
    functionUses: 13
    functionsReached:
    - src_contents.count
    - src_contents.endswith
    - <builtin>.max
    - <builtin>.min
    - good_lines.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - src_contents
    - mode
    - lines
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1218
    functionName: black._format_str_once
    functionSourceFile: black
    functionUses: 15
    functionsReached:
    - chain.append
    - comment.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - re.match
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - blib2to3.pytree.Node.splitlines
    - ids.add
    - black.linegen.transform_line
    - black.nodes.is_number_token
    - line.startswith
    - black.comments._should_keep_compound_statement_inline
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - normalized_contents.lstrip
    - <builtin>.bool
    - dst_blocks.append
    - io.BytesIO
    - black.nodes.is_vararg
    - black.comments.children_contains_fmt_on
    - line.comments_after
    - drv.parse_string
    - result.endswith
    - black.parsing.lib2to3_parse
    - black.nodes.furthest_ancestor_with_last_leaf
    - re.split
    - black.lines.Line.append_comment
    - current_line.is_fmt_pass_converted
    - ignored_nodes.insert
    - black.nodes.fstring_tstring_to_string
    - srcbuf.seek
    - node_str.endswith
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - content.rstrip
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.value.startswith
    - blib2to3.pytree.Leaf.get_lineno
    - <builtin>.enumerate
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - multiline_string_contexts.append
    - black.nodes.is_simple_decorator_expression
    - dst_contents.extend
    - nodes_to_ignore.insert
    - line.contains_unsplittable_type_ignore
    - blib2to3.pytree.Leaf.value.lstrip
    - line_str.split
    - node.insert_child
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.lines.line_to_string
    - black.comments._get_compound_statement_header
    - line.contains_standalone_comments
    - content.split
    - black.lines.is_line_short_enough
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - <builtin>.hasattr
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - black.nodes.first_leaf_of
    - type_part.strip
    - first_leaf.prefix.count
    - line.endswith
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - src_contents.encode
    - header_leaves.extend
    - black.nodes.is_simple_decorator_trailer
    - fmt_off_prefix.split
    - parts.append
    - result.extend
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - seen_nodes.add
    - black.linegen.LineGenerator.__init__
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.type
    - black.comments._find_compound_statement_context
    - original_prefix.split
    - blib2to3.pytree.Node.endswith
    - <builtin>.isinstance
    - black.comments.list_comments
    - <builtin>.any
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - commas.pop
    - <builtin>.max
    - black.linegen.LineGenerator.__post_init__
    - black.mode.supports_feature
    - line.clone
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - value_part.strip
    - black.comments._handle_regular_fmt_block
    - black.get_features_used
    - black.parsing.get_grammars
    - functools.partial
    - block.content_lines.append
    - line.contains_multiline_strings
    - result.append
    - new_line.append
    - line_generator.visit
    - black.nodes.whitespace
    - black.ranges._leaf_line_end
    - black.comments.generate_ignored_nodes
    - black._contains_asexpr
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.strings.str_width
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.all
    - content.startswith
    - transformers.append
    - child.leaves
    - node.leaves
    - black.detect_target_versions
    - return_type_leaves.append
    - max_tv.pretty
    - body_node.leaves
    - black.ranges._TopLevelStatementsVisitor.__init__
    - current_node.prev_sibling.leaves
    - lines_set.update
    - match.groups
    - black.nodes.last_leaf
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - black.nodes.make_simple_prefix
    - black.lines.LinesBlock.all_lines
    - features.add
    - black.trans.hug_power_op
    - black.nodes.container_of
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - black.strings.has_triple_quotes
    - tokenize.detect_encoding
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - leaf.clone
    - black.ranges.convert_unchanged_lines
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - <builtin>.sum
    - black.comments._is_valid_standalone_fmt_comment
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - <builtin>.id
    - io.TextIOWrapper
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - prefix.split
    - blib2to3.pytree.Node
    - grammars.append
    - header_leaves.append
    - black.get_future_imports
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - black.get_future_imports.get_imports_from_children
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - lines
    - original_source
    - modified_source
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 76
    functionName: black.ranges.adjusted_lines
    functionSourceFile: black.ranges
    functionUses: 13
    functionsReached:
    - black.ranges._calculate_lines_mappings
    - difflib.SequenceMatcher
    - new_lines.append
    - modified_source.splitlines
    - <builtin>.sorted
    - matcher.get_matching_blocks
    - black.ranges._find_lines_mapping_index
    - original_source.splitlines
    - <builtin>.len
    - <builtin>.enumerate
    - lines_mappings.append
    - black.ranges.is_valid_line_range
    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: src_contents.encode
    functionSourceFile: <builtin>
    functionUses: 16
    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: normalized_contents.lstrip
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Tuple object at 0x7fcd0743da90>
    argNames:
    - src_txt
    - target_versions
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 55
    functionName: black.parsing.lib2to3_parse
    functionSourceFile: black.parsing
    functionUses: 17
    functionsReached:
    - <builtin>.any
    - blib2to3.pytree.Node
    - grammars.append
    - max_tv.pretty
    - black.parsing.get_grammars
    - <builtin>.all
    - <builtin>.max
    - <builtin>.set
    - blib2to3.pytree.Node.endswith
    - <builtin>.isinstance
    - drv.parse_string
    - black.mode.supports_feature
    - blib2to3.pytree.Node.splitlines
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1512
    functionName: black.get_future_imports
    functionSourceFile: black
    functionUses: 16
    functionsReached:
    - <builtin>.set
    - <builtin>.isinstance
    - black.get_future_imports.get_imports_from_children
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - future_imports
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1502
    functionName: black.detect_target_versions
    functionSourceFile: black
    functionUses: 16
    functionsReached:
    - black._contains_asexpr
    - <builtin>.any
    - black.get_features_used
    - black.nodes.is_simple_decorator_trailer
    - <builtin>.all
    - <builtin>.set
    - blib2to3.pytree.Node.pre_order
    - black.nodes.is_simple_decorator_expression
    - <builtin>.map
    - features.add
    - <builtin>.len
    - black.nodes.is_number_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - target_versions
    - feature
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 215
    functionName: black.mode.supports_feature
    functionSourceFile: black.mode
    functionUses: 19
    functionsReached:
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - node
    - mode
    - lines
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 191
    functionName: black.comments.normalize_fmt_off
    functionSourceFile: black.comments
    functionUses: 16
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - black.comments._handle_comment_only_fmt_block
    - black.comments._handle_regular_fmt_block.stringify_node
    - re.match
    - black.comments._get_compound_statement_header
    - content.split
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - ignored.remove
    - black.comments.contains_fmt_directive
    - parent.insert_child
    - value_part.strip
    - <builtin>.str
    - black.comments._handle_regular_fmt_block
    - <builtin>.hasattr
    - line.startswith
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.comments._should_keep_compound_statement_inline
    - black.nodes.first_leaf_of
    - type_part.strip
    - line.endswith
    - black.comments.children_contains_fmt_on
    - result.append
    - result.endswith
    - re.split
    - black.comments._is_valid_standalone_fmt_comment
    - <builtin>.list
    - black.comments.generate_ignored_nodes
    - hidden_value.endswith
    - comment_line.strip
    - ignored_nodes.insert
    - <builtin>.id
    - header_leaves.extend
    - node_str.endswith
    - fmt_off_prefix.split
    - parts.append
    - content.startswith
    - content.lstrip
    - child.leaves
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - node.leaves
    - <builtin>.len
    - <builtin>.enumerate
    - seen_nodes.add
    - body_node.leaves
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - prefix.split
    - comment_line.split
    - black.comments.is_fmt_on
    - header_leaves.append
    - current_node.prev_sibling.leaves
    - blib2to3.pytree.Node.leaves
    - match.groups
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - black.comments._should_process_fmt_comment
    - <builtin>.iter
    - original_prefix.split
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.comments.list_comments
    - black.nodes.container_of
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - src_node
    - lines
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 156
    functionName: black.ranges.convert_unchanged_lines
    functionSourceFile: black.ranges
    functionUses: 16
    functionsReached:
    - node.insert_child
    - blib2to3.pytree.Leaf
    - parent.insert_child
    - <builtin>.str
    - black.ranges._convert_nodes_to_standalone_comment
    - visitor.visit
    - black.nodes.furthest_ancestor_with_last_leaf
    - <builtin>.list
    - black.ranges._leaf_line_end
    - black.ranges._convert_node_to_standalone_comment
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.set
    - black.nodes.first_leaf
    - black.ranges._TopLevelStatementsVisitor.__init__
    - <builtin>.range
    - lines_set.update
    - blib2to3.pytree.Node.leaves
    - black.nodes.last_leaf
    - <builtin>.isinstance
    - black.ranges._convert_unchanged_line_by_line
    - nodes_to_ignore.insert
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - mode
    - features
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 114
    functionName: black.linegen.LineGenerator.__init__
    functionSourceFile: black.linegen
    functionUses: 16
    functionsReached:
    - black.linegen.LineGenerator.__post_init__
    - functools.partial
    - <builtin>.set
    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: line_generator.visit
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - current_line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 548
    functionName: black.lines.EmptyLineTracker.maybe_empty_lines
    functionSourceFile: black.lines
    functionUses: 16
    functionsReached:
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - <builtin>.bool
    - first_leaf.prefix.count
    - <builtin>.max
    - <builtin>.min
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - <builtin>.len
    - current_line.is_fmt_pass_converted
    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: dst_blocks.append
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 4
    IfCount: 9
    argCount: 3
    argDefaultValues:
    - <ast.Tuple object at 0x7fcd070e59a0>
    argNames:
    - line
    - mode
    - features
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 694
    functionName: black.linegen.transform_line
    functionSourceFile: black.linegen
    functionUses: 17
    functionsReached:
    - chain.append
    - subscript_start.pre_order
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Leaf
    - ids.add
    - black.linegen.transform_line
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - line.comments_after
    - black.nodes.is_vararg
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - line.contains_implicit_multiline_string_with_comments
    - blib2to3.pytree.Leaf.value.startswith
    - blib2to3.pytree.Leaf.get_lineno
    - <builtin>.enumerate
    - <builtin>.range
    - multiline_string_contexts.append
    - blib2to3.pytree.Leaf.value.lstrip
    - line.contains_unsplittable_type_ignore
    - line_str.split
    - black.trans.handle_is_simple_lookup_forward
    - black.lines.line_to_string
    - line.contains_standalone_comments
    - black.lines.is_line_short_enough
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.trans.hug_power_op.is_simple_operand
    - old_child.remove
    - result.extend
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.type
    - <builtin>.isinstance
    - <builtin>.any
    - <builtin>.next
    - line_str.isascii
    - commas.pop
    - black.lines.Line.has_magic_trailing_comma
    - line.clone
    - parent.insert_child
    - line.contains_multiline_strings
    - new_line.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - black.strings.str_width
    - <builtin>.all
    - transformers.append
    - return_type_leaves.append
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.nodes.is_simple_exponentiation.is_simple
    - black.trans.hug_power_op
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - leaf.clone
    - <builtin>.sum
    - black.trans.StringTransformer.__init__
    - <builtin>.id
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    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: block.content_lines.append
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 526
    functionName: black.lines.LinesBlock.all_lines
    functionSourceFile: black.lines
    functionUses: 16
    functionsReached:
    - <builtin>.str
    - black.nodes.make_simple_prefix
    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: dst_contents.extend
    functionSourceFile: <builtin>
    functionUses: 16
    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: io.BytesIO
    functionSourceFile: io
    functionUses: 17
    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: tokenize.detect_encoding
    functionSourceFile: tokenize
    functionUses: 17
    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: srcbuf.seek
    functionSourceFile: <builtin>
    functionUses: 17
    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: tiow.read
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 40
    ICount: 20
    IfCount: 28
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - future_imports
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1324
    functionName: black.get_features_used
    functionSourceFile: black
    functionUses: 17
    functionsReached:
    - black._contains_asexpr
    - <builtin>.any
    - black.nodes.is_simple_decorator_trailer
    - <builtin>.all
    - <builtin>.set
    - blib2to3.pytree.Node.pre_order
    - black.nodes.is_simple_decorator_expression
    - <builtin>.map
    - features.add
    - <builtin>.len
    - black.nodes.is_number_token
    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: blib2to3.pytree.Node.pre_order
    functionSourceFile: blib2to3
    functionUses: 18
    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: features.add
    functionSourceFile: <builtin>
    functionUses: 18
    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>.any
    functionSourceFile: <builtin>
    functionUses: 106
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - nl
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1047
    functionName: black.nodes.is_number_token
    functionSourceFile: ''
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 745
    functionName: black.nodes.is_simple_decorator_expression
    functionSourceFile: black.nodes
    functionUses: 18
    functionsReached:
    - black.nodes.is_simple_decorator_trailer
    - <builtin>.all
    - <builtin>.len
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1486
    functionName: black._contains_asexpr
    functionSourceFile: black
    functionUses: 18
    functionsReached:
    - black._contains_asexpr
    - <builtin>.any
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - children
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1516
    functionName: black.get_future_imports.get_imports_from_children
    functionSourceFile: black
    functionUses: 17
    functionsReached:
    - <builtin>.isinstance
    - black.get_future_imports.get_imports_from_children
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1562
    functionName: black._black_info
    functionSourceFile: black
    functionUses: 0
    functionsReached:
    - platform.python_implementation
    - platform.python_version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - src
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 137
    functionName: black.parsing.parse_ast
    functionSourceFile: black.parsing
    functionUses: 14
    functionsReached:
    - <builtin>.str
    - warnings.simplefilter
    - black.parsing._parse_single_version
    - <builtin>.range
    - ast.parse
    - warnings.catch_warnings
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised:
    - SyntaxError
    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: traceback.format_tb
    functionSourceFile: traceback
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - output
    - ensure_final_newline
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: black.output.dump_to_file
    functionSourceFile: black.output
    functionUses: 15
    functionsReached:
    - f.write
    - tempfile.NamedTemporaryFile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 169
    functionName: black.parsing.stringify_ast
    functionSourceFile: black.parsing
    functionUses: 14
    functionsReached:
    - black.parsing._unwrap_tuples
    - parent_stack.pop
    - parent_stack.append
    - <builtin>.sorted
    - black.parsing._stringify_ast
    - black.parsing._stringify_ast_with_new_parent
    - <builtin>.isinstance
    - <builtin>.getattr
    - black.parsing._normalize
    - normalized.strip
    - i.strip
    - value.splitlines
    - <builtin>.len
    - value.rstrip
    - lineend.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 1630
    functionName: black.patched_main
    functionSourceFile: black
    functionUses: 2
    functionsReached:
    - _line_pattern.finditer
    - comment.strip
    - ctx.exit
    - loop.close
    - re.match
    - logging.getLogger
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - black.nodes.is_number_token
    - black.output.out
    - black.mode.Mode.get_cache_key
    - black.comments._should_keep_compound_statement_inline
    - src_contents.count
    - nb.get
    - black.nodes.preceding_leaf
    - pathlib.Path
    - <builtin>.bool
    - loop.add_signal_handler
    - warnings.catch_warnings
    - datetime.datetime.now
    - sources.add
    - black.parsing.lib2to3_parse
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - black.handle_ipynb_magics._get_code_start
    - pickle.load
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - pathlib.Path.relative_to
    - tasks.keys
    - task.cancel
    - asyncio.gather
    - <builtin>.range
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - dst_contents.extend
    - child.is_absolute
    - black.concurrency.shutdown
    - blib2to3.pytree.Leaf.value.lstrip
    - node.insert_child
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.comments._get_compound_statement_header
    - black.lines.is_line_short_enough
    - concurrent.futures.ProcessPoolExecutor
    - commas.append
    - black.nodes.first_leaf_of
    - type_part.strip
    - black.output._out
    - root.is_absolute
    - black.trans.hug_power_op.is_simple_operand
    - src_contents.encode
    - tomli.load
    - new_srcs.append
    - colorama.initialise.wrap_stream
    - black.nodes.is_simple_decorator_trailer
    - parts.append
    - black.re_compile_maybe_verbose
    - black.parsing._normalize
    - black.linegen.LineGenerator.__init__
    - sources_to_cache.append
    - src.replace
    - comment_line.split
    - pattern.match_file
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - collections.defaultdict
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - dst.rstrip
    - commas.pop
    - line.clone
    - dataclasses.replace.get_cache_key
    - parent.insert_child
    - black.output._err
    - black.parsing.get_grammars
    - functools.partial
    - result.append
    - line_generator.visit
    - black.ranges._leaf_line_end
    - black.ranges._get_line_range
    - black.concurrency.reformat_many
    - <builtin>.all
    - transformers.append
    - black.ranges._TopLevelStatementsVisitor.__init__
    - black.handle_ipynb_magics.validate_cell
    - lines_str.split
    - features.add
    - hashlib.sha256.hexdigest
    - black.nodes.parent_type
    - replacements.append
    - black.strings.has_triple_quotes
    - black.trans.is_expression_chained
    - ast.NodeVisitor.visit
    - black.files.wrap_stream_for_windows
    - cell.get
    - contextlib.nullcontext
    - black.handle_ipynb_magics.jupyter_dependencies_are_installed
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - child.relative_to
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - dst.splitlines
    - black.output.dump_to_file
    - blib2to3.pytree.Node
    - grammars.append
    - prefix.split
    - header_leaves.append
    - report.failed
    - black.report.Report.path_ignored
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - traceback.format_tb
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Node.splitlines
    - version_str.encode
    - report.path_ignored
    - re.split
    - current_line.is_fmt_pass_converted
    - task.cancelled
    - click.style
    - node_str.endswith
    - cache.write
    - colorama.initialise.wrap_stream.detach
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - black.format_cell
    - black.ranges.is_valid_line_range
    - operator.attrgetter
    - asyncio.wait
    - pathlib.Path.cwd
    - pathlib.Path.is_file
    - multiline_string_contexts.append
    - black.parsing.parse_ast
    - nodes_to_ignore.insert
    - gf.readlines
    - click.echo
    - traceback.print_exc
    - black.parsing.stringify_ast
    - line.contains_unsplittable_type_ignore
    - ctx.get_parameter_source
    - black.lines.line_to_string
    - buf.readline
    - <builtin>.open
    - black.parsing._parse_single_version
    - set.intersection
    - first_leaf.prefix.count
    - pathlib.Path.resolve
    - uvloop.install
    - black.nodes.is_one_sequence_between
    - <builtin>.tuple
    - hashlib.sha256
    - black.brackets.get_leaves_inside_matching_brackets
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - header.decode
    - black.WriteBack.from_configuration
    - black.comments._find_compound_statement_context
    - cf_logger.setLevel
    - original_prefix.split
    - asyncio.set_event_loop
    - child.is_dir
    - pathlib.Path.home
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - include.search
    - contents.split
    - black.comments._handle_regular_fmt_block
    - black.ranges._calculate_lines_mappings
    - pathlib.Path.iterdir
    - new_line.append
    - matcher.get_matching_blocks
    - lines_mappings.append
    - black._contains_asexpr
    - black.strings.str_width
    - node.remove
    - content.startswith
    - child.leaves
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - black.main
    - lines_set.update
    - multiprocessing.freeze_support
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - traceback.print_exception
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - black.files._cached_resolve
    - transformed.strip
    - black.report.Report.done
    - black.nodes.container_of
    - difflib.SequenceMatcher
    - black.reformat_code
    - bracket_stack.append
    - report.done
    - <builtin>.map
    - resolved_path.relative_to
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - blib2to3.pytree.Leaf.value.strip
    - black.ranges._convert_nodes_to_standalone_comment
    - match.group
    - black.files.path_is_excluded
    - black.output.diff
    - black.comments._is_valid_standalone_fmt_comment
    - lineend.join
    - importlib.util.find_spec
    - black.ranges.parse_line_ranges
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - line.split
    - black.files.best_effort_relative_path
    - black.nodes.is_fstring
    - black.get_future_imports
    - json.dumps
    - black.cache.get_cache_file
    - black.format_file_contents
    - normalized.strip
    - chain.append
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - black.files.gen_python_files
    - <builtin>.sorted
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - re.finditer
    - i.strip
    - black.handle_ipynb_magics.replace_magics
    - line.startswith
    - src.strip
    - black.nodes.is_type_comment_string
    - normalized_contents.lstrip
    - dst_blocks.append
    - black.comments.children_contains_fmt_on
    - line.comments_after
    - black.nodes.furthest_ancestor_with_last_leaf
    - drv.parse_string
    - datetime.datetime.fromtimestamp
    - black.output.color_diff
    - srcbuf.seek
    - black.files._load_toml
    - line.contains_implicit_multiline_string_with_comments
    - black.reformat_one
    - <builtin>.enumerate
    - black.format_stdin_to_stdout
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - lines.append
    - black.report.Report.failed
    - diff_lines.append
    - line.contains_standalone_comments
    - content.split
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - difflib.unified_diff
    - <builtin>.hasattr
    - cache.filtered_cached
    - black.trans.handle_is_simple_look_up_prev
    - re.compile
    - gitignore_dict.items
    - pathlib.Path.expanduser
    - black.files.resolves_outside_root_or_cannot_stat
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - ast.parse
    - IPython.core.inputtransformer2.TransformerManager
    - pyproject_toml.get
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.linegen._hugging_power_ops_line_to_string
    - concurrent.futures.ThreadPoolExecutor.shutdown
    - concurrent.futures.ProcessPoolExecutor.shutdown
    - seen_nodes.add
    - black.format_ipynb_string
    - black.files._path_is_ignored
    - black.comments.list_comments
    - black.get_sources
    - secrets.token_hex
    - black.linegen.LineGenerator.__post_init__
    - sources.update
    - black._format_str_once
    - json.loads
    - line.contains_multiline_strings
    - black.output.ipynb_diff
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - features_and_magics.encode
    - _black_version.version.split
    - black.handle_ipynb_magics.create_token
    - tokenize_rt.src_to_tokens
    - black.detect_target_versions
    - node.leaves
    - body_node.leaves
    - multiprocessing.Manager.shutdown
    - current_node.prev_sibling.leaves
    - match.groups
    - path.is_dir
    - black.nodes.last_leaf
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.format_file_in_place
    - sys.stdin.buffer.read
    - <builtin>.getattr
    - black.lines.LinesBlock.all_lines
    - black.trans.hug_power_op
    - token._replace
    - multiprocessing.Manager
    - colorama.initialise.wrap_stream.write
    - pathlib.Path.absolute
    - black.files.get_gitignore
    - asyncio.all_tasks
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.linegen.run_transformer
    - <builtin>.str
    - tomllib.load
    - leaf.clone
    - result.pop
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - sources.pop
    - task.exception
    - cache.is_changed
    - black.output._splitlines_no_ff
    - io.TextIOWrapper
    - black.lines.Line.contains_standalone_comments
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.nodes.is_type_comment
    - <builtin>.len
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - good_lines.append
    - value.rstrip
    - child.iterdir
    - subscript_start.pre_order
    - parent_stack.append
    - pathlib.Path.exists
    - black.parsing._stringify_ast
    - black.output.err
    - ids.add
    - os.environ.get
    - black.linegen.transform_line
    - loop.run_in_executor
    - black.lines.Line.is_complex_subscript
    - typing.NamedTuple.__init__
    - io.BytesIO
    - black.nodes.is_vararg
    - result.endswith
    - black.files.find_user_pyproject_toml
    - ignored_nodes.insert
    - cancelled.append
    - src.split
    - blib2to3.pytree.Leaf.value.startswith
    - pathspec.GitIgnoreSpec.from_lines
    - black.cache.Cache.read
    - blib2to3.pytree.Node.leaves
    - black.validate_metadata
    - tempfile.NamedTemporaryFile
    - black.files.find_project_root
    - pathlib.Path.stat
    - line_str.split
    - pathlib.Path.open
    - <builtin>.int
    - black.check_stability_and_equivalence
    - line.endswith
    - os.cpu_count
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - sys.stdin.read
    - <builtin>.list
    - black.lines.Line.append
    - header_leaves.extend
    - fmt_off_prefix.split
    - black.ranges.sanitized_lines
    - modified_source.splitlines
    - ctx.ensure_object
    - result.extend
    - <builtin>.type
    - ctx.default_map.items
    - blib2to3.pytree.Node.endswith
    - black.concurrency.schedule_formatting
    - path.relative_to
    - <builtin>.any
    - black.handle_ipynb_magics.get_token
    - black.assert_stable
    - black.mode.supports_feature
    - value_part.strip
    - black.get_features_used
    - sys.stdout.write
    - block.content_lines.append
    - dataclasses.replace
    - loop.run_until_complete
    - black.format_str
    - black.nodes.whitespace
    - black.comments.generate_ignored_nodes
    - f.write
    - child.is_file
    - task.result
    - return_type_leaves.append
    - value.splitlines
    - black.parsing._unwrap_tuples
    - warnings.simplefilter
    - black.handle_ipynb_magics.mask_cell
    - black.assert_equivalent
    - tokenize_rt.reversed_enumerate
    - black.nodes.is_multiline_string
    - black.nodes.make_simple_prefix
    - asyncio.new_event_loop
    - concurrent.futures.ThreadPoolExecutor
    - new_lines.append
    - pattern.search
    - tokenize.detect_encoding
    - data.items
    - black.lines.append_leaves
    - multiprocessing.Manager.Lock
    - task.done
    - black.concurrency.maybe_install_uvloop
    - black.ranges.convert_unchanged_lines
    - buf.read
    - <builtin>.sum
    - <builtin>.id
    - asyncio.ensure_future
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.get_future_imports.get_imports_from_children
    - tasks.pop
    - pathlib.Path.is_dir
    - blib2to3.pgen2.driver.Driver
    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>.getattr
    functionSourceFile: <builtin>
    functionUses: 20
    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: multiprocessing.freeze_support
    functionSourceFile: multiprocessing
    functionUses: 3
    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: 2
    functionLinenumber: -1
    functionName: black.cache
    functionSourceFile: black.cache
    functionUses: 0
    functionsReached:
    - black.cache.get_cache_dir
    - pathlib.Path
    - os.environ.get
    - platformdirs.user_cache_dir
    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: 31
    functionName: black.cache.get_cache_dir
    functionSourceFile: black.cache
    functionUses: 1
    functionsReached:
    - pathlib.Path
    - os.environ.get
    - platformdirs.user_cache_dir
    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: platformdirs.user_cache_dir
    functionSourceFile: platformdirs
    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: os.environ.get
    functionSourceFile: os
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - mode
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: black.cache.get_cache_file
    functionSourceFile: black.cache
    functionUses: 8
    functionsReached:
    - <builtin>.str
    - version_str.encode
    - features_and_magics.encode
    - <builtin>.int
    - hashlib.sha256
    - <builtin>.sorted
    - dataclasses.replace.get_cache_key
    - hashlib.sha256.hexdigest
    - <builtin>.len
    - black.mode.Mode.get_cache_key
    - operator.attrgetter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 277
    functionName: black.mode.Mode.get_cache_key
    functionSourceFile: black.mode
    functionUses: 9
    functionsReached:
    - <builtin>.str
    - version_str.encode
    - features_and_magics.encode
    - <builtin>.int
    - hashlib.sha256
    - <builtin>.sorted
    - hashlib.sha256.hexdigest
    - <builtin>.len
    - operator.attrgetter
    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: dataclasses.replace.get_cache_key
    functionSourceFile: dataclasses
    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: 0
    functionLinenumber: -1
    functionName: dataclasses.field
    functionSourceFile: dataclasses
    functionUses: 7
    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: black.cache.Cache
    functionSourceFile: black.cache
    functionUses: 0
    functionsReached:
    - dataclasses.field
    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: pathlib.Path.exists
    functionSourceFile: pathlib
    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: pathlib.Path.open
    functionSourceFile: pathlib
    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: pickle.load
    functionSourceFile: pickle
    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: typing.NamedTuple.__init__
    functionSourceFile: ''
    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: data.items
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: black.cache.Cache.hash_digest
    functionSourceFile: black.cache
    functionUses: 4
    functionsReached:
    - path.read_bytes
    - hashlib.sha256
    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.read_bytes
    functionSourceFile: <builtin>
    functionUses: 5
    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: hashlib.sha256
    functionSourceFile: hashlib
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 95
    functionName: black.cache.Cache.get_file_data
    functionSourceFile: black.cache
    functionUses: 1
    functionsReached:
    - black.cache.Cache.hash_digest
    - path.read_bytes
    - typing.NamedTuple.__init__
    - hashlib.sha256
    - path.stat
    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.stat
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - source
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 102
    functionName: black.cache.Cache.is_changed
    functionSourceFile: black.cache
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - path.read_bytes
    - black.cache.Cache.hash_digest
    - res_src.stat
    - hashlib.sha256
    - source.resolve
    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: source.resolve
    functionSourceFile: <builtin>
    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: res_src.stat
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - sources
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 118
    functionName: black.cache.Cache.filtered_cached
    functionSourceFile: black.cache
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - done.add
    - black.cache.Cache.hash_digest
    - path.read_bytes
    - changed.add
    - res_src.stat
    - hashlib.sha256
    - <builtin>.set
    - black.cache.Cache.is_changed
    - source.resolve
    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: changed.add
    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: done.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - sources
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 133
    functionName: black.cache.Cache.write
    functionSourceFile: black.cache
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - black.cache.Cache.hash_digest
    - path.read_bytes
    - os.replace
    - typing.NamedTuple.__init__
    - hashlib.sha256
    - pickle.dump
    - tempfile.NamedTemporaryFile
    - black.cache.Cache.get_file_data
    - pathlib.Path.mkdir
    - src.resolve
    - path.stat
    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: src.resolve
    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: pathlib.Path.mkdir
    functionSourceFile: pathlib
    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: tempfile.NamedTemporaryFile
    functionSourceFile: tempfile
    functionUses: 17
    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: pickle.dump
    functionSourceFile: pickle
    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: os.replace
    functionSourceFile: os
    functionUses: 1
    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: black.output
    functionSourceFile: black.output
    functionUses: 0
    functionsReached:
    - mypy_extensions.mypyc_attr
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcd0736e3d0>
    - <ast.Constant object at 0x7fcd0736e130>
    argNames:
    - message
    - nl
    - styles
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: black.output._out
    functionSourceFile: black.output
    functionUses: 15
    functionsReached:
    - click.echo
    - click.style
    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: click.style
    functionSourceFile: click
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcd07de03d0>
    - <ast.Constant object at 0x7fcd07de06d0>
    argNames:
    - message
    - nl
    - styles
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: black.output._err
    functionSourceFile: black.output
    functionUses: 17
    functionsReached:
    - click.echo
    - click.style
    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: 104
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - source
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: black.output._splitlines_no_ff
    functionSourceFile: black.output
    functionUses: 17
    functionsReached:
    - result.pop
    - _line_pattern.finditer
    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: _line_pattern.finditer
    functionSourceFile: <builtin>
    functionUses: 18
    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: result.pop
    functionSourceFile: <builtin>
    functionUses: 18
    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: difflib.unified_diff
    functionSourceFile: difflib
    functionUses: 17
    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: diff_lines.append
    functionSourceFile: <builtin>
    functionUses: 17
    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: contents.split
    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: 0
    functionLinenumber: -1
    functionName: line.startswith
    functionSourceFile: <builtin>
    functionUses: 53
    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: f.write
    functionSourceFile: <builtin>
    functionUses: 16
    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: black.mode
    functionSourceFile: black.mode
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: black.mode.TargetVersion.pretty
    functionSourceFile: black.mode
    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: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 79
    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: enum.auto
    functionSourceFile: enum
    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: 1
    functionLinenumber: -1
    functionName: black.mode.Preview
    functionSourceFile: black.mode
    functionUses: 0
    functionsReached:
    - enum.auto
    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: black.mode.Mode
    functionSourceFile: black.mode
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - feature
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 263
    functionName: black.mode.Mode.__contains__
    functionSourceFile: black.mode
    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: operator.attrgetter
    functionSourceFile: operator
    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: version_str.encode
    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: hashlib.sha256.hexdigest
    functionSourceFile: hashlib
    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: features_and_magics.encode
    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: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 312
    functionName: black.mode.Mode.__hash__
    functionSourceFile: black.mode
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    - <builtin>.hash
    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>.frozenset
    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>.hash
    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: black.const
    functionSourceFile: black.const
    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: black.handle_ipynb_magics
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    - functools.lru_cache
    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: functools.lru_cache
    functionSourceFile: functools
    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: importlib.util.find_spec
    functionSourceFile: importlib
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - src
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 314
    functionName: black.handle_ipynb_magics._get_code_start
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 13
    functionsReached:
    - re.finditer
    - line.startswith
    - match.group
    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: line.split
    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: tokenize_rt.src_to_tokens
    functionSourceFile: tokenize_rt
    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: tokenize_rt.reversed_enumerate
    functionSourceFile: tokenize_rt
    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: tokenize_rt.tokens_to_src
    functionSourceFile: tokenize_rt
    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: token._replace
    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: ast.parse
    functionSourceFile: ast
    functionUses: 19
    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: IPython.core.inputtransformer2.TransformerManager
    functionSourceFile: IPython
    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: IPython.core.inputtransformer2.TransformerManager.transform_cell
    functionSourceFile: IPython
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - src
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 224
    functionName: black.handle_ipynb_magics.replace_cell_magics
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 13
    functionsReached:
    - secrets.token_hex
    - ast.NodeVisitor.visit
    - black.handle_ipynb_magics.get_token
    - ast.parse
    - <builtin>.max
    - replacements.append
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.handle_ipynb_magics.create_token
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - src
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 255
    functionName: black.handle_ipynb_magics.replace_magics
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 13
    functionsReached:
    - secrets.token_hex
    - new_srcs.append
    - ast.NodeVisitor.visit
    - black.handle_ipynb_magics.get_token
    - ast.parse
    - <builtin>.max
    - src.split
    - replacements.append
    - black.handle_ipynb_magics.create_token
    - black.handle_ipynb_magics.MagicFinder.__init__
    - collections.defaultdict
    - <builtin>.len
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised:
    - AssertionError
    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: transformed.strip
    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: src.strip
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - n_chars
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 188
    functionName: black.handle_ipynb_magics.create_token
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 16
    functionsReached:
    - secrets.token_hex
    - <builtin>.len
    - <builtin>.max
    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>.max
    functionSourceFile: <builtin>
    functionUses: 64
    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: secrets.token_hex
    functionSourceFile: secrets
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - magic
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 200
    functionName: black.handle_ipynb_magics.get_token
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 15
    functionsReached:
    - secrets.token_hex
    - <builtin>.len
    - black.handle_ipynb_magics.create_token
    - <builtin>.max
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcd07e196d0>
    argNames:
    - self
    - cell_magic
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 385
    functionName: black.handle_ipynb_magics.CellMagicFinder.__init__
    functionSourceFile: ''
    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: ast.NodeVisitor.visit
    functionSourceFile: ast
    functionUses: 15
    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: replacements.append
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 427
    functionName: black.handle_ipynb_magics.MagicFinder.__init__
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 14
    functionsReached:
    - collections.defaultdict
    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: src.split
    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: new_srcs.append
    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: src.replace
    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: re.finditer
    functionSourceFile: re
    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: match.group
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 329
    functionName: black.handle_ipynb_magics._is_ipython_magic
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 344
    functionName: black.handle_ipynb_magics._get_str_args
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 3
    functionsReached:
    - str_args.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: str_args.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 359
    functionName: black.handle_ipynb_magics.CellMagic.header
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 388
    functionName: black.handle_ipynb_magics.CellMagicFinder.visit_Expr
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - ast.NodeVisitor.generic_visit
    - str_args.append
    - black.handle_ipynb_magics._get_str_args
    - black.handle_ipynb_magics._is_ipython_magic
    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: ast.NodeVisitor.generic_visit
    functionSourceFile: ast
    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: collections.defaultdict
    functionSourceFile: collections
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 430
    functionName: black.handle_ipynb_magics.MagicFinder.visit_Assign
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - ast.NodeVisitor.generic_visit
    - str_args.append
    - black.handle_ipynb_magics._get_str_args
    - black.handle_ipynb_magics._is_ipython_magic
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 463
    functionName: black.handle_ipynb_magics.MagicFinder.visit_Expr
    functionSourceFile: black.handle_ipynb_magics
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - ast.NodeVisitor.generic_visit
    - str_args.append
    - black.handle_ipynb_magics._get_str_args
    - black.handle_ipynb_magics._is_ipython_magic
    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: black.report
    functionSourceFile: black.report
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: black.report.Report.return_code
    functionSourceFile: black.report
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: black.report.Report.__str__
    functionSourceFile: black.report
    functionUses: 0
    functionsReached:
    - report.append
    - click.style
    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: report.append
    functionSourceFile: <builtin>
    functionUses: 1
    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: 2
    functionLinenumber: -1
    functionName: black.linegen
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - functools.wraps
    - black.linegen.dont_increase_indentation
    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: 650
    functionName: black.linegen.LineGenerator.__post_init__
    functionSourceFile: black.linegen
    functionUses: 17
    functionsReached:
    - <builtin>.set
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcd074690d0>
    argNames:
    - self
    - indent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 120
    functionName: black.linegen.LineGenerator.line
    functionSourceFile: black.linegen
    functionUses: 28
    functionsReached:
    - <builtin>.bool
    - <builtin>.len
    - black.nodes.is_async_stmt_or_funcdef
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 947
    functionName: black.nodes.is_async_stmt_or_funcdef
    functionSourceFile: black.nodes
    functionUses: 29
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 145
    functionName: black.linegen.LineGenerator.visit_default
    functionSourceFile: black.linegen
    functionUses: 21
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - remainder.count
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.nodes.preceding_leaf
    - black.linegen.LineGenerator.line
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.comments.list_comments
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - leaf
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 59
    functionName: black.comments.generate_comments
    functionSourceFile: black.comments
    functionUses: 22
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - re.match
    - content.split
    - blib2to3.pytree.Leaf
    - black.comments.contains_fmt_directive
    - remainder.count
    - value_part.strip
    - line.startswith
    - black.nodes.is_type_comment_string
    - type_part.strip
    - line.endswith
    - result.append
    - re.split
    - comment_line.strip
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - match.groups
    - remainder.endswith
    - black.comments.list_comments
    - black.nodes.make_simple_prefix
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcd080db730>
    - <ast.Constant object at 0x7fcd080db7c0>
    argNames:
    - self
    - leaf
    - preformatted
    - track_bracket
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 53
    functionName: black.lines.Line.append
    functionSourceFile: black.lines
    functionUses: 64
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.child_towards
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    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: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 171
    functionName: black.linegen.LineGenerator.visit_test
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - node.insert_child
    - <builtin>.any
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - remainder.count
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.linegen.LineGenerator.line
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.whitespace
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_sequence_between
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - node.append_child
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_comment
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.nodes.is_simple_exponentiation.is_simple
    - black.comments.list_comments
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    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: blib2to3.pytree.Leaf
    functionSourceFile: blib2to3
    functionUses: 90
    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.insert_child
    functionSourceFile: <builtin>
    functionUses: 29
    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.append_child
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 190
    functionName: black.linegen.LineGenerator.visit_INDENT
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - remainder.count
    - value_part.strip
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.nodes.preceding_leaf
    - black.linegen.LineGenerator.line
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.is_one_sequence_between
    - black.nodes.whitespace
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_comment
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.comments.list_comments
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 196
    functionName: black.linegen.LineGenerator.visit_DEDENT
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - remainder.count
    - value_part.strip
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.nodes.preceding_leaf
    - black.linegen.LineGenerator.line
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.is_one_sequence_between
    - black.nodes.whitespace
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_comment
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.comments.list_comments
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - keywords
    - parens
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 210
    functionName: black.linegen.LineGenerator.visit_stmt
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.linegen._is_atom_multiline
    - black.brackets.is_split_after_delimiter
    - comment.strip
    - black.linegen._normalize_import_from
    - black.comments.make_comment
    - re.match
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - blib2to3.pytree.Leaf
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - line.startswith
    - black.nodes.is_tuple_containing_walrus
    - black.nodes.is_type_comment_string
    - black.nodes.is_walrus_assignment
    - <builtin>.bool
    - black.nodes.is_vararg
    - re.split
    - black.nodes.fstring_tstring_to_string
    - content.lstrip
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.enumerate
    - <builtin>.range
    - c.leaves
    - blib2to3.pytree.Leaf.value.lstrip
    - middle.replace
    - black.linegen._maybe_wrap_cms_in_parens
    - node.insert_child
    - black.nodes.is_tuple
    - black.linegen.normalize_invisible_parens
    - content.split
    - middle.prefix.strip
    - child.remove
    - type_part.strip
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - line.endswith
    - <builtin>.list
    - black.nodes.is_one_tuple
    - black.nodes.wrap_in_parentheses
    - black.brackets.max_delimiter_priority_in_atom
    - parent.append_child
    - black.brackets.BracketTracker.mark
    - comment_line.split
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.comments.list_comments
    - black.linegen.remove_with_parens
    - black.nodes.is_type_ignore_comment_string
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - middle.pre_order
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.is_split_before_delimiter
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.linegen._atom_has_magic_trailing_comma
    - black.linegen.LineGenerator.line
    - black.nodes.is_atom_with_invisible_parens
    - result.append
    - comment_line.strip
    - black.nodes.is_generator
    - content.startswith
    - node.leaves
    - match.groups
    - black.nodes.is_multiline_string
    - black.nodes.is_empty_tuple
    - black.strings.has_triple_quotes
    - black.comments.contains_fmt_directive
    - <builtin>.str
    - black.nodes.is_rpar_token
    - black.nodes.is_name_token
    - <builtin>.id
    - value.split
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - black.nodes.is_fstring
    - blib2to3.pytree.Node
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_yield
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 28
    ICount: 12
    IfCount: 19
    argCount: 4
    argDefaultValues: []
    argNames:
    - node
    - parens_after
    - mode
    - features
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1476
    functionName: black.linegen.normalize_invisible_parens
    functionSourceFile: black.linegen
    functionUses: 4
    functionsReached:
    - black.linegen._is_atom_multiline
    - black.brackets.is_split_after_delimiter
    - comment.strip
    - black.linegen._normalize_import_from
    - black.comments.make_comment
    - re.match
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - blib2to3.pytree.Leaf
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - line.startswith
    - black.nodes.is_tuple_containing_walrus
    - black.nodes.is_type_comment_string
    - black.nodes.is_walrus_assignment
    - black.nodes.is_vararg
    - re.split
    - black.nodes.fstring_tstring_to_string
    - content.lstrip
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.enumerate
    - <builtin>.range
    - c.leaves
    - blib2to3.pytree.Leaf.value.lstrip
    - middle.replace
    - black.linegen._maybe_wrap_cms_in_parens
    - node.insert_child
    - black.nodes.is_tuple
    - black.linegen.normalize_invisible_parens
    - content.split
    - middle.prefix.strip
    - child.remove
    - type_part.strip
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - line.endswith
    - <builtin>.list
    - black.nodes.is_one_tuple
    - black.nodes.wrap_in_parentheses
    - black.brackets.max_delimiter_priority_in_atom
    - parent.append_child
    - black.brackets.BracketTracker.mark
    - comment_line.split
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.comments.list_comments
    - black.linegen.remove_with_parens
    - black.nodes.is_type_ignore_comment_string
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - middle.pre_order
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.is_split_before_delimiter
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - value_part.strip
    - black.linegen._atom_has_magic_trailing_comma
    - black.nodes.is_atom_with_invisible_parens
    - result.append
    - comment_line.strip
    - black.nodes.is_generator
    - content.startswith
    - node.leaves
    - match.groups
    - black.nodes.is_multiline_string
    - black.nodes.is_empty_tuple
    - black.strings.has_triple_quotes
    - black.comments.contains_fmt_directive
    - <builtin>.str
    - black.nodes.is_rpar_token
    - black.nodes.is_name_token
    - <builtin>.id
    - value.split
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - black.nodes.is_fstring
    - blib2to3.pytree.Node
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_yield
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - nl
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1035
    functionName: black.nodes.is_name_token
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 233
    functionName: black.linegen.LineGenerator.visit_typeparams
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - remainder.count
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.nodes.preceding_leaf
    - black.linegen.LineGenerator.line
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.comments.list_comments
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 237
    functionName: black.linegen.LineGenerator.visit_typevartuple
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - remainder.count
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.nodes.preceding_leaf
    - black.linegen.LineGenerator.line
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.comments.list_comments
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 241
    functionName: black.linegen.LineGenerator.visit_paramspec
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - remainder.count
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.nodes.preceding_leaf
    - black.linegen.LineGenerator.line
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.comments.list_comments
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 245
    functionName: black.linegen.LineGenerator.visit_dictsetmaker
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.brackets.is_split_after_delimiter
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - re.match
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - blib2to3.pytree.Leaf
    - remainder.count
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - line.startswith
    - black.nodes.is_tuple_containing_walrus
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.nodes.is_walrus_assignment
    - <builtin>.bool
    - black.nodes.is_vararg
    - re.split
    - black.lines.Line.append_comment
    - <builtin>.super
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.generate_comments
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - remainder.endswith
    - c.leaves
    - middle.replace
    - black.nodes.is_tuple
    - content.split
    - middle.prefix.strip
    - child.remove
    - type_part.strip
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - line.endswith
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_tuple
    - black.nodes.wrap_in_parentheses
    - black.brackets.max_delimiter_priority_in_atom
    - black.brackets.BracketTracker.mark
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.comments.list_comments
    - black.nodes.is_type_ignore_comment_string
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.is_split_before_delimiter
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.linegen.LineGenerator.line
    - black.nodes.is_atom_with_invisible_parens
    - result.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.nodes.is_generator
    - <builtin>.all
    - content.startswith
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - black.nodes.is_empty_tuple
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_rpar_token
    - black.nodes.is_name_token
    - <builtin>.id
    - value.split
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - blib2to3.pytree.Node
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_yield
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 713
    functionName: black.nodes.is_walrus_assignment
    functionSourceFile: black.nodes
    functionUses: 13
    functionsReached:
    - <builtin>.len
    - black.nodes.unwrap_singleton_parenthesis
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 3
    IfCount: 8
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fcd06e8a7f0>
    - <ast.Constant object at 0x7fcd06e8a820>
    argNames:
    - node
    - parent
    - mode
    - features
    - remove_brackets_around_comma
    - allow_star_expr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1778
    functionName: black.linegen.maybe_make_parens_invisible_in_atom
    functionSourceFile: black.linegen
    functionUses: 12
    functionsReached:
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - black.nodes.is_empty_tuple
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.is_tuple
    - black.brackets.is_split_after_delimiter
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - black.brackets.is_split_before_delimiter
    - black.nodes.has_sibling_with_type
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - middle.prefix.strip
    - black.nodes.is_tuple_containing_walrus
    - black.nodes.is_rpar_token
    - black.nodes.is_type_comment_string
    - black.nodes.is_walrus_assignment
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - black.nodes.is_atom_with_invisible_parens
    - black.nodes.is_vararg
    - black.nodes.is_name_token
    - <builtin>.id
    - black.nodes.is_one_tuple
    - black.nodes.is_generator
    - value.split
    - blib2to3.pytree.Leaf.value.startswith
    - black.brackets.max_delimiter_priority_in_atom
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - black.brackets.BracketTracker.mark
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.nodes.is_yield
    - c.leaves
    - black.nodes.is_type_ignore_comment_string
    - middle.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - parent
    - child
    - visible
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 991
    functionName: black.nodes.wrap_in_parentheses
    functionSourceFile: black.nodes
    functionUses: 12
    functionsReached:
    - child.remove
    - parent.insert_child
    - blib2to3.pytree.Leaf
    - blib2to3.pytree.Node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 267
    functionName: black.linegen.LineGenerator.visit_funcdef
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - black.nodes.is_empty_tuple
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.is_tuple
    - black.brackets.is_split_after_delimiter
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - black.brackets.is_split_before_delimiter
    - blib2to3.pytree.Leaf
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - middle.prefix.strip
    - black.nodes.is_tuple_containing_walrus
    - black.nodes.is_async_stmt_or_funcdef
    - black.nodes.is_rpar_token
    - black.nodes.is_type_comment_string
    - child.remove
    - black.linegen.LineGenerator.line
    - black.nodes.is_walrus_assignment
    - <builtin>.bool
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - black.nodes.is_atom_with_invisible_parens
    - black.nodes.is_vararg
    - black.nodes.is_name_token
    - <builtin>.id
    - black.nodes.is_one_tuple
    - black.nodes.is_generator
    - black.nodes.wrap_in_parentheses
    - value.split
    - blib2to3.pytree.Leaf.value.startswith
    - black.brackets.max_delimiter_priority_in_atom
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - blib2to3.pytree.Node
    - black.brackets.BracketTracker.mark
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.nodes.is_yield
    - c.leaves
    - black.nodes.is_type_ignore_comment_string
    - middle.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 293
    functionName: black.linegen.LineGenerator.visit_match_case
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.linegen._is_atom_multiline
    - black.brackets.is_split_after_delimiter
    - comment.strip
    - black.linegen._normalize_import_from
    - black.comments.make_comment
    - re.match
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - blib2to3.pytree.Leaf
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - line.startswith
    - black.nodes.is_tuple_containing_walrus
    - black.nodes.is_type_comment_string
    - black.nodes.is_walrus_assignment
    - <builtin>.bool
    - black.nodes.is_vararg
    - re.split
    - black.nodes.fstring_tstring_to_string
    - content.lstrip
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.enumerate
    - <builtin>.range
    - c.leaves
    - blib2to3.pytree.Leaf.value.lstrip
    - middle.replace
    - black.linegen._maybe_wrap_cms_in_parens
    - node.insert_child
    - black.nodes.is_tuple
    - black.linegen.normalize_invisible_parens
    - content.split
    - middle.prefix.strip
    - child.remove
    - type_part.strip
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - line.endswith
    - <builtin>.list
    - black.nodes.is_one_tuple
    - black.nodes.wrap_in_parentheses
    - black.brackets.max_delimiter_priority_in_atom
    - parent.append_child
    - black.brackets.BracketTracker.mark
    - comment_line.split
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.comments.list_comments
    - black.linegen.remove_with_parens
    - black.nodes.is_type_ignore_comment_string
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - middle.pre_order
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.is_split_before_delimiter
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.linegen._atom_has_magic_trailing_comma
    - black.linegen.LineGenerator.line
    - black.nodes.is_atom_with_invisible_parens
    - result.append
    - comment_line.strip
    - black.nodes.is_generator
    - content.startswith
    - node.leaves
    - match.groups
    - black.nodes.is_multiline_string
    - black.nodes.is_empty_tuple
    - black.strings.has_triple_quotes
    - black.comments.contains_fmt_directive
    - <builtin>.str
    - black.nodes.is_rpar_token
    - black.nodes.is_name_token
    - <builtin>.id
    - value.split
    - <builtin>.set
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - black.nodes.is_fstring
    - blib2to3.pytree.Node
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_yield
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 303
    functionName: black.linegen.LineGenerator.visit_suite
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - node.prefix.strip
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - remainder.count
    - black.comments.contains_fmt_directive
    - value_part.strip
    - black.nodes.is_parent_function_or_class
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.linegen.LineGenerator.line
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - black.nodes.is_stub_body
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - black.nodes.is_stub_suite
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_comment
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.nodes.is_simple_exponentiation.is_simple
    - black.comments.list_comments
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - child.prefix.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 849
    functionName: black.nodes.is_stub_suite
    functionSourceFile: black.nodes
    functionUses: 2
    functionsReached:
    - black.nodes.is_parent_function_or_class
    - node.prefix.strip
    - <builtin>.all
    - black.nodes.is_stub_body
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf
    - <builtin>.len
    - child.prefix.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 9
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 310
    functionName: black.linegen.LineGenerator.visit_simple_stmt
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - node.prefix.strip
    - comment.strip
    - black.comments.make_comment
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - parent.insert_child
    - black.comments.contains_fmt_directive
    - remainder.count
    - value_part.strip
    - black.nodes.is_parent_function_or_class
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - child.remove
    - black.linegen.LineGenerator.line
    - type_part.strip
    - black.nodes.preceding_leaf
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - black.nodes.is_stub_body
    - black.nodes.is_arith_like
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.is_one_sequence_between
    - black.nodes.whitespace
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - black.nodes.is_stub_suite
    - <builtin>.all
    - black.nodes.wrap_in_parentheses
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_comment
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Node
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.comments.list_comments
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - child.prefix.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 545
    functionName: black.nodes.is_arith_like
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 838
    functionName: black.nodes.is_parent_function_or_class
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 872
    functionName: black.nodes.is_stub_body
    functionSourceFile: black.nodes
    functionUses: 3
    functionsReached:
    - <builtin>.all
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf
    - <builtin>.len
    - child.prefix.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 334
    functionName: black.linegen.LineGenerator.visit_async_stmt
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - black.nodes.is_async_stmt_or_funcdef
    - black.linegen.LineGenerator.line
    - <builtin>.bool
    - <builtin>.iter
    - <builtin>.len
    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>.iter
    functionSourceFile: <builtin>
    functionUses: 27
    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: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 350
    functionName: black.linegen.LineGenerator.visit_decorators
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.linegen.LineGenerator.line
    - <builtin>.bool
    - <builtin>.len
    - black.nodes.is_async_stmt_or_funcdef
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 356
    functionName: black.linegen.LineGenerator.visit_power
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.brackets.is_split_after_delimiter
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - re.match
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - blib2to3.pytree.Leaf
    - remainder.count
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - line.startswith
    - black.nodes.is_tuple_containing_walrus
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.nodes.is_walrus_assignment
    - <builtin>.bool
    - black.nodes.is_vararg
    - leaf.value.lower
    - re.split
    - black.lines.Line.append_comment
    - <builtin>.super
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.generate_comments
    - <builtin>.enumerate
    - black.nodes.ensure_visible
    - black.comments.normalize_trailing_prefix
    - remainder.endswith
    - c.leaves
    - middle.replace
    - black.nodes.is_tuple
    - content.split
    - middle.prefix.strip
    - child.remove
    - type_part.strip
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - line.endswith
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_tuple
    - black.nodes.wrap_in_parentheses
    - black.brackets.max_delimiter_priority_in_atom
    - black.brackets.BracketTracker.mark
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.comments.list_comments
    - typing.cast
    - black.nodes.is_type_ignore_comment_string
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.is_split_before_delimiter
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.linegen.LineGenerator.line
    - value.startswith
    - black.nodes.is_atom_with_invisible_parens
    - result.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.nodes.is_generator
    - <builtin>.all
    - content.startswith
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - black.nodes.is_empty_tuple
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_rpar_token
    - black.nodes.is_name_token
    - black.linegen.remove_await_parens
    - <builtin>.id
    - value.split
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - blib2to3.pytree.Node
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_yield
    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: leaf.value.lower
    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: value.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - node
    - mode
    - features
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1624
    functionName: black.linegen.remove_await_parens
    functionSourceFile: black.linegen
    functionUses: 1
    functionsReached:
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - black.nodes.is_tuple
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.is_empty_tuple
    - black.brackets.is_split_after_delimiter
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - black.brackets.is_split_before_delimiter
    - blib2to3.pytree.Leaf
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - middle.prefix.strip
    - black.nodes.is_tuple_containing_walrus
    - black.nodes.is_rpar_token
    - black.nodes.is_type_comment_string
    - child.remove
    - black.nodes.is_walrus_assignment
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - black.nodes.is_atom_with_invisible_parens
    - black.nodes.is_vararg
    - black.nodes.is_name_token
    - <builtin>.id
    - black.nodes.is_one_tuple
    - black.nodes.is_generator
    - black.nodes.wrap_in_parentheses
    - value.split
    - blib2to3.pytree.Leaf.value.startswith
    - black.brackets.max_delimiter_priority_in_atom
    - <builtin>.len
    - black.nodes.ensure_visible
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - blib2to3.pytree.Node
    - black.brackets.BracketTracker.mark
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - typing.cast
    - black.nodes.is_yield
    - c.leaves
    - black.nodes.is_type_ignore_comment_string
    - middle.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 380
    functionName: black.linegen.LineGenerator.visit_SEMI
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.linegen.LineGenerator.line
    - <builtin>.bool
    - <builtin>.len
    - black.nodes.is_async_stmt_or_funcdef
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 384
    functionName: black.linegen.LineGenerator.visit_ENDMARKER
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - remainder.count
    - value_part.strip
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.nodes.preceding_leaf
    - black.linegen.LineGenerator.line
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.is_one_sequence_between
    - black.nodes.whitespace
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_comment
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.comments.list_comments
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 389
    functionName: black.linegen.LineGenerator.visit_STANDALONE_COMMENT
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - comment.strip
    - black.comments.make_comment
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - remainder.count
    - value_part.strip
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_async_stmt_or_funcdef
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.linegen.LineGenerator.line
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.id
    - <builtin>.super
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_comment
    - black.comments.generate_comments
    - value.splitlines
    - <builtin>.len
    - leaf.prefix.split
    - <builtin>.enumerate
    - comment_line.split
    - black.comments.normalize_trailing_prefix
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.nodes.is_simple_exponentiation.is_simple
    - black.comments.list_comments
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    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: value.splitlines
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.BinOp object at 0x7fcd07de17c0>
    argNames:
    - comment_line
    - directives
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 798
    functionName: black.comments.contains_fmt_directive
    functionSourceFile: black.comments
    functionUses: 53
    functionsReached:
    - <builtin>.any
    - comment_line.strip
    - comment.strip
    - comment_line.split
    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: leaf.prefix.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 432
    functionName: black.linegen.LineGenerator.visit_factor
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - node.insert_child
    - <builtin>.any
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - black.nodes.is_simple_exponentiation
    - re.match
    - content.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - remainder.count
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_async_stmt_or_funcdef
    - operand.remove
    - black.nodes.preceding_leaf
    - black.linegen.LineGenerator.line
    - black.nodes.is_type_comment_string
    - type_part.strip
    - <builtin>.bool
    - line.endswith
    - black.nodes.is_vararg
    - result.append
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.whitespace
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_sequence_between
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_comment
    - black.comments.generate_comments
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Node
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - black.nodes.is_simple_exponentiation.is_simple
    - black.comments.list_comments
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    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: operand.remove
    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: blib2to3.pytree.Node
    functionSourceFile: blib2to3
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 449
    functionName: black.linegen.LineGenerator.visit_tname
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.brackets.is_split_after_delimiter
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - re.match
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - blib2to3.pytree.Leaf
    - remainder.count
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - line.startswith
    - black.nodes.is_tuple_containing_walrus
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.nodes.is_walrus_assignment
    - <builtin>.bool
    - black.nodes.is_vararg
    - re.split
    - black.lines.Line.append_comment
    - <builtin>.super
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.generate_comments
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - remainder.endswith
    - c.leaves
    - middle.replace
    - black.nodes.is_tuple
    - content.split
    - middle.prefix.strip
    - child.remove
    - type_part.strip
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - line.endswith
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_tuple
    - black.nodes.wrap_in_parentheses
    - black.brackets.max_delimiter_priority_in_atom
    - black.brackets.BracketTracker.mark
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.comments.list_comments
    - black.nodes.is_type_ignore_comment_string
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.is_split_before_delimiter
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.linegen.LineGenerator.line
    - black.nodes.is_atom_with_invisible_parens
    - result.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.nodes.is_generator
    - <builtin>.all
    - content.startswith
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - black.nodes.is_empty_tuple
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_rpar_token
    - black.nodes.is_name_token
    - <builtin>.id
    - value.split
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - blib2to3.pytree.Node
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_yield
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 2
    IfCount: 13
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 467
    functionName: black.linegen.LineGenerator.visit_STRING
    functionSourceFile: black.linegen
    functionUses: 2
    functionsReached:
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - re.match
    - black.strings.assert_is_leaf_string
    - blib2to3.pytree.Leaf
    - black.strings.fix_multiline_docstring
    - remainder.count
    - black.nodes.prev_siblings_are
    - line.lstrip
    - black.lines.Line.is_complex_subscript
    - line.startswith
    - black.nodes.is_type_comment_string
    - black.nodes.preceding_leaf
    - <builtin>.bool
    - black.strings.lines_with_leading_tabs_expanded
    - black.nodes.is_vararg
    - re.split
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - <builtin>.super
    - content.lstrip
    - blib2to3.pytree.Leaf.value.rstrip
    - blib2to3.pytree.Leaf.value.endswith
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - content.rstrip
    - black.comments.generate_comments
    - <builtin>.enumerate
    - new_body.count
    - black.comments.normalize_trailing_prefix
    - lines.append
    - remainder.endswith
    - orig_prefix.replace
    - black.strings.normalize_string_prefix
    - blib2to3.pytree.Leaf.value.lstrip
    - black.strings.normalize_unicode_escape_sequences
    - re.findall
    - prefix.casefold
    - content.split
    - body.count
    - type_part.strip
    - re.compile
    - line.endswith
    - trimmed.append
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.strings._cached_compile
    - black.strings.get_string_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - black.comments.list_comments
    - STRING_PREFIX_RE.match
    - <builtin>.any
    - regex.sub
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - prefix.lower
    - black.nodes.is_docstring
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.linegen.LineGenerator.line
    - result.append
    - prefix.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.strings.sub_twice
    - <builtin>.all
    - content.startswith
    - blib2to3.pytree.Leaf.value.splitlines
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - blib2to3.pytree.Leaf.value.find
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - re.sub
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.nodes.parent_type
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - re.search
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - unescaped_new_quote.search
    - match.group
    - <builtin>.id
    - <builtin>.set
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.strings.normalize_string_quotes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 307
    functionName: black.strings.normalize_unicode_escape_sequences
    functionSourceFile: black.strings
    functionUses: 3
    functionsReached:
    - re.sub
    - black.strings.get_string_prefix
    - black.strings.assert_is_leaf_string
    - <builtin>.set
    - <builtin>.min
    - <builtin>.max
    - blib2to3.pytree.Leaf.value.find
    - prefix.lower
    - prefix.append
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 574
    functionName: black.nodes.is_docstring
    functionSourceFile: black.nodes
    functionUses: 3
    functionsReached:
    - black.nodes.prev_siblings_are
    - black.strings.get_string_prefix
    - black.strings.assert_is_leaf_string
    - <builtin>.set
    - <builtin>.min
    - <builtin>.isinstance
    - <builtin>.max
    - blib2to3.pytree.Leaf.value.find
    - prefix.append
    - <builtin>.len
    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.search
    functionSourceFile: re
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 143
    functionName: black.strings.normalize_string_prefix
    functionSourceFile: black.strings
    functionUses: 3
    functionsReached:
    - STRING_PREFIX_RE.match
    - orig_prefix.replace
    - <builtin>.len
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 1
    IfCount: 11
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 169
    functionName: black.strings.normalize_string_quotes
    functionSourceFile: black.strings
    functionUses: 9
    functionsReached:
    - <builtin>.str
    - new_body.count
    - regex.sub
    - black.strings.sub_twice
    - re.findall
    - prefix.casefold
    - re.compile
    - unescaped_new_quote.search
    - blib2to3.pytree.Leaf.value.find
    - body.count
    - black.strings._cached_compile
    - <builtin>.len
    - blib2to3.pytree.Leaf.value.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 89
    functionName: black.strings.get_string_prefix
    functionSourceFile: black.strings
    functionUses: 14
    functionsReached:
    - black.strings.assert_is_leaf_string
    - <builtin>.set
    - <builtin>.min
    - <builtin>.max
    - blib2to3.pytree.Leaf.value.find
    - prefix.append
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 826
    functionName: black.nodes.is_multiline_string
    functionSourceFile: black.nodes
    functionUses: 34
    functionsReached:
    - <builtin>.str
    - black.nodes.fstring_tstring_to_string
    - blib2to3.pytree.Leaf.get_lineno
    - <builtin>.isinstance
    - black.strings.has_triple_quotes
    - blib2to3.pytree.Leaf
    - black.nodes.is_fstring
    - <builtin>.len
    - blib2to3.pytree.Leaf.value.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - docstring
    - prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 66
    functionName: black.strings.fix_multiline_docstring
    functionSourceFile: black.strings
    functionUses: 3
    functionsReached:
    - line.lstrip
    - black.strings.lines_with_leading_tabs_expanded
    - <builtin>.min
    - lines.append
    - trimmed.append
    - blib2to3.pytree.Leaf.value.endswith
    - blib2to3.pytree.Leaf.value.splitlines
    - <builtin>.len
    - <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: 0
    functionLinenumber: -1
    functionName: blib2to3.pytree.Leaf.value.strip
    functionSourceFile: blib2to3
    functionUses: 65
    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: blib2to3.pytree.Leaf.value.rstrip
    functionSourceFile: blib2to3
    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: blib2to3.pytree.Leaf.value.splitlines
    functionSourceFile: blib2to3
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 555
    functionName: black.linegen.LineGenerator.visit_NUMBER
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - after.upper
    - black.comments.make_comment
    - black.numerics.format_float_or_int_string
    - comment.strip
    - text.endswith
    - re.match
    - black.nodes.is_simple_exponentiation
    - content.split
    - text.split
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - remainder.count
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - black.numerics.format_complex_number
    - black.nodes.is_async_stmt_or_funcdef
    - black.numerics.normalize_numeric_literal
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.linegen.LineGenerator.line
    - black.nodes.is_type_comment_string
    - type_part.strip
    - <builtin>.bool
    - black.nodes.preceding_leaf
    - line.endswith
    - after.startswith
    - black.nodes.is_vararg
    - result.append
    - leaf.value.lower
    - last_leaf.parent.leaves
    - re.split
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - <builtin>.super
    - <builtin>.id
    - <builtin>.all
    - content.startswith
    - content.lstrip
    - content.rstrip
    - black.numerics.format_hex
    - black.nodes.is_type_comment
    - black.comments.generate_comments
    - black.numerics.format_scientific_notation
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - remainder.endswith
    - text.startswith
    - black.comments.list_comments
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 45
    functionName: black.numerics.normalize_numeric_literal
    functionSourceFile: black.numerics
    functionUses: 1
    functionsReached:
    - black.numerics.format_complex_number
    - after.upper
    - black.numerics.format_float_or_int_string
    - text.endswith
    - after.startswith
    - text.split
    - text.startswith
    - leaf.value.lower
    - black.numerics.format_hex
    - black.numerics.format_scientific_notation
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 559
    functionName: black.linegen.LineGenerator.visit_atom
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.brackets.is_split_after_delimiter
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - re.match
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - blib2to3.pytree.Leaf
    - remainder.count
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - line.startswith
    - black.nodes.is_tuple_containing_walrus
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.nodes.is_walrus_assignment
    - <builtin>.bool
    - black.nodes.is_vararg
    - re.split
    - black.lines.Line.append_comment
    - <builtin>.super
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.generate_comments
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - remainder.endswith
    - c.leaves
    - middle.replace
    - black.nodes.is_tuple
    - content.split
    - middle.prefix.strip
    - type_part.strip
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - line.endswith
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_tuple
    - black.brackets.max_delimiter_priority_in_atom
    - black.brackets.BracketTracker.mark
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.comments.list_comments
    - black.nodes.is_type_ignore_comment_string
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.is_split_before_delimiter
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.has_sibling_with_type
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.linegen.LineGenerator.line
    - black.nodes.is_atom_with_invisible_parens
    - result.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.nodes.is_generator
    - <builtin>.all
    - content.startswith
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - black.nodes.is_empty_tuple
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_rpar_token
    - black.nodes.is_name_token
    - <builtin>.id
    - value.split
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_yield
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 577
    functionName: black.linegen.LineGenerator.visit_fstring
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - re.match
    - black.strings.assert_is_leaf_string
    - blib2to3.pytree.Leaf
    - black.strings.fix_multiline_docstring
    - remainder.count
    - black.nodes.prev_siblings_are
    - line.lstrip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - line.startswith
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - black.strings.lines_with_leading_tabs_expanded
    - black.nodes.is_vararg
    - re.split
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - <builtin>.super
    - content.lstrip
    - blib2to3.pytree.Leaf.value.rstrip
    - blib2to3.pytree.Leaf.value.endswith
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.generate_comments
    - <builtin>.enumerate
    - new_body.count
    - black.comments.normalize_trailing_prefix
    - lines.append
    - remainder.endswith
    - orig_prefix.replace
    - black.strings.normalize_string_prefix
    - blib2to3.pytree.Leaf.value.lstrip
    - black.strings.normalize_unicode_escape_sequences
    - re.findall
    - prefix.casefold
    - content.split
    - body.count
    - type_part.strip
    - re.compile
    - line.endswith
    - trimmed.append
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.strings._cached_compile
    - black.strings.get_string_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - black.comments.list_comments
    - STRING_PREFIX_RE.match
    - <builtin>.any
    - regex.sub
    - black.linegen.LineGenerator.visit_STRING
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - prefix.lower
    - black.nodes.is_docstring
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - node.replace
    - black.linegen.LineGenerator.line
    - result.append
    - prefix.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.strings.sub_twice
    - <builtin>.all
    - content.startswith
    - blib2to3.pytree.Leaf.value.splitlines
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - blib2to3.pytree.Leaf.value.find
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - re.sub
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.nodes.parent_type
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - re.search
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - unescaped_new_quote.search
    - match.group
    - <builtin>.id
    - <builtin>.set
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.strings.normalize_string_quotes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 818
    functionName: black.nodes.fstring_tstring_to_string
    functionSourceFile: black.nodes
    functionUses: 35
    functionsReached:
    - <builtin>.str
    - <builtin>.len
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf
    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.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 592
    functionName: black.linegen.LineGenerator.visit_tstring
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - subscript_start.pre_order
    - black.comments.make_comment
    - comment.strip
    - re.match
    - black.strings.assert_is_leaf_string
    - blib2to3.pytree.Leaf
    - black.strings.fix_multiline_docstring
    - remainder.count
    - black.nodes.prev_siblings_are
    - line.lstrip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - line.startswith
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - black.strings.lines_with_leading_tabs_expanded
    - black.nodes.is_vararg
    - re.split
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - <builtin>.super
    - content.lstrip
    - blib2to3.pytree.Leaf.value.rstrip
    - blib2to3.pytree.Leaf.value.endswith
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.generate_comments
    - <builtin>.enumerate
    - new_body.count
    - black.comments.normalize_trailing_prefix
    - lines.append
    - remainder.endswith
    - orig_prefix.replace
    - black.strings.normalize_string_prefix
    - blib2to3.pytree.Leaf.value.lstrip
    - black.strings.normalize_unicode_escape_sequences
    - re.findall
    - prefix.casefold
    - content.split
    - body.count
    - type_part.strip
    - re.compile
    - line.endswith
    - trimmed.append
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.strings._cached_compile
    - black.strings.get_string_prefix
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - black.comments.list_comments
    - STRING_PREFIX_RE.match
    - <builtin>.any
    - regex.sub
    - black.linegen.LineGenerator.visit_STRING
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - prefix.lower
    - black.nodes.is_docstring
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - node.replace
    - black.linegen.LineGenerator.line
    - result.append
    - prefix.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.strings.sub_twice
    - <builtin>.all
    - content.startswith
    - blib2to3.pytree.Leaf.value.splitlines
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - blib2to3.pytree.Leaf.value.find
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - re.sub
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.nodes.parent_type
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - re.search
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - unescaped_new_quote.search
    - match.group
    - <builtin>.id
    - <builtin>.set
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.strings.normalize_string_quotes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 640
    functionName: black.linegen.LineGenerator.visit_comp_for
    functionSourceFile: black.linegen
    functionUses: 1
    functionsReached:
    - black.linegen._is_atom_multiline
    - black.brackets.is_split_after_delimiter
    - subscript_start.pre_order
    - black.linegen._normalize_import_from
    - comment.strip
    - black.comments.make_comment
    - re.match
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - blib2to3.pytree.Leaf
    - remainder.count
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - line.startswith
    - black.nodes.is_tuple_containing_walrus
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.nodes.is_walrus_assignment
    - <builtin>.bool
    - black.nodes.is_vararg
    - re.split
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - <builtin>.super
    - content.lstrip
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - content.rstrip
    - black.comments.generate_comments
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - <builtin>.range
    - remainder.endswith
    - c.leaves
    - middle.replace
    - blib2to3.pytree.Leaf.value.lstrip
    - black.linegen._maybe_wrap_cms_in_parens
    - node.insert_child
    - black.nodes.is_tuple
    - black.linegen.normalize_invisible_parens
    - content.split
    - middle.prefix.strip
    - child.remove
    - type_part.strip
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - line.endswith
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_tuple
    - black.nodes.wrap_in_parentheses
    - black.brackets.max_delimiter_priority_in_atom
    - parent.append_child
    - black.brackets.BracketTracker.mark
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.comments.list_comments
    - black.linegen.remove_with_parens
    - black.nodes.is_type_ignore_comment_string
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - middle.pre_order
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.is_split_before_delimiter
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.linegen._atom_has_magic_trailing_comma
    - black.linegen.LineGenerator.line
    - black.nodes.is_atom_with_invisible_parens
    - result.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.nodes.is_generator
    - <builtin>.all
    - content.startswith
    - node.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.nodes.is_simple_exponentiation.is_simple
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - black.nodes.is_empty_tuple
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_rpar_token
    - black.nodes.is_name_token
    - <builtin>.id
    - value.split
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - black.nodes.is_fstring
    - blib2to3.pytree.Node
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_yield
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 647
    functionName: black.linegen.LineGenerator.visit_old_comp_for
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.linegen._is_atom_multiline
    - black.brackets.is_split_after_delimiter
    - subscript_start.pre_order
    - black.linegen._normalize_import_from
    - comment.strip
    - black.comments.make_comment
    - re.match
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - blib2to3.pytree.Leaf
    - remainder.count
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - line.startswith
    - black.nodes.is_tuple_containing_walrus
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.nodes.is_walrus_assignment
    - <builtin>.bool
    - black.nodes.is_vararg
    - re.split
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - <builtin>.super
    - content.lstrip
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - content.rstrip
    - black.comments.generate_comments
    - <builtin>.enumerate
    - black.comments.normalize_trailing_prefix
    - <builtin>.range
    - remainder.endswith
    - c.leaves
    - middle.replace
    - blib2to3.pytree.Leaf.value.lstrip
    - black.linegen._maybe_wrap_cms_in_parens
    - node.insert_child
    - black.nodes.is_tuple
    - black.linegen.normalize_invisible_parens
    - content.split
    - middle.prefix.strip
    - child.remove
    - type_part.strip
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - line.endswith
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.nodes.is_one_tuple
    - black.nodes.wrap_in_parentheses
    - black.brackets.max_delimiter_priority_in_atom
    - parent.append_child
    - black.brackets.BracketTracker.mark
    - comment_line.split
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.comments.list_comments
    - black.linegen.remove_with_parens
    - black.nodes.is_type_ignore_comment_string
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - middle.pre_order
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.is_split_before_delimiter
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - value_part.strip
    - black.nodes.is_async_stmt_or_funcdef
    - black.linegen._atom_has_magic_trailing_comma
    - black.linegen.LineGenerator.line
    - black.nodes.is_atom_with_invisible_parens
    - result.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - black.nodes.is_generator
    - <builtin>.all
    - content.startswith
    - node.leaves
    - match.groups
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.nodes.is_simple_exponentiation.is_simple
    - black.linegen.LineGenerator.visit_comp_for
    - black.nodes.make_simple_prefix
    - black.linegen.LineGenerator.visit_default
    - black.nodes.is_empty_tuple
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.nodes.is_rpar_token
    - black.nodes.is_name_token
    - <builtin>.id
    - value.split
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - black.nodes.is_fstring
    - blib2to3.pytree.Node
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_yield
    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: functools.partial
    functionSourceFile: functools
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - features
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 683
    functionName: black.linegen._hugging_power_ops_line_to_string
    functionSourceFile: black.linegen
    functionUses: 18
    functionsReached:
    - <builtin>.str
    - <builtin>.next
    - chain.append
    - black.trans.handle_is_simple_lookup_forward
    - black.trans.handle_is_simple_look_up_prev
    - black.lines.line_to_string
    - leaf.clone
    - black.trans.hug_power_op.is_simple_lookup
    - line.comments_after
    - new_line.append
    - line.clone
    - black.trans.is_expression_chained
    - black.trans.hug_power_op
    - <builtin>.len
    - black.trans.hug_power_op.is_simple_operand
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - features
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 70
    functionName: black.trans.hug_power_op
    functionSourceFile: black.trans
    functionUses: 19
    functionsReached:
    - chain.append
    - black.trans.handle_is_simple_lookup_forward
    - black.trans.handle_is_simple_look_up_prev
    - leaf.clone
    - black.trans.hug_power_op.is_simple_lookup
    - line.comments_after
    - new_line.append
    - line.clone
    - black.trans.is_expression_chained
    - <builtin>.len
    - black.trans.hug_power_op.is_simple_operand
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - line
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1116
    functionName: black.lines.line_to_string
    functionSourceFile: black.lines
    functionUses: 25
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - line_length
    - normalize_strings
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 240
    functionName: black.trans.StringTransformer.__init__
    functionSourceFile: ''
    functionUses: 18
    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: line.contains_uncollapsable_type_comments
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 3
    IfCount: 17
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - mode
    - line_str
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 815
    functionName: black.lines.is_line_short_enough
    functionSourceFile: black.lines
    functionUses: 23
    functionsReached:
    - line_str.split
    - line_str.isascii
    - black.lines.line_to_string
    - commas.pop
    - <builtin>.min
    - <builtin>.map
    - black.strings.has_triple_quotes
    - blib2to3.pytree.Leaf
    - <builtin>.str
    - commas.append
    - <builtin>.sum
    - black.nodes.fstring_tstring_to_string
    - black.strings.str_width
    - <builtin>.all
    - black.lines.Line.contains_standalone_comments
    - blib2to3.pytree.Leaf.get_lineno
    - <builtin>.len
    - <builtin>.enumerate
    - black.nodes.is_fstring
    - multiline_string_contexts.append
    - black.nodes.is_multiline_string
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf.value.lstrip
    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: line.contains_unsplittable_type_ignore
    functionSourceFile: <builtin>
    functionUses: 18
    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: line.contains_standalone_comments
    functionSourceFile: <builtin>
    functionUses: 20
    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: line.contains_implicit_multiline_string_with_comments
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - line
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 824
    functionName: black.linegen.should_split_funcdef_with_rhs
    functionSourceFile: black.linegen
    functionUses: 18
    functionsReached:
    - <builtin>.next
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.child_towards
    - ids.add
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - black.nodes.is_vararg
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - black.nodes.whitespace
    - black.lines.Line.append_comment
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - <builtin>.set
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_comment
    - black.brackets.get_leaves_inside_matching_brackets
    - return_type_leaves.append
    - <builtin>.len
    - <builtin>.enumerate
    - <builtin>.range
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - line
    - features
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 747
    functionName: black.linegen.transform_line._rhs
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - subscript_start.pre_order
    - current_leaves.append
    - blib2to3.pytree.Leaf
    - ids.add
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - rhs_oop.head.contains_unsplittable_type_ignore
    - black.nodes.is_vararg
    - original.comments_after
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - black.linegen.generate_trailers_to_omit
    - black.linegen._first_right_hand_split
    - exclude.add
    - rhs.body.comments.get
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.enumerate
    - head_leaves.extend
    - black.nodes.ensure_visible
    - black.linegen._prefer_split_rhs_oop_over_rhs
    - black.linegen.right_hand_split
    - <builtin>.range
    - multiline_string_contexts.append
    - <builtin>.reversed
    - blib2to3.pytree.Leaf.value.lstrip
    - line_str.split
    - black.lines.line_to_string
    - black.nodes.get_annotation_type
    - black.lines.is_line_short_enough
    - black.linegen.bracket_split_build_line
    - commas.append
    - line.bracket_tracker.max_delimiter_priority
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - tail_leaves.reverse
    - rhs_oop.body.contains_unsplittable_type_ignore
    - omit.add
    - black.brackets.get_leaves_inside_matching_brackets
    - rhs.head.comments.get
    - inner_brackets.add
    - bt.max_delimiter_priority
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_type_ignore_comment_string
    - <builtin>.next
    - omit.update
    - <builtin>.any
    - black.lines._can_omit_opening_paren
    - line_str.isascii
    - line.enumerate_with_length
    - commas.pop
    - black.lines.Line.has_magic_trailing_comma
    - hugged_closing_leaves.insert
    - black.linegen._ensure_trailing_comma
    - black.linegen.should_split_line
    - head_leaves.reverse
    - dataclasses.replace
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - black.strings.str_width
    - bt.delimiter_count_with_priority
    - <builtin>.all
    - hugged_opening_leaves.append
    - rhs_oop.tail.contains_unsplittable_type_ignore
    - black.lines.can_be_split
    - rhs.tail.contains_multiline_strings
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.nodes.is_simple_exponentiation.is_simple
    - inner_brackets.clear
    - black.linegen.bracket_split_succeeded_or_raise
    - leaves.insert
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.lines.can_omit_invisible_parens
    - <builtin>.map
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.nodes.is_part_of_annotation
    - <builtin>.str
    - black.nodes.is_type_ignore_comment
    - blib2to3.pytree.Leaf.value.strip
    - inner_body_leaves.pop
    - black.linegen._maybe_split_omitting_optional_parens
    - <builtin>.sum
    - <builtin>.id
    - body_leaves.reverse
    - rhs.head.contains_multiline_strings
    - value.split
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.lines._can_omit_closing_paren
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 8
    IfCount: 12
    argCount: 2
    argDefaultValues: []
    argNames:
    - line
    - line_length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1918
    functionName: black.linegen.generate_trailers_to_omit
    functionSourceFile: black.linegen
    functionUses: 1
    functionsReached:
    - omit.update
    - <builtin>.id
    - line.enumerate_with_length
    - inner_brackets.add
    - inner_brackets.clear
    - <builtin>.set
    - omit.add
    - black.nodes.is_one_sequence_between
    - <builtin>.len
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Tuple object at 0x7fcd073316a0>
    - <ast.Tuple object at 0x7fcd07331760>
    argNames:
    - line
    - mode
    - features
    - omit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 927
    functionName: black.linegen.right_hand_split
    functionSourceFile: black.linegen
    functionUses: 1
    functionsReached:
    - subscript_start.pre_order
    - current_leaves.append
    - blib2to3.pytree.Leaf
    - ids.add
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - rhs_oop.head.contains_unsplittable_type_ignore
    - black.nodes.is_vararg
    - original.comments_after
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - black.linegen._first_right_hand_split
    - exclude.add
    - rhs.body.comments.get
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.enumerate
    - head_leaves.extend
    - black.nodes.ensure_visible
    - black.linegen._prefer_split_rhs_oop_over_rhs
    - <builtin>.range
    - multiline_string_contexts.append
    - <builtin>.reversed
    - blib2to3.pytree.Leaf.value.lstrip
    - line_str.split
    - black.lines.line_to_string
    - black.nodes.get_annotation_type
    - black.lines.is_line_short_enough
    - black.linegen.bracket_split_build_line
    - commas.append
    - line.bracket_tracker.max_delimiter_priority
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - tail_leaves.reverse
    - rhs_oop.body.contains_unsplittable_type_ignore
    - black.brackets.get_leaves_inside_matching_brackets
    - rhs.head.comments.get
    - bt.max_delimiter_priority
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_type_ignore_comment_string
    - <builtin>.next
    - <builtin>.any
    - black.lines._can_omit_opening_paren
    - line_str.isascii
    - line.enumerate_with_length
    - commas.pop
    - black.lines.Line.has_magic_trailing_comma
    - hugged_closing_leaves.insert
    - black.linegen._ensure_trailing_comma
    - black.linegen.should_split_line
    - head_leaves.reverse
    - dataclasses.replace
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - black.strings.str_width
    - bt.delimiter_count_with_priority
    - <builtin>.all
    - hugged_opening_leaves.append
    - rhs_oop.tail.contains_unsplittable_type_ignore
    - black.lines.can_be_split
    - rhs.tail.contains_multiline_strings
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.nodes.is_simple_exponentiation.is_simple
    - black.linegen.bracket_split_succeeded_or_raise
    - leaves.insert
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.lines.can_omit_invisible_parens
    - <builtin>.map
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.nodes.is_part_of_annotation
    - <builtin>.str
    - black.nodes.is_type_ignore_comment
    - blib2to3.pytree.Leaf.value.strip
    - inner_body_leaves.pop
    - black.linegen._maybe_split_omitting_optional_parens
    - <builtin>.sum
    - <builtin>.id
    - body_leaves.reverse
    - rhs.head.contains_multiline_strings
    - value.split
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.lines._can_omit_closing_paren
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    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>.type
    functionSourceFile: <builtin>
    functionUses: 20
    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: transformers.append
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 5
    argDefaultValues: []
    argNames:
    - line
    - transform
    - mode
    - features
    - line_str
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1994
    functionName: black.linegen.run_transformer
    functionSourceFile: black.linegen
    functionUses: 17
    functionsReached:
    - chain.append
    - subscript_start.pre_order
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Leaf
    - ids.add
    - black.linegen.transform_line
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - line.comments_after
    - black.nodes.is_vararg
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - line.contains_implicit_multiline_string_with_comments
    - <builtin>.enumerate
    - <builtin>.range
    - multiline_string_contexts.append
    - line.contains_unsplittable_type_ignore
    - blib2to3.pytree.Leaf.value.lstrip
    - line_str.split
    - black.trans.handle_is_simple_lookup_forward
    - black.lines.line_to_string
    - line.contains_standalone_comments
    - black.lines.is_line_short_enough
    - black.trans.handle_is_simple_look_up_prev
    - commas.append
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - old_child.remove
    - black.trans.hug_power_op.is_simple_operand
    - result.extend
    - black.brackets.get_leaves_inside_matching_brackets
    - black.linegen._hugging_power_ops_line_to_string
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.type
    - <builtin>.isinstance
    - <builtin>.any
    - <builtin>.next
    - line_str.isascii
    - commas.pop
    - black.lines.Line.has_magic_trailing_comma
    - line.clone
    - parent.insert_child
    - line.contains_multiline_strings
    - new_line.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - black.strings.str_width
    - <builtin>.all
    - transformers.append
    - return_type_leaves.append
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.nodes.is_simple_exponentiation.is_simple
    - black.trans.hug_power_op
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.linegen.run_transformer
    - <builtin>.map
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.trans.is_expression_chained
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - leaf.clone
    - <builtin>.sum
    - black.trans.StringTransformer.__init__
    - <builtin>.id
    - black.trans.hug_power_op.is_simple_lookup
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    linkageType: pythonLinkage
    raised:
    - CannotTransform
    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_type_leaves.append
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaves
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 357
    functionName: black.brackets.get_leaves_inside_matching_brackets
    functionSourceFile: black.brackets
    functionUses: 25
    functionsReached:
    - <builtin>.next
    - <builtin>.id
    - <builtin>.range
    - <builtin>.set
    - bracket_stack.append
    - ids.add
    - bracket_stack.pop
    - <builtin>.len
    - <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: 0
    functionLinenumber: -1
    functionName: <builtin>.id
    functionSourceFile: <builtin>
    functionUses: 99
    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: black.linegen._BracketSplitComponent
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - enum.auto
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 6
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - _features
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 861
    functionName: black.linegen.left_hand_split
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - <builtin>.next
    - black.linegen.bracket_split_succeeded_or_raise
    - subscript_start.pre_order
    - current_leaves.append
    - leaves.insert
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - black.nodes.get_annotation_type
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - black.nodes.is_part_of_annotation
    - ids.add
    - <builtin>.str
    - black.linegen._ensure_trailing_comma
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.linegen.bracket_split_build_line
    - black.linegen.should_split_line
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - line.bracket_tracker.max_delimiter_priority
    - black.nodes.is_vararg
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - original.comments_after
    - black.nodes.whitespace
    - <builtin>.list
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - black.nodes.is_one_sequence_between
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - exclude.add
    - <builtin>.set
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - black.brackets.get_leaves_inside_matching_brackets
    - <builtin>.len
    - <builtin>.enumerate
    - black.nodes.ensure_visible
    - <builtin>.range
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised:
    - CannotSplit
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1023
    functionName: black.nodes.ensure_visible
    functionSourceFile: ''
    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: current_leaves.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 4
    argDefaultValues: []
    argNames:
    - leaves
    - original
    - opening_bracket
    - component
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1255
    functionName: black.linegen.bracket_split_build_line
    functionSourceFile: black.linegen
    functionUses: 5
    functionsReached:
    - <builtin>.any
    - <builtin>.next
    - subscript_start.pre_order
    - leaves.insert
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - black.nodes.get_annotation_type
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - black.nodes.is_part_of_annotation
    - ids.add
    - black.linegen._ensure_trailing_comma
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.is_type_comment_string
    - black.linegen.should_split_line
    - black.nodes.preceding_leaf
    - <builtin>.bool
    - line.bracket_tracker.max_delimiter_priority
    - black.nodes.is_vararg
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - original.comments_after
    - black.nodes.is_one_sequence_between
    - black.nodes.whitespace
    - black.lines.Line.append_comment
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - exclude.add
    - <builtin>.set
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - black.brackets.get_leaves_inside_matching_brackets
    - <builtin>.len
    - <builtin>.enumerate
    - <builtin>.range
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - head
    - body
    - tail
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1193
    functionName: black.linegen.bracket_split_succeeded_or_raise
    functionSourceFile: black.linegen
    functionUses: 5
    functionsReached:
    - <builtin>.str
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - CannotSplit
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 10
    IfCount: 12
    argCount: 2
    argDefaultValues:
    - <ast.Tuple object at 0x7fcd07331850>
    argNames:
    - line
    - omit
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 947
    functionName: black.linegen._first_right_hand_split
    functionSourceFile: black.linegen
    functionUses: 3
    functionsReached:
    - line_str.split
    - <builtin>.next
    - black.linegen.bracket_split_succeeded_or_raise
    - <builtin>.any
    - line_str.isascii
    - subscript_start.pre_order
    - current_leaves.append
    - leaves.insert
    - black.lines.line_to_string
    - commas.pop
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.get_annotation_type
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - <builtin>.map
    - black.strings.has_triple_quotes
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - black.lines.is_line_short_enough
    - black.nodes.is_part_of_annotation
    - ids.add
    - hugged_closing_leaves.insert
    - <builtin>.str
    - black.linegen._ensure_trailing_comma
    - blib2to3.pytree.Leaf.value.strip
    - black.linegen.should_split_line
    - black.linegen.bracket_split_build_line
    - commas.append
    - black.lines.Line.is_complex_subscript
    - head_leaves.reverse
    - black.nodes.preceding_leaf
    - inner_body_leaves.pop
    - <builtin>.bool
    - black.nodes.is_type_comment_string
    - dataclasses.replace
    - line.bracket_tracker.max_delimiter_priority
    - black.nodes.is_vararg
    - <builtin>.sum
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - original.comments_after
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - black.nodes.fstring_tstring_to_string
    - <builtin>.id
    - black.strings.str_width
    - tail_leaves.reverse
    - body_leaves.reverse
    - <builtin>.all
    - exclude.add
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - hugged_opening_leaves.append
    - blib2to3.pytree.Leaf.get_lineno
    - black.brackets.get_leaves_inside_matching_brackets
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - head_leaves.extend
    - black.nodes.is_fstring
    - <builtin>.range
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - multiline_string_contexts.append
    - black.nodes.is_multiline_string
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - <builtin>.reversed
    - black.nodes.is_simple_exponentiation.is_simple
    - blib2to3.pytree.Leaf.value.lstrip
    linkageType: pythonLinkage
    raised:
    - CannotSplit
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Tuple object at 0x7fcd070fb2e0>
    - <ast.Tuple object at 0x7fcd070fbeb0>
    argNames:
    - rhs
    - line
    - mode
    - features
    - omit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1050
    functionName: black.linegen._maybe_split_omitting_optional_parens
    functionSourceFile: black.linegen
    functionUses: 2
    functionsReached:
    - subscript_start.pre_order
    - current_leaves.append
    - blib2to3.pytree.Leaf
    - ids.add
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - rhs_oop.head.contains_unsplittable_type_ignore
    - black.nodes.is_vararg
    - original.comments_after
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - black.linegen._first_right_hand_split
    - exclude.add
    - rhs.body.comments.get
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.enumerate
    - black.nodes.ensure_visible
    - head_leaves.extend
    - black.linegen._prefer_split_rhs_oop_over_rhs
    - <builtin>.range
    - multiline_string_contexts.append
    - <builtin>.reversed
    - blib2to3.pytree.Leaf.value.lstrip
    - line_str.split
    - black.lines.line_to_string
    - black.nodes.get_annotation_type
    - black.lines.is_line_short_enough
    - black.linegen.bracket_split_build_line
    - commas.append
    - line.bracket_tracker.max_delimiter_priority
    - bracket_stack.pop
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - tail_leaves.reverse
    - rhs_oop.body.contains_unsplittable_type_ignore
    - black.brackets.get_leaves_inside_matching_brackets
    - rhs.head.comments.get
    - bt.max_delimiter_priority
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_type_ignore_comment_string
    - <builtin>.any
    - black.lines._can_omit_opening_paren
    - <builtin>.next
    - line_str.isascii
    - line.enumerate_with_length
    - commas.pop
    - black.lines.Line.has_magic_trailing_comma
    - hugged_closing_leaves.insert
    - black.linegen._ensure_trailing_comma
    - black.linegen.should_split_line
    - head_leaves.reverse
    - dataclasses.replace
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - black.strings.str_width
    - bt.delimiter_count_with_priority
    - <builtin>.all
    - rhs_oop.tail.contains_unsplittable_type_ignore
    - hugged_opening_leaves.append
    - black.lines.can_be_split
    - rhs.tail.contains_multiline_strings
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_multiline_string
    - black.nodes.is_simple_exponentiation.is_simple
    - black.linegen.bracket_split_succeeded_or_raise
    - leaves.insert
    - black.nodes.is_simple_exponentiation
    - bracket_stack.append
    - <builtin>.min
    - black.nodes.parent_type
    - black.lines.can_omit_invisible_parens
    - <builtin>.map
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.nodes.is_part_of_annotation
    - <builtin>.str
    - black.nodes.is_type_ignore_comment
    - blib2to3.pytree.Leaf.value.strip
    - inner_body_leaves.pop
    - black.linegen._maybe_split_omitting_optional_parens
    - <builtin>.sum
    - <builtin>.id
    - body_leaves.reverse
    - rhs.head.contains_multiline_strings
    - value.split
    - black.lines.Line.contains_standalone_comments
    - <builtin>.set
    - black.lines._can_omit_closing_paren
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.nodes.is_fstring
    linkageType: pythonLinkage
    raised:
    - CannotSplit
    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>.reversed
    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: tail_leaves.reverse
    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: body_leaves.reverse
    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: head_leaves.reverse
    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: inner_body_leaves.pop
    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: hugged_opening_leaves.append
    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: hugged_closing_leaves.insert
    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: <builtin>.sum
    functionSourceFile: <builtin>
    functionUses: 31
    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: head_leaves.extend
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 26
    ICount: 1
    IfCount: 18
    argCount: 2
    argDefaultValues: []
    argNames:
    - rhs
    - line_length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 939
    functionName: black.lines.can_omit_invisible_parens
    functionSourceFile: black.lines
    functionUses: 3
    functionsReached:
    - <builtin>.any
    - black.lines._can_omit_opening_paren
    - line.enumerate_with_length
    - black.strings.has_triple_quotes
    - blib2to3.pytree.Leaf
    - black.nodes.is_type_ignore_comment
    - <builtin>.str
    - black.nodes.is_type_comment_string
    - black.nodes.fstring_tstring_to_string
    - <builtin>.id
    - bt.delimiter_count_with_priority
    - value.split
    - black.lines._can_omit_closing_paren
    - rhs.body.comments.get
    - blib2to3.pytree.Leaf.get_lineno
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - black.nodes.is_fstring
    - rhs.head.comments.get
    - bt.max_delimiter_priority
    - black.nodes.is_multiline_string
    - <builtin>.isinstance
    - <builtin>.reversed
    - black.nodes.is_type_ignore_comment_string
    - blib2to3.pytree.Leaf.value.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 1
    IfCount: 9
    argCount: 3
    argDefaultValues: []
    argNames:
    - rhs_oop
    - rhs
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1118
    functionName: black.linegen._prefer_split_rhs_oop_over_rhs
    functionSourceFile: black.linegen
    functionUses: 3
    functionsReached:
    - line_str.split
    - <builtin>.any
    - line_str.isascii
    - black.lines.line_to_string
    - commas.pop
    - <builtin>.min
    - <builtin>.map
    - black.strings.has_triple_quotes
    - blib2to3.pytree.Leaf
    - black.lines.is_line_short_enough
    - <builtin>.str
    - commas.append
    - dataclasses.replace
    - rhs_oop.head.contains_unsplittable_type_ignore
    - <builtin>.sum
    - black.nodes.fstring_tstring_to_string
    - black.strings.str_width
    - rhs_oop.body.contains_unsplittable_type_ignore
    - <builtin>.all
    - black.lines.Line.contains_standalone_comments
    - rhs_oop.tail.contains_unsplittable_type_ignore
    - blib2to3.pytree.Leaf.get_lineno
    - <builtin>.len
    - <builtin>.enumerate
    - black.nodes.is_fstring
    - multiline_string_contexts.append
    - black.nodes.is_multiline_string
    - <builtin>.reversed
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf.value.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 1
    IfCount: 9
    argCount: 1
    argDefaultValues: []
    argNames:
    - line
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 903
    functionName: black.lines.can_be_split
    functionSourceFile: black.lines
    functionUses: 3
    functionsReached:
    - <builtin>.len
    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: rhs.head.contains_multiline_strings
    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: rhs.tail.contains_multiline_strings
    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: rhs_oop.head.contains_unsplittable_type_ignore
    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: rhs_oop.body.contains_unsplittable_type_ignore
    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: rhs_oop.tail.contains_unsplittable_type_ignore
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 0
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - leaves
    - original
    - opening_bracket
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1219
    functionName: black.linegen._ensure_trailing_comma
    functionSourceFile: black.linegen
    functionUses: 6
    functionsReached:
    - <builtin>.any
    - black.nodes.is_part_of_annotation
    - <builtin>.next
    - black.nodes.get_annotation_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1063
    functionName: black.nodes.is_part_of_annotation
    functionSourceFile: black.nodes
    functionUses: 9
    functionsReached:
    - black.nodes.get_annotation_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1051
    functionName: black.nodes.get_annotation_type
    functionSourceFile: ''
    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: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 51
    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: leaves.insert
    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: original.comments_after
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - line
    - opening_bracket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1891
    functionName: black.linegen.should_split_line
    functionSourceFile: black.linegen
    functionUses: 6
    functionsReached:
    - <builtin>.set
    - <builtin>.id
    - exclude.add
    - line.bracket_tracker.max_delimiter_priority
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - split_func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1304
    functionName: black.linegen.dont_increase_indentation
    functionSourceFile: black.linegen
    functionUses: 1
    functionsReached:
    - functools.wraps
    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: functools.wraps
    functionSourceFile: functools
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - features
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1311
    functionName: black.linegen.dont_increase_indentation.split_wrapper
    functionSourceFile: black.linegen
    functionUses: 0
    functionsReached:
    - black.linegen.standalone_comment_split
    - <builtin>.any
    - subscript_start.pre_order
    - black.linegen._safe_add_trailing_comma
    - black.nodes.is_simple_exponentiation
    - line.contains_standalone_comments
    - <builtin>.min
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - black.lines.Line.append_safe
    - black.linegen._get_last_non_comment_leaf
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - line.comments_after
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.whitespace
    - <builtin>.list
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - black.nodes.is_one_sequence_between
    - bt.delimiters.get
    - black.lines.Line.remove_trailing_comma
    - black.linegen.delimiter_split.append_comments
    - <builtin>.id
    - black.linegen.delimiter_split.append_to_line
    - bt.delimiter_count_with_priority
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - black.linegen.standalone_comment_split.append_to_line
    - <builtin>.len
    - <builtin>.enumerate
    - bt.max_delimiter_priority
    - <builtin>.range
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.linegen._can_add_trailing_comma
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    - black.linegen.delimiter_split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - features
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1442
    functionName: black.linegen.standalone_comment_split
    functionSourceFile: black.linegen
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - line.contains_standalone_comments
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.child_towards
    - black.lines.Line.append_safe
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - line.comments_after
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - black.linegen.standalone_comment_split.append_to_line
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised:
    - CannotSplit
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 6
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - features
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1352
    functionName: black.linegen.delimiter_split
    functionSourceFile: black.linegen
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.linegen._safe_add_trailing_comma
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - black.lines.Line.append_safe
    - black.linegen._get_last_non_comment_leaf
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - line.comments_after
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - black.nodes.whitespace
    - black.lines.Line.append_comment
    - black.lines.Line.append
    - <builtin>.list
    - bt.delimiters.get
    - black.lines.Line.remove_trailing_comma
    - black.linegen.delimiter_split.append_comments
    - <builtin>.id
    - black.linegen.delimiter_split.append_to_line
    - bt.delimiter_count_with_priority
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - bt.max_delimiter_priority
    - <builtin>.range
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.linegen._can_add_trailing_comma
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised:
    - CannotSplit
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - line
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1321
    functionName: black.linegen._get_last_non_comment_leaf
    functionSourceFile: black.linegen
    functionUses: 2
    functionsReached:
    - <builtin>.range
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - leaf
    - features
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1328
    functionName: black.linegen._can_add_trailing_comma
    functionSourceFile: black.linegen
    functionUses: 2
    functionsReached:
    - black.nodes.is_vararg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - leaf
    - within
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 790
    functionName: black.nodes.is_vararg
    functionSourceFile: ''
    functionUses: 77
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - safe
    - delimiter_priority
    - line
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1336
    functionName: black.linegen._safe_add_trailing_comma
    functionSourceFile: black.linegen
    functionUses: 2
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    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: bt.max_delimiter_priority
    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: bt.delimiter_count_with_priority
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1382
    functionName: black.linegen.delimiter_split.append_to_line
    functionSourceFile: black.linegen
    functionUses: 3
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.child_towards
    - black.lines.Line.append_safe
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcd0715d970>
    argNames:
    - self
    - leaf
    - preformatted
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 94
    functionName: black.lines.Line.append_safe
    functionSourceFile: black.lines
    functionUses: 6
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.child_towards
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1395
    functionName: black.linegen.delimiter_split.append_comments
    functionSourceFile: black.linegen
    functionUses: 2
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.child_towards
    - black.lines.Line.append_safe
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - line.comments_after
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - black.lines.Line.append
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - black.linegen.delimiter_split.append_to_line
    - <builtin>.id
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    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: line.comments_after
    functionSourceFile: <builtin>
    functionUses: 30
    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: bt.delimiters.get
    functionSourceFile: <builtin>
    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: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 50
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1453
    functionName: black.linegen.standalone_comment_split.append_to_line
    functionSourceFile: black.linegen
    functionUses: 2
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - black.nodes.child_towards
    - black.lines.Line.append_safe
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - prefix
    - is_endmarker
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 89
    functionName: black.comments.list_comments
    functionSourceFile: black.comments
    functionUses: 49
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - re.match
    - content.split
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - black.nodes.is_type_comment_string
    - type_part.strip
    - line.endswith
    - result.append
    - re.split
    - comment_line.strip
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - comment_line.split
    - match.groups
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - node
    - mode
    - features
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1661
    functionName: black.linegen._maybe_wrap_cms_in_parens
    functionSourceFile: black.linegen
    functionUses: 5
    functionsReached:
    - node.insert_child
    - blib2to3.pytree.Node
    - child.remove
    - <builtin>.range
    - blib2to3.pytree.Leaf
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1751
    functionName: black.linegen._atom_has_magic_trailing_comma
    functionSourceFile: black.linegen
    functionUses: 5
    functionsReached:
    - black.nodes.is_one_tuple
    - <builtin>.len
    - black.nodes.unwrap_singleton_parenthesis
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1763
    functionName: black.linegen._is_atom_multiline
    functionSourceFile: black.linegen
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - middle.pre_order
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 5
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - node
    - parent
    - mode
    - features
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1703
    functionName: black.linegen.remove_with_parens
    functionSourceFile: black.linegen
    functionUses: 5
    functionsReached:
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.any
    - black.nodes.is_empty_tuple
    - black.linegen.maybe_make_parens_invisible_in_atom
    - black.nodes.is_tuple
    - black.brackets.is_split_after_delimiter
    - black.nodes.unwrap_singleton_parenthesis
    - <builtin>.max
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - black.brackets.is_split_before_delimiter
    - blib2to3.pytree.Leaf
    - black.nodes.has_sibling_with_type
    - parent.insert_child
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    - middle.prefix.strip
    - black.nodes.is_tuple_containing_walrus
    - black.nodes.is_rpar_token
    - black.nodes.is_type_comment_string
    - child.remove
    - black.nodes.is_walrus_assignment
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - black.nodes.is_atom_with_invisible_parens
    - black.nodes.is_vararg
    - black.nodes.is_name_token
    - <builtin>.id
    - black.nodes.is_one_tuple
    - black.nodes.is_generator
    - black.nodes.wrap_in_parentheses
    - value.split
    - blib2to3.pytree.Leaf.value.startswith
    - node.leaves
    - <builtin>.len
    - black.brackets.max_delimiter_priority_in_atom
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - blib2to3.pytree.Node
    - black.brackets.BracketTracker.mark
    - black.nodes.is_tuple_containing_star
    - black.nodes.is_lpar_token
    - <builtin>.isinstance
    - black.linegen.remove_with_parens
    - black.nodes.is_yield
    - c.leaves
    - black.nodes.is_type_ignore_comment_string
    - middle.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - nl
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1039
    functionName: black.nodes.is_lpar_token
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - nl
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1043
    functionName: black.nodes.is_rpar_token
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 616
    functionName: black.nodes.is_one_tuple
    functionSourceFile: black.nodes
    functionUses: 14
    functionsReached:
    - <builtin>.len
    - black.nodes.unwrap_singleton_parenthesis
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - parent
    - child
    - index
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1610
    functionName: black.linegen._normalize_import_from
    functionSourceFile: black.linegen
    functionUses: 5
    functionsReached:
    - black.nodes.is_rpar_token
    - black.nodes.is_lpar_token
    - blib2to3.pytree.Leaf
    - parent.insert_child
    - parent.append_child
    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: parent.insert_child
    functionSourceFile: <builtin>
    functionUses: 54
    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: parent.append_child
    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: typing.cast
    functionSourceFile: typing
    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: child.remove
    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: node.leaves
    functionSourceFile: <builtin>
    functionUses: 25
    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: middle.pre_order
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 606
    functionName: black.nodes.is_empty_tuple
    functionSourceFile: black.nodes
    functionUses: 13
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 632
    functionName: black.nodes.is_tuple
    functionSourceFile: black.nodes
    functionUses: 13
    functionsReached:
    - <builtin>.len
    - black.nodes.unwrap_singleton_parenthesis
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1097
    functionName: black.nodes.has_sibling_with_type
    functionSourceFile: ''
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 769
    functionName: black.nodes.is_yield
    functionSourceFile: black.nodes
    functionUses: 13
    functionsReached:
    - black.nodes.is_yield
    - <builtin>.len
    - black.nodes.is_name_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 329
    functionName: black.brackets.max_delimiter_priority_in_atom
    functionSourceFile: black.brackets
    functionUses: 13
    functionsReached:
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.id
    - black.brackets.BracketTracker.mark
    - black.brackets.is_split_after_delimiter
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - <builtin>.max
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - black.nodes.is_vararg
    - <builtin>.isinstance
    - black.brackets.is_split_before_delimiter
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - c.leaves
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 643
    functionName: black.nodes.is_tuple_containing_walrus
    functionSourceFile: black.nodes
    functionUses: 13
    functionsReached:
    - <builtin>.any
    - <builtin>.len
    - black.nodes.unwrap_singleton_parenthesis
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 654
    functionName: black.nodes.is_tuple_containing_star
    functionSourceFile: black.nodes
    functionUses: 13
    functionsReached:
    - <builtin>.any
    - <builtin>.len
    - black.nodes.unwrap_singleton_parenthesis
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 665
    functionName: black.nodes.is_generator
    functionSourceFile: black.nodes
    functionUses: 13
    functionsReached:
    - <builtin>.any
    - <builtin>.len
    - black.nodes.unwrap_singleton_parenthesis
    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: middle.prefix.strip
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 983
    functionName: black.nodes.is_type_ignore_comment_string
    functionSourceFile: black.nodes
    functionUses: 20
    functionsReached:
    - black.nodes.is_type_comment_string
    - blib2to3.pytree.Leaf.value.startswith
    - value.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 889
    functionName: black.nodes.is_atom_with_invisible_parens
    functionSourceFile: black.nodes
    functionUses: 13
    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: middle.replace
    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: exclude.add
    functionSourceFile: <builtin>
    functionUses: 7
    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: line.bracket_tracker.max_delimiter_priority
    functionSourceFile: <builtin>
    functionUses: 7
    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: line.enumerate_with_length
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Tuple object at 0x7fcd0754fdf0>
    argNames:
    - opening
    - closing
    - leaves
    - brackets
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 676
    functionName: black.nodes.is_one_sequence_between
    functionSourceFile: black.nodes
    functionUses: 67
    functionsReached:
    - <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: 0
    functionLinenumber: -1
    functionName: inner_brackets.add
    functionSourceFile: <builtin>
    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: omit.add
    functionSourceFile: <builtin>
    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: omit.update
    functionSourceFile: <builtin>
    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: inner_brackets.clear
    functionSourceFile: <builtin>
    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: result.extend
    functionSourceFile: <builtin>
    functionUses: 18
    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: line.contains_multiline_strings
    functionSourceFile: <builtin>
    functionUses: 18
    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: line.clone
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fcd077b5640>
    argNames:
    - new_line
    - old_line
    - leaves
    - preformatted
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 791
    functionName: black.lines.append_leaves
    functionSourceFile: black.lines
    functionUses: 26
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - parent.insert_child
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - <builtin>.list
    - old_child.remove
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.replace_child
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.lines.Line.comments_after
    - black.nodes.is_simple_exponentiation.is_simple
    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: black.nodes
    functionSourceFile: black.nodes
    functionUses: 0
    functionsReached:
    - BRACKET.values
    - <builtin>.set
    - typing.TypeVar
    - BRACKET.keys
    - blib2to3.pygram.initialize
    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: blib2to3.pygram.initialize
    functionSourceFile: blib2to3
    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: typing.TypeVar
    functionSourceFile: typing
    functionUses: 5
    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: BRACKET.keys
    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: BRACKET.values
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 149
    functionName: black.nodes.Visitor.visit
    functionSourceFile: black.nodes
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - black.nodes.Visitor.visit
    - <builtin>.isinstance
    - blib2to3.pytree.type_repr
    - <builtin>.getattr
    - black.nodes.Visitor.visit_default
    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: blib2to3.pytree.type_repr
    functionSourceFile: blib2to3
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 173
    functionName: black.nodes.Visitor.visit_default
    functionSourceFile: black.nodes
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - black.nodes.Visitor.visit
    - <builtin>.isinstance
    - blib2to3.pytree.type_repr
    - <builtin>.getattr
    - black.nodes.Visitor.visit_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 80
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 113
    ICount: 1
    IfCount: 80
    argCount: 3
    argDefaultValues: []
    argNames:
    - leaf
    - complex_subscript
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 180
    functionName: black.nodes.whitespace
    functionSourceFile: black.nodes
    functionUses: 65
    functionsReached:
    - black.nodes.preceding_leaf
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.all
    - black.nodes.is_simple_exponentiation
    - black.nodes.is_vararg
    - black.nodes.parent_type
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.nodes.is_simple_exponentiation.is_simple
    - <builtin>.list
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 438
    functionName: black.nodes.preceding_leaf
    functionSourceFile: black.nodes
    functionUses: 69
    functionsReached:
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 472
    functionName: black.nodes.parent_type
    functionSourceFile: ''
    functionUses: 75
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 555
    functionName: black.nodes.is_simple_exponentiation
    functionSourceFile: black.nodes
    functionUses: 66
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - <builtin>.all
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fcd07e55130>
    argNames:
    - nl_count
    - form_feed
    - empty_line
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 431
    functionName: black.nodes.make_simple_prefix
    functionSourceFile: black.nodes
    functionUses: 41
    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: blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    functionSourceFile: blib2to3
    functionUses: 70
    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: blib2to3.pytree.Leaf.prev_sibling.leaves
    functionSourceFile: blib2to3
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - tokens
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 456
    functionName: black.nodes.prev_siblings_are
    functionSourceFile: black.nodes
    functionUses: 4
    functionsReached:
    - black.nodes.prev_siblings_are
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - ancestor
    - descendant
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 485
    functionName: black.nodes.child_towards
    functionSourceFile: black.nodes
    functionUses: 66
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - old_child
    - new_child
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 493
    functionName: black.nodes.replace_child
    functionSourceFile: black.nodes
    functionUses: 29
    functionsReached:
    - parent.insert_child
    - old_child.remove
    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: old_child.remove
    functionSourceFile: <builtin>
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 510
    functionName: black.nodes.container_of
    functionSourceFile: black.nodes
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 535
    functionName: black.nodes.first_leaf_of
    functionSourceFile: black.nodes
    functionUses: 21
    functionsReached:
    - black.nodes.first_leaf_of
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 558
    functionName: black.nodes.is_simple_exponentiation.is_simple
    functionSourceFile: black.nodes
    functionUses: 67
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.all
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1009
    functionName: black.nodes.unwrap_singleton_parenthesis
    functionSourceFile: black.nodes
    functionUses: 20
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcd070e5b20>
    argNames:
    - node
    - last
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 719
    functionName: black.nodes.is_simple_decorator_trailer
    functionSourceFile: black.nodes
    functionUses: 19
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 813
    functionName: black.nodes.is_fstring
    functionSourceFile: black.nodes
    functionUses: 35
    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: blib2to3.pytree.Leaf.get_lineno
    functionSourceFile: blib2to3
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: black.strings.has_triple_quotes
    functionSourceFile: black.strings
    functionUses: 42
    functionsReached:
    - blib2to3.pytree.Leaf.value.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 845
    functionName: black.nodes.is_function_or_class
    functionSourceFile: black.nodes
    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: node.prefix.strip
    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: child.prefix.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 907
    functionName: black.nodes.is_empty_par
    functionSourceFile: black.nodes
    functionUses: 13
    functionsReached:
    - black.nodes.is_empty_lpar
    - black.nodes.is_empty_rpar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 911
    functionName: black.nodes.is_empty_lpar
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 915
    functionName: black.nodes.is_empty_rpar
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 919
    functionName: black.nodes.is_import
    functionSourceFile: black.nodes
    functionUses: 0
    functionsReached:
    - <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: 90
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 933
    functionName: black.nodes.is_with_or_async_with_stmt
    functionSourceFile: black.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - leaf
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 960
    functionName: black.nodes.is_type_comment
    functionSourceFile: black.nodes
    functionUses: 67
    functionsReached:
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_comment_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 970
    functionName: black.nodes.is_type_comment_string
    functionSourceFile: black.nodes
    functionUses: 89
    functionsReached:
    - blib2to3.pytree.Leaf.value.startswith
    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: blib2to3.pytree.Leaf.value.startswith
    functionSourceFile: blib2to3
    functionUses: 90
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - leaf
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 974
    functionName: black.nodes.is_type_ignore_comment
    functionSourceFile: black.nodes
    functionUses: 6
    functionsReached:
    - black.nodes.is_type_comment_string
    - blib2to3.pytree.Leaf.value.startswith
    - value.split
    - black.nodes.is_type_ignore_comment_string
    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: value.split
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1069
    functionName: black.nodes.first_leaf
    functionSourceFile: black.nodes
    functionUses: 23
    functionsReached:
    - <builtin>.isinstance
    - black.nodes.first_leaf
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1079
    functionName: black.nodes.last_leaf
    functionSourceFile: black.nodes
    functionUses: 22
    functionsReached:
    - <builtin>.isinstance
    - black.nodes.last_leaf
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1089
    functionName: black.nodes.furthest_ancestor_with_last_leaf
    functionSourceFile: black.nodes
    functionUses: 19
    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: black.strings
    functionSourceFile: black.strings
    functionUses: 0
    functionsReached:
    - re.compile
    - functools.lru_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - regex
    - replacement
    - original
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: black.strings.sub_twice
    functionSourceFile: black.strings
    functionUses: 11
    functionsReached:
    - regex.sub
    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.sub
    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: blib2to3.pytree.Leaf.value.lstrip
    functionSourceFile: blib2to3
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: black.strings.lines_with_leading_tabs_expanded
    functionSourceFile: black.strings
    functionUses: 4
    functionsReached:
    - line.lstrip
    - lines.append
    - blib2to3.pytree.Leaf.value.endswith
    - blib2to3.pytree.Leaf.value.splitlines
    - <builtin>.len
    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: line.lstrip
    functionSourceFile: <builtin>
    functionUses: 5
    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: 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: blib2to3.pytree.Leaf.value.endswith
    functionSourceFile: blib2to3
    functionUses: 5
    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: trimmed.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: black.strings.assert_is_leaf_string
    functionSourceFile: black.strings
    functionUses: 17
    functionsReached:
    - <builtin>.max
    - <builtin>.set
    - <builtin>.min
    - blib2to3.pytree.Leaf.value.find
    - <builtin>.len
    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: prefix.append
    functionSourceFile: <builtin>
    functionUses: 15
    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: blib2to3.pytree.Leaf.value.find
    functionSourceFile: blib2to3
    functionUses: 20
    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: STRING_PREFIX_RE.match
    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: orig_prefix.replace
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pattern
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: black.strings._cached_compile
    functionSourceFile: black.strings
    functionUses: 11
    functionsReached:
    - re.compile
    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: prefix.casefold
    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: unescaped_new_quote.search
    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: re.findall
    functionSourceFile: re
    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: body.count
    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: new_body.count
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 2
    IfCount: 9
    argCount: 3
    argDefaultValues: []
    argNames:
    - quote
    - middles
    - is_raw_fstring
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 242
    functionName: black.strings.normalize_fstring_quotes
    functionSourceFile: black.strings
    functionUses: 0
    functionsReached:
    - regex.sub
    - middle.value.count
    - black.strings.sub_twice
    - re.compile
    - unescaped_new_quote.search
    - <builtin>.zip
    - new_segments.append
    - new_segment.count
    - black.strings._cached_compile
    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: new_segments.append
    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>.zip
    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: middle.value.count
    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: new_segment.count
    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: prefix.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - m
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 314
    functionName: black.strings.normalize_unicode_escape_sequences.replace
    functionSourceFile: black.strings
    functionUses: 0
    functionsReached:
    - m.groupdict
    - <builtin>.len
    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: m.groupdict
    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: re.sub
    functionSourceFile: re
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - char
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 339
    functionName: black.strings.char_width
    functionSourceFile: black.strings
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - <builtin>.ord
    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>.ord
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - line_str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 365
    functionName: black.strings.str_width
    functionSourceFile: black.strings
    functionUses: 29
    functionsReached:
    - <builtin>.len
    - <builtin>.sum
    - line_str.isascii
    - <builtin>.map
    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: line_str.isascii
    functionSourceFile: <builtin>
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - line_str
    - max_width
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 378
    functionName: black.strings.count_chars_in_width
    functionSourceFile: black.strings
    functionUses: 5
    functionsReached:
    - black.strings.char_width
    - <builtin>.len
    - <builtin>.enumerate
    - <builtin>.ord
    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: black._width_table
    functionSourceFile: black._width_table
    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: black.trans
    functionSourceFile: black.trans
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - err_msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: black.trans.TErr
    functionSourceFile: black.trans
    functionUses: 12
    functionsReached:
    - black.rusty.Err.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: black.rusty.Err.__init__
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - index
    - kind
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 82
    functionName: black.trans.hug_power_op.is_simple_lookup
    functionSourceFile: black.trans
    functionUses: 21
    functionsReached:
    - chain.append
    - black.trans.handle_is_simple_lookup_forward
    - black.trans.handle_is_simple_look_up_prev
    - <builtin>.len
    - black.trans.is_expression_chained
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - index
    - disallowed
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 138
    functionName: black.trans.handle_is_simple_look_up_prev
    functionSourceFile: black.trans
    functionUses: 22
    functionsReached:
    - chain.append
    - <builtin>.len
    - black.trans.is_expression_chained
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - index
    - disallowed
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: black.trans.handle_is_simple_lookup_forward
    functionSourceFile: black.trans
    functionUses: 22
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - index
    - kind
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 93
    functionName: black.trans.hug_power_op.is_simple_operand
    functionSourceFile: black.trans
    functionUses: 20
    functionsReached:
    - chain.append
    - black.trans.handle_is_simple_lookup_forward
    - black.trans.handle_is_simple_look_up_prev
    - black.trans.hug_power_op.is_simple_lookup
    - <builtin>.len
    - black.trans.is_expression_chained
    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: leaf.clone
    functionSourceFile: <builtin>
    functionUses: 20
    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: new_line.append
    functionSourceFile: <builtin>
    functionUses: 25
    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: chain.append
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - chained_leaves
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 188
    functionName: black.trans.is_expression_chained
    functionSourceFile: black.trans
    functionUses: 23
    functionsReached:
    - <builtin>.len
    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: black.trans.StringTransformer
    functionSourceFile: black.trans
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    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: abc.abstractmethod
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 245
    functionName: black.trans.StringTransformer.do_match
    functionSourceFile: black.trans
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - line
    - string_indices
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 258
    functionName: black.trans.StringTransformer.do_transform
    functionSourceFile: black.trans
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - line
    - _features
    - _mode
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 278
    functionName: black.trans.StringTransformer.__call__
    functionSourceFile: black.trans
    functionUses: 0
    functionsReached:
    - black.trans.StringMerger.do_match
    - black.trans.StringSplitter._normalize_f_string
    - subscript_start.pre_order
    - first_line.append
    - black.strings.assert_is_leaf_string
    - <builtin>.sorted
    - prefix.replace
    - custom_splits.append
    - blib2to3.pytree.Leaf
    - black.trans.StringSplitter._get_string_operator_leaves
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.nodes.is_empty_lpar
    - line.comments.copy
    - black.trans.StringParenStripper._transform_to_new_line
    - <builtin>.bool
    - string_and_rpar_indices.extend
    - line.comments_after
    - set_of_prefixes.add
    - black.trans.StringParser.__init__
    - black.nodes.is_vararg
    - black.trans.insert_str_child_factory
    - black.lines.Line.append_comment
    - black.trans.iter_fexpr_spans
    - black.trans.StringSplitter._get_break_idx.passes_all_checks
    - black.trans.StringMerger.do_transform
    - black.trans.StringMerger._remove_backslash_line_continuation_chars
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.enumerate
    - new_body.count
    - black.trans.is_valid_index_factory
    - <builtin>.range
    - black.strings.char_width
    - next_line.append
    - <builtin>.iter
    - left_leaves.index
    - blib2to3.pytree.Leaf.value.lstrip
    - re.findall
    - prefix.casefold
    - black.trans.StringSplitter._get_break_idx
    - black.nodes.get_annotation_type
    - body.count
    - string_leaf.remove
    - atom_node.insert_child
    - string_indices.append
    - black.trans._toggle_fexpr_quotes
    - prefix_tracker.append
    - black.trans.StringSplitter.do_transform
    - re.compile
    - right_leaves.pop
    - illegal_indices.update
    - custom_splits.pop
    - last_leaf.parent.leaves
    - black.trans.StringSplitter._iter_nameescape_slices
    - black.nodes.is_one_sequence_between
    - string_parent.insert_child
    - <builtin>.list
    - black.lines.Line.append
    - old_child.remove
    - black.trans.StringMerger._validate_msg
    - temp_string.find
    - black.nodes.is_empty_rpar
    - black.strings.count_chars_in_width
    - <builtin>.tuple
    - black.rusty.Ok.__init__
    - parts.append
    - black.trans.StringSplitter._iter_fexpr_slices
    - black.strings._cached_compile
    - black.trans.StringParenStripper.do_transform
    - black.trans.StringSplitter.do_transform.maybe_append_string_operators
    - black.trans.CustomSplitMapMixin.pop_custom_splits
    - black.strings.get_string_prefix
    - black.trans.StringMerger._merge_string_group
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - black.trans.CustomSplitMapMixin._get_key
    - black.trans.TErr
    - <builtin>.any
    - regex.sub
    - line_str.isascii
    - black.comments.contains_pragma_comment
    - comment.value.startswith
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - line.clone
    - parent.insert_child
    - black.trans.StringParenWrapper.do_transform
    - new_line.append
    - prefix.append
    - black.nodes.whitespace
    - <builtin>.ord
    - black.lines.Line.remove_trailing_comma
    - black.strings.str_width
    - black.strings.sub_twice
    - <builtin>.all
    - black.trans.StringSplitter.do_transform.more_splits_should_be_made
    - leaves_to_steal_comments_from.append
    - black.rusty.Err.__init__
    - black.rusty.Err.err
    - black.trans.StringParser.parse
    - black.trans.StringParser._next_state
    - new_string_leaf.value.replace
    - last_line.append
    - black.trans.fstring_contains_expr
    - string_op_leaves.append
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - blib2to3.pytree.Leaf.value.find
    - left_leaves.pop
    - black.nodes.is_simple_exponentiation.is_simple
    - blib2to3.pytree.Leaf.value.replace
    - re.sub
    - black.trans.insert_str_child_factory.insert_str_child
    - black.trans.is_valid_index_factory.is_valid_index
    - black.trans.StringMerger._merge_one_string_group.make_naked
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.nodes.parent_type
    - black.trans.StringSplitter._get_break_idx.breaks_unsplittable_expression
    - <builtin>.map
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - black.nodes.is_part_of_annotation
    - black.nodes.is_empty_par
    - re.search
    - black.trans.StringMerger._merge_one_string_group
    - black.trans.StringParenStripper.do_match
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - black.trans.StringSplitter._get_illegal_split_indices
    - new_line.comments.pop
    - unescaped_new_quote.search
    - <builtin>.sum
    - new_line.comments.setdefault
    - black.trans.CustomSplitMapMixin.add_custom_splits
    - <builtin>.id
    - stack.pop
    - black.trans.StringSplitter.do_transform.max_last_string_column
    - <builtin>.set
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.lines.Line.clone
    - black.strings.normalize_string_quotes
    - indices_to_transform.append
    - black.trans.StringSplitter._maybe_normalize_string_quotes
    - black.rusty.Ok.ok
    - stack.append
    - black.nodes.replace_child
    - black.lines.Line.comments_after
    - string_line_results.append
    linkageType: pythonLinkage
    raised:
    - CannotTransform
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 425
    functionName: black.trans.StringMerger.do_match
    functionSourceFile: black.trans
    functionUses: 1
    functionsReached:
    - <builtin>.id
    - black.trans.is_valid_index_factory
    - black.trans.is_valid_index_factory.is_valid_index
    - string_indices.append
    - black.rusty.Ok.__init__
    - black.nodes.get_annotation_type
    - black.lines.Line.comments_after
    - black.nodes.is_part_of_annotation
    - <builtin>.len
    - black.rusty.Err.__init__
    - black.trans.TErr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 1
    IfCount: 10
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 880
    functionName: black.trans.StringParenStripper.do_match
    functionSourceFile: black.trans
    functionUses: 1
    functionsReached:
    - black.trans.StringParser.parse
    - black.trans.StringParser._next_state
    - black.trans.is_valid_index_factory
    - black.trans.is_valid_index_factory.is_valid_index
    - black.nodes.is_empty_lpar
    - string_indices.append
    - black.nodes.is_empty_rpar
    - black.rusty.Ok.__init__
    - black.trans.StringParser.__init__
    - black.nodes.is_empty_par
    - <builtin>.len
    - black.rusty.Err.__init__
    - black.trans.TErr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: black.rusty.Err.err
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 16
    functionName: black.rusty.Ok.ok
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 21
    IfCount: 12
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - line
    - string_indices
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 2209
    functionName: black.trans.StringParenWrapper.do_transform
    functionSourceFile: black.trans
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - black.trans.insert_str_child_factory.insert_str_child
    - subscript_start.pre_order
    - first_line.append
    - black.trans.is_valid_index_factory.is_valid_index
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - line.clone
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - parent.insert_child
    - string_leaf.remove
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.lines.append_leaves
    - <builtin>.bool
    - line.comments_after
    - right_leaves.pop
    - black.nodes.is_vararg
    - black.trans.insert_str_child_factory
    - last_leaf.parent.leaves
    - black.nodes.whitespace
    - string_parent.insert_child
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - old_child.remove
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - black.rusty.Ok.__init__
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - leaves_to_steal_comments_from.append
    - <builtin>.len
    - <builtin>.enumerate
    - black.trans.is_valid_index_factory
    - last_line.append
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.replace_child
    - left_leaves.index
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - left_leaves.pop
    - black.lines.Line.comments_after
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - line
    - string_indices
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 987
    functionName: black.trans.StringParenStripper.do_transform
    functionSourceFile: black.trans
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - <builtin>.sorted
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - line.clone
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - black.nodes.is_empty_par
    - parent.insert_child
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.lines.append_leaves
    - black.nodes.is_empty_lpar
    - black.trans.StringParenStripper._transform_to_new_line
    - line.comments.copy
    - string_and_rpar_indices.extend
    - <builtin>.bool
    - new_line.comments.pop
    - line.comments_after
    - black.trans.StringParser.__init__
    - black.nodes.is_vararg
    - new_line.append
    - new_line.comments.setdefault
    - last_leaf.parent.leaves
    - black.nodes.whitespace
    - black.nodes.is_one_sequence_between
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - <builtin>.list
    - old_child.remove
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - black.nodes.is_empty_rpar
    - <builtin>.all
    - black.rusty.Ok.__init__
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - black.rusty.Err.__init__
    - black.trans.StringParser.parse
    - black.trans.StringParser._next_state
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.replace_child
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.lines.Line.comments_after
    - black.nodes.is_simple_exponentiation.is_simple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - line
    - string_indices
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 474
    functionName: black.trans.StringMerger.do_transform
    functionSourceFile: black.trans
    functionUses: 1
    functionsReached:
    - subscript_start.pre_order
    - black.strings.assert_is_leaf_string
    - custom_splits.append
    - blib2to3.pytree.Leaf
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - line.comments.copy
    - <builtin>.bool
    - set_of_prefixes.add
    - black.nodes.is_vararg
    - black.lines.Line.append_comment
    - black.trans.iter_fexpr_spans
    - black.trans.StringMerger._remove_backslash_line_continuation_chars
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.enumerate
    - new_body.count
    - black.trans.is_valid_index_factory
    - <builtin>.range
    - blib2to3.pytree.Leaf.value.lstrip
    - re.findall
    - prefix.casefold
    - body.count
    - atom_node.insert_child
    - prefix_tracker.append
    - black.trans._toggle_fexpr_quotes
    - re.compile
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - old_child.remove
    - black.trans.StringMerger._validate_msg
    - temp_string.find
    - <builtin>.tuple
    - black.rusty.Ok.__init__
    - parts.append
    - black.strings._cached_compile
    - black.strings.get_string_prefix
    - black.trans.StringMerger._merge_string_group
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - black.trans.CustomSplitMapMixin._get_key
    - black.trans.TErr
    - <builtin>.any
    - regex.sub
    - black.comments.contains_pragma_comment
    - comment.value.startswith
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - prefix.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - black.strings.sub_twice
    - <builtin>.all
    - black.rusty.Err.__init__
    - black.rusty.Err.err
    - new_string_leaf.value.replace
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - blib2to3.pytree.Leaf.value.find
    - black.nodes.is_simple_exponentiation.is_simple
    - blib2to3.pytree.Leaf.value.replace
    - re.sub
    - black.trans.is_valid_index_factory.is_valid_index
    - black.trans.StringMerger._merge_one_string_group.make_naked
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.nodes.parent_type
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - re.search
    - black.trans.StringMerger._merge_one_string_group
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - unescaped_new_quote.search
    - black.trans.CustomSplitMapMixin.add_custom_splits
    - <builtin>.id
    - stack.pop
    - <builtin>.set
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.lines.Line.clone
    - black.strings.normalize_string_quotes
    - indices_to_transform.append
    - black.rusty.Ok.ok
    - black.nodes.replace_child
    - stack.append
    - black.lines.Line.comments_after
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 19
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - line
    - string_indices
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1496
    functionName: black.trans.StringSplitter.do_transform
    functionSourceFile: black.trans
    functionUses: 1
    functionsReached:
    - black.trans.StringSplitter._normalize_f_string
    - subscript_start.pre_order
    - black.strings.assert_is_leaf_string
    - prefix.replace
    - blib2to3.pytree.Leaf
    - black.trans.StringSplitter._get_string_operator_leaves
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - line.comments.copy
    - <builtin>.bool
    - black.nodes.is_vararg
    - black.trans.insert_str_child_factory
    - black.lines.Line.append_comment
    - black.trans.iter_fexpr_spans
    - black.trans.StringSplitter._get_break_idx.passes_all_checks
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.enumerate
    - new_body.count
    - black.trans.is_valid_index_factory
    - black.strings.char_width
    - <builtin>.range
    - next_line.append
    - <builtin>.iter
    - blib2to3.pytree.Leaf.value.lstrip
    - re.findall
    - prefix.casefold
    - black.trans.StringSplitter._get_break_idx
    - body.count
    - string_leaf.remove
    - re.compile
    - illegal_indices.update
    - custom_splits.pop
    - last_leaf.parent.leaves
    - black.trans.StringSplitter._iter_nameescape_slices
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - string_parent.insert_child
    - black.lines.Line.append
    - old_child.remove
    - black.strings.count_chars_in_width
    - black.rusty.Ok.__init__
    - black.trans.StringSplitter._iter_fexpr_slices
    - black.strings._cached_compile
    - black.trans.StringSplitter.do_transform.maybe_append_string_operators
    - black.trans.CustomSplitMapMixin.pop_custom_splits
    - black.strings.get_string_prefix
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - black.trans.CustomSplitMapMixin._get_key
    - black.trans.TErr
    - <builtin>.any
    - regex.sub
    - line_str.isascii
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - line.clone
    - parent.insert_child
    - new_line.append
    - prefix.append
    - black.nodes.whitespace
    - <builtin>.ord
    - black.lines.Line.remove_trailing_comma
    - black.strings.str_width
    - black.strings.sub_twice
    - <builtin>.all
    - black.trans.StringSplitter.do_transform.more_splits_should_be_made
    - black.rusty.Err.__init__
    - last_line.append
    - black.trans.fstring_contains_expr
    - string_op_leaves.append
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - blib2to3.pytree.Leaf.value.find
    - black.nodes.is_simple_exponentiation.is_simple
    - re.sub
    - black.trans.insert_str_child_factory.insert_str_child
    - black.trans.is_valid_index_factory.is_valid_index
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.nodes.parent_type
    - black.trans.StringSplitter._get_break_idx.breaks_unsplittable_expression
    - <builtin>.map
    - black.nodes.child_towards
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - black.trans.StringSplitter._get_illegal_split_indices
    - unescaped_new_quote.search
    - <builtin>.sum
    - <builtin>.id
    - stack.pop
    - black.trans.StringSplitter.do_transform.max_last_string_column
    - <builtin>.set
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.strings.normalize_string_quotes
    - black.trans.StringSplitter._maybe_normalize_string_quotes
    - black.nodes.replace_child
    - stack.append
    - black.lines.Line.comments_after
    - string_line_results.append
    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: black.trans.CustomSplitMapMixin
    functionSourceFile: black.trans
    functionUses: 0
    functionsReached:
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 357
    functionName: black.trans.CustomSplitMapMixin._get_key
    functionSourceFile: black.trans
    functionUses: 10
    functionsReached:
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - string
    - custom_splits
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 365
    functionName: black.trans.CustomSplitMapMixin.add_custom_splits
    functionSourceFile: black.trans
    functionUses: 4
    functionsReached:
    - black.trans.CustomSplitMapMixin._get_key
    - <builtin>.id
    - <builtin>.tuple
    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>.tuple
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 376
    functionName: black.trans.CustomSplitMapMixin.pop_custom_splits
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - black.trans.CustomSplitMapMixin._get_key
    - <builtin>.list
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 396
    functionName: black.trans.CustomSplitMapMixin.has_custom_splits
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - black.trans.CustomSplitMapMixin._get_key
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - seq
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2536
    functionName: black.trans.is_valid_index_factory
    functionSourceFile: ''
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - idx
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2552
    functionName: black.trans.is_valid_index_factory.is_valid_index
    functionSourceFile: black.trans
    functionUses: 21
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 417
    functionName: black.lines.Line.comments_after
    functionSourceFile: black.lines
    functionUses: 30
    functionsReached:
    - <builtin>.id
    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: string_indices.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 13
    functionName: black.rusty.Ok.__init__
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - line
    - string_indices
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 505
    functionName: black.trans.StringMerger._remove_backslash_line_continuation_chars
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - black.nodes.parent_type
    - black.trans.TErr
    - black.lines.Line.has_magic_trailing_comma
    - black.strings.has_triple_quotes
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - parent.insert_child
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.lines.append_leaves
    - line.comments.copy
    - <builtin>.bool
    - black.nodes.is_vararg
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - black.nodes.whitespace
    - black.lines.Line.append
    - black.lines.Line.append_comment
    - <builtin>.list
    - old_child.remove
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - black.rusty.Ok.__init__
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - black.rusty.Err.__init__
    - black.lines.Line.clone
    - indices_to_transform.append
    - new_string_leaf.value.replace
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.replace_child
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.lines.Line.comments_after
    - black.nodes.is_simple_exponentiation.is_simple
    - blib2to3.pytree.Leaf.value.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - line
    - string_indices
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 546
    functionName: black.trans.StringMerger._merge_string_group
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - subscript_start.pre_order
    - black.strings.assert_is_leaf_string
    - custom_splits.append
    - blib2to3.pytree.Leaf
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - <builtin>.bool
    - set_of_prefixes.add
    - black.nodes.is_vararg
    - black.lines.Line.append_comment
    - black.trans.iter_fexpr_spans
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.enumerate
    - new_body.count
    - black.trans.is_valid_index_factory
    - <builtin>.range
    - blib2to3.pytree.Leaf.value.lstrip
    - re.findall
    - prefix.casefold
    - body.count
    - atom_node.insert_child
    - prefix_tracker.append
    - black.trans._toggle_fexpr_quotes
    - re.compile
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - <builtin>.list
    - black.lines.Line.append
    - old_child.remove
    - black.trans.StringMerger._validate_msg
    - temp_string.find
    - <builtin>.tuple
    - black.rusty.Ok.__init__
    - parts.append
    - black.strings._cached_compile
    - black.strings.get_string_prefix
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - black.trans.CustomSplitMapMixin._get_key
    - black.trans.TErr
    - <builtin>.any
    - regex.sub
    - black.comments.contains_pragma_comment
    - comment.value.startswith
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - parent.insert_child
    - prefix.append
    - black.nodes.whitespace
    - black.lines.Line.remove_trailing_comma
    - black.strings.sub_twice
    - <builtin>.all
    - black.rusty.Err.__init__
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - blib2to3.pytree.Leaf.value.find
    - black.nodes.is_simple_exponentiation.is_simple
    - blib2to3.pytree.Leaf.value.replace
    - re.sub
    - black.trans.is_valid_index_factory.is_valid_index
    - black.trans.StringMerger._merge_one_string_group.make_naked
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.nodes.parent_type
    - black.strings.has_triple_quotes
    - black.nodes.child_towards
    - re.search
    - black.trans.StringMerger._merge_one_string_group
    - <builtin>.str
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.append_leaves
    - unescaped_new_quote.search
    - black.trans.CustomSplitMapMixin.add_custom_splits
    - <builtin>.id
    - stack.pop
    - <builtin>.set
    - black.nodes.is_type_comment
    - <builtin>.len
    - black.lines.Line.clone
    - black.strings.normalize_string_quotes
    - black.nodes.replace_child
    - stack.append
    - black.lines.Line.comments_after
    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: indices_to_transform.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 469
    functionName: black.lines.Line.clone
    functionSourceFile: ''
    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: line.comments.copy
    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: new_string_leaf.value.replace
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 2
    argDefaultValues: []
    argNames:
    - line
    - string_idx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 756
    functionName: black.trans.StringMerger._validate_msg
    functionSourceFile: black.trans
    functionUses: 3
    functionsReached:
    - black.comments.contains_pragma_comment
    - black.trans.is_valid_index_factory.is_valid_index
    - comment.value.startswith
    - black.strings.assert_is_leaf_string
    - <builtin>.max
    - <builtin>.min
    - black.trans.TErr
    - black.strings.has_triple_quotes
    - set_of_prefixes.add
    - prefix.append
    - <builtin>.id
    - black.rusty.Ok.__init__
    - <builtin>.set
    - <builtin>.len
    - black.rusty.Err.__init__
    - black.strings.get_string_prefix
    - black.trans.is_valid_index_factory
    - blib2to3.pytree.Leaf.value.find
    - blib2to3.pytree.Leaf.value.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - LL
    - string_idx
    - is_valid_index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 601
    functionName: black.trans.StringMerger._merge_one_string_group
    functionSourceFile: black.trans
    functionUses: 3
    functionsReached:
    - re.sub
    - <builtin>.any
    - regex.sub
    - black.trans.is_valid_index_factory.is_valid_index
    - re.findall
    - prefix.casefold
    - black.trans.StringMerger._merge_one_string_group.make_naked
    - black.strings.assert_is_leaf_string
    - <builtin>.max
    - <builtin>.min
    - custom_splits.append
    - body.count
    - blib2to3.pytree.Leaf
    - parent.insert_child
    - atom_node.insert_child
    - re.search
    - <builtin>.str
    - prefix_tracker.append
    - black.trans._toggle_fexpr_quotes
    - <builtin>.bool
    - re.compile
    - unescaped_new_quote.search
    - prefix.append
    - old_child.remove
    - black.trans.iter_fexpr_spans
    - black.trans.CustomSplitMapMixin.add_custom_splits
    - <builtin>.id
    - black.strings.sub_twice
    - temp_string.find
    - stack.pop
    - <builtin>.tuple
    - parts.append
    - <builtin>.set
    - black.strings._cached_compile
    - <builtin>.len
    - black.strings.normalize_string_quotes
    - new_body.count
    - black.strings.get_string_prefix
    - <builtin>.range
    - black.nodes.replace_child
    - stack.append
    - blib2to3.pytree.Leaf.value.find
    - black.trans.CustomSplitMapMixin._get_key
    - blib2to3.pytree.Leaf.value.replace
    - blib2to3.pytree.Leaf.value.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - string
    - string_prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 625
    functionName: black.trans.StringMerger._merge_one_string_group.make_naked
    functionSourceFile: black.trans
    functionUses: 4
    functionsReached:
    - <builtin>.any
    - re.sub
    - stack.pop
    - black.trans._toggle_fexpr_quotes
    - re.search
    - parts.append
    - black.strings.assert_is_leaf_string
    - stack.append
    - <builtin>.set
    - <builtin>.min
    - blib2to3.pytree.Leaf.value.find
    - <builtin>.max
    - <builtin>.len
    - black.trans.iter_fexpr_spans
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 3
    IfCount: 9
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1313
    functionName: black.trans.iter_fexpr_spans
    functionSourceFile: black.trans
    functionUses: 12
    functionsReached:
    - stack.append
    - <builtin>.len
    - stack.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - fstring
    - old_quote
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1364
    functionName: black.trans._toggle_fexpr_quotes
    functionSourceFile: black.trans
    functionUses: 5
    functionsReached:
    - stack.pop
    - parts.append
    - stack.append
    - <builtin>.len
    - black.trans.iter_fexpr_spans
    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: prefix_tracker.append
    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: temp_string.find
    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: custom_splits.append
    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: blib2to3.pytree.Leaf.value.replace
    functionSourceFile: blib2to3
    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: atom_node.insert_child
    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: set_of_prefixes.add
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - comment_list
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 784
    functionName: black.comments.contains_pragma_comment
    functionSourceFile: black.comments
    functionUses: 6
    functionsReached:
    - comment.value.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2401
    functionName: black.trans.StringParser.__init__
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - leaves
    - string_idx
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2405
    functionName: black.trans.StringParser.parse
    functionSourceFile: black.trans
    functionUses: 9
    functionsReached:
    - black.trans.StringParser._next_state
    - black.nodes.is_empty_lpar
    - black.nodes.is_empty_rpar
    - black.nodes.is_empty_par
    - <builtin>.len
    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: string_and_rpar_indices.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 7
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - line
    - string_and_rpar_indices
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1014
    functionName: black.trans.StringParenStripper._transform_to_new_line
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - <builtin>.any
    - subscript_start.pre_order
    - black.nodes.is_simple_exponentiation
    - <builtin>.sorted
    - black.nodes.parent_type
    - black.lines.Line.has_magic_trailing_comma
    - line.clone
    - blib2to3.pytree.Leaf
    - black.nodes.child_towards
    - parent.insert_child
    - blib2to3.pytree.Leaf.value.strip
    - black.lines.Line.is_complex_subscript
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.lines.append_leaves
    - line.comments.copy
    - <builtin>.bool
    - new_line.comments.pop
    - black.nodes.is_vararg
    - new_line.append
    - new_line.comments.setdefault
    - last_leaf.parent.leaves
    - black.nodes.is_one_sequence_between
    - black.nodes.whitespace
    - black.lines.Line.append
    - old_child.remove
    - <builtin>.list
    - black.lines.Line.append_comment
    - black.lines.Line.remove_trailing_comma
    - <builtin>.id
    - <builtin>.all
    - black.nodes.is_type_comment
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.nodes.replace_child
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - black.lines.Line.comments_after
    - black.nodes.is_simple_exponentiation.is_simple
    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: new_line.comments.pop
    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: new_line.comments.setdefault
    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: 1
    functionLinenumber: -1
    functionName: black.trans.BaseStringSplitter
    functionSourceFile: black.trans
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1088
    functionName: black.trans.BaseStringSplitter.do_splitter_match
    functionSourceFile: black.trans
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1098
    functionName: black.trans.BaseStringSplitter.do_match
    functionSourceFile: black.trans
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - line_str.isascii
    - black.comments.contains_pragma_comment
    - black.trans.is_valid_index_factory.is_valid_index
    - comment.value.startswith
    - black.nodes.parent_type
    - black.trans.StringSplitter.do_splitter_match
    - <builtin>.map
    - black.strings.has_triple_quotes
    - black.nodes.is_empty_par
    - black.trans.StringParenWrapper._else_match
    - <builtin>.str
    - black.trans.StringParenWrapper._assign_match
    - black.nodes.is_empty_lpar
    - line.comments_after
    - black.trans.StringParser.__init__
    - <builtin>.sum
    - black.trans.StringParenWrapper._dict_or_lambda_match
    - black.trans.CustomSplitMapMixin.has_custom_splits
    - black.trans.BaseStringSplitter._validate
    - <builtin>.ord
    - <builtin>.id
    - black.strings.str_width
    - black.nodes.is_empty_rpar
    - black.strings.count_chars_in_width
    - black.rusty.Ok.__init__
    - black.trans.StringParenWrapper.do_splitter_match
    - black.trans.StringParenWrapper._return_match
    - blib2to3.pytree.Leaf.value.lstrip
    - black.trans.BaseStringSplitter._prefer_paren_wrap_match
    - <builtin>.len
    - <builtin>.enumerate
    - black.rusty.Err.__init__
    - black.trans.StringParser.parse
    - black.trans.StringParenWrapper._assert_match
    - black.trans.StringParser._next_state
    - black.trans.BaseStringSplitter._get_max_string_length
    - black.trans.is_valid_index_factory
    - black.strings.char_width
    - black.rusty.Ok.ok
    - black.trans.StringParenWrapper._trailing_comma_tuple_match
    - <builtin>.isinstance
    - <builtin>.reversed
    - black.trans.CustomSplitMapMixin._get_key
    - black.trans.TErr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1967
    functionName: black.trans.StringParenWrapper.do_splitter_match
    functionSourceFile: black.trans
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - line_str.isascii
    - black.trans.is_valid_index_factory.is_valid_index
    - black.nodes.parent_type
    - <builtin>.map
    - black.nodes.is_empty_par
    - black.trans.StringParenWrapper._else_match
    - black.trans.StringParenWrapper._assign_match
    - black.nodes.is_empty_lpar
    - black.trans.StringParser.__init__
    - <builtin>.sum
    - black.trans.StringParenWrapper._dict_or_lambda_match
    - black.trans.CustomSplitMapMixin.has_custom_splits
    - black.strings.str_width
    - <builtin>.id
    - black.nodes.is_empty_rpar
    - black.rusty.Ok.__init__
    - black.trans.StringParenWrapper._return_match
    - black.trans.BaseStringSplitter._prefer_paren_wrap_match
    - <builtin>.len
    - <builtin>.enumerate
    - black.rusty.Err.__init__
    - black.trans.StringParser.parse
    - black.trans.StringParenWrapper._assert_match
    - black.trans.StringParser._next_state
    - black.trans.is_valid_index_factory
    - black.trans.StringParenWrapper._trailing_comma_tuple_match
    - black.trans.CustomSplitMapMixin._get_key
    - black.trans.TErr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 0
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1428
    functionName: black.trans.StringSplitter.do_splitter_match
    functionSourceFile: black.trans
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - black.trans.StringParser.parse
    - black.trans.StringParser._next_state
    - black.trans.BaseStringSplitter._prefer_paren_wrap_match
    - black.trans.is_valid_index_factory
    - black.trans.is_valid_index_factory.is_valid_index
    - black.nodes.is_empty_lpar
    - black.nodes.is_empty_rpar
    - black.rusty.Ok.__init__
    - black.trans.StringParser.__init__
    - black.nodes.parent_type
    - black.nodes.is_empty_par
    - <builtin>.len
    - black.rusty.Err.__init__
    - black.trans.TErr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - line
    - string_idx
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1115
    functionName: black.trans.BaseStringSplitter._validate
    functionSourceFile: black.trans
    functionUses: 1
    functionsReached:
    - black.comments.contains_pragma_comment
    - black.trans.is_valid_index_factory.is_valid_index
    - comment.value.startswith
    - black.strings.has_triple_quotes
    - <builtin>.str
    - line.comments_after
    - <builtin>.ord
    - <builtin>.id
    - black.strings.count_chars_in_width
    - black.rusty.Ok.__init__
    - blib2to3.pytree.Leaf.value.lstrip
    - <builtin>.len
    - <builtin>.enumerate
    - black.rusty.Err.__init__
    - black.trans.BaseStringSplitter._get_max_string_length
    - black.trans.is_valid_index_factory
    - black.strings.char_width
    - <builtin>.reversed
    - black.trans.TErr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 1
    IfCount: 13
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - line
    - string_idx
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1158
    functionName: black.trans.BaseStringSplitter._get_max_string_length
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - <builtin>.str
    - black.trans.is_valid_index_factory
    - black.trans.is_valid_index_factory.is_valid_index
    - black.strings.char_width
    - black.strings.count_chars_in_width
    - line.comments_after
    - <builtin>.reversed
    - <builtin>.len
    - <builtin>.enumerate
    - <builtin>.ord
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - LL
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1268
    functionName: black.trans.BaseStringSplitter._prefer_paren_wrap_match
    functionSourceFile: black.trans
    functionUses: 3
    functionsReached:
    - black.nodes.parent_type
    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: stack.append
    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: stack.pop
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1360
    functionName: black.trans.fstring_contains_expr
    functionSourceFile: black.trans
    functionUses: 3
    functionsReached:
    - <builtin>.any
    - stack.pop
    - stack.append
    - <builtin>.len
    - black.trans.iter_fexpr_spans
    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: parts.append
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - string_leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2475
    functionName: black.trans.insert_str_child_factory
    functionSourceFile: black.trans
    functionUses: 3
    functionsReached:
    - string_leaf.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaves
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1897
    functionName: black.trans.StringSplitter._get_string_operator_leaves
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - <builtin>.str
    - <builtin>.list
    - string_op_leaves.append
    - blib2to3.pytree.Leaf
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - new_line
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1530
    functionName: black.trans.StringSplitter.do_transform.maybe_append_string_operators
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - black.nodes.replace_child
    - new_line.append
    - parent.insert_child
    - old_child.remove
    - <builtin>.enumerate
    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: 1547
    functionName: black.trans.StringSplitter.do_transform.max_last_string_column
    functionSourceFile: black.trans
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1588
    functionName: black.trans.StringSplitter.do_transform.more_splits_should_be_made
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - black.strings.str_width
    - line_str.isascii
    - black.trans.StringSplitter.do_transform.max_last_string_column
    - <builtin>.sum
    - <builtin>.map
    - <builtin>.len
    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: custom_splits.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - string
    - max_break_idx
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1781
    functionName: black.trans.StringSplitter._get_break_idx
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - black.trans.is_valid_index_factory.is_valid_index
    - black.strings.assert_is_leaf_string
    - <builtin>.max
    - <builtin>.min
    - black.trans.StringSplitter._get_break_idx.breaks_unsplittable_expression
    - black.trans.StringSplitter._get_illegal_split_indices
    - illegal_indices.update
    - prefix.append
    - black.trans.StringSplitter._iter_nameescape_slices
    - black.trans.iter_fexpr_spans
    - black.trans.StringSplitter._get_break_idx.passes_all_checks
    - stack.pop
    - <builtin>.set
    - black.trans.StringSplitter._iter_fexpr_slices
    - <builtin>.len
    - <builtin>.enumerate
    - black.strings.get_string_prefix
    - black.trans.is_valid_index_factory
    - <builtin>.range
    - <builtin>.iter
    - stack.append
    - blib2to3.pytree.Leaf.value.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - string
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1870
    functionName: black.trans.StringSplitter._normalize_f_string
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - re.sub
    - <builtin>.any
    - stack.pop
    - black.trans.fstring_contains_expr
    - black.strings.assert_is_leaf_string
    - <builtin>.set
    - <builtin>.min
    - <builtin>.max
    - blib2to3.pytree.Leaf.value.find
    - prefix.replace
    - stack.append
    - <builtin>.len
    - black.trans.iter_fexpr_spans
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - child
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2524
    functionName: black.trans.insert_str_child_factory.insert_str_child
    functionSourceFile: black.trans
    functionUses: 3
    functionsReached:
    - string_parent.insert_child
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1866
    functionName: black.trans.StringSplitter._maybe_normalize_string_quotes
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - <builtin>.str
    - black.strings.normalize_string_quotes
    - new_body.count
    - regex.sub
    - black.strings.sub_twice
    - re.findall
    - prefix.casefold
    - re.compile
    - unescaped_new_quote.search
    - blib2to3.pytree.Leaf.value.find
    - body.count
    - black.strings._cached_compile
    - <builtin>.len
    - blib2to3.pytree.Leaf.value.lstrip
    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: next_line.append
    functionSourceFile: <builtin>
    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: string_line_results.append
    functionSourceFile: <builtin>
    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: last_line.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1728
    functionName: black.trans.StringSplitter._iter_nameescape_slices
    functionSourceFile: black.trans
    functionUses: 4
    functionsReached:
    - <builtin>.enumerate
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1759
    functionName: black.trans.StringSplitter._iter_fexpr_slices
    functionSourceFile: black.trans
    functionUses: 4
    functionsReached:
    - black.strings.get_string_prefix
    - stack.pop
    - black.strings.assert_is_leaf_string
    - <builtin>.set
    - <builtin>.min
    - <builtin>.max
    - blib2to3.pytree.Leaf.value.find
    - stack.append
    - prefix.append
    - <builtin>.len
    - black.trans.iter_fexpr_spans
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1770
    functionName: black.trans.StringSplitter._get_illegal_split_indices
    functionSourceFile: black.trans
    functionUses: 3
    functionsReached:
    - black.strings.get_string_prefix
    - stack.pop
    - <builtin>.range
    - <builtin>.iter
    - black.strings.assert_is_leaf_string
    - <builtin>.set
    - <builtin>.min
    - <builtin>.max
    - blib2to3.pytree.Leaf.value.find
    - illegal_indices.update
    - black.trans.iter_fexpr_spans
    - black.trans.StringSplitter._iter_fexpr_slices
    - prefix.append
    - stack.append
    - black.trans.StringSplitter._iter_nameescape_slices
    - <builtin>.len
    - <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: 0
    functionLinenumber: -1
    functionName: illegal_indices.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - i
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1812
    functionName: black.trans.StringSplitter._get_break_idx.breaks_unsplittable_expression
    functionSourceFile: black.trans
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - i
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1820
    functionName: black.trans.StringSplitter._get_break_idx.passes_all_checks
    functionSourceFile: black.trans
    functionUses: 3
    functionsReached:
    - black.trans.is_valid_index_factory.is_valid_index
    - black.trans.StringSplitter._get_break_idx.breaks_unsplittable_expression
    - <builtin>.len
    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: prefix.replace
    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: string_op_leaves.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - LL
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2011
    functionName: black.trans.StringParenWrapper._return_match
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - black.trans.is_valid_index_factory
    - black.trans.is_valid_index_factory.is_valid_index
    - black.nodes.is_empty_rpar
    - black.nodes.is_empty_lpar
    - black.nodes.parent_type
    - black.nodes.is_empty_par
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - LL
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2036
    functionName: black.trans.StringParenWrapper._else_match
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - black.trans.is_valid_index_factory
    - black.trans.is_valid_index_factory.is_valid_index
    - black.nodes.is_empty_rpar
    - black.nodes.is_empty_lpar
    - black.nodes.parent_type
    - black.nodes.is_empty_par
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - LL
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2063
    functionName: black.trans.StringParenWrapper._assert_match
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - black.trans.StringParser.parse
    - black.trans.StringParser._next_state
    - black.trans.is_valid_index_factory
    - black.trans.is_valid_index_factory.is_valid_index
    - black.nodes.is_empty_lpar
    - black.nodes.is_empty_rpar
    - black.trans.StringParser.__init__
    - black.nodes.parent_type
    - black.nodes.is_empty_par
    - <builtin>.len
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - LL
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2098
    functionName: black.trans.StringParenWrapper._assign_match
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - black.trans.StringParser.parse
    - black.trans.StringParser._next_state
    - black.trans.is_valid_index_factory
    - black.trans.is_valid_index_factory.is_valid_index
    - black.nodes.is_empty_lpar
    - black.nodes.is_empty_rpar
    - black.trans.StringParser.__init__
    - black.nodes.parent_type
    - black.nodes.is_empty_par
    - <builtin>.len
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - LL
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2145
    functionName: black.trans.StringParenWrapper._dict_or_lambda_match
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - black.trans.StringParser.parse
    - black.trans.StringParser._next_state
    - black.trans.is_valid_index_factory
    - black.trans.is_valid_index_factory.is_valid_index
    - black.nodes.is_empty_lpar
    - black.nodes.is_empty_rpar
    - black.trans.StringParser.__init__
    - black.nodes.parent_type
    - black.nodes.is_empty_par
    - <builtin>.len
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - line
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2184
    functionName: black.trans.StringParenWrapper._trailing_comma_tuple_match
    functionSourceFile: black.trans
    functionUses: 2
    functionsReached:
    - <builtin>.len
    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: leaves_to_steal_comments_from.append
    functionSourceFile: <builtin>
    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: left_leaves.pop
    functionSourceFile: <builtin>
    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: first_line.append
    functionSourceFile: <builtin>
    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: right_leaves.pop
    functionSourceFile: <builtin>
    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: left_leaves.index
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2423
    functionName: black.trans.StringParser._next_state
    functionSourceFile: black.trans
    functionUses: 10
    functionsReached:
    - black.nodes.is_empty_lpar
    - black.nodes.is_empty_rpar
    - black.nodes.is_empty_par
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: string_leaf.remove
    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: string_parent.insert_child
    functionSourceFile: <builtin>
    functionUses: 4
    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: black.rusty
    functionSourceFile: black.rusty
    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: 1
    functionLinenumber: -1
    functionName: black.comments
    functionSourceFile: black.comments
    functionUses: 0
    functionsReached:
    - functools.lru_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - leaf
    - total_consumed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: black.comments.normalize_trailing_prefix
    functionSourceFile: black.comments
    functionUses: 23
    functionsReached:
    - black.nodes.make_simple_prefix
    - remainder.endswith
    - remainder.count
    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.split
    functionSourceFile: re
    functionUses: 50
    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.match
    functionSourceFile: re
    functionUses: 50
    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.groups
    functionSourceFile: <builtin>
    functionUses: 50
    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: line.endswith
    functionSourceFile: <builtin>
    functionUses: 50
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - content
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 151
    functionName: black.comments.make_comment
    functionSourceFile: black.comments
    functionUses: 50
    functionsReached:
    - <builtin>.any
    - comment_line.strip
    - comment.strip
    - black.nodes.is_type_comment_string
    - comment_line.split
    - type_part.strip
    - content.startswith
    - content.split
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - black.comments.contains_fmt_directive
    - value_part.strip
    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: result.append
    functionSourceFile: <builtin>
    functionUses: 50
    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: remainder.count
    functionSourceFile: <builtin>
    functionUses: 24
    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: remainder.endswith
    functionSourceFile: <builtin>
    functionUses: 24
    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: content.rstrip
    functionSourceFile: <builtin>
    functionUses: 51
    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: content.startswith
    functionSourceFile: <builtin>
    functionUses: 51
    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: content.lstrip
    functionSourceFile: <builtin>
    functionUses: 51
    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: content.split
    functionSourceFile: <builtin>
    functionUses: 51
    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: type_part.strip
    functionSourceFile: <builtin>
    functionUses: 51
    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: value_part.strip
    functionSourceFile: <builtin>
    functionUses: 51
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - node
    - mode
    - lines
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 333
    functionName: black.comments.convert_one_fmt_off_pair
    functionSourceFile: black.comments
    functionUses: 17
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - black.comments._handle_regular_fmt_block.stringify_node
    - black.comments._handle_comment_only_fmt_block
    - re.match
    - black.comments._get_compound_statement_header
    - content.split
    - blib2to3.pytree.Leaf
    - ignored.remove
    - black.comments.contains_fmt_directive
    - parent.insert_child
    - value_part.strip
    - <builtin>.str
    - black.comments._handle_regular_fmt_block
    - <builtin>.hasattr
    - line.startswith
    - black.nodes.preceding_leaf
    - black.nodes.is_type_comment_string
    - black.comments._should_keep_compound_statement_inline
    - black.nodes.first_leaf_of
    - type_part.strip
    - line.endswith
    - black.comments.children_contains_fmt_on
    - result.append
    - result.endswith
    - re.split
    - black.comments._is_valid_standalone_fmt_comment
    - <builtin>.list
    - black.comments.generate_ignored_nodes
    - hidden_value.endswith
    - comment_line.strip
    - ignored_nodes.insert
    - <builtin>.id
    - header_leaves.extend
    - node_str.endswith
    - fmt_off_prefix.split
    - parts.append
    - content.startswith
    - content.lstrip
    - child.leaves
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - node.leaves
    - <builtin>.len
    - <builtin>.enumerate
    - seen_nodes.add
    - body_node.leaves
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - prefix.split
    - comment_line.split
    - black.comments.is_fmt_on
    - header_leaves.append
    - current_node.prev_sibling.leaves
    - blib2to3.pytree.Node.leaves
    - match.groups
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - black.comments._find_compound_statement_context
    - black.comments._should_process_fmt_comment
    - <builtin>.iter
    - original_prefix.split
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.comments.list_comments
    - black.nodes.container_of
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - comment
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 200
    functionName: black.comments._should_process_fmt_comment
    functionSourceFile: black.comments
    functionUses: 18
    functionsReached:
    - <builtin>.any
    - comment_line.strip
    - comment.strip
    - comment_line.split
    - black.comments.contains_fmt_directive
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - comment
    - leaf
    - is_fmt_off
    - is_fmt_skip
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 220
    functionName: black.comments._is_valid_standalone_fmt_comment
    functionSourceFile: black.comments
    functionUses: 18
    functionsReached:
    - black.nodes.preceding_leaf
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - <builtin>.isinstance
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - leaf
    - comment
    - previous_consumed
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 244
    functionName: black.comments._handle_comment_only_fmt_block
    functionSourceFile: black.comments
    functionUses: 18
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - re.match
    - content.split
    - blib2to3.pytree.Leaf
    - parent.insert_child
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - black.nodes.is_type_comment_string
    - type_part.strip
    - line.endswith
    - result.append
    - re.split
    - hidden_value.endswith
    - comment_line.strip
    - fmt_off_prefix.split
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - comment_line.split
    - match.groups
    - original_prefix.split
    - black.comments.list_comments
    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: hidden_value.endswith
    functionSourceFile: <builtin>
    functionUses: 20
    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: original_prefix.split
    functionSourceFile: <builtin>
    functionUses: 19
    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: fmt_off_prefix.split
    functionSourceFile: <builtin>
    functionUses: 20
    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: blib2to3.pytree.Node.leaves
    functionSourceFile: blib2to3
    functionUses: 20
    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: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 5
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - leaf
    - comment
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 492
    functionName: black.comments.generate_ignored_nodes
    functionSourceFile: black.comments
    functionUses: 18
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - re.match
    - black.comments._get_compound_statement_header
    - content.split
    - black.comments.contains_fmt_directive
    - value_part.strip
    - black.comments._should_keep_compound_statement_inline
    - <builtin>.hasattr
    - line.startswith
    - black.nodes.is_type_comment_string
    - black.nodes.first_leaf_of
    - type_part.strip
    - line.endswith
    - black.comments.children_contains_fmt_on
    - result.append
    - re.split
    - <builtin>.list
    - ignored_nodes.insert
    - comment_line.strip
    - <builtin>.id
    - header_leaves.extend
    - content.startswith
    - content.lstrip
    - child.leaves
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - seen_nodes.add
    - <builtin>.enumerate
    - body_node.leaves
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - comment_line.split
    - black.comments.is_fmt_on
    - header_leaves.append
    - current_node.prev_sibling.leaves
    - match.groups
    - black.comments._find_compound_statement_context
    - <builtin>.iter
    - <builtin>.isinstance
    - black.comments.list_comments
    - black.nodes.container_of
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 6
    IfCount: 12
    argCount: 6
    argDefaultValues: []
    argNames:
    - ignored_nodes
    - comment
    - previous_consumed
    - is_fmt_skip
    - lines
    - leaf
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 392
    functionName: black.comments._handle_regular_fmt_block
    functionSourceFile: black.comments
    functionUses: 18
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments._handle_regular_fmt_block.stringify_node
    - blib2to3.pytree.Leaf
    - ignored.remove
    - parent.insert_child
    - black.comments.contains_fmt_directive
    - <builtin>.str
    - black.nodes.first_leaf_of
    - result.endswith
    - hidden_value.endswith
    - comment_line.strip
    - node_str.endswith
    - fmt_off_prefix.split
    - parts.append
    - node.leaves
    - <builtin>.len
    - prefix.split
    - comment_line.split
    - <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: node_str.endswith
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - n
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 431
    functionName: black.comments._handle_regular_fmt_block.stringify_node
    functionSourceFile: black.comments
    functionUses: 19
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    - result.endswith
    - black.comments._handle_regular_fmt_block.stringify_node
    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: result.endswith
    functionSourceFile: <builtin>
    functionUses: 20
    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: prefix.split
    functionSourceFile: <builtin>
    functionUses: 19
    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: ignored.remove
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 7
    IfCount: 16
    argCount: 3
    argDefaultValues: []
    argNames:
    - leaf
    - comment
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 633
    functionName: black.comments._generate_ignored_nodes_from_fmt_skip
    functionSourceFile: black.comments
    functionUses: 19
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - re.match
    - black.comments._get_compound_statement_header
    - content.split
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - <builtin>.hasattr
    - black.comments._should_keep_compound_statement_inline
    - black.nodes.is_type_comment_string
    - type_part.strip
    - line.endswith
    - result.append
    - re.split
    - <builtin>.list
    - ignored_nodes.insert
    - comment_line.strip
    - <builtin>.id
    - header_leaves.extend
    - content.startswith
    - content.lstrip
    - child.leaves
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - seen_nodes.add
    - body_node.leaves
    - comment_line.split
    - header_leaves.append
    - current_node.prev_sibling.leaves
    - match.groups
    - black.comments._find_compound_statement_context
    - <builtin>.iter
    - <builtin>.isinstance
    - black.comments.list_comments
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - container
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 761
    functionName: black.comments.is_fmt_on
    functionSourceFile: black.comments
    functionUses: 20
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - re.match
    - content.split
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - black.nodes.is_type_comment_string
    - type_part.strip
    - line.endswith
    - result.append
    - re.split
    - comment_line.strip
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - comment_line.split
    - match.groups
    - black.comments.list_comments
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - container
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 774
    functionName: black.comments.children_contains_fmt_on
    functionSourceFile: black.comments
    functionUses: 19
    functionsReached:
    - <builtin>.any
    - comment.strip
    - black.comments.make_comment
    - re.match
    - content.split
    - black.comments.contains_fmt_directive
    - value_part.strip
    - line.startswith
    - black.nodes.is_type_comment_string
    - black.nodes.first_leaf_of
    - type_part.strip
    - line.endswith
    - result.append
    - re.split
    - comment_line.strip
    - content.startswith
    - content.lstrip
    - content.rstrip
    - blib2to3.pytree.Leaf.value.startswith
    - <builtin>.len
    - <builtin>.enumerate
    - comment_line.split
    - black.comments.is_fmt_on
    - match.groups
    - <builtin>.isinstance
    - black.comments.list_comments
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - parent
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 541
    functionName: black.comments._find_compound_statement_context
    functionSourceFile: black.comments
    functionUses: 20
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - body_node
    - simple_stmt_parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 582
    functionName: black.comments._should_keep_compound_statement_inline
    functionSourceFile: black.comments
    functionUses: 21
    functionsReached:
    - body_node.leaves
    - <builtin>.len
    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: body_node.leaves
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - body_node
    - simple_stmt_parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 608
    functionName: black.comments._get_compound_statement_header
    functionSourceFile: black.comments
    functionUses: 20
    functionsReached:
    - body_node.leaves
    - black.comments._should_keep_compound_statement_inline
    - header_leaves.extend
    - header_leaves.append
    - <builtin>.isinstance
    - child.leaves
    - <builtin>.len
    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: header_leaves.append
    functionSourceFile: <builtin>
    functionUses: 21
    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: child.leaves
    functionSourceFile: <builtin>
    functionUses: 21
    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: header_leaves.extend
    functionSourceFile: <builtin>
    functionUses: 21
    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: current_node.prev_sibling.leaves
    functionSourceFile: <builtin>
    functionUses: 20
    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: seen_nodes.add
    functionSourceFile: <builtin>
    functionUses: 20
    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: ignored_nodes.insert
    functionSourceFile: <builtin>
    functionUses: 20
    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: comment.value.startswith
    functionSourceFile: <builtin>
    functionUses: 7
    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: comment.strip
    functionSourceFile: <builtin>
    functionUses: 54
    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: comment_line.split
    functionSourceFile: <builtin>
    functionUses: 54
    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: comment_line.strip
    functionSourceFile: <builtin>
    functionUses: 54
    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: black.lines
    functionSourceFile: black.lines
    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: 1
    functionLinenumber: -1
    functionName: black.lines.Line
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 429
    functionName: black.lines.Line.is_complex_subscript
    functionSourceFile: black.lines
    functionUses: 65
    functionsReached:
    - black.nodes.child_towards
    - <builtin>.any
    - <builtin>.isinstance
    - subscript_start.pre_order
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - closing
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 336
    functionName: black.lines.Line.has_magic_trailing_comma
    functionSourceFile: black.lines
    functionUses: 65
    functionsReached:
    - black.nodes.is_one_sequence_between
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 421
    functionName: black.lines.Line.remove_trailing_comma
    functionSourceFile: black.lines
    functionUses: 65
    functionsReached:
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - comment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 380
    functionName: black.lines.Line.append_comment
    functionSourceFile: black.lines
    functionUses: 65
    functionsReached:
    - <builtin>.id
    - black.nodes.is_type_comment_string
    - blib2to3.pytree.Leaf.value.startswith
    - last_leaf.parent.leaves
    - black.nodes.is_type_comment
    - <builtin>.list
    - <builtin>.len
    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: 115
    functionName: black.lines.Line.is_comment
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.len
    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: 120
    functionName: black.lines.Line.is_decorator
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 125
    functionName: black.lines.Line.is_import
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - black.lines.Line.is_import
    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: 130
    functionName: black.lines.Line.is_with_or_async_with_stmt
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - black.lines.Line.is_with_or_async_with_stmt
    - <builtin>.bool
    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: 135
    functionName: black.lines.Line.is_class
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 144
    functionName: black.lines.Line.is_stub_class
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - blib2to3.pytree.Leaf
    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: 151
    functionName: black.lines.Line.is_def
    functionSourceFile: black.lines
    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: 1
    functionLinenumber: 170
    functionName: black.lines.Line.is_stub_def
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - blib2to3.pytree.Leaf
    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: 177
    functionName: black.lines.Line.is_class_paren_empty
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: black.lines.Line._is_triple_quoted_string
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - value.startswith
    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: 205
    functionName: black.lines.Line.is_docstring
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - black.lines.Line.is_docstring
    - <builtin>.bool
    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: 210
    functionName: black.lines.Line.is_chained_assignment
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 215
    functionName: black.lines.Line.opens_block
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - first_leaf_matches
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 221
    functionName: black.lines.Line.is_fmt_pass_converted
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 241
    functionName: black.lines.Line.contains_standalone_comments
    functionSourceFile: black.lines
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 249
    functionName: black.lines.Line.contains_implicit_multiline_string_with_comments
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - itertools.groupby
    - <builtin>.id
    - black.lines.Line.comments_after
    - <builtin>.list
    - <builtin>.len
    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: black.lines.Line.contains_implicit_multiline_string_with_comments.<lambda1>
    functionSourceFile: black.lines
    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: itertools.groupby
    functionSourceFile: itertools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 264
    functionName: black.lines.Line.contains_uncollapsable_type_comments
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - black.nodes.is_type_ignore_comment
    - <builtin>.id
    - black.nodes.is_type_comment_string
    - blib2to3.pytree.Leaf.value.startswith
    - value.split
    - <builtin>.set
    - ignored_ids.add
    - black.nodes.is_type_comment
    - black.nodes.is_type_ignore_comment_string
    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: ignored_ids.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 300
    functionName: black.lines.Line.contains_unsplittable_type_ignore
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - black.nodes.is_type_ignore_comment
    - <builtin>.next
    - <builtin>.id
    - black.nodes.is_type_comment_string
    - value.split
    - <builtin>.reversed
    - blib2to3.pytree.Leaf.value.startswith
    - black.nodes.is_type_ignore_comment_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 333
    functionName: black.lines.Line.contains_multiline_strings
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.any
    - black.nodes.fstring_tstring_to_string
    - blib2to3.pytree.Leaf.get_lineno
    - black.nodes.is_multiline_string
    - <builtin>.isinstance
    - black.strings.has_triple_quotes
    - blib2to3.pytree.Leaf
    - black.nodes.is_fstring
    - <builtin>.len
    - blib2to3.pytree.Leaf.value.lstrip
    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: last_leaf.parent.leaves
    functionSourceFile: <builtin>
    functionUses: 66
    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: subscript_start.pre_order
    functionSourceFile: <builtin>
    functionUses: 66
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcd0710dee0>
    argNames:
    - self
    - is_reversed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 448
    functionName: black.lines.Line.enumerate_with_length
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - black.lines.Line.comments_after
    - <builtin>.id
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 478
    functionName: black.lines.Line.__str__
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.next
    - itertools.chain.from_iterable
    - <builtin>.iter
    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.chain.from_iterable
    functionSourceFile: itertools
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 494
    functionName: black.lines.Line.__bool__
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <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: 1
    functionLinenumber: -1
    functionName: black.lines.LinesBlock
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - dataclasses.field
    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: black.lines.EmptyLineTracker
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 1
    IfCount: 17
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - current_line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 609
    functionName: black.lines.EmptyLineTracker._maybe_empty_lines
    functionSourceFile: black.lines
    functionUses: 17
    functionsReached:
    - <builtin>.bool
    - first_leaf.prefix.count
    - <builtin>.max
    - <builtin>.min
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - current_line.is_fmt_pass_converted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - current_line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 593
    functionName: black.lines.EmptyLineTracker._line_is_module_docstring
    functionSourceFile: black.lines
    functionUses: 17
    functionsReached:
    - <builtin>.len
    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: first_leaf.prefix.count
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 0
    IfCount: 17
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - current_line
    - before
    - user_had_newline
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 702
    functionName: black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    functionSourceFile: black.lines
    functionUses: 18
    functionsReached:
    - <builtin>.min
    - <builtin>.max
    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: current_line.is_fmt_pass_converted
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - sequence
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 783
    functionName: black.lines.enumerate_reversed
    functionSourceFile: black.lines
    functionUses: 0
    functionsReached:
    - <builtin>.reversed
    - <builtin>.len
    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: line_str.split
    functionSourceFile: <builtin>
    functionUses: 24
    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: commas.append
    functionSourceFile: <builtin>
    functionUses: 24
    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: commas.pop
    functionSourceFile: <builtin>
    functionUses: 24
    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: multiline_string_contexts.append
    functionSourceFile: <builtin>
    functionUses: 24
    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: rhs.head.comments.get
    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: rhs.body.comments.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - first
    - line_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1074
    functionName: black.lines._can_omit_opening_paren
    functionSourceFile: black.lines
    functionUses: 4
    functionsReached:
    - line.enumerate_with_length
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - line
    - last
    - line_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1099
    functionName: black.lines._can_omit_closing_paren
    functionSourceFile: black.lines
    functionUses: 4
    functionsReached:
    - line.enumerate_with_length
    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: black.brackets
    functionSourceFile: black.brackets
    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: black.brackets.BracketTracker
    functionSourceFile: black.brackets
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 7
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 71
    functionName: black.brackets.BracketTracker.mark
    functionSourceFile: black.brackets
    functionUses: 14
    functionsReached:
    - <builtin>.id
    - black.brackets.is_split_after_delimiter
    - black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    - black.brackets.BracketTracker.maybe_increment_lambda_arguments
    - black.brackets.BracketTracker.maybe_increment_for_loop_variable
    - black.nodes.is_vararg
    - black.brackets.is_split_before_delimiter
    - <builtin>.isinstance
    - black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    linkageType: pythonLinkage
    raised:
    - BracketMatchError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 174
    functionName: black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 201
    functionName: black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 1
    IfCount: 14
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fcd0744a790>
    argNames:
    - leaf
    - previous
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: black.brackets.is_split_before_delimiter
    functionSourceFile: black.brackets
    functionUses: 15
    functionsReached:
    - black.nodes.is_vararg
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 219
    functionName: black.brackets.is_split_after_delimiter
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: black.brackets.BracketTracker.maybe_increment_lambda_arguments
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - leaf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 161
    functionName: black.brackets.BracketTracker.maybe_increment_for_loop_variable
    functionSourceFile: ''
    functionUses: 15
    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: 1
    functionLinenumber: 131
    functionName: black.brackets.BracketTracker.any_open_for_or_lambda
    functionSourceFile: black.brackets
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 138
    functionName: black.brackets.BracketTracker.any_open_brackets
    functionSourceFile: black.brackets
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Tuple object at 0x7fcd07137760>
    argNames:
    - self
    - exclude
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 142
    functionName: black.brackets.BracketTracker.max_delimiter_priority
    functionSourceFile: black.brackets
    functionUses: 15
    functionsReached:
    - <builtin>.max
    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 0x7fcd07137190>
    argNames:
    - self
    - priority
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 150
    functionName: black.brackets.BracketTracker.delimiter_count_with_priority
    functionSourceFile: black.brackets
    functionUses: 0
    functionsReached:
    - black.brackets.BracketTracker.max_delimiter_priority
    - <builtin>.sum
    - <builtin>.max
    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: 214
    functionName: black.brackets.BracketTracker.get_open_lsqb
    functionSourceFile: black.brackets
    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: c.leaves
    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: bracket_stack.append
    functionSourceFile: <builtin>
    functionUses: 26
    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: bracket_stack.pop
    functionSourceFile: <builtin>
    functionUses: 26
    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.add
    functionSourceFile: <builtin>
    functionUses: 26
    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: black.numerics
    functionSourceFile: black.numerics
    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:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 8
    functionName: black.numerics.format_hex
    functionSourceFile: black.numerics
    functionUses: 2
    functionsReached:
    - after.upper
    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: after.upper
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 16
    functionName: black.numerics.format_scientific_notation
    functionSourceFile: black.numerics
    functionUses: 2
    functionsReached:
    - black.numerics.format_float_or_int_string
    - after.startswith
    - text.split
    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: text.split
    functionSourceFile: <builtin>
    functionUses: 5
    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: after.startswith
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: black.numerics.format_float_or_int_string
    functionSourceFile: black.numerics
    functionUses: 4
    functionsReached:
    - text.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 29
    functionName: black.numerics.format_complex_number
    functionSourceFile: black.numerics
    functionUses: 2
    functionsReached:
    - black.numerics.format_float_or_int_string
    - text.split
    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: text.startswith
    functionSourceFile: <builtin>
    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: text.endswith
    functionSourceFile: <builtin>
    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: black.ranges
    functionSourceFile: black.ranges
    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: lines_str.split
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - lines
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: black.ranges.is_valid_line_range
    functionSourceFile: black.ranges
    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: src_contents.count
    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: src_contents.endswith
    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: good_lines.append
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - original_source
    - modified_source
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 443
    functionName: black.ranges._calculate_lines_mappings
    functionSourceFile: black.ranges
    functionUses: 14
    functionsReached:
    - difflib.SequenceMatcher
    - modified_source.splitlines
    - matcher.get_matching_blocks
    - original_source.splitlines
    - <builtin>.len
    - <builtin>.enumerate
    - lines_mappings.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - original_line
    - lines_mappings
    - start_index
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 522
    functionName: black.ranges._find_lines_mapping_index
    functionSourceFile: black.ranges
    functionUses: 14
    functionsReached:
    - <builtin>.len
    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: new_lines.append
    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: lines_set.update
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - lines_set
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 208
    functionName: black.ranges._TopLevelStatementsVisitor.__init__
    functionSourceFile: ''
    functionUses: 17
    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: visitor.visit
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 7
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - lines_set
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 252
    functionName: black.ranges._convert_unchanged_line_by_line
    functionSourceFile: black.ranges
    functionUses: 17
    functionsReached:
    - <builtin>.str
    - black.ranges._convert_node_to_standalone_comment
    - node.insert_child
    - black.nodes.first_leaf
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.range
    - blib2to3.pytree.Node.leaves
    - black.ranges._convert_nodes_to_standalone_comment
    - black.nodes.last_leaf
    - <builtin>.set
    - black.nodes.furthest_ancestor_with_last_leaf
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf
    - nodes_to_ignore.insert
    - parent.insert_child
    - black.ranges._leaf_line_end
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 188
    functionName: black.ranges._contains_standalone_comment
    functionSourceFile: black.ranges
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - black.ranges._contains_standalone_comment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 211
    functionName: black.ranges._TopLevelStatementsVisitor.visit_simple_stmt
    functionSourceFile: black.ranges
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - node.insert_child
    - black.ranges._convert_node_to_standalone_comment
    - black.nodes.first_leaf
    - black.ranges._get_line_range
    - node.remove
    - <builtin>.range
    - black.nodes.last_leaf
    - <builtin>.set
    - black.nodes.furthest_ancestor_with_last_leaf
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf
    - parent.insert_child
    - black.ranges._leaf_line_end
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - node_or_nodes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 398
    functionName: black.ranges._get_line_range
    functionSourceFile: black.ranges
    functionUses: 20
    functionsReached:
    - <builtin>.str
    - black.nodes.first_leaf
    - <builtin>.range
    - black.nodes.last_leaf
    - <builtin>.set
    - <builtin>.isinstance
    - black.ranges._leaf_line_end
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 306
    functionName: black.ranges._convert_node_to_standalone_comment
    functionSourceFile: black.ranges
    functionUses: 20
    functionsReached:
    - <builtin>.str
    - node.insert_child
    - black.nodes.first_leaf
    - node.remove
    - black.nodes.last_leaf
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf
    - parent.insert_child
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 228
    functionName: black.ranges._TopLevelStatementsVisitor.visit_suite
    functionSourceFile: black.ranges
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - black.ranges._convert_node_to_standalone_comment
    - node.insert_child
    - black.nodes.first_leaf
    - black.ranges._get_line_range
    - black.ranges._contains_standalone_comment
    - node.remove
    - <builtin>.range
    - black.nodes.last_leaf
    - <builtin>.set
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf
    - parent.insert_child
    - black.ranges._leaf_line_end
    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: nodes_to_ignore.insert
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - nodes
    - newline
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 359
    functionName: black.ranges._convert_nodes_to_standalone_comment
    functionSourceFile: black.ranges
    functionUses: 18
    functionsReached:
    - <builtin>.str
    - black.nodes.first_leaf
    - node.remove
    - <builtin>.isinstance
    - blib2to3.pytree.Leaf
    - parent.insert_child
    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.remove
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - leaf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 389
    functionName: black.ranges._leaf_line_end
    functionSourceFile: black.ranges
    functionUses: 21
    functionsReached:
    - <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: original_source.splitlines
    functionSourceFile: <builtin>
    functionUses: 15
    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: modified_source.splitlines
    functionSourceFile: <builtin>
    functionUses: 15
    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: difflib.SequenceMatcher
    functionSourceFile: difflib
    functionUses: 15
    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: matcher.get_matching_blocks
    functionSourceFile: <builtin>
    functionUses: 15
    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_mappings.append
    functionSourceFile: <builtin>
    functionUses: 15
    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: black.parsing
    functionSourceFile: black.parsing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - target_versions
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 24
    functionName: black.parsing.get_grammars
    functionSourceFile: black.parsing
    functionUses: 18
    functionsReached:
    - <builtin>.any
    - <builtin>.all
    - grammars.append
    - black.mode.supports_feature
    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: grammars.append
    functionSourceFile: <builtin>
    functionUses: 19
    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: blib2to3.pytree.Node.endswith
    functionSourceFile: blib2to3
    functionUses: 18
    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: black.parsing.lib2to3_parse.<lambda1>
    functionSourceFile: black.parsing
    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: max_tv.pretty
    functionSourceFile: <builtin>
    functionUses: 18
    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: blib2to3.pgen2.driver.Driver
    functionSourceFile: blib2to3
    functionUses: 19
    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: drv.parse_string
    functionSourceFile: <builtin>
    functionUses: 19
    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: blib2to3.pytree.Node.splitlines
    functionSourceFile: blib2to3
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - src_txt
    - grammar
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: black.parsing.matches_grammar
    functionSourceFile: black.parsing
    functionUses: 0
    functionsReached:
    - drv.parse_string
    - blib2to3.pgen2.driver.Driver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 115
    functionName: black.parsing.lib2to3_unparse
    functionSourceFile: black.parsing
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - src
    - version
    - type_comments
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: black.parsing._parse_single_version
    functionSourceFile: black.parsing
    functionUses: 15
    functionsReached:
    - warnings.simplefilter
    - ast.parse
    - warnings.catch_warnings
    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.catch_warnings
    functionSourceFile: warnings
    functionUses: 16
    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: warnings.simplefilter
    functionSourceFile: warnings
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - lineend
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: black.parsing._normalize
    functionSourceFile: black.parsing
    functionUses: 17
    functionsReached:
    - normalized.strip
    - i.strip
    - value.splitlines
    - lineend.join
    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: i.strip
    functionSourceFile: <builtin>
    functionUses: 18
    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: lineend.join
    functionSourceFile: <builtin>
    functionUses: 18
    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: normalized.strip
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 7
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - parent_stack
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 182
    functionName: black.parsing._stringify_ast
    functionSourceFile: black.parsing
    functionUses: 16
    functionsReached:
    - black.parsing._unwrap_tuples
    - parent_stack.pop
    - parent_stack.append
    - <builtin>.sorted
    - black.parsing._stringify_ast
    - black.parsing._stringify_ast_with_new_parent
    - <builtin>.isinstance
    - <builtin>.getattr
    - black.parsing._normalize
    - normalized.strip
    - i.strip
    - value.splitlines
    - <builtin>.len
    - value.rstrip
    - lineend.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - node
    - parent_stack
    - new_parent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 174
    functionName: black.parsing._stringify_ast_with_new_parent
    functionSourceFile: black.parsing
    functionUses: 16
    functionsReached:
    - black.parsing._unwrap_tuples
    - parent_stack.pop
    - parent_stack.append
    - <builtin>.sorted
    - black.parsing._stringify_ast
    - black.parsing._stringify_ast_with_new_parent
    - <builtin>.isinstance
    - <builtin>.getattr
    - black.parsing._normalize
    - normalized.strip
    - i.strip
    - value.splitlines
    - <builtin>.len
    - value.rstrip
    - lineend.join
    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: parent_stack.append
    functionSourceFile: <builtin>
    functionUses: 17
    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: parent_stack.pop
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: black.parsing._unwrap_tuples
    functionSourceFile: black.parsing
    functionUses: 17
    functionsReached:
    - black.parsing._unwrap_tuples
    - <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: value.rstrip
    functionSourceFile: <builtin>
    functionUses: 17
    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: black.files
    functionSourceFile: black.files
    functionUses: 0
    functionsReached:
    - mypy_extensions.mypyc_attr
    - functools.lru_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: black.files._load_toml
    functionSourceFile: black.files
    functionUses: 8
    functionsReached:
    - tomli.load
    - tomllib.load
    - <builtin>.open
    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: tomli.load
    functionSourceFile: tomli
    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: 0
    functionLinenumber: -1
    functionName: tomllib.load
    functionSourceFile: tomllib
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: black.files._cached_resolve
    functionSourceFile: black.files
    functionUses: 12
    functionsReached:
    - pathlib.Path.resolve
    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: pathlib.Path.cwd
    functionSourceFile: pathlib
    functionUses: 7
    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: 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: set.intersection
    functionSourceFile: <builtin>
    functionUses: 7
    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: black.files.find_project_root.<lambda1>
    functionSourceFile: black.files
    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: pyproject_toml.get
    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: 0
    functionLinenumber: -1
    functionName: path_pyproject_toml.is_file
    functionSourceFile: <builtin>
    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: path_user_pyproject_toml.is_file
    functionSourceFile: <builtin>
    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: k.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - pyproject_toml
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 138
    functionName: black.files.infer_target_version
    functionSourceFile: black.files
    functionUses: 2
    functionsReached:
    - <builtin>.str
    - packaging.version.Version
    - black.files.parse_req_python_specifier
    - packaging.specifiers.SpecifierSet.filter
    - black.files.strip_specifier_set
    - <builtin>.len
    - specifiers.append
    - packaging.specifiers.SpecifierSet
    - black.files.parse_req_python_version
    - pyproject_toml.get
    - packaging.specifiers.Specifier
    - <builtin>.list
    - project_metadata.get
    - enum.Enum.__init__
    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: project_metadata.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - requires_python
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: black.files.parse_req_python_version
    functionSourceFile: black.files
    functionUses: 3
    functionsReached:
    - packaging.version.Version
    - enum.Enum.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - requires_python
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 178
    functionName: black.files.parse_req_python_specifier
    functionSourceFile: black.files
    functionUses: 3
    functionsReached:
    - <builtin>.str
    - packaging.version.Version
    - specifiers.append
    - packaging.specifiers.SpecifierSet
    - packaging.specifiers.Specifier
    - packaging.specifiers.SpecifierSet.filter
    - <builtin>.len
    - <builtin>.list
    - black.files.strip_specifier_set
    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: packaging.version.Version
    functionSourceFile: packaging
    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: enum.Enum.__init__
    functionSourceFile: ''
    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: packaging.specifiers.SpecifierSet
    functionSourceFile: packaging
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - specifier_set
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: black.files.strip_specifier_set
    functionSourceFile: black.files
    functionUses: 4
    functionsReached:
    - <builtin>.str
    - packaging.version.Version
    - specifiers.append
    - packaging.specifiers.SpecifierSet
    - packaging.specifiers.Specifier
    - <builtin>.len
    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: packaging.specifiers.SpecifierSet.filter
    functionSourceFile: packaging
    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: specifiers.append
    functionSourceFile: <builtin>
    functionUses: 5
    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: packaging.specifiers.Specifier
    functionSourceFile: packaging
    functionUses: 5
    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: pathlib.Path.home
    functionSourceFile: pathlib
    functionUses: 7
    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: pathlib.Path.expanduser
    functionSourceFile: pathlib
    functionUses: 7
    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: gf.readlines
    functionSourceFile: <builtin>
    functionUses: 7
    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.GitIgnoreSpec.from_lines
    functionSourceFile: pathspec
    functionUses: 7
    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: resolved_path.relative_to
    functionSourceFile: <builtin>
    functionUses: 7
    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: pathlib.Path.absolute
    functionSourceFile: pathlib
    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: pathlib.Path.relative_to
    functionSourceFile: pathlib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - root_relative_path
    - root
    - gitignore_dict
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: black.files._path_is_ignored
    functionSourceFile: black.files
    functionUses: 6
    functionsReached:
    - path.relative_to
    - pattern.match_file
    - path.is_dir
    - gitignore_dict.items
    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: gitignore_dict.items
    functionSourceFile: <builtin>
    functionUses: 7
    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.relative_to
    functionSourceFile: <builtin>
    functionUses: 7
    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_file
    functionSourceFile: <builtin>
    functionUses: 7
    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.search
    functionSourceFile: <builtin>
    functionUses: 7
    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: child.is_absolute
    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: child.relative_to
    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: report.path_ignored
    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: child.is_dir
    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: child.iterdir
    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: child.is_file
    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: include.search
    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: colorama.initialise.wrap_stream
    functionSourceFile: colorama
    functionUses: 9
    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: black.concurrency
    functionSourceFile: black.concurrency
    functionUses: 0
    functionsReached:
    - mypy_extensions.mypyc_attr
    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: 30
    functionName: black.concurrency.maybe_install_uvloop
    functionSourceFile: black.concurrency
    functionUses: 5
    functionsReached:
    - uvloop.install
    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: uvloop.install
    functionSourceFile: uvloop
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tasks
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 44
    functionName: black.concurrency.cancel
    functionSourceFile: black.concurrency
    functionUses: 0
    functionsReached:
    - black.output._err
    - click.style
    - task.cancel
    - black.output.err
    - click.echo
    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: task.cancel
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - loop
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: black.concurrency.shutdown
    functionSourceFile: black.concurrency
    functionUses: 5
    functionsReached:
    - asyncio.all_tasks
    - task.cancel
    - asyncio.gather
    - loop.close
    - task.done
    - cf_logger.setLevel
    - logging.getLogger
    - loop.run_until_complete
    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: asyncio.all_tasks
    functionSourceFile: asyncio
    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: task.done
    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: asyncio.gather
    functionSourceFile: asyncio
    functionUses: 7
    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: loop.run_until_complete
    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: logging.getLogger
    functionSourceFile: logging
    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: cf_logger.setLevel
    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: loop.close
    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: os.cpu_count
    functionSourceFile: os
    functionUses: 5
    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: concurrent.futures.ProcessPoolExecutor
    functionSourceFile: concurrent
    functionUses: 5
    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: concurrent.futures.ThreadPoolExecutor
    functionSourceFile: concurrent
    functionUses: 5
    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: asyncio.new_event_loop
    functionSourceFile: asyncio
    functionUses: 5
    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: asyncio.set_event_loop
    functionSourceFile: asyncio
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 12
    IfCount: 10
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fcd075d9c10>
    argNames:
    - sources
    - fast
    - write_back
    - mode
    - report
    - loop
    - executor
    - no_cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 137
    functionName: black.concurrency.schedule_formatting
    functionSourceFile: black.concurrency
    functionUses: 5
    functionsReached:
    - multiprocessing.Manager
    - pathlib.Path.open
    - <builtin>.int
    - pathlib.Path.exists
    - <builtin>.sorted
    - report.done
    - dataclasses.replace.get_cache_key
    - black.output.err
    - black.mode.Mode.get_cache_key
    - loop.run_in_executor
    - <builtin>.str
    - black.output._err
    - cache.filtered_cached
    - data.items
    - version_str.encode
    - hashlib.sha256.hexdigest
    - multiprocessing.Manager.Lock
    - loop.add_signal_handler
    - typing.NamedTuple.__init__
    - task.exception
    - task.cancelled
    - cancelled.append
    - pickle.load
    - click.style
    - asyncio.ensure_future
    - features_and_magics.encode
    - cache.write
    - hashlib.sha256
    - task.result
    - <builtin>.len
    - operator.attrgetter
    - sources_to_cache.append
    - tasks.keys
    - asyncio.wait
    - multiprocessing.Manager.shutdown
    - black.cache.Cache.read
    - asyncio.gather
    - <builtin>.type
    - report.failed
    - traceback.print_exception
    - tasks.pop
    - black.cache.get_cache_file
    - click.echo
    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: concurrent.futures.ThreadPoolExecutor.shutdown
    functionSourceFile: concurrent
    functionUses: 5
    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: concurrent.futures.ProcessPoolExecutor.shutdown
    functionSourceFile: concurrent
    functionUses: 5
    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: cache.filtered_cached
    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: report.done
    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: multiprocessing.Manager
    functionSourceFile: multiprocessing
    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: multiprocessing.Manager.Lock
    functionSourceFile: multiprocessing
    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: loop.run_in_executor
    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: asyncio.ensure_future
    functionSourceFile: asyncio
    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: tasks.keys
    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: loop.add_signal_handler
    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: asyncio.wait
    functionSourceFile: asyncio
    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: tasks.pop
    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: task.cancelled
    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: cancelled.append
    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: task.exception
    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: traceback.print_exception
    functionSourceFile: traceback
    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: report.failed
    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: task.result
    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: sources_to_cache.append
    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: multiprocessing.Manager.shutdown
    functionSourceFile: multiprocessing
    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: black.schema
    functionSourceFile: black.schema
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fcd077b6bb0>
    argNames:
    - tool_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 6
    functionName: black.schema.get_schema
    functionSourceFile: black.schema
    functionUses: 0
    functionsReached:
    - schema.open
    - importlib.resources.files
    - json.load
    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: importlib.resources.files
    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: schema.open
    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: json.load
    functionSourceFile: json
    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: 1
    functionLinenumber: -1
    functionName: black.debug
    functionSourceFile: black.debug
    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: 1
    functionLinenumber: -1
    functionName: black.debug.DebugVisitor
    functionSourceFile: black.debug
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - message
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: black.debug.DebugVisitor.out
    functionSourceFile: black.debug
    functionUses: 1
    functionsReached:
    - black.debug.DebugVisitor.out
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 26
    functionName: black.debug.DebugVisitor.visit_default
    functionSourceFile: black.debug
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - black.debug.DebugVisitor.out
    - <builtin>.isinstance
    - blib2to3.pytree.type_repr
    - blib2to3.pgen2.token.tok_name.get
    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: blib2to3.pgen2.token.tok_name.get
    functionSourceFile: blib2to3
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 47
    functionName: black.debug.DebugVisitor.show
    functionSourceFile: black.debug
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - blib2to3.pytree.Node
    - grammars.append
    - max_tv.pretty
    - black.parsing.get_grammars
    - <builtin>.all
    - <builtin>.max
    - <builtin>.set
    - blib2to3.pytree.Node.endswith
    - <builtin>.isinstance
    - drv.parse_string
    - black.mode.supports_feature
    - black.parsing.lib2to3_parse
    - v.visit
    - <builtin>.list
    - blib2to3.pytree.Node.splitlines
    - blib2to3.pgen2.driver.Driver
    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: v.visit
    functionSourceFile: <builtin>
    functionUses: 1
    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: 17
    functionLinenumber: -1
    functionName: black.__main__
    functionSourceFile: black.__main__
    functionUses: 0
    functionsReached:
    - _line_pattern.finditer
    - comment.strip
    - ctx.exit
    - loop.close
    - re.match
    - logging.getLogger
    - black.handle_ipynb_magics.put_trailing_semicolon_back
    - black.nodes.is_number_token
    - black.output.out
    - black.mode.Mode.get_cache_key
    - black.comments._should_keep_compound_statement_inline
    - src_contents.count
    - nb.get
    - black.nodes.preceding_leaf
    - pathlib.Path
    - <builtin>.bool
    - loop.add_signal_handler
    - warnings.catch_warnings
    - datetime.datetime.now
    - sources.add
    - black.parsing.lib2to3_parse
    - black.lines.Line.append_comment
    - black.nodes.fstring_tstring_to_string
    - black.handle_ipynb_magics._get_code_start
    - pickle.load
    - content.lstrip
    - blib2to3.pytree.Node.pre_order
    - pathlib.Path.relative_to
    - tasks.keys
    - task.cancel
    - asyncio.gather
    - <builtin>.range
    - <builtin>.iter
    - black.comments._should_process_fmt_comment
    - black.nodes.is_simple_decorator_expression
    - original_source.splitlines
    - dst_contents.extend
    - child.is_absolute
    - black.concurrency.shutdown
    - blib2to3.pytree.Leaf.value.lstrip
    - node.insert_child
    - black.trans.handle_is_simple_lookup_forward
    - black.comments._handle_comment_only_fmt_block
    - black.comments._get_compound_statement_header
    - black.lines.is_line_short_enough
    - concurrent.futures.ProcessPoolExecutor
    - commas.append
    - black.nodes.first_leaf_of
    - type_part.strip
    - black.output._out
    - root.is_absolute
    - black.trans.hug_power_op.is_simple_operand
    - src_contents.encode
    - tomli.load
    - new_srcs.append
    - colorama.initialise.wrap_stream
    - black.nodes.is_simple_decorator_trailer
    - parts.append
    - black.re_compile_maybe_verbose
    - black.parsing._normalize
    - black.linegen.LineGenerator.__init__
    - sources_to_cache.append
    - src.replace
    - comment_line.split
    - pattern.match_file
    - blib2to3.pytree.Leaf.prev_sibling.leaves
    - <builtin>.isinstance
    - collections.defaultdict
    - <builtin>.next
    - line_str.isascii
    - black.comments._handle_regular_fmt_block.stringify_node
    - dst.rstrip
    - commas.pop
    - line.clone
    - dataclasses.replace.get_cache_key
    - parent.insert_child
    - black.output._err
    - black.parsing.get_grammars
    - functools.partial
    - result.append
    - line_generator.visit
    - black.ranges._leaf_line_end
    - black.ranges._get_line_range
    - black.concurrency.reformat_many
    - <builtin>.all
    - transformers.append
    - black.ranges._TopLevelStatementsVisitor.__init__
    - black.patched_main
    - black.handle_ipynb_magics.validate_cell
    - lines_str.split
    - features.add
    - hashlib.sha256.hexdigest
    - black.nodes.parent_type
    - replacements.append
    - black.strings.has_triple_quotes
    - black.trans.is_expression_chained
    - ast.NodeVisitor.visit
    - black.files.wrap_stream_for_windows
    - cell.get
    - contextlib.nullcontext
    - black.handle_ipynb_magics.jupyter_dependencies_are_installed
    - hidden_value.endswith
    - black.trans.StringTransformer.__init__
    - child.relative_to
    - <builtin>.set
    - black.parsing._stringify_ast_with_new_parent
    - dst.splitlines
    - black.output.dump_to_file
    - blib2to3.pytree.Node
    - grammars.append
    - prefix.split
    - header_leaves.append
    - report.failed
    - black.report.Report.path_ignored
    - black.handle_ipynb_magics.remove_trailing_semicolon
    - traceback.format_tb
    - black.decode_bytes
    - black.linegen.should_split_funcdef_with_rhs
    - blib2to3.pytree.Node.splitlines
    - version_str.encode
    - report.path_ignored
    - re.split
    - current_line.is_fmt_pass_converted
    - task.cancelled
    - click.style
    - node_str.endswith
    - cache.write
    - colorama.initialise.wrap_stream.detach
    - blib2to3.pytree.Leaf.get_lineno
    - content.rstrip
    - black.format_cell
    - black.ranges.is_valid_line_range
    - operator.attrgetter
    - asyncio.wait
    - pathlib.Path.cwd
    - pathlib.Path.is_file
    - multiline_string_contexts.append
    - black.parsing.parse_ast
    - nodes_to_ignore.insert
    - gf.readlines
    - click.echo
    - traceback.print_exc
    - black.parsing.stringify_ast
    - line.contains_unsplittable_type_ignore
    - ctx.get_parameter_source
    - black.lines.line_to_string
    - buf.readline
    - <builtin>.open
    - black.parsing._parse_single_version
    - set.intersection
    - first_leaf.prefix.count
    - pathlib.Path.resolve
    - uvloop.install
    - black.nodes.is_one_sequence_between
    - <builtin>.tuple
    - hashlib.sha256
    - black.brackets.get_leaves_inside_matching_brackets
    - black.comments._generate_ignored_nodes_from_fmt_skip
    - header.decode
    - black.WriteBack.from_configuration
    - black.comments._find_compound_statement_context
    - cf_logger.setLevel
    - original_prefix.split
    - asyncio.set_event_loop
    - child.is_dir
    - pathlib.Path.home
    - <builtin>.max
    - black.lines.Line.has_magic_trailing_comma
    - include.search
    - contents.split
    - black.comments._handle_regular_fmt_block
    - black.ranges._calculate_lines_mappings
    - pathlib.Path.iterdir
    - new_line.append
    - matcher.get_matching_blocks
    - lines_mappings.append
    - black._contains_asexpr
    - black.strings.str_width
    - node.remove
    - content.startswith
    - child.leaves
    - max_tv.pretty
    - black.ranges._find_lines_mapping_index
    - black.main
    - lines_set.update
    - multiprocessing.freeze_support
    - black.ranges._convert_unchanged_line_by_line
    - black.nodes.is_simple_exponentiation.is_simple
    - traceback.print_exception
    - black.lines.EmptyLineTracker._maybe_empty_lines
    - black.files._cached_resolve
    - transformed.strip
    - black.report.Report.done
    - black.nodes.container_of
    - difflib.SequenceMatcher
    - black.reformat_code
    - bracket_stack.append
    - report.done
    - <builtin>.map
    - resolved_path.relative_to
    - black.nodes.child_towards
    - black.comments.contains_fmt_directive
    - blib2to3.pytree.Leaf.value.strip
    - black.ranges._convert_nodes_to_standalone_comment
    - match.group
    - black.files.path_is_excluded
    - black.output.diff
    - black.comments._is_valid_standalone_fmt_comment
    - lineend.join
    - importlib.util.find_spec
    - black.ranges.parse_line_ranges
    - black.ranges.adjusted_lines
    - parent_stack.pop
    - black.trans.hug_power_op.is_simple_lookup
    - line.split
    - black.files.best_effort_relative_path
    - black.nodes.is_fstring
    - black.get_future_imports
    - json.dumps
    - black.cache.get_cache_file
    - black.format_file_contents
    - normalized.strip
    - chain.append
    - black.comments.make_comment
    - black.lines.EmptyLineTracker._line_is_module_docstring
    - black.files.gen_python_files
    - <builtin>.sorted
    - blib2to3.pytree.Leaf
    - black.comments.convert_one_fmt_off_pair
    - re.finditer
    - i.strip
    - black.handle_ipynb_magics.replace_magics
    - line.startswith
    - src.strip
    - black.nodes.is_type_comment_string
    - normalized_contents.lstrip
    - dst_blocks.append
    - black.comments.children_contains_fmt_on
    - line.comments_after
    - black.nodes.furthest_ancestor_with_last_leaf
    - drv.parse_string
    - datetime.datetime.fromtimestamp
    - black.output.color_diff
    - srcbuf.seek
    - black.files._load_toml
    - line.contains_implicit_multiline_string_with_comments
    - black.reformat_one
    - <builtin>.enumerate
    - black.format_stdin_to_stdout
    - black.nodes.first_leaf
    - black.comments.is_fmt_on
    - lines.append
    - black.report.Report.failed
    - diff_lines.append
    - line.contains_standalone_comments
    - content.split
    - ignored.remove
    - black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def
    - difflib.unified_diff
    - <builtin>.hasattr
    - cache.filtered_cached
    - black.trans.handle_is_simple_look_up_prev
    - re.compile
    - gitignore_dict.items
    - pathlib.Path.expanduser
    - black.files.resolves_outside_root_or_cannot_stat
    - tokenize_rt.tokens_to_src
    - bracket_stack.pop
    - old_child.remove
    - black.lines.EmptyLineTracker.maybe_empty_lines
    - black.ranges._convert_node_to_standalone_comment
    - IPython.core.inputtransformer2.TransformerManager.transform_cell
    - ast.parse
    - IPython.core.inputtransformer2.TransformerManager
    - pyproject_toml.get
    - black.handle_ipynb_magics.MagicFinder.__init__
    - black.linegen._hugging_power_ops_line_to_string
    - concurrent.futures.ThreadPoolExecutor.shutdown
    - concurrent.futures.ProcessPoolExecutor.shutdown
    - seen_nodes.add
    - black.format_ipynb_string
    - black.files._path_is_ignored
    - black.comments.list_comments
    - black.get_sources
    - secrets.token_hex
    - black.linegen.LineGenerator.__post_init__
    - sources.update
    - black._format_str_once
    - json.loads
    - line.contains_multiline_strings
    - black.output.ipynb_diff
    - black.lines.Line.remove_trailing_comma
    - comment_line.strip
    - features_and_magics.encode
    - _black_version.version.split
    - black.handle_ipynb_magics.create_token
    - tokenize_rt.src_to_tokens
    - black.detect_target_versions
    - node.leaves
    - body_node.leaves
    - multiprocessing.Manager.shutdown
    - current_node.prev_sibling.leaves
    - match.groups
    - path.is_dir
    - black.nodes.last_leaf
    - blib2to3.pytree.Leaf.parent.prev_sibling.leaves
    - black.format_file_in_place
    - sys.stdin.buffer.read
    - <builtin>.getattr
    - black.lines.LinesBlock.all_lines
    - black.trans.hug_power_op
    - token._replace
    - multiprocessing.Manager
    - colorama.initialise.wrap_stream.write
    - pathlib.Path.absolute
    - black.files.get_gitignore
    - asyncio.all_tasks
    - black.nodes.is_simple_exponentiation
    - <builtin>.min
    - black.linegen.run_transformer
    - <builtin>.str
    - tomllib.load
    - leaf.clone
    - result.pop
    - visitor.visit
    - black.handle_ipynb_magics.unmask_cell
    - sources.pop
    - task.exception
    - cache.is_changed
    - black.output._splitlines_no_ff
    - io.TextIOWrapper
    - black.lines.Line.contains_standalone_comments
    - black.handle_ipynb_magics.CellMagicFinder.__init__
    - black.nodes.is_type_comment
    - <builtin>.len
    - src_contents.endswith
    - black.nodes.replace_child
    - line.contains_uncollapsable_type_comments
    - black.lines.Line.comments_after
    - good_lines.append
    - value.rstrip
    - child.iterdir
    - subscript_start.pre_order
    - parent_stack.append
    - pathlib.Path.exists
    - black.parsing._stringify_ast
    - black.output.err
    - ids.add
    - os.environ.get
    - black.linegen.transform_line
    - loop.run_in_executor
    - black.lines.Line.is_complex_subscript
    - typing.NamedTuple.__init__
    - io.BytesIO
    - black.nodes.is_vararg
    - result.endswith
    - black.files.find_user_pyproject_toml
    - ignored_nodes.insert
    - cancelled.append
    - src.split
    - blib2to3.pytree.Leaf.value.startswith
    - pathspec.GitIgnoreSpec.from_lines
    - black.cache.Cache.read
    - blib2to3.pytree.Node.leaves
    - black.validate_metadata
    - tempfile.NamedTemporaryFile
    - black.files.find_project_root
    - pathlib.Path.stat
    - line_str.split
    - pathlib.Path.open
    - <builtin>.int
    - black.check_stability_and_equivalence
    - line.endswith
    - os.cpu_count
    - last_leaf.parent.leaves
    - black.handle_ipynb_magics.replace_cell_magics
    - sys.stdin.read
    - <builtin>.list
    - black.lines.Line.append
    - header_leaves.extend
    - fmt_off_prefix.split
    - black.ranges.sanitized_lines
    - modified_source.splitlines
    - ctx.ensure_object
    - result.extend
    - <builtin>.type
    - ctx.default_map.items
    - blib2to3.pytree.Node.endswith
    - black.concurrency.schedule_formatting
    - path.relative_to
    - <builtin>.any
    - black.handle_ipynb_magics.get_token
    - black.assert_stable
    - black.mode.supports_feature
    - value_part.strip
    - black.get_features_used
    - sys.stdout.write
    - block.content_lines.append
    - dataclasses.replace
    - loop.run_until_complete
    - black.format_str
    - black.nodes.whitespace
    - black.comments.generate_ignored_nodes
    - f.write
    - child.is_file
    - task.result
    - return_type_leaves.append
    - value.splitlines
    - black.parsing._unwrap_tuples
    - warnings.simplefilter
    - black.handle_ipynb_magics.mask_cell
    - black.assert_equivalent
    - tokenize_rt.reversed_enumerate
    - black.nodes.is_multiline_string
    - black.nodes.make_simple_prefix
    - asyncio.new_event_loop
    - concurrent.futures.ThreadPoolExecutor
    - new_lines.append
    - pattern.search
    - tokenize.detect_encoding
    - data.items
    - black.lines.append_leaves
    - multiprocessing.Manager.Lock
    - task.done
    - black.concurrency.maybe_install_uvloop
    - black.ranges.convert_unchanged_lines
    - buf.read
    - <builtin>.sum
    - <builtin>.id
    - asyncio.ensure_future
    - black.comments.normalize_fmt_off
    - tiow.read
    - black.get_future_imports.get_imports_from_children
    - tasks.pop
    - pathlib.Path.is_dir
    - blib2to3.pgen2.driver.Driver
    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: black.resources
    functionSourceFile: black.resources
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_format_filecontents':
  - 43
  - 44
  '...fuzz_format_filecontents.TestOneInput':
  - 24
  - 25
  - 26
  - 22
  '...fuzz_format_filecontents.main':
  - 40
  - 38
  - 39
  black:
  - 389
  - 262
  - 270
  - 402
  - 278
  - 283
  - 411
  - 288
  - 294
  - 422
  - 300
  - 432
  - 306
  - 314
  - 446
  - 449
  - 323
  - 325
  - 458
  - 334
  - 83
  - 467
  - 343
  - 477
  - 351
  - 863
  - 481
  - 356
  - 484
  - 487
  - 1641
  - 234
  - 1642
  - 493
  - 495
  - 240
  - 241
  - 369
  - 249
  - 378
  - 507
  - 252
  black.WriteBack.from_configuration:
  - 105
  - 102
  black.__main__:
  - 3
  black._black_info:
  - 1565
  black._contains_asexpr:
  - 1487
  - 1488
  - 1490
  - 1491
  - 1492
  - 1496
  - 1497
  - 1498
  black._format_str_once:
  - 1223
  - 1224
  - 1227
  - 1228
  - 1232
  - 1235
  - 1236
  - 1245
  - 1247
  - 1248
  - 1250
  - 1252
  - 1253
  - 1260
  - 1263
  - 1264
  - 1265
  - 1266
  - 1269
  - 1270
  - 1273
  - 1274
  - 1275
  - 1276
  - 1278
  black.assert_equivalent:
  - 1570
  - 1572
  - 1582
  - 1584
  - 1591
  - 1592
  - 1593
  - 1594
  black.assert_stable:
  - 1605
  - 1606
  - 1616
  - 1617
  - 1618
  - 1619
  - 1620
  - 1621
  black.brackets:
  - 1
  black.brackets.BracketMatchError:
  - 56
  black.brackets.BracketTracker:
  - 64
  - 65
  - 67
  - 68
  - 69
  - 61
  black.brackets.BracketTracker.any_open_brackets:
  - 139
  - 140
  black.brackets.BracketTracker.any_open_for_or_lambda:
  - 136
  - 132
  black.brackets.BracketTracker.delimiter_count_with_priority:
  - 159
  - 155
  - 158
  - 151
  black.brackets.BracketTracker.get_open_lsqb:
  - 216
  - 215
  black.brackets.BracketTracker.mark:
  - 128
  - 129
  - 72
  - 89
  - 92
  - 99
  - 100
  - 101
  - 104
  - 111
  - 112
  - 114
  - 115
  - 116
  - 117
  - 119
  - 120
  - 121
  - 122
  - 125
  - 126
  black.brackets.BracketTracker.max_delimiter_priority:
  - 148
  - 143
  black.brackets.BracketTracker.maybe_decrement_after_for_loop_variable:
  - 176
  - 183
  - 175
  black.brackets.BracketTracker.maybe_decrement_after_lambda_arguments:
  - 209
  - 202
  - 203
  black.brackets.BracketTracker.maybe_increment_for_loop_variable:
  - 169
  - 162
  - 167
  black.brackets.BracketTracker.maybe_increment_lambda_arguments:
  - 194
  - 196
  - 189
  black.brackets.get_leaves_inside_matching_brackets:
  - 358
  - 365
  - 366
  - 369
  - 371
  - 372
  - 374
  - 375
  - 376
  - 377
  - 378
  - 379
  - 380
  black.brackets.is_split_after_delimiter:
  - 227
  - 220
  black.brackets.is_split_before_delimiter:
  - 323
  - 261
  - 293
  - 264
  - 296
  - 234
  - 299
  - 271
  - 241
  - 274
  - 246
  - 311
  - 280
  - 281
  - 254
  - 286
  black.brackets.max_delimiter_priority_in_atom:
  - 330
  - 335
  - 340
  - 343
  - 344
  - 345
  - 346
  - 348
  - 349
  - 351
  black.cache:
  - 48
  - 1
  - 19
  black.cache.Cache:
  - 59
  black.cache.Cache.filtered_cached:
  - 128
  - 130
  - 119
  - 124
  - 125
  - 126
  - 127
  black.cache.Cache.get_file_data:
  - 96
  - 98
  - 99
  - 100
  black.cache.Cache.hash_digest:
  - 89
  - 91
  - 92
  black.cache.Cache.is_changed:
  - 103
  - 104
  - 105
  - 106
  - 109
  - 110
  - 112
  - 113
  - 114
  black.cache.Cache.read:
  - 68
  - 70
  - 73
  - 74
  - 75
  - 76
  - 78
  - 80
  - 81
  - 83
  - 85
  - 63
  black.cache.Cache.write:
  - 134
  - 135
  - 136
  - 139
  - 140
  - 141
  - 145
  - 147
  - 148
  black.cache.get_cache_dir:
  - 32
  - 42
  - 43
  black.cache.get_cache_file:
  - 52
  black.check_stability_and_equivalence:
  - 1058
  - 1059
  - 1052
  black.comments:
  - 88
  black.comments.ProtoComment:
  - 41
  black.comments._find_compound_statement_context:
  - 576
  - 554
  - 557
  - 565
  - 567
  - 542
  black.comments._generate_ignored_nodes_from_fmt_skip:
  - 642
  - 643
  - 646
  - 649
  - 673
  - 677
  - 680
  - 686
  - 690
  - 693
  - 694
  - 696
  - 700
  - 707
  - 711
  - 716
  - 724
  - 726
  - 730
  - 731
  - 732
  - 733
  - 734
  - 737
  - 738
  - 747
  - 752
  - 757
  - 758
  - 636
  black.comments._get_compound_statement_header:
  - 611
  - 612
  - 617
  - 622
  - 623
  - 625
  - 626
  - 627
  - 629
  black.comments._handle_comment_only_fmt_block:
  - 289
  - 321
  - 259
  - 260
  - 323
  - 262
  - 265
  - 314
  - 301
  - 302
  - 271
  - 303
  - 250
  - 315
  - 284
  - 254
  black.comments._handle_regular_fmt_block:
  - 400
  - 405
  - 407
  - 416
  - 417
  - 419
  - 420
  - 422
  - 423
  - 426
  - 427
  - 429
  - 443
  - 445
  - 447
  - 449
  - 452
  - 454
  - 458
  - 459
  - 460
  - 464
  - 467
  - 473
  - 474
  - 475
  - 481
  - 483
  - 487
  black.comments._handle_regular_fmt_block.stringify_node:
  - 432
  - 433
  - 435
  - 438
  - 441
  black.comments._is_valid_standalone_fmt_comment:
  - 228
  - 231
  - 232
  - 236
  - 238
  - 223
  black.comments._should_keep_compound_statement_inline:
  - 585
  - 591
  - 592
  - 594
  - 601
  black.comments._should_process_fmt_comment:
  - 203
  - 207
  - 208
  - 210
  - 214
  black.comments.children_contains_fmt_on:
  - 776
  - 777
  - 778
  - 775
  black.comments.contains_fmt_directive:
  - 801
  - 816
  - 817
  - 820
  - 821
  - 827
  black.comments.contains_pragma_comment:
  - 792
  - 785
  - 791
  black.comments.convert_one_fmt_off_pair:
  - 353
  - 357
  - 363
  - 366
  - 367
  - 336
  - 340
  - 374
  - 343
  - 379
  - 349
  - 350
  black.comments.generate_comments:
  - 79
  - 83
  - 84
  - 85
  - 60
  black.comments.generate_ignored_nodes:
  - 512
  - 517
  - 519
  - 521
  - 522
  - 537
  - 495
  - 529
  - 531
  - 500
  - 501
  - 533
  - 503
  - 505
  - 509
  - 510
  - 511
  black.comments.is_fmt_on:
  - 769
  - 762
  - 766
  - 767
  black.comments.list_comments:
  - 99
  - 100
  - 101
  - 122
  - 103
  - 104
  - 106
  - 108
  - 112
  - 116
  - 120
  - 121
  - 90
  - 92
  black.comments.make_comment:
  - 162
  - 163
  - 167
  - 170
  - 172
  - 175
  - 178
  - 181
  - 183
  - 152
  - 186
  - 184
  black.comments.normalize_fmt_off:
  - 194
  - 197
  black.comments.normalize_trailing_prefix:
  - 137
  - 142
  - 143
  - 144
  - 145
  black.concurrency:
  - 73
  - 1
  black.concurrency.cancel:
  - 48
  - 45
  - 46
  - 47
  black.concurrency.maybe_install_uvloop:
  - 39
  - 31
  black.concurrency.reformat_many:
  - 130
  - 132
  - 133
  - 134
  - 83
  - 84
  - 86
  - 87
  - 88
  - 89
  - 91
  - 92
  - 100
  - 102
  - 110
  - 111
  - 113
  - 114
  - 116
  - 117
  black.concurrency.schedule_formatting:
  - 147
  - 154
  - 155
  - 159
  - 160
  - 161
  - 162
  - 169
  - 172
  - 173
  - 177
  - 178
  - 182
  - 184
  - 186
  - 187
  - 192
  - 193
  - 194
  - 195
  - 196
  - 197
  - 198
  - 199
  - 200
  - 202
  - 205
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 215
  - 216
  black.concurrency.shutdown:
  - 66
  - 67
  - 68
  - 52
  - 55
  - 56
  - 59
  - 60
  - 61
  black.debug:
  - 12
  black.debug.DebugVisitor:
  - 18
  black.debug.DebugVisitor.out:
  - 24
  - 22
  - 23
  black.debug.DebugVisitor.show:
  - 48
  - 52
  - 53
  - 54
  - 55
  black.debug.DebugVisitor.visit_default:
  - 32
  - 33
  - 36
  - 38
  - 39
  - 40
  - 43
  - 44
  - 28
  - 29
  - 30
  black.decode_bytes:
  - 1314
  - 1284
  - 1319
  - 1320
  - 1321
  - 1292
  - 1296
  - 1297
  - 1300
  - 1303
  - 1304
  - 1308
  - 1309
  black.detect_target_versions:
  - 1505
  - 1506
  black.enable_unstable_feature_callback:
  - 208
  black.files:
  - 16
  - 120
  - 21
  - 31
  black.files._cached_resolve:
  - 43
  black.files._load_toml:
  - 37
  - 38
  black.files._path_is_ignored:
  - 307
  - 300
  - 302
  - 303
  black.files.best_effort_relative_path:
  - 289
  - 282
  - 285
  - 286
  - 287
  black.files.find_project_root:
  - 65
  - 66
  - 67
  - 68
  - 70
  - 75
  - 78
  - 79
  - 80
  - 50
  - 83
  - 84
  - 87
  - 90
  - 91
  - 92
  black.files.find_pyproject_toml:
  - 101
  - 102
  - 104
  - 105
  - 108
  - 110
  - 111
  - 116
  black.files.find_user_pyproject_toml:
  - 231
  - 233
  - 235
  - 236
  - 237
  - 222
  black.files.gen_python_files:
  - 386
  - 387
  - 399
  - 400
  - 404
  - 405
  - 406
  - 333
  - 342
  - 343
  - 344
  - 345
  - 348
  - 351
  - 356
  - 359
  - 360
  - 363
  - 364
  - 369
  - 370
  - 373
  - 376
  - 379
  - 382
  black.files.get_gitignore:
  - 242
  - 245
  - 246
  - 247
  - 249
  - 251
  black.files.infer_target_version:
  - 141
  - 148
  - 149
  - 150
  - 152
  - 156
  black.files.parse_pyproject_toml:
  - 128
  - 130
  - 131
  - 132
  - 133
  - 122
  - 126
  - 127
  black.files.parse_req_python_specifier:
  - 179
  - 184
  - 185
  - 189
  - 190
  black.files.parse_req_python_version:
  - 169
  - 170
  - 164
  - 173
  black.files.path_is_excluded:
  - 316
  - 317
  black.files.resolves_outside_root_or_cannot_stat:
  - 260
  - 265
  - 267
  - 268
  - 271
  - 273
  - 274
  black.files.strip_specifier_set:
  - 196
  - 202
  - 203
  - 204
  - 205
  - 206
  - 207
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 215
  - 217
  black.files.wrap_stream_for_windows:
  - 426
  - 412
  black.format_cell:
  - 1121
  - 1122
  - 1091
  - 1106
  - 1107
  - 1111
  - 1114
  - 1115
  - 1116
  - 1117
  - 1118
  black.format_file_contents:
  - 1069
  - 1075
  - 1076
  - 1078
  - 1079
  - 1082
  - 1084
  black.format_file_in_place:
  - 934
  - 940
  - 941
  - 942
  - 943
  - 945
  - 947
  - 948
  - 949
  - 950
  - 952
  - 961
  - 962
  - 964
  - 965
  - 966
  - 967
  - 968
  - 971
  - 972
  - 974
  - 976
  - 977
  - 979
  - 980
  - 986
  - 987
  - 988
  black.format_ipynb_string:
  - 1152
  - 1153
  - 1155
  - 1156
  - 1160
  - 1162
  - 1163
  - 1164
  - 1140
  - 1145
  - 1150
  - 1151
  black.format_stdin_to_stdout:
  - 1025
  - 1028
  - 1030
  - 1032
  - 1001
  - 1033
  - 1034
  - 1037
  - 1038
  - 1039
  - 1040
  - 1009
  - 1041
  - 1011
  - 1012
  - 1042
  - 1018
  black.format_str:
  - 1203
  - 1204
  - 1205
  - 1174
  - 1207
  - 1211
  - 1212
  - 1213
  - 1214
  black.get_features_used:
  - 1408
  - 1410
  - 1412
  - 1414
  - 1417
  - 1419
  - 1421
  - 1425
  - 1426
  - 1428
  - 1431
  - 1433
  - 1434
  - 1436
  - 1439
  - 1441
  - 1443
  - 1446
  - 1448
  - 1449
  - 1451
  - 1327
  - 1455
  - 1457
  - 1459
  - 1466
  - 1467
  - 1471
  - 1344
  - 1345
  - 1477
  - 1352
  - 1353
  - 1354
  - 1355
  - 1356
  - 1357
  - 1481
  - 1360
  - 1362
  - 1364
  - 1365
  - 1366
  - 1368
  - 1369
  - 1374
  - 1376
  - 1377
  - 1379
  - 1380
  - 1383
  - 1385
  - 1390
  - 1395
  - 1396
  - 1397
  - 1399
  - 1400
  - 1401
  - 1402
  - 1404
  - 1406
  black.get_future_imports:
  - 1539
  - 1541
  - 1542
  - 1513
  - 1514
  - 1550
  - 1552
  - 1555
  - 1534
  - 1535
  black.get_future_imports.get_imports_from_children:
  - 1517
  - 1518
  - 1519
  - 1520
  - 1522
  - 1524
  - 1526
  - 1528
  - 1529
  black.get_sources:
  - 770
  - 771
  - 772
  - 773
  - 776
  - 780
  - 781
  - 786
  - 787
  - 789
  - 794
  - 795
  - 796
  - 797
  - 798
  - 799
  - 800
  - 802
  - 805
  - 807
  - 808
  - 809
  - 821
  - 822
  - 823
  - 824
  - 826
  - 746
  - 747
  - 749
  - 751
  - 753
  - 755
  - 756
  - 757
  - 758
  - 759
  - 766
  black.handle_ipynb_magics:
  - 16
  - 1
  - 22
  - 31
  black.handle_ipynb_magics.CellMagic.header:
  - 360
  black.handle_ipynb_magics.CellMagicFinder:
  - 367
  black.handle_ipynb_magics.CellMagicFinder.visit_Expr:
  - 389
  - 390
  - 391
  - 392
  - 395
  - 396
  - 397
  black.handle_ipynb_magics.MagicFinder:
  - 409
  black.handle_ipynb_magics.MagicFinder.__init__:
  - 428
  black.handle_ipynb_magics.MagicFinder.visit_Assign:
  - 449
  - 451
  - 458
  - 459
  - 461
  - 431
  - 445
  - 446
  - 447
  black.handle_ipynb_magics.MagicFinder.visit_Expr:
  - 482
  - 483
  - 484
  - 485
  - 487
  - 491
  - 493
  - 495
  - 464
  - 499
  - 500
  - 502
  black.handle_ipynb_magics._get_code_start:
  - 323
  - 322
  - 315
  - 324
  black.handle_ipynb_magics._get_str_args:
  - 346
  - 347
  - 348
  black.handle_ipynb_magics._is_ipython_magic:
  - 337
  - 330
  - 339
  - 338
  black.handle_ipynb_magics.create_token:
  - 192
  - 193
  - 189
  - 191
  black.handle_ipynb_magics.get_token:
  - 201
  - 209
  - 210
  - 213
  - 215
  black.handle_ipynb_magics.jupyter_dependencies_are_installed:
  - 58
  - 51
  - 53
  black.handle_ipynb_magics.mask_cell:
  - 163
  - 173
  - 176
  - 177
  - 147
  - 179
  - 180
  - 181
  black.handle_ipynb_magics.put_trailing_semicolon_back:
  - 128
  - 132
  - 133
  - 134
  - 136
  - 143
  - 123
  black.handle_ipynb_magics.remove_trailing_semicolon:
  - 108
  - 110
  - 111
  - 113
  - 117
  - 119
  - 91
  black.handle_ipynb_magics.replace_cell_magics:
  - 225
  - 243
  - 245
  - 246
  - 247
  - 250
  - 251
  black.handle_ipynb_magics.replace_magics:
  - 256
  - 289
  - 290
  - 292
  - 293
  - 274
  - 275
  - 277
  - 278
  - 280
  black.handle_ipynb_magics.unmask_cell:
  - 297
  - 309
  - 310
  black.handle_ipynb_magics.validate_cell:
  - 79
  - 82
  - 83
  - 84
  - 63
  black.linegen:
  - 1
  black.linegen.CannotSplit:
  - 102
  black.linegen.LineGenerator:
  - 108
  black.linegen.LineGenerator.__init__:
  - 118
  black.linegen.LineGenerator.__post_init__:
  - 672
  - 679
  - 651
  - 652
  - 655
  - 656
  - 657
  - 660
  - 661
  - 662
  - 665
  - 666
  - 667
  - 669
  - 670
  - 671
  black.linegen.LineGenerator.line:
  - 128
  - 132
  - 142
  - 143
  - 121
  black.linegen.LineGenerator.visit_DEDENT:
  - 205
  - 201
  - 197
  - 208
  black.linegen.LineGenerator.visit_ENDMARKER:
  - 385
  - 386
  - 387
  black.linegen.LineGenerator.visit_INDENT:
  - 193
  - 194
  - 191
  black.linegen.LineGenerator.visit_NUMBER:
  - 556
  - 557
  black.linegen.LineGenerator.visit_SEMI:
  - 381
  - 382
  black.linegen.LineGenerator.visit_STANDALONE_COMMENT:
  - 390
  - 391
  - 392
  - 401
  - 403
  - 404
  - 405
  - 407
  - 413
  - 414
  - 415
  - 416
  - 418
  - 419
  - 420
  - 421
  - 425
  - 426
  - 427
  - 430
  black.linegen.LineGenerator.visit_STRING:
  - 515
  - 522
  - 528
  - 529
  - 535
  - 536
  - 538
  - 541
  - 550
  - 551
  - 552
  - 553
  - 468
  - 470
  - 473
  - 474
  - 480
  - 483
  - 484
  - 496
  - 497
  - 499
  - 502
  - 504
  - 506
  - 508
  - 509
  - 510
  black.linegen.LineGenerator.visit_async_stmt:
  - 335
  - 336
  - 338
  - 339
  - 340
  - 342
  - 347
  - 348
  black.linegen.LineGenerator.visit_atom:
  - 560
  - 561
  - 564
  - 568
  - 575
  black.linegen.LineGenerator.visit_comp_for:
  - 641
  - 642
  - 645
  black.linegen.LineGenerator.visit_decorators:
  - 352
  - 353
  - 354
  - 351
  black.linegen.LineGenerator.visit_default:
  - 160
  - 162
  - 163
  - 165
  - 167
  - 168
  - 169
  - 146
  - 147
  - 148
  - 149
  - 150
  - 152
  - 153
  - 155
  - 156
  black.linegen.LineGenerator.visit_dictsetmaker:
  - 256
  - 264
  - 265
  - 246
  - 247
  - 248
  - 250
  - 251
  - 254
  black.linegen.LineGenerator.visit_factor:
  - 433
  - 438
  - 440
  - 443
  - 444
  - 445
  - 446
  - 447
  black.linegen.LineGenerator.visit_fstring:
  - 579
  - 580
  - 581
  - 582
  - 588
  - 590
  black.linegen.LineGenerator.visit_funcdef:
  - 290
  - 291
  - 268
  - 269
  - 273
  - 274
  - 276
  - 277
  - 278
  - 285
  - 287
  black.linegen.LineGenerator.visit_match_case:
  - 294
  - 295
  - 296
  - 299
  - 300
  - 301
  black.linegen.LineGenerator.visit_old_comp_for:
  - 648
  black.linegen.LineGenerator.visit_paramspec:
  - 242
  black.linegen.LineGenerator.visit_power:
  - 357
  - 360
  - 363
  - 364
  - 370
  - 374
  - 376
  - 378
  black.linegen.LineGenerator.visit_simple_stmt:
  - 320
  - 322
  - 323
  - 324
  - 327
  - 329
  - 331
  - 332
  - 311
  - 313
  - 314
  - 315
  - 318
  - 319
  black.linegen.LineGenerator.visit_stmt:
  - 224
  - 227
  - 228
  - 229
  - 231
  - 213
  black.linegen.LineGenerator.visit_suite:
  - 304
  - 305
  - 306
  - 308
  black.linegen.LineGenerator.visit_test:
  - 172
  - 178
  - 180
  - 181
  - 185
  - 186
  - 188
  black.linegen.LineGenerator.visit_tname:
  - 465
  - 450
  - 460
  - 463
  black.linegen.LineGenerator.visit_tstring:
  - 594
  - 595
  - 596
  - 597
  - 603
  - 605
  black.linegen.LineGenerator.visit_typeparams:
  - 234
  black.linegen.LineGenerator.visit_typevartuple:
  - 238
  black.linegen._BracketSplitComponent:
  - 856
  - 857
  - 858
  black.linegen._atom_has_magic_trailing_comma:
  - 1752
  - 1760
  - 1757
  black.linegen._can_add_trailing_comma:
  - 1329
  - 1331
  black.linegen._ensure_trailing_comma:
  - 1222
  - 1225
  - 1228
  - 1230
  - 1233
  - 1234
  - 1239
  - 1240
  - 1243
  - 1246
  black.linegen._first_right_hand_split:
  - 1024
  - 1030
  - 1032
  - 1036
  - 1039
  - 1040
  - 1043
  - 1046
  - 1047
  - 951
  - 963
  - 964
  - 965
  - 967
  - 968
  - 969
  - 973
  - 979
  - 980
  - 981
  - 984
  - 989
  - 995
  - 1000
  - 1001
  - 1003
  - 1004
  - 1006
  - 1007
  - 1013
  - 1019
  - 1020
  - 1023
  black.linegen._get_last_non_comment_leaf:
  - 1322
  - 1323
  black.linegen._hugging_power_ops_line_to_string:
  - 689
  black.linegen._is_atom_multiline:
  - 1771
  - 1764
  - 1765
  - 1772
  black.linegen._maybe_split_omitting_optional_parens:
  - 1088
  - 1057
  - 1115
  - 1100
  - 1069
  - 1101
  - 1071
  - 1102
  - 1074
  - 1075
  - 1076
  - 1111
  - 1112
  - 1113
  - 1114
  - 1083
  - 1086
  - 1087
  black.linegen._maybe_wrap_cms_in_parens:
  - 1664
  - 1697
  - 1698
  - 1668
  - 1700
  - 1670
  - 1676
  - 1677
  - 1680
  - 1681
  - 1682
  - 1684
  - 1685
  black.linegen._normalize_import_from:
  - 1613
  - 1614
  - 1618
  - 1620
  - 1621
  black.linegen._prefer_split_rhs_oop_over_rhs:
  - 1154
  - 1155
  - 1160
  - 1165
  - 1166
  - 1169
  - 1173
  - 1174
  - 1176
  - 1186
  - 1188
  - 1121
  - 1126
  - 1127
  - 1128
  - 1129
  - 1134
  - 1142
  - 1145
  - 1149
  black.linegen._safe_add_trailing_comma:
  - 1344
  - 1337
  - 1343
  black.linegen.bracket_split_build_line:
  - 1280
  - 1281
  - 1282
  - 1285
  - 1286
  - 1287
  - 1289
  - 1290
  - 1293
  - 1262
  - 1295
  - 1296
  - 1297
  - 1271
  - 1272
  - 1275
  - 1276
  - 1277
  black.linegen.bracket_split_succeeded_or_raise:
  - 1194
  - 1207
  - 1208
  - 1209
  - 1212
  black.linegen.delimiter_split:
  - 1410
  - 1412
  - 1413
  - 1414
  - 1416
  - 1417
  - 1421
  - 1422
  - 1423
  - 1424
  - 1427
  - 1429
  - 1430
  - 1434
  - 1435
  - 1438
  - 1355
  - 1360
  - 1366
  - 1370
  - 1372
  - 1376
  - 1399
  - 1400
  - 1401
  - 1403
  - 1404
  - 1406
  black.linegen.delimiter_split.append_comments:
  - 1396
  - 1397
  black.linegen.delimiter_split.append_to_line:
  - 1383
  - 1386
  - 1388
  - 1390
  - 1393
  black.linegen.dont_increase_indentation:
  - 1305
  - 1310
  black.linegen.dont_increase_indentation.split_wrapper:
  - 1314
  - 1316
  black.linegen.generate_trailers_to_omit:
  - 1929
  - 1930
  - 1931
  - 1936
  - 1937
  - 1939
  - 1942
  - 1943
  - 1946
  - 1947
  - 1949
  - 1951
  - 1955
  - 1963
  - 1964
  - 1966
  - 1970
  - 1973
  - 1974
  - 1975
  - 1976
  - 1977
  - 1979
  - 1983
  - 1989
  - 1919
  black.linegen.left_hand_split:
  - 897
  - 898
  - 900
  - 901
  - 902
  - 907
  - 909
  - 912
  - 915
  - 918
  - 921
  - 922
  - 923
  - 924
  - 864
  - 870
  - 877
  - 878
  - 882
  - 883
  - 885
  - 887
  - 891
  black.linegen.maybe_make_parens_invisible_in_atom:
  - 1792
  - 1794
  - 1795
  - 1796
  - 1798
  - 1800
  - 1802
  - 1808
  - 1814
  - 1822
  - 1827
  - 1828
  - 1829
  - 1833
  - 1834
  - 1853
  - 1856
  - 1859
  - 1863
  - 1871
  - 1874
  - 1876
  - 1882
  - 1786
  black.linegen.normalize_invisible_parens:
  - 1536
  - 1544
  - 1546
  - 1547
  - 1550
  - 1554
  - 1561
  - 1562
  - 1563
  - 1564
  - 1566
  - 1567
  - 1568
  - 1571
  - 1574
  - 1575
  - 1576
  - 1577
  - 1578
  - 1580
  - 1590
  - 1591
  - 1600
  - 1601
  - 1605
  - 1479
  - 1487
  - 1488
  - 1495
  - 1496
  - 1499
  - 1502
  - 1503
  - 1509
  - 1510
  - 1515
  - 1516
  - 1521
  - 1523
  - 1528
  - 1530
  - 1533
  - 1534
  black.linegen.remove_await_parens:
  - 1637
  - 1646
  - 1647
  - 1649
  - 1657
  - 1652
  - 1653
  - 1658
  - 1625
  - 1626
  - 1630
  black.linegen.remove_with_parens:
  - 1731
  - 1732
  - 1733
  - 1734
  - 1735
  - 1736
  - 1737
  - 1706
  - 1738
  - 1739
  - 1741
  - 1748
  - 1723
  - 1724
  black.linegen.right_hand_split:
  - 933
  - 942
  - 941
  black.linegen.run_transformer:
  - 2016
  - 2017
  - 2018
  - 2019
  - 2020
  - 2025
  - 2029
  - 2030
  - 2032
  - 2002
  - 2003
  - 2035
  - 2005
  - 2006
  - 2009
  - 2011
  - 2012
  black.linegen.should_split_funcdef_with_rhs:
  - 832
  - 834
  - 835
  - 836
  - 841
  - 842
  - 843
  - 844
  - 847
  - 825
  - 831
  black.linegen.should_split_line:
  - 1892
  - 1894
  - 1900
  - 1904
  - 1906
  - 1907
  black.linegen.standalone_comment_split:
  - 1472
  - 1473
  - 1445
  - 1446
  - 1449
  - 1466
  - 1467
  - 1469
  - 1470
  black.linegen.standalone_comment_split.append_to_line:
  - 1454
  - 1457
  - 1459
  - 1461
  - 1464
  black.linegen.transform_line:
  - 776
  - 778
  - 779
  - 798
  - 803
  - 806
  - 808
  - 813
  - 817
  - 697
  - 703
  - 704
  - 707
  - 709
  - 716
  - 721
  - 722
  - 723
  - 724
  - 727
  - 728
  - 732
  - 733
  - 735
  - 736
  - 739
  - 743
  black.linegen.transform_line._rhs:
  - 770
  - 750
  - 756
  - 757
  - 762
  - 763
  black.lines:
  - 33
  black.lines.EmptyLineTracker:
  - 545
  - 534
  black.lines.EmptyLineTracker._line_is_module_docstring:
  - 595
  - 605
  - 597
  - 598
  black.lines.EmptyLineTracker._maybe_empty_lines:
  - 640
  - 643
  - 645
  - 646
  - 648
  - 651
  - 656
  - 658
  - 678
  - 679
  - 683
  - 688
  - 692
  - 695
  - 611
  - 614
  - 617
  - 618
  - 623
  - 629
  - 630
  - 631
  - 633
  - 637
  - 638
  black.lines.EmptyLineTracker._maybe_empty_lines_for_class_or_def:
  - 771
  - 773
  - 775
  - 777
  - 707
  - 708
  - 713
  - 716
  - 721
  - 727
  - 738
  - 739
  - 740
  - 742
  - 744
  - 752
  - 754
  - 757
  - 760
  black.lines.EmptyLineTracker.maybe_empty_lines:
  - 577
  - 578
  - 549
  - 586
  - 556
  - 559
  - 561
  - 564
  - 567
  black.lines.Line:
  - 41
  - 43
  - 45
  - 47
  - 48
  black.lines.Line.__bool__:
  - 496
  - 495
  black.lines.Line.__str__:
  - 480
  - 484
  - 485
  - 487
  - 488
  - 489
  - 490
  - 479
  black.lines.Line._is_triple_quoted_string:
  - 200
  - 194
  - 195
  - 198
  black.lines.Line.append:
  - 69
  - 71
  - 74
  - 76
  - 79
  - 81
  - 84
  - 85
  - 86
  - 87
  - 56
  - 89
  - 90
  - 91
  - 92
  black.lines.Line.append_comment:
  - 384
  - 414
  - 389
  - 392
  - 398
  - 402
  - 403
  - 408
  - 381
  - 382
  black.lines.Line.append_safe:
  - 100
  - 102
  - 104
  - 107
  - 112
  - 95
  black.lines.Line.clone:
  - 470
  black.lines.Line.comments_after:
  - 418
  - 419
  black.lines.Line.contains_implicit_multiline_string_with_comments:
  - 256
  - 257
  - 259
  - 260
  - 250
  - 251
  - 252
  - 254
  black.lines.Line.contains_multiline_strings:
  - 334
  black.lines.Line.contains_standalone_comments:
  - 242
  - 243
  - 244
  black.lines.Line.contains_uncollapsable_type_comments:
  - 288
  - 289
  - 290
  - 291
  - 265
  - 268
  - 269
  - 277
  - 287
  black.lines.Line.contains_unsplittable_type_ignore:
  - 322
  - 326
  - 327
  - 328
  - 301
  - 317
  - 318
  - 319
  black.lines.Line.enumerate_with_length:
  - 451
  - 455
  - 459
  - 460
  - 461
  - 464
  - 465
  - 467
  black.lines.Line.has_magic_trailing_comma:
  - 352
  - 353
  - 357
  - 337
  - 370
  - 373
  - 342
  - 349
  black.lines.Line.is_chained_assignment:
  - 211
  - 212
  black.lines.Line.is_class:
  - 136
  - 138
  black.lines.Line.is_class_paren_empty:
  - 184
  - 178
  - 183
  black.lines.Line.is_comment:
  - 116
  - 117
  black.lines.Line.is_complex_subscript:
  - 430
  - 431
  - 432
  - 437
  - 438
  - 441
  - 442
  - 444
  - 445
  black.lines.Line.is_decorator:
  - 121
  - 122
  black.lines.Line.is_def:
  - 152
  black.lines.Line.is_docstring:
  - 206
  - 207
  black.lines.Line.is_fmt_pass_converted:
  - 224
  - 232
  - 229
  - 237
  black.lines.Line.is_import:
  - 126
  - 127
  black.lines.Line.is_stub_class:
  - 145
  - 147
  black.lines.Line.is_stub_def:
  - 171
  - 172
  - 173
  black.lines.Line.is_with_or_async_with_stmt:
  - 131
  - 132
  black.lines.Line.opens_block:
  - 216
  - 217
  black.lines.Line.remove_trailing_comma:
  - 424
  - 425
  - 422
  - 423
  black.lines.LinesBlock:
  - 512
  - 522
  black.lines.LinesBlock.all_lines:
  - 528
  - 527
  black.lines.RHSResult:
  - 501
  black.lines._can_omit_closing_paren:
  - 1100
  - 1103
  - 1105
  - 1106
  - 1109
  black.lines._can_omit_opening_paren:
  - 1075
  - 1079
  - 1080
  - 1082
  - 1084
  - 1087
  black.lines.append_leaves:
  - 806
  - 807
  - 808
  - 809
  - 811
  - 812
  - 794
  black.lines.can_be_split:
  - 930
  - 933
  - 904
  - 911
  - 914
  - 918
  - 919
  - 920
  - 924
  - 926
  - 927
  black.lines.can_omit_invisible_parens:
  - 1027
  - 1031
  - 1037
  - 1038
  - 1048
  - 1059
  - 1063
  - 1068
  - 943
  - 955
  - 957
  - 961
  - 962
  - 963
  - 966
  - 967
  - 975
  - 976
  - 977
  - 984
  - 992
  - 993
  - 995
  - 997
  - 1006
  - 1010
  - 1011
  - 1012
  - 1016
  - 1017
  black.lines.enumerate_reversed:
  - 784
  - 785
  - 786
  - 787
  black.lines.is_line_short_enough:
  - 897
  - 900
  - 816
  - 821
  - 822
  - 824
  - 826
  - 828
  - 830
  - 831
  - 846
  - 847
  - 849
  - 850
  - 851
  - 852
  - 853
  - 860
  - 864
  - 869
  - 870
  - 873
  - 874
  - 876
  - 877
  - 883
  - 889
  - 890
  - 891
  black.lines.line_to_string:
  - 1121
  - 1117
  black.main:
  - 548
  - 549
  - 552
  - 553
  - 558
  - 560
  - 561
  - 562
  - 565
  - 566
  - 567
  - 568
  - 571
  - 572
  - 573
  - 576
  - 579
  - 583
  - 584
  - 585
  - 590
  - 591
  - 592
  - 593
  - 594
  - 599
  - 603
  - 605
  - 606
  - 607
  - 608
  - 611
  - 614
  - 616
  - 620
  - 621
  - 622
  - 623
  - 625
  - 626
  - 627
  - 630
  - 631
  - 641
  - 642
  - 646
  - 647
  - 648
  - 649
  - 652
  - 654
  - 655
  - 657
  - 662
  - 664
  - 665
  - 676
  - 689
  - 691
  - 692
  - 693
  - 694
  - 695
  - 696
  - 698
  - 699
  - 700
  - 711
  - 712
  - 713
  - 714
  - 724
  - 725
  - 726
  - 727
  - 728
  - 729
  - 730
  black.mode:
  - 1
  black.mode.Deprecated:
  - 243
  black.mode.Mode:
  - 258
  - 251
  - 261
  black.mode.Mode.__contains__:
  - 264
  - 273
  - 271
  black.mode.Mode.__hash__:
  - 321
  - 313
  - 314
  - 324
  black.mode.Mode.get_cache_key:
  - 278
  - 279
  - 280
  - 281
  - 285
  - 286
  - 290
  - 292
  - 294
  - 295
  - 300
  - 301
  - 302
  - 303
  - 304
  - 305
  - 306
  - 307
  - 310
  black.mode.Preview:
  - 227
  - 228
  - 229
  - 230
  - 231
  - 223
  black.mode.supports_feature:
  - 216
  - 219
  black.nodes:
  - 1
  - 129
  - 130
  - 17
  - 22
  black.nodes.Visitor:
  - 147
  black.nodes.Visitor.visit:
  - 162
  - 167
  - 168
  - 169
  - 171
  - 150
  - 159
  black.nodes.Visitor.visit_default:
  - 176
  - 177
  - 174
  - 175
  black.nodes.child_towards:
  - 486
  black.nodes.container_of:
  - 519
  - 522
  - 525
  - 528
  - 511
  black.nodes.ensure_visible:
  - 1024
  - 1029
  - 1031
  black.nodes.first_leaf:
  - 1073
  - 1076
  - 1070
  - 1071
  black.nodes.first_leaf_of:
  - 536
  - 537
  - 539
  - 540
  black.nodes.fstring_tstring_to_string:
  - 819
  - 820
  - 821
  - 822
  black.nodes.furthest_ancestor_with_last_leaf:
  - 1090
  black.nodes.get_annotation_type:
  - 1057
  - 1052
  - 1055
  black.nodes.has_sibling_with_type:
  - 1108
  - 1101
  black.nodes.is_arith_like:
  - 546
  black.nodes.is_async_stmt_or_funcdef:
  - 953
  - 948
  black.nodes.is_atom_with_invisible_parens:
  - 890
  - 893
  - 901
  - 898
  black.nodes.is_docstring:
  - 576
  - 579
  - 580
  - 583
  - 592
  - 598
  - 575
  black.nodes.is_empty_par:
  - 908
  black.nodes.is_empty_tuple:
  - 610
  - 607
  black.nodes.is_fstring:
  - 814
  black.nodes.is_generator:
  - 673
  - 666
  - 667
  - 669
  - 670
  black.nodes.is_import:
  - 920
  - 924
  black.nodes.is_multiline_string:
  - 835
  - 827
  - 828
  - 829
  - 830
  black.nodes.is_one_sequence_between:
  - 682
  - 683
  - 687
  - 688
  - 696
  - 697
  - 701
  - 703
  black.nodes.is_one_tuple:
  - 617
  - 618
  - 619
  - 620
  - 623
  - 627
  black.nodes.is_part_of_annotation:
  - 1064
  - 1066
  black.nodes.is_simple_decorator_expression:
  - 746
  - 754
  - 756
  - 757
  - 760
  - 762
  - 763
  black.nodes.is_simple_decorator_trailer:
  - 720
  - 737
  - 730
  - 723
  black.nodes.is_simple_exponentiation:
  - 568
  - 570
  - 556
  black.nodes.is_simple_exponentiation.is_simple:
  - 561
  - 562
  - 564
  - 559
  black.nodes.is_stub_body:
  - 873
  - 874
  - 877
  - 882
  - 884
  - 885
  black.nodes.is_stub_suite:
  - 866
  - 869
  - 850
  - 851
  - 855
  - 858
  - 859
  black.nodes.is_tuple:
  - 633
  - 634
  - 636
  - 637
  black.nodes.is_tuple_containing_star:
  - 655
  - 656
  - 658
  - 659
  - 662
  black.nodes.is_tuple_containing_walrus:
  - 644
  - 645
  - 647
  - 648
  - 651
  black.nodes.is_type_comment:
  - 961
  - 967
  black.nodes.is_type_comment_string:
  - 971
  black.nodes.is_type_ignore_comment:
  - 978
  - 975
  black.nodes.is_type_ignore_comment_string:
  - 984
  - 986
  black.nodes.is_vararg:
  - 802
  - 805
  - 798
  - 791
  black.nodes.is_walrus_assignment:
  - 714
  - 715
  black.nodes.is_with_or_async_with_stmt:
  - 940
  - 934
  - 935
  black.nodes.is_yield:
  - 770
  - 771
  - 774
  - 777
  - 780
  - 784
  - 785
  black.nodes.last_leaf:
  - 1080
  - 1081
  - 1083
  - 1086
  black.nodes.make_simple_prefix:
  - 432
  - 433
  black.nodes.parent_type:
  - 473
  - 479
  black.nodes.preceding_leaf:
  - 447
  - 442
  - 443
  - 439
  black.nodes.prev_siblings_are:
  - 457
  - 461
  - 463
  - 465
  - 467
  - 469
  black.nodes.replace_child:
  - 494
  - 502
  - 505
  - 506
  - 507
  black.nodes.unwrap_singleton_parenthesis:
  - 1017
  - 1010
  - 1013
  black.nodes.whitespace:
  - 181
  - 192
  - 195
  - 199
  - 206
  - 213
  - 214
  - 215
  - 218
  - 219
  - 222
  - 227
  - 228
  - 229
  - 237
  - 243
  - 245
  - 246
  - 251
  - 252
  - 255
  - 256
  - 259
  - 266
  - 270
  - 273
  - 276
  - 278
  - 281
  - 283
  - 286
  - 288
  - 291
  - 292
  - 295
  - 300
  - 303
  - 305
  - 306
  - 307
  - 310
  - 312
  - 315
  - 316
  - 319
  - 322
  - 324
  - 327
  - 328
  - 329
  - 332
  - 335
  - 339
  - 340
  - 343
  - 344
  - 347
  - 348
  - 351
  - 354
  - 356
  - 358
  - 363
  - 366
  - 369
  - 370
  - 374
  - 376
  - 379
  - 381
  - 382
  - 383
  - 388
  - 394
  - 397
  - 400
  - 401
  - 402
  - 405
  - 406
  - 409
  - 412
  - 415
  - 416
  - 419
  - 421
  - 423
  - 424
  - 425
  black.nodes.wrap_in_parentheses:
  - 992
  - 999
  - 1000
  - 1003
  - 1004
  - 1006
  black.numerics:
  - 1
  black.numerics.format_complex_number:
  - 33
  - 30
  black.numerics.format_float_or_int_string:
  - 41
  - 37
  - 38
  black.numerics.format_hex:
  - 9
  - 13
  black.numerics.format_scientific_notation:
  - 17
  - 18
  - 20
  - 23
  - 25
  black.numerics.normalize_numeric_literal:
  - 46
  - 49
  - 50
  - 53
  - 54
  - 55
  - 56
  - 57
  - 58
  - 60
  black.output:
  - 1
  - 33
  - 15
  - 112
  - 24
  - 59
  black.output._err:
  - 26
  - 27
  - 29
  - 30
  black.output._out:
  - 17
  - 18
  - 20
  - 21
  black.output._splitlines_no_ff:
  - 71
  - 69
  - 70
  - 63
  black.output.color_diff:
  - 97
  - 98
  - 99
  - 100
  - 102
  - 104
  - 106
  - 109
  black.output.diff:
  - 76
  - 79
  - 80
  - 82
  - 88
  - 89
  - 91
  - 92
  - 93
  black.output.dump_to_file:
  - 114
  - 115
  - 118
  - 119
  - 120
  - 121
  black.output.err:
  - 39
  black.output.ipynb_diff:
  - 43
  - 44
  - 45
  - 47
  - 48
  - 49
  - 53
  - 56
  black.output.out:
  - 35
  black.parsing:
  - 1
  black.parsing.ASTSafetyError:
  - 122
  black.parsing.InvalidInput:
  - 21
  black.parsing._normalize:
  - 162
  - 163
  - 166
  black.parsing._parse_single_version:
  - 129
  - 130
  - 131
  - 132
  black.parsing._stringify_ast:
  - 183
  - 184
  - 185
  - 193
  - 195
  - 197
  - 201
  - 205
  - 207
  - 208
  - 211
  - 213
  - 214
  - 216
  - 217
  - 221
  - 222
  - 224
  - 225
  - 229
  - 230
  - 232
  - 233
  - 236
  - 241
  - 242
  - 244
  - 247
  - 248
  - 252
  black.parsing._stringify_ast_with_new_parent:
  - 177
  - 178
  - 179
  black.parsing._unwrap_tuples:
  - 256
  - 257
  - 258
  - 260
  black.parsing.get_grammars:
  - 38
  - 40
  - 42
  - 43
  - 45
  - 46
  - 48
  - 25
  black.parsing.lib2to3_parse:
  - 64
  - 65
  - 100
  - 90
  - 70
  - 71
  - 101
  - 73
  - 78
  - 83
  - 58
  - 59
  - 62
  - 63
  black.parsing.lib2to3_unparse:
  - 116
  - 117
  black.parsing.matches_grammar:
  - 106
  - 108
  black.parsing.parse_ast:
  - 139
  - 142
  - 144
  - 146
  - 147
  - 150
  - 152
  black.parsing.stringify_ast:
  - 170
  - 171
  black.patched_main:
  - 1633
  - 1636
  - 1638
  black.ranges:
  - 1
  black.ranges._LinesMapping:
  - 427
  black.ranges._TopLevelStatementsVisitor:
  - 199
  black.ranges._TopLevelStatementsVisitor.visit_simple_stmt:
  - 224
  - 225
  - 226
  - 214
  - 215
  - 216
  black.ranges._TopLevelStatementsVisitor.visit_suite:
  - 229
  - 234
  - 240
  - 241
  - 246
  - 249
  black.ranges._calculate_lines_mappings:
  - 486
  - 487
  - 488
  - 489
  - 490
  - 510
  - 511
  - 500
  - 501
  - 473
  - 475
  - 476
  - 509
  - 478
  - 447
  black.ranges._contains_standalone_comment:
  - 192
  - 193
  - 189
  black.ranges._convert_node_to_standalone_comment:
  - 344
  - 330
  - 331
  - 337
  - 347
  - 307
  - 309
  - 341
  - 311
  - 312
  - 313
  - 315
  - 348
  - 350
  black.ranges._convert_nodes_to_standalone_comment:
  - 360
  - 361
  - 364
  - 365
  - 369
  - 371
  - 374
  - 375
  - 376
  - 377
  - 378
  - 380
  black.ranges._convert_unchanged_line_by_line:
  - 289
  - 290
  - 259
  - 291
  - 293
  - 296
  - 267
  - 269
  - 270
  - 271
  - 302
  - 303
  - 279
  - 284
  - 253
  - 254
  - 255
  black.ranges._find_lines_mapping_index:
  - 529
  - 531
  - 527
  black.ranges._get_line_range:
  - 417
  - 418
  - 419
  - 420
  - 422
  - 399
  - 400
  - 402
  - 403
  - 404
  - 405
  - 406
  - 408
  - 409
  - 411
  - 414
  - 415
  black.ranges._leaf_line_end:
  - 395
  - 390
  - 391
  black.ranges.adjusted_lines:
  - 131
  - 138
  - 81
  - 113
  - 145
  - 152
  - 119
  - 120
  - 151
  - 125
  black.ranges.convert_unchanged_lines:
  - 180
  - 181
  - 182
  - 183
  - 184
  - 185
  - 157
  black.ranges.is_valid_line_range:
  - 44
  black.ranges.parse_line_ranges:
  - 32
  - 39
  - 23
  - 24
  - 25
  - 31
  black.ranges.sanitized_lines:
  - 64
  - 65
  - 68
  - 69
  - 71
  - 72
  - 51
  - 58
  - 61
  - 62
  black.re_compile_maybe_verbose:
  - 217
  - 219
  - 213
  black.read_pyproject_toml:
  - 131
  - 137
  - 140
  - 145
  - 146
  - 149
  - 150
  - 155
  - 156
  - 159
  - 160
  - 165
  - 166
  - 172
  - 173
  - 174
  - 118
  - 123
  - 124
  - 125
  - 127
  black.reformat_code:
  - 840
  - 847
  - 850
  - 854
  - 856
  - 857
  - 858
  black.reformat_one:
  - 896
  - 897
  - 902
  - 903
  - 907
  - 909
  - 913
  - 917
  - 918
  - 920
  - 921
  - 922
  - 874
  - 882
  - 884
  - 888
  - 892
  - 893
  - 894
  - 895
  black.report:
  - 1
  black.report.NothingChanged:
  - 21
  black.report.Report:
  - 26
  black.report.Report.__str__:
  - 96
  - 97
  - 98
  - 101
  - 103
  - 104
  - 106
  - 107
  - 81
  - 85
  - 94
  black.report.Report.done:
  - 37
  - 38
  - 40
  - 41
  - 44
  - 45
  - 49
  black.report.Report.failed:
  - 53
  - 54
  black.report.Report.path_ignored:
  - 58
  - 59
  black.report.Report.return_code:
  - 72
  - 75
  - 63
  black.rusty:
  - 8
  - 1
  - 9
  black.schema.get_schema:
  - 15
  - 13
  - 14
  - 7
  black.spellcheck_pyproject_toml_keys:
  - 186
  - 187
  - 188
  black.strings:
  - 1
  - 164
  - 15
  - 18
  - 338
  black.strings._cached_compile:
  - 166
  black.strings.assert_is_leaf_string:
  - 129
  - 132
  - 138
  - 139
  - 140
  - 109
  - 124
  - 125
  - 126
  - 127
  black.strings.char_width:
  - 353
  - 355
  - 359
  - 340
  - 347
  - 348
  black.strings.count_chars_in_width:
  - 384
  - 385
  - 386
  - 389
  - 379
  black.strings.fix_multiline_docstring:
  - 69
  - 72
  - 73
  - 74
  - 75
  - 77
  - 78
  - 79
  - 80
  - 81
  - 82
  - 83
  - 85
  - 86
  black.strings.get_string_prefix:
  - 97
  - 100
  - 101
  - 102
  - 105
  - 90
  black.strings.has_triple_quotes:
  - 43
  - 39
  black.strings.lines_with_leading_tabs_expanded:
  - 48
  - 53
  - 54
  - 55
  - 56
  - 58
  - 59
  - 60
  - 61
  - 62
  black.strings.normalize_fstring_quotes:
  - 256
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 275
  - 278
  - 279
  - 283
  - 284
  - 285
  - 287
  - 291
  - 292
  - 293
  - 295
  - 298
  - 301
  - 247
  - 251
  - 254
  black.strings.normalize_string_prefix:
  - 144
  - 145
  - 147
  - 149
  - 156
  - 158
  black.strings.normalize_string_quotes:
  - 170
  - 174
  - 175
  - 178
  - 181
  - 187
  - 191
  - 192
  - 193
  - 194
  - 195
  - 196
  - 205
  - 206
  - 210
  - 211
  - 213
  - 214
  - 223
  - 224
  - 228
  - 231
  - 232
  - 233
  - 236
  black.strings.normalize_unicode_escape_sequences:
  - 308
  - 335
  - 310
  - 311
  black.strings.normalize_unicode_escape_sequences.replace:
  - 321
  - 323
  - 324
  - 326
  - 327
  - 329
  - 333
  - 315
  - 318
  black.strings.str_width:
  - 374
  - 372
  - 366
  - 375
  black.strings.sub_twice:
  - 35
  - 30
  black.target_version_option_callback:
  - 202
  - 197
  black.trans:
  - 1
  - 57
  - 47
  black.trans.BaseStringSplitter:
  - 1051
  black.trans.BaseStringSplitter._get_max_string_length:
  - 1159
  - 1175
  - 1190
  - 1192
  - 1201
  - 1203
  - 1205
  - 1209
  - 1219
  - 1220
  - 1221
  - 1224
  - 1226
  - 1230
  - 1234
  - 1237
  - 1244
  - 1245
  - 1252
  - 1255
  - 1256
  - 1262
  - 1264
  black.trans.BaseStringSplitter._prefer_paren_wrap_match:
  - 1288
  - 1289
  - 1290
  - 1295
  - 1298
  - 1269
  - 1305
  - 1279
  black.trans.BaseStringSplitter._validate:
  - 1153
  - 1154
  - 1156
  - 1130
  - 1131
  - 1132
  - 1136
  - 1148
  - 1140
  - 1145
  - 1146
  - 1116
  black.trans.BaseStringSplitter.do_match:
  - 1099
  - 1100
  - 1103
  - 1104
  - 1106
  - 1109
  - 1110
  black.trans.BaseStringSplitter.do_splitter_match:
  - 1089
  black.trans.CannotTransform:
  - 43
  black.trans.CustomSplit:
  - 317
  black.trans.CustomSplitMapMixin:
  - 353
  - 346
  black.trans.CustomSplitMapMixin._get_key:
  - 363
  - 358
  black.trans.CustomSplitMapMixin.add_custom_splits:
  - 368
  - 373
  - 374
  black.trans.CustomSplitMapMixin.has_custom_splits:
  - 401
  - 397
  black.trans.CustomSplitMapMixin.pop_custom_splits:
  - 377
  - 394
  - 389
  black.trans.StringMerger:
  - 406
  black.trans.StringMerger._merge_one_string_group:
  - 676
  - 679
  - 695
  - 699
  - 703
  - 705
  - 707
  - 709
  - 710
  - 713
  - 720
  - 721
  - 722
  - 725
  - 726
  - 727
  - 732
  - 604
  - 733
  - 734
  - 736
  - 738
  - 741
  - 743
  - 744
  - 745
  - 746
  - 747
  - 750
  - 752
  black.trans.StringMerger._merge_one_string_group.make_naked:
  - 641
  - 643
  - 644
  - 647
  - 650
  - 657
  - 626
  - 658
  - 637
  - 638
  black.trans.StringMerger._merge_string_group:
  - 576
  - 579
  - 549
  - 582
  - 583
  - 599
  - 586
  - 588
  - 593
  - 594
  - 563
  - 597
  - 567
  - 568
  - 569
  - 571
  - 575
  black.trans.StringMerger._remove_backslash_line_continuation_chars:
  - 544
  - 521
  - 523
  - 526
  - 528
  - 530
  - 531
  - 536
  - 537
  - 538
  - 508
  - 540
  - 542
  black.trans.StringMerger._validate_msg:
  - 783
  - 786
  - 787
  - 791
  - 793
  - 794
  - 804
  - 806
  - 807
  - 811
  - 815
  - 816
  - 819
  - 820
  - 821
  - 823
  - 825
  - 829
  - 830
  - 833
  - 838
  - 840
  - 841
  - 843
  - 844
  - 848
  - 849
  - 853
  - 854
  - 856
  - 757
  black.trans.StringMerger.do_match:
  - 451
  - 452
  - 456
  - 459
  - 428
  - 460
  - 463
  - 432
  - 434
  - 436
  - 469
  - 470
  - 472
  - 443
  - 444
  - 446
  black.trans.StringMerger.do_transform:
  - 482
  - 483
  - 485
  - 486
  - 487
  - 489
  - 490
  - 491
  - 492
  - 500
  - 502
  - 479
  black.trans.StringParenStripper:
  - 860
  black.trans.StringParenStripper._transform_to_new_line:
  - 1027
  - 1030
  - 1031
  - 1032
  - 1033
  - 1034
  - 1035
  - 1037
  - 1038
  - 1040
  - 1045
  - 1019
  - 1020
  black.trans.StringParenStripper.do_match:
  - 899
  - 907
  - 908
  - 910
  - 918
  - 928
  - 929
  - 934
  - 937
  - 963
  - 964
  - 966
  - 970
  - 978
  - 980
  - 983
  - 984
  - 985
  - 883
  - 890
  - 895
  black.trans.StringParenStripper.do_transform:
  - 993
  - 994
  - 995
  - 998
  - 999
  - 1004
  - 1005
  - 1007
  - 1008
  - 1010
  - 1011
  black.trans.StringParenWrapper:
  - 1910
  black.trans.StringParenWrapper._assert_match:
  - 2080
  - 2081
  - 2084
  - 2088
  - 2089
  - 2092
  - 2064
  - 2075
  - 2076
  - 2078
  black.trans.StringParenWrapper._assign_match:
  - 2114
  - 2116
  - 2118
  - 2119
  - 2122
  - 2126
  - 2127
  - 2099
  - 2131
  - 2132
  - 2133
  - 2139
  - 2110
  - 2111
  black.trans.StringParenWrapper._dict_or_lambda_match:
  - 2146
  - 2178
  - 2156
  - 2157
  - 2158
  - 2160
  - 2162
  - 2163
  - 2166
  - 2170
  - 2171
  - 2174
  black.trans.StringParenWrapper._else_match:
  - 2048
  - 2049
  - 2053
  - 2055
  - 2057
  - 2037
  black.trans.StringParenWrapper._return_match:
  - 2023
  - 2026
  - 2028
  - 2030
  - 2012
  black.trans.StringParenWrapper._trailing_comma_tuple_match:
  - 2185
  - 2201
  - 2199
  black.trans.StringParenWrapper.do_splitter_match:
  - 1984
  - 1986
  - 1987
  - 1989
  - 1992
  - 1997
  - 1999
  - 2001
  - 1970
  - 1971
  - 2006
  - 2008
  - 1976
  - 1977
  - 1978
  - 1979
  - 1980
  - 1983
  black.trans.StringParenWrapper.do_transform:
  - 2306
  - 2308
  - 2310
  - 2313
  - 2316
  - 2317
  - 2318
  - 2320
  - 2321
  - 2325
  - 2326
  - 2327
  - 2328
  - 2330
  - 2213
  - 2215
  - 2219
  - 2220
  - 2224
  - 2228
  - 2229
  - 2232
  - 2239
  - 2241
  - 2242
  - 2244
  - 2246
  - 2247
  - 2248
  - 2250
  - 2251
  - 2256
  - 2257
  - 2258
  - 2260
  - 2266
  - 2273
  - 2274
  - 2275
  - 2278
  - 2280
  - 2281
  - 2283
  - 2288
  - 2289
  - 2299
  - 2300
  - 2301
  - 2302
  black.trans.StringParser:
  - 2334
  black.trans.StringParser._next_state:
  - 2437
  - 2469
  - 2441
  - 2448
  - 2449
  - 2451
  - 2424
  - 2457
  - 2462
  black.trans.StringParser.parse:
  - 2419
  - 2406
  black.trans.StringSplitter:
  - 1389
  black.trans.StringSplitter._get_break_idx:
  - 1858
  - 1861
  - 1805
  - 1807
  - 1808
  - 1810
  - 1782
  - 1848
  - 1851
  black.trans.StringSplitter._get_break_idx.breaks_unsplittable_expression:
  - 1813
  black.trans.StringSplitter._get_break_idx.passes_all_checks:
  - 1827
  - 1831
  - 1836
  - 1837
  - 1843
  - 1821
  black.trans.StringSplitter._get_illegal_split_indices:
  - 1771
  - 1773
  - 1774
  - 1776
  - 1777
  - 1778
  black.trans.StringSplitter._get_string_operator_leaves:
  - 1904
  - 1898
  - 1903
  black.trans.StringSplitter._iter_fexpr_slices:
  - 1760
  - 1768
  - 1766
  black.trans.StringSplitter._iter_nameescape_slices:
  - 1729
  - 1738
  - 1739
  - 1740
  - 1743
  - 1749
  - 1750
  - 1757
  black.trans.StringSplitter._maybe_normalize_string_quotes:
  - 1867
  - 1868
  black.trans.StringSplitter._normalize_f_string:
  - 1888
  - 1889
  - 1890
  - 1871
  - 1883
  - 1885
  - 1886
  black.trans.StringSplitter.do_splitter_match:
  - 1431
  - 1432
  - 1438
  - 1440
  - 1444
  - 1448
  - 1453
  - 1454
  - 1455
  - 1457
  - 1461
  - 1464
  - 1469
  - 1473
  - 1474
  - 1479
  - 1480
  - 1483
  - 1487
  - 1491
  - 1492
  - 1494
  black.trans.StringSplitter.do_transform:
  - 1665
  - 1666
  - 1667
  - 1670
  - 1671
  - 1544
  - 1672
  - 1673
  - 1678
  - 1680
  - 1681
  - 1683
  - 1684
  - 1689
  - 1691
  - 1692
  - 1695
  - 1568
  - 1569
  - 1700
  - 1701
  - 1702
  - 1576
  - 1706
  - 1579
  - 1707
  - 1581
  - 1710
  - 1711
  - 1712
  - 1716
  - 1717
  - 1719
  - 1720
  - 1721
  - 1724
  - 1725
  - 1726
  - 1600
  - 1601
  - 1603
  - 1608
  - 1611
  - 1612
  - 1617
  - 1500
  - 1502
  - 1508
  - 1509
  - 1511
  - 1517
  - 1646
  - 1523
  - 1525
  - 1653
  - 1661
  - 1662
  black.trans.StringSplitter.do_transform.max_last_string_column:
  - 1548
  black.trans.StringSplitter.do_transform.maybe_append_string_operators:
  - 1539
  - 1531
  - 1540
  - 1541
  black.trans.StringSplitter.do_transform.more_splits_should_be_made:
  - 1597
  - 1594
  - 1595
  - 1589
  black.trans.StringTransformer:
  - 210
  black.trans.StringTransformer.__call__:
  - 291
  - 294
  - 296
  - 297
  - 303
  - 305
  - 306
  - 307
  - 311
  - 312
  - 281
  black.trans.StringTransformer.do_match:
  - 246
  black.trans.StringTransformer.do_transform:
  - 261
  black.trans.TErr:
  - 65
  - 66
  - 61
  black.trans._toggle_fexpr_quotes:
  - 1380
  - 1381
  - 1382
  - 1384
  - 1385
  - 1365
  black.trans.fstring_contains_expr:
  - 1361
  black.trans.handle_is_simple_look_up_prev:
  - 139
  - 147
  - 149
  - 150
  - 152
  black.trans.handle_is_simple_lookup_forward:
  - 169
  - 171
  - 164
  - 173
  black.trans.hug_power_op:
  - 130
  - 131
  - 132
  - 134
  - 73
  - 76
  - 109
  - 77
  - 111
  - 112
  - 113
  - 118
  - 120
  - 122
  - 124
  black.trans.hug_power_op.is_simple_lookup:
  - 89
  - 86
  - 87
  black.trans.hug_power_op.is_simple_operand:
  - 97
  - 98
  - 100
  - 101
  - 105
  black.trans.insert_str_child_factory:
  - 2522
  - 2476
  black.trans.insert_str_child_factory.insert_str_child:
  - 2530
  black.trans.is_expression_chained:
  - 193
  - 199
  - 201
  - 203
  - 189
  black.trans.is_valid_index_factory:
  - 2537
  black.trans.is_valid_index_factory.is_valid_index:
  - 2553
  - 2558
  black.trans.iter_fexpr_spans:
  - 1345
  - 1314
  - 1347
  - 1349
  - 1351
  - 1352
  - 1353
  - 1322
  - 1323
  - 1355
  - 1325
  - 1328
  - 1332
  - 1333
  - 1336
  - 1338
  - 1339
  black.validate_metadata:
  - 1128
  - 1134
  - 1135
  black.validate_regex:
  - 229
Fuzzer filename: /src/fuzz_format_filecontents.py
Inheritance:
  black.WriteBack:
  - Enum
  black.brackets.BracketMatchError:
  - Exception
  black.brackets.BracketTracker: []
  black.cache.Cache: []
  black.cache.FileData:
  - NamedTuple
  black.comments.ProtoComment: []
  black.debug.DebugVisitor: []
  black.handle_ipynb_magics.CellMagic: []
  black.handle_ipynb_magics.CellMagicFinder: []
  black.handle_ipynb_magics.MagicFinder: []
  black.handle_ipynb_magics.OffsetAndMagic: []
  black.handle_ipynb_magics.Replacement: []
  black.linegen.CannotSplit:
  - CannotTransform
  black.linegen.LineGenerator: []
  black.linegen._BracketSplitComponent:
  - Enum
  black.lines.EmptyLineTracker: []
  black.lines.Line: []
  black.lines.LinesBlock: []
  black.lines.RHSResult: []
  black.mode.Deprecated:
  - UserWarning
  black.mode.Feature:
  - Enum
  black.mode.Mode: []
  black.mode.Preview:
  - Enum
  black.mode.TargetVersion:
  - Enum
  black.nodes.Visitor: []
  black.parsing.ASTSafetyError:
  - Exception
  black.parsing.InvalidInput:
  - ValueError
  black.ranges._LinesMapping: []
  black.ranges._TopLevelStatementsVisitor: []
  black.report.Changed:
  - Enum
  black.report.NothingChanged:
  - UserWarning
  black.report.Report: []
  black.rusty.Err: []
  black.rusty.Ok: []
  black.trans.BaseStringSplitter:
  - StringTransformer
  black.trans.CannotTransform:
  - Exception
  black.trans.CustomSplit: []
  black.trans.CustomSplitMapMixin: []
  black.trans.StringMerger:
  - CustomSplitMapMixin
  - StringTransformer
  black.trans.StringParenStripper:
  - StringTransformer
  black.trans.StringParenWrapper:
  - CustomSplitMapMixin
  - BaseStringSplitter
  black.trans.StringParser: []
  black.trans.StringSplitter:
  - CustomSplitMapMixin
  - BaseStringSplitter
  black.trans.StringTransformer:
  - ABC
ep:
  func_name: TestOneInput
  module: '...fuzz_format_filecontents'
