All classes:
- pasta.augment.errors.InvalidAstError
- pasta.base.ast_utils._TreeNormalizer
- pasta.base.ast_utils.FindNodeVisitor
- pasta.base.token_generator.TokenGenerator
- pasta.base.annotate.BaseVisitor
- pasta.base.annotate.AnnotationError
- pasta.base.annotate.AstAnnotator
- pasta.base.codegen.PrintError
- pasta.base.codegen.Printer
- pasta.base.scope.ScopeVisitor
- pasta.base.scope.Scope
- pasta.base.scope.RootScope
- pasta.base.scope.Name
- pasta.base.test_utils.TestCase
- pasta.base.scope_test.ScopeTest
- pasta.base.annotate_test.PrefixSuffixTest
- pasta.base.annotate_test.IndentationTest
- pasta.base.annotate_test.SymmetricTestMeta
- pasta.base.annotate_test.SymmetricTest
- pasta.base.annotate_test.PrefixSuffixGoldenTestMeta
- pasta.base.annotate_test.PrefixSuffixGoldenTest
- pasta.base.annotate_test.ManualEditsTest
- pasta.base.annotate_test.FstringTest
- pasta.base.annotate_test.VersionSupportTest
- pasta.base.annotate_test.OffsetTest
- pasta.base.ast_utils_test.UtilsTest
- pasta.base.ast_utils_test.AlterChildTest
- pasta.base.codegen_test.AutoFormatTestMeta
- pasta.base.codegen_test.AutoFormatTest
- pasta.base.test_utils_test.CheckAstEqualityTest
- pasta.augment.inline.InlineError
- pasta.augment.import_utils_test.SplitImportTest
- pasta.augment.import_utils_test.GetUnusedImportsTest
- pasta.augment.import_utils_test.RemoveImportTest
- pasta.augment.import_utils_test.AddImportTest
- pasta.augment.import_utils_test.RemoveDuplicatesTest
- pasta.augment.inline_test.InlineTest
- pasta.augment.rename_test.RenameTest
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_parse'
    functionSourceFile: '...fuzz_parse'
    functionUses: 0
    functionsReached:
    - atheris.Fuzz
    - atheris.Setup
    - '...fuzz_parse.main'
    - atheris.instrument_all
    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: 5
    functionLinenumber: 21
    functionName: '...fuzz_parse.TestOneInput'
    functionSourceFile: '...fuzz_parse'
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - fdp.ConsumeUnicodeNoSurrogates
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - atheris.FuzzedDataProvider
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.ConsumeUnicodeNoSurrogates
    functionSourceFile: <builtin>
    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:
    - src
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 22
    functionName: pasta.parse
    functionSourceFile: pasta
    functionUses: 29
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 35
    functionName: '...fuzz_parse.main'
    functionSourceFile: '...fuzz_parse'
    functionUses: 1
    functionsReached:
    - atheris.Fuzz
    - atheris.Setup
    - atheris.instrument_all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta
    functionSourceFile: pasta
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - src
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: pasta.base.ast_utils.parse
    functionSourceFile: pasta.base.ast_utils
    functionUses: 32
    functionsReached:
    - ast.parse
    - <builtin>.enumerate
    - _CODING_PATTERN.match
    - <builtin>.isinstance
    - <builtin>.super
    - re.sub
    - node.__class__
    - pasta.base.ast_utils._TreeNormalizer.visit
    - src.splitlines
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - source
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1284
    functionName: pasta.base.annotate.AstAnnotator.__init__
    functionSourceFile: pasta.base.annotate
    functionUses: 32
    functionsReached:
    - <builtin>.list
    - source.splitlines
    - six.StringIO
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - <builtin>.super
    - pasta.base.token_generator._generate_tokens
    - pasta.base.token_generator.TokenGenerator.__init__
    - tokenize.generate_tokens
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1288
    functionName: pasta.base.annotate.AstAnnotator.visit
    functionSourceFile: pasta.base.annotate
    functionUses: 97
    functionsReached:
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.super
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.set
    linkageType: pythonLinkage
    raised:
    - AnnotationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tree
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 29
    functionName: pasta.dump
    functionSourceFile: pasta
    functionUses: 25
    functionsReached:
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - pasta.base.codegen.Printer.__init__
    - <builtin>.getattr
    - <builtin>.max
    - <builtin>.super
    - pasta.base.codegen.to_str
    - pasta.base.codegen.Printer.visit
    - ast.walk
    - pasta.base.formatting.get
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - six.iteritems
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - tree
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 160
    functionName: pasta.base.codegen.to_str
    functionSourceFile: pasta.base.codegen
    functionUses: 31
    functionsReached:
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - pasta.base.codegen.Printer.__init__
    - <builtin>.getattr
    - <builtin>.max
    - <builtin>.super
    - pasta.base.codegen.Printer.visit
    - ast.walk
    - pasta.base.formatting.get
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - six.iteritems
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.base
    functionSourceFile: pasta.base
    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: pasta.base.ast_utils
    functionSourceFile: pasta.base.ast_utils
    functionUses: 0
    functionsReached:
    - ast.NodeTransformer.__init__
    - 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: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: pasta.base.ast_utils._TreeNormalizer.visit
    functionSourceFile: pasta.base.ast_utils
    functionUses: 33
    functionsReached:
    - <builtin>.super
    - node.__class__
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 212
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.__class__
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 198
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.NodeTransformer.__init__
    functionSourceFile: ''
    functionUses: 1
    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: 61
    functionName: pasta.base.ast_utils.sanitize_source
    functionSourceFile: pasta.base.ast_utils
    functionUses: 34
    functionsReached:
    - <builtin>.enumerate
    - _CODING_PATTERN.match
    - re.sub
    - src.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 128
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.splitlines
    functionSourceFile: <builtin>
    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: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 80
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _CODING_PATTERN.match
    functionSourceFile: <builtin>
    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: re.sub
    functionSourceFile: re
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - accept_types
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 73
    functionName: pasta.base.ast_utils.find_nodes_by_type
    functionSourceFile: pasta.base.ast_utils
    functionUses: 8
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.super
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - pasta.base.ast_utils.FindNodeVisitor.__init__
    - pasta.base.ast_utils.FindNodeVisitor.visit
    linkageType: 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: pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    functionSourceFile: pasta.base.ast_utils
    functionUses: 11
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - condition
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 81
    functionName: pasta.base.ast_utils.FindNodeVisitor.__init__
    functionSourceFile: ''
    functionUses: 10
    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: 85
    functionName: pasta.base.ast_utils.FindNodeVisitor.visit
    functionSourceFile: pasta.base.ast_utils
    functionUses: 10
    functionsReached:
    - <builtin>.super
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 1
    IfCount: 14
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 91
    functionName: pasta.base.ast_utils.get_last_child
    functionSourceFile: pasta.base.ast_utils
    functionUses: 1
    functionsReached:
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - <builtin>.len
    - pasta.base.ast_utils.get_last_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: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 119
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3d6140d880>
    argNames:
    - node
    - name
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 24
    functionName: pasta.base.formatting.get
    functionSourceFile: pasta.base.formatting
    functionUses: 162
    functionsReached:
    - pasta.base.formatting._formatting_dict
    - <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: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 189
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - parent
    - child
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 141
    functionName: pasta.base.ast_utils.remove_child
    functionSourceFile: pasta.base.ast_utils
    functionUses: 22
    functionsReached:
    - ast.iter_fields
    - field_value.remove
    - <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: ast.iter_fields
    functionSourceFile: ast
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: field_value.remove
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - parent
    - node
    - replace_with
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 150
    functionName: pasta.base.ast_utils.replace_child
    functionSourceFile: pasta.base.ast_utils
    functionUses: 23
    functionsReached:
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - field_val.index
    - pasta.base.formatting.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - node
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 31
    functionName: pasta.base.formatting.set
    functionSourceFile: pasta.base.formatting
    functionUses: 150
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.setattr
    - pasta.base.formatting._formatting_dict
    - <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: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 204
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.setattr
    functionSourceFile: <builtin>
    functionUses: 153
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: field_val.index
    functionSourceFile: <builtin>
    functionUses: 24
    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: 1
    functionLinenumber: 176
    functionName: pasta.base.ast_utils.has_docstring
    functionSourceFile: pasta.base.ast_utils
    functionUses: 16
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.augment.errors
    functionSourceFile: pasta.augment.errors
    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: pasta.augment
    functionSourceFile: pasta.augment
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.base.formatting
    functionSourceFile: pasta.base.formatting
    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:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: pasta.base.formatting._formatting_dict
    functionSourceFile: pasta.base.formatting
    functionUses: 177
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - node
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 40
    functionName: pasta.base.formatting.append
    functionSourceFile: pasta.base.formatting
    functionUses: 18
    functionsReached:
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.formatting.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - node
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 44
    functionName: pasta.base.formatting.prepend
    functionSourceFile: pasta.base.formatting
    functionUses: 12
    functionsReached:
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.formatting.set
    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: pasta.base.codegen
    functionSourceFile: pasta.base.codegen
    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: 44
    functionName: pasta.base.codegen.Printer.__init__
    functionSourceFile: pasta.base.codegen
    functionUses: 32
    functionsReached:
    - <builtin>.super
    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: 1
    functionLinenumber: 48
    functionName: pasta.base.codegen.Printer.visit
    functionSourceFile: pasta.base.codegen
    functionUses: 96
    functionsReached:
    - <builtin>.super
    - collections.defaultdict
    linkageType: pythonLinkage
    raised:
    - PrintError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.base.codegen.Printer.visit.<lambda1>
    functionSourceFile: pasta.base.codegen
    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: collections.defaultdict
    functionSourceFile: collections
    functionUses: 97
    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: 5
    functionLinenumber: 56
    functionName: pasta.base.codegen.Printer.visit_Module
    functionSourceFile: pasta.base.codegen
    functionUses: 1
    functionsReached:
    - pasta.base.annotate.BaseVisitor.suffix
    - pasta.base.token_generator.TokenGenerator.next
    - ast.NodeVisitor.generic_visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.BaseVisitor.prefix
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3d613f9460>
    argNames:
    - self
    - node
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 138
    functionName: pasta.base.annotate.BaseVisitor.prefix
    functionSourceFile: pasta.base.annotate
    functionUses: 7
    functionsReached:
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.any
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.isinstance
    - pasta.base.codegen.Printer.attr
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.attr
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.formatting.set
    - pasta.base.annotate.AstAnnotator.token
    - attr_parts.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: 0
    functionLinenumber: -1
    functionName: ast.NodeVisitor.generic_visit
    functionSourceFile: ast
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3d61295820>
    - <ast.Constant object at 0x7f3d61295b50>
    - <ast.Constant object at 0x7f3d612952b0>
    - <ast.Constant object at 0x7f3d612956a0>
    argNames:
    - self
    - node
    - max_lines
    - semicolon
    - comment
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 142
    functionName: pasta.base.annotate.BaseVisitor.suffix
    functionSourceFile: pasta.base.annotate
    functionUses: 7
    functionsReached:
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.any
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.isinstance
    - pasta.base.codegen.Printer.attr
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.attr
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.formatting.set
    - pasta.base.annotate.AstAnnotator.token
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 64
    functionName: pasta.base.codegen.Printer.visit_Num
    functionSourceFile: pasta.base.codegen
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - pasta.base.annotate.BaseVisitor.suffix
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.BaseVisitor.prefix
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.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: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 70
    functionName: pasta.base.codegen.Printer.visit_Str
    functionSourceFile: pasta.base.codegen
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - pasta.base.annotate.BaseVisitor.suffix
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.BaseVisitor.prefix
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 76
    functionName: pasta.base.codegen.Printer.visit_JoinedStr
    functionSourceFile: pasta.base.codegen
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - pasta.base.annotate.BaseVisitor.suffix
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.codegen.to_str
    - pasta.base.fstring_utils.get_formatted_values
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - _FSTRING_VAL_PLACEHOLDER.format
    - pasta.base.annotate.BaseVisitor.prefix
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.fstring_utils.placeholder
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.fstring_utils.perform_replacements
    - six.iteritems
    - <builtin>.any
    - <builtin>.getattr
    - pasta.base.fstring_utils._wrap
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - parts.append
    - pasta.base.codegen.Printer.__init__
    - pasta.base.codegen.Printer.attr
    - fstr.replace
    - <builtin>.max
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - ast.walk
    - attr_parts.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: 0
    functionLinenumber: -1
    functionName: parts.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: 1
    argDefaultValues: []
    argNames:
    - val_index
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: pasta.base.fstring_utils.placeholder
    functionSourceFile: pasta.base.fstring_utils
    functionUses: 5
    functionsReached:
    - _FSTRING_VAL_PLACEHOLDER.format
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - joined_str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 26
    functionName: pasta.base.fstring_utils.get_formatted_values
    functionSourceFile: pasta.base.fstring_utils
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - fstr
    - values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 36
    functionName: pasta.base.fstring_utils.perform_replacements
    functionSourceFile: pasta.base.fstring_utils
    functionUses: 1
    functionsReached:
    - <builtin>.enumerate
    - pasta.base.fstring_utils._wrap
    - fstr.replace
    - _FSTRING_VAL_PLACEHOLDER.format
    - pasta.base.fstring_utils.placeholder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 93
    functionName: pasta.base.codegen.Printer.visit_Bytes
    functionSourceFile: pasta.base.codegen
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - pasta.base.annotate.BaseVisitor.suffix
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.BaseVisitor.prefix
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 5
    functionLinenumber: 99
    functionName: pasta.base.codegen.Printer.visit_Constant
    functionSourceFile: pasta.base.codegen
    functionUses: 1
    functionsReached:
    - <builtin>.repr
    - pasta.base.annotate.BaseVisitor.suffix
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.BaseVisitor.prefix
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 108
    functionName: pasta.base.codegen.Printer.token
    functionSourceFile: pasta.base.codegen
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3d6126f430>
    - <ast.Constant object at 0x7f3d6126f2e0>
    argNames:
    - self
    - node
    - attr_name
    - token_val
    - allow_whitespace_prefix
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 111
    functionName: pasta.base.codegen.Printer.optional_token
    functionSourceFile: pasta.base.codegen
    functionUses: 8
    functionsReached:
    - pasta.base.formatting.get
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3d611c1f10>
    - <ast.Constant object at 0x7f3d611c1c70>
    argNames:
    - self
    - node
    - attr_name
    - attr_vals
    - deps
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 119
    functionName: pasta.base.codegen.Printer.attr
    functionSourceFile: pasta.base.codegen
    functionUses: 80
    functionsReached:
    - <builtin>.any
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.hasattr
    - pasta.base.formatting.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: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 87
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 145
    functionName: pasta.base.codegen.Printer.check_is_elif
    functionSourceFile: pasta.base.codegen
    functionUses: 2
    functionsReached:
    - pasta.base.formatting.get
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    functionName: pasta.base.codegen.Printer.check_is_continued_try
    functionSourceFile: pasta.base.codegen
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: pasta.base.codegen.Printer.check_is_continued_with
    functionSourceFile: pasta.base.codegen
    functionUses: 3
    functionsReached:
    - <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: pasta.base.codegen.to_str.<lambda1>
    functionSourceFile: pasta.base.codegen
    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: ast.walk
    functionSourceFile: ast
    functionUses: 59
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: six.iteritems
    functionSourceFile: six
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.base.codegen.to_str.<lambda2>
    functionSourceFile: pasta.base.codegen
    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>.max
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - indent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 164
    functionName: pasta.base.annotate.BaseVisitor.set_default_indent_diff
    functionSourceFile: ''
    functionUses: 32
    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: pasta.base.fstring_utils
    functionSourceFile: pasta.base.fstring_utils
    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: _FSTRING_VAL_PLACEHOLDER.format
    functionSourceFile: <builtin>
    functionUses: 6
    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: 0
    functionLinenumber: 43
    functionName: pasta.base.fstring_utils._wrap
    functionSourceFile: ''
    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: fstr.replace
    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: 1
    functionLinenumber: -1
    functionName: pasta.base.annotate
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f3d603badf0>
    - <ast.Constant object at 0x7f3d603badc0>
    - <ast.Constant object at 0x7f3d603bad90>
    - <ast.Constant object at 0x7f3d603bad60>
    - <ast.Constant object at 0x7f3d603bad30>
    - <ast.Constant object at 0x7f3d603bad00>
    - <ast.Constant object at 0x7f3d603bacd0>
    argNames:
    - f
    - scope
    - prefix
    - suffix
    - max_suffix_lines
    - semicolon
    - comment
    - statement
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: pasta.base.annotate._gen_wrapper
    functionSourceFile: pasta.base.annotate
    functionUses: 8
    functionsReached:
    - contextlib.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: contextlib.wraps
    functionSourceFile: contextlib
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 45
    functionName: pasta.base.annotate._gen_wrapper.wrapped
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - pasta.base.annotate.BaseVisitor.visit_Ellipsis
    - pasta.base.annotate.BaseVisitor.visit_IfExp
    - pasta.base.annotate.BaseVisitor.visit_Global
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.annotate.BaseVisitor.visit_AugAssign
    - symbols.add
    - pasta.base.annotate.BaseVisitor.visit_List
    - pasta.base.formatting.set
    - pasta.base.token_generator.TokenGenerator.eat_tokens
    - all_args.append
    - parens.append
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.formatting.append
    - pasta.base.annotate.BaseVisitor.visit_Yield
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.AstAnnotator.ws
    - pasta.base.formatting.get
    - pasta.base.annotate.BaseVisitor.visit_Attribute
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.list
    - pasta.base.codegen.Printer.optional_token
    - <builtin>.any
    - <builtin>.bool
    - node.module.split
    - pasta.base.annotate.BaseVisitor.visit_withitem
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.visit_Ellipsis
    - pasta.base.token_generator.TokenGenerator.rewind
    - pasta.base.annotate.BaseVisitor.visit_Set
    - six.StringIO
    - pasta.base.annotate.AstAnnotator.optional_token
    - pasta.base.token_generator.TokenGenerator.str
    - attr_parts.append
    - source.splitlines
    - pasta.base.annotate.BaseVisitor.suffix
    - pasta.base.token_generator.TokenGenerator.fstr
    - pasta.base.token_generator.TokenGenerator.chars_consumed
    - pasta.base.annotate.BaseVisitor.scope
    - identifiers.extend
    - ast.NodeVisitor.generic_visit
    - pasta.base.annotate.BaseVisitor.visit_keyword
    - pasta.base.annotate.AstAnnotator.scope
    - pasta.base.annotate.BaseVisitor.visit_Exec
    - pasta.base.annotate.BaseVisitor.visit_Dict
    - pasta.base.annotate.BaseVisitor.visit_Call_arguments
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - <builtin>.chr
    - pasta.base.fstring_utils.placeholder
    - pasta.base.annotate.BaseVisitor.visit_Expr
    - pasta.base.token_generator.TokenGenerator.takewhile
    - <builtin>.sum
    - pasta.base.annotate.AstAnnotator.visit_Num
    - pasta.base.annotate.BaseVisitor.visit_ImportFrom
    - pasta.base.annotate.AstAnnotator.visit_JoinedStr
    - functools.cmp_to_key
    - <builtin>.type
    - pasta.base.annotate.BaseVisitor.visit_Assign
    - pasta.base.codegen.Printer.visit_Module
    - itertools.chain
    - pasta.base.annotate.BaseVisitor.visit_arg
    - pasta.base.annotate.BaseVisitor.visit_Constant
    - pasta.base.annotate.BaseVisitor.visit_Call_arguments35
    - six.moves.zip
    - pasta.base.formatting.prepend
    - pasta.base.annotate.BaseVisitor.visit_Repr
    - pasta.base.annotate.BaseVisitor.one_of_symbols
    - pasta.base.annotate.BaseVisitor.visit_Lambda
    - pasta.base.annotate.BaseVisitor.visit_Delete
    - pasta.base.annotate.BaseVisitor.visit_DictComp
    - pasta.base.annotate.BaseVisitor.visit_SetComp
    - pasta.base.annotate.BaseVisitor.visit_YieldFrom
    - pasta.base.token_generator.TokenGenerator.next
    - contentargs.insert
    - pasta.base.annotate.BaseVisitor.visit_Call
    - pasta.base.annotate.BaseVisitor.check_slice_includes_step
    - pasta.base.annotate.BaseVisitor.visit_AnnAssign
    - pasta.base.annotate.BaseVisitor.visit_comprehension
    - <builtin>.print
    - pasta.base.annotate.BaseVisitor.visit_Return
    - _FSTRING_VAL_PLACEHOLDER.format
    - pasta.base.annotate.BaseVisitor.prefix
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - tokenize.generate_tokens
    - pasta.base.annotate.BaseVisitor.visit_ExtSlice
    - <builtin>.getattr
    - pasta.base.annotate.BaseVisitor.visit_Await
    - pasta.base.annotate.BaseVisitor.visit_UnaryOp
    - pasta.base.annotate.BaseVisitor.visit_GeneratorExp
    - pasta.base.annotate.BaseVisitor.visit_Break
    - pasta.base.token_generator.TokenGenerator.fstr.fstr_parser
    - pasta.base.annotate.AstAnnotator.dots
    - pasta.base.annotate._noop_context
    - pasta.base.token_generator.TokenGenerator.scope
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.annotate.AstAnnotator.visit_Str
    - pasta.base.annotate.BaseVisitor.visit_Continue
    - pasta.base.annotate.BaseVisitor.visit_Compare
    - <builtin>.repr
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.annotate.BaseVisitor.visit_Index
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - <builtin>.range
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.annotate.BaseVisitor.visit_Raise_3
    - pasta.base.codegen.Printer.visit_Constant
    - pasta.base.token_generator.TokenGenerator.close_scope
    - pasta.base.annotate.AstAnnotator.one_of_symbols
    - pasta.base.annotate.BaseVisitor.visit_Print
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.visit_NamedExpr
    - pasta.base.annotate.BaseVisitor.visit_Raise
    - pasta.base.annotate.BaseVisitor.visit_Tuple
    - pasta.base.annotate.AstAnnotator.check_slice_includes_step
    - pasta.base.formatting._formatting_dict
    - pasta.base.annotate.BaseVisitor.visit_Assert
    - pasta.base.annotate.BaseVisitor.visit_BoolOp
    - <builtin>.hasattr
    - pasta.base.token_generator._generate_tokens
    - pasta.base.annotate.BaseVisitor.visit_Import
    - pasta.base.annotate.BaseVisitor._comp_exp
    - pasta.base.annotate.BaseVisitor.visit_Pass
    - <builtin>.sorted
    - pasta.base.annotate.BaseVisitor.visit_NameConstant
    - <builtin>.next
    - pasta.base.annotate.BaseVisitor.visit_arguments
    - pasta.base.annotate.BaseVisitor.visit_Slice
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.visit_Bytes
    - pasta.base.token_generator._scope_helper
    - pasta.base.annotate.BaseVisitor.visit_Nonlocal
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - module_pattern.extend
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.annotate.BaseVisitor.visit_ListComp
    - pasta.base.annotate.BaseVisitor.visit_FormattedValue
    - pasta.base.annotate.BaseVisitor.visit_BinOp
    - pasta.base.annotate.BaseVisitor.visit_Name
    - pasta.base.annotate.BaseVisitor.visit_Subscript
    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: 57
    functionName: pasta.base.annotate._noop_context
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 899
    functionName: pasta.base.annotate.BaseVisitor.visit_DictComp
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 5
    functionLinenumber: 983
    functionName: pasta.base.annotate.BaseVisitor.visit_SetComp
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.BaseVisitor._comp_exp
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 734
    functionName: pasta.base.annotate.BaseVisitor.visit_YieldFrom
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 1227
    functionName: pasta.base.annotate.BaseVisitor.visit_Index
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.super
    - <builtin>.setattr
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.codegen.Printer.visit
    - <builtin>.hasattr
    - pasta.base.formatting.set
    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: 2
    functionLinenumber: 1017
    functionName: pasta.base.annotate.BaseVisitor.visit_Ellipsis
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 4
    functionLinenumber: 636
    functionName: pasta.base.annotate.BaseVisitor.visit_Global
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - identifiers.extend
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 578
    functionName: pasta.base.annotate.BaseVisitor.visit_AugAssign
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 913
    functionName: pasta.base.annotate.BaseVisitor.visit_IfExp
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1351
    functionName: pasta.base.annotate.AstAnnotator.visit_Str
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.getattr
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.attr
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.formatting.set
    - pasta.base.annotate.AstAnnotator.token
    - attr_parts.append
    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: 5
    functionLinenumber: 767
    functionName: pasta.base.annotate.BaseVisitor.visit_Call
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.annotate.BaseVisitor.scope
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.close_scope
    - symbols.add
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.scope
    - all_args.append
    - parens.append
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - <builtin>.isinstance
    - pasta.base.annotate.BaseVisitor.visit_Call_arguments
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.annotate.AstAnnotator.ws
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.sorted
    - pasta.base.codegen.Printer.optional_token
    - <builtin>.any
    - <builtin>.list
    - functools.cmp_to_key
    - <builtin>.getattr
    - <builtin>.type
    - <builtin>.bool
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator._scope_helper
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - itertools.chain
    - pasta.base.annotate.AstAnnotator.optional_token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.annotate.BaseVisitor.visit_Call_arguments35
    - pasta.base.token_generator.TokenGenerator.scope
    - pasta.base.formatting.prepend
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 702
    functionName: pasta.base.annotate.BaseVisitor.visit_Print
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 928
    functionName: pasta.base.annotate.BaseVisitor.visit_List
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.AstAnnotator.ws
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.list
    - pasta.base.codegen.Printer.optional_token
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.optional_token
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 586
    functionName: pasta.base.annotate.BaseVisitor.visit_AnnAssign
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 7
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1204
    functionName: pasta.base.annotate.BaseVisitor.visit_comprehension
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 1218
    functionName: pasta.base.annotate.BaseVisitor.visit_keyword
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 682
    functionName: pasta.base.annotate.BaseVisitor.visit_NamedExpr
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 532
    functionName: pasta.base.annotate.BaseVisitor.visit_Raise
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.BaseVisitor.visit_Raise_3
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 5
    functionLinenumber: 617
    functionName: pasta.base.annotate.BaseVisitor.visit_Exec
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.BaseVisitor.scope
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.close_scope
    - symbols.add
    - pasta.base.annotate.AstAnnotator.one_of_symbols
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.scope
    - parens.append
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.formatting.append
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator._scope_helper
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.token_generator.TokenGenerator.scope
    - pasta.base.formatting.prepend
    - pasta.base.annotate.BaseVisitor.one_of_symbols
    - attr_parts.append
    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: 5
    functionLinenumber: 994
    functionName: pasta.base.annotate.BaseVisitor.visit_Tuple
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.annotate.BaseVisitor.scope
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.close_scope
    - symbols.add
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.scope
    - parens.append
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.annotate.AstAnnotator.ws
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.list
    - pasta.base.codegen.Printer.optional_token
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator._scope_helper
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.optional_token
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.token_generator.TokenGenerator.scope
    - pasta.base.formatting.prepend
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 882
    functionName: pasta.base.annotate.BaseVisitor.visit_Dict
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.range
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.annotate.AstAnnotator.ws
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.list
    - pasta.base.codegen.Printer.optional_token
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - pasta.base.codegen.Printer.token
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.optional_token
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - six.moves.zip
    - attr_parts.append
    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: 4
    functionLinenumber: 921
    functionName: pasta.base.annotate.BaseVisitor.visit_Lambda
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 720
    functionName: pasta.base.annotate.BaseVisitor.visit_Return
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 563
    functionName: pasta.base.annotate.BaseVisitor.visit_Assert
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 727
    functionName: pasta.base.annotate.BaseVisitor.visit_Yield
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 758
    functionName: pasta.base.annotate.BaseVisitor.visit_BoolOp
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 744
    functionName: pasta.base.annotate.BaseVisitor.visit_Attribute
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 632
    functionName: pasta.base.annotate.BaseVisitor.visit_Expr
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.super
    - <builtin>.setattr
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.codegen.Printer.visit
    - <builtin>.hasattr
    - pasta.base.formatting.set
    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: 4
    functionLinenumber: 646
    functionName: pasta.base.annotate.BaseVisitor.visit_Import
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 1342
    functionName: pasta.base.annotate.AstAnnotator.visit_Num
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.str
    - contentargs.insert
    - pasta.base.annotate.AstAnnotator.attr
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.hasattr
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.formatting.set
    - pasta.base.annotate.AstAnnotator.token
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 9
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 655
    functionName: pasta.base.annotate.BaseVisitor.visit_ImportFrom
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.BaseVisitor.scope
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.close_scope
    - symbols.add
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.scope
    - parens.append
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.formatting.append
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - node.module.split
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator._scope_helper
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.token
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - module_pattern.extend
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.annotate.AstAnnotator.dots
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.scope
    - pasta.base.formatting.prepend
    - attr_parts.append
    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: 5
    functionLinenumber: 1356
    functionName: pasta.base.annotate.AstAnnotator.visit_JoinedStr
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - source.splitlines
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.fstr
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.range
    - pasta.base.token_generator.TokenGenerator.chars_consumed
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.token_generator.TokenGenerator.eat_tokens
    - pasta.base.formatting.set
    - <builtin>.len
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - _FSTRING_VAL_PLACEHOLDER.format
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.token_generator._generate_tokens
    - pasta.base.fstring_utils.placeholder
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - tokenize.generate_tokens
    - <builtin>.list
    - <builtin>.getattr
    - <builtin>.next
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - itertools.chain
    - six.StringIO
    - pasta.base.token_generator.TokenGenerator.fstr.fstr_parser
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.token_generator.TokenGenerator.str
    - pasta.base.token_generator.TokenGenerator.__init__
    - attr_parts.append
    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: 5
    functionLinenumber: 1231
    functionName: pasta.base.annotate.BaseVisitor.visit_ExtSlice
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.AstAnnotator.ws
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.list
    - pasta.base.codegen.Printer.optional_token
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.optional_token
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 2
    functionLinenumber: 698
    functionName: pasta.base.annotate.BaseVisitor.visit_Pass
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 959
    functionName: pasta.base.annotate.BaseVisitor.visit_NameConstant
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.str
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 596
    functionName: pasta.base.annotate.BaseVisitor.visit_Await
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1007
    functionName: pasta.base.annotate.BaseVisitor.visit_UnaryOp
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 21
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1133
    functionName: pasta.base.annotate.BaseVisitor.visit_arguments
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.sum
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - six.moves.zip
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 8
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1239
    functionName: pasta.base.annotate.BaseVisitor.visit_Slice
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.check_slice_includes_step
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - pasta.base.annotate.AstAnnotator.check_slice_includes_step
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - <builtin>.isinstance
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.AstAnnotator.ws
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.list
    - pasta.base.codegen.Printer.optional_token
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.optional_token
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 571
    functionName: pasta.base.annotate.BaseVisitor.visit_Assign
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 384
    functionName: pasta.base.annotate.BaseVisitor.visit_withitem
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 1379
    functionName: pasta.base.annotate.AstAnnotator.visit_Ellipsis
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.range
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1374
    functionName: pasta.base.annotate.AstAnnotator.visit_Bytes
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.getattr
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.attr
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.formatting.set
    - pasta.base.annotate.AstAnnotator.token
    - attr_parts.append
    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: 5
    functionLinenumber: 909
    functionName: pasta.base.annotate.BaseVisitor.visit_GeneratorExp
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.BaseVisitor._comp_exp
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 2
    functionLinenumber: 601
    functionName: pasta.base.annotate.BaseVisitor.visit_Break
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 4
    functionLinenumber: 688
    functionName: pasta.base.annotate.BaseVisitor.visit_Nonlocal
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - identifiers.extend
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 969
    functionName: pasta.base.annotate.BaseVisitor.visit_Set
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.AstAnnotator.ws
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.list
    - pasta.base.codegen.Printer.optional_token
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.optional_token
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 1125
    functionName: pasta.base.annotate.BaseVisitor.visit_arg
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 861
    functionName: pasta.base.annotate.BaseVisitor.visit_Constant
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.str
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 5
    functionLinenumber: 941
    functionName: pasta.base.annotate.BaseVisitor.visit_ListComp
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.BaseVisitor._comp_exp
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1266
    functionName: pasta.base.annotate.BaseVisitor.visit_FormattedValue
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - <builtin>.chr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 852
    functionName: pasta.base.annotate.BaseVisitor.visit_Compare
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - six.moves.zip
    - attr_parts.append
    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: 4
    functionLinenumber: 750
    functionName: pasta.base.annotate.BaseVisitor.visit_BinOp
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 963
    functionName: pasta.base.annotate.BaseVisitor.visit_Repr
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 2
    functionLinenumber: 955
    functionName: pasta.base.annotate.BaseVisitor.visit_Name
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 605
    functionName: pasta.base.annotate.BaseVisitor.visit_Continue
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 4
    functionLinenumber: 987
    functionName: pasta.base.annotate.BaseVisitor.visit_Subscript
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 4
    functionLinenumber: 609
    functionName: pasta.base.annotate.BaseVisitor.visit_Delete
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.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: 0
    functionLinenumber: -1
    functionName: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 3
    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: 2
    functionLinenumber: 61
    functionName: pasta.base.annotate.expression
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - contextlib.wraps
    - pasta.base.annotate._gen_wrapper
    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: 2
    functionLinenumber: 66
    functionName: pasta.base.annotate.fstring_expression
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - contextlib.wraps
    - pasta.base.annotate._gen_wrapper
    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: 2
    functionLinenumber: 71
    functionName: pasta.base.annotate.space_around
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - contextlib.wraps
    - pasta.base.annotate._gen_wrapper
    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: 2
    functionLinenumber: 76
    functionName: pasta.base.annotate.space_left
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - contextlib.wraps
    - pasta.base.annotate._gen_wrapper
    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: 2
    functionLinenumber: 81
    functionName: pasta.base.annotate.statement
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - contextlib.wraps
    - pasta.base.annotate._gen_wrapper
    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: 2
    functionLinenumber: 87
    functionName: pasta.base.annotate.module
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - contextlib.wraps
    - pasta.base.annotate._gen_wrapper
    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: 92
    functionName: pasta.base.annotate.block_statement
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - contextlib.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 95
    functionName: pasta.base.annotate.block_statement.wrapped
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.annotate.BaseVisitor.visit_TryExcept
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.annotate.BaseVisitor.scope
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.close_scope
    - symbols.add
    - <builtin>.reversed
    - line.startswith
    - pasta.base.annotate.AstAnnotator.one_of_symbols
    - pasta.base.annotate.BaseVisitor.visit_If
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.scope
    - pasta.base.annotate.AstAnnotator.check_is_elif
    - pasta.base.codegen.Printer.check_is_continued_with
    - parens.append
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.isinstance
    - pasta.base.annotate._get_indent_diff
    - pasta.base.formatting.append
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.annotate.BaseVisitor.visit_TryFinally
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.annotate.BaseVisitor.visit_Try
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - <builtin>.hasattr
    - pasta.base.annotate.BaseVisitor.visit_With
    - pasta.base.annotate.BaseVisitor.visit_With_3
    - pasta.base.formatting.get
    - pasta.base.annotate.BaseVisitor.visit_While
    - pasta.base.codegen.Printer.check_is_continued_try
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.token_generator.TokenGenerator.takewhile
    - <builtin>.sum
    - pasta.base.annotate.BaseVisitor.visit_ClassDef
    - pasta.base.ast_utils.get_last_child
    - pasta.base.annotate._ltrim_indent
    - pasta.base.token_generator.TokenGenerator.next_name
    - pasta.base.annotate.BaseVisitor.visit_FunctionDef
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - <builtin>.bool
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.BaseVisitor.check_is_continued_with
    - pasta.base.token_generator._scope_helper
    - pasta.base.annotate.BaseVisitor.visit_For
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.annotate.AstAnnotator.check_is_continued_try
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.token
    - full_whitespace.splitlines
    - itertools.chain
    - pasta.base.annotate._get_indent_width
    - pasta.base.codegen.Printer.check_is_elif
    - pasta.base.codegen.Printer.attr
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.annotate.BaseVisitor.visit_ExceptHandler
    - pasta.base.token_generator.TokenGenerator.scope
    - pasta.base.formatting.prepend
    - pasta.base.annotate.AstAnnotator.check_is_continued_with
    - pasta.base.annotate.BaseVisitor.one_of_symbols
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3d61b256a0>
    argNames:
    - self
    - node
    - is_async
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 419
    functionName: pasta.base.annotate.BaseVisitor.visit_FunctionDef
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.annotate.BaseVisitor.scope
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.close_scope
    - symbols.add
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.scope
    - parens.append
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.annotate._get_indent_diff
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.formatting.append
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.sum
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator._scope_helper
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - itertools.chain
    - pasta.base.annotate._get_indent_width
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.token_generator.TokenGenerator.scope
    - pasta.base.formatting.prepend
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 476
    functionName: pasta.base.annotate.BaseVisitor.visit_TryExcept
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - pasta.base.annotate._get_indent_diff
    - pasta.base.formatting._formatting_dict
    - <builtin>.print
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - pasta.base.annotate._get_indent_width
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 457
    functionName: pasta.base.annotate.BaseVisitor.visit_TryFinally
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.annotate._get_indent_diff
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.codegen.Printer.check_is_continued_try
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.annotate.AstAnnotator.check_is_continued_try
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - itertools.chain
    - pasta.base.annotate._get_indent_width
    - pasta.base.token_generator.TokenGenerator.rewind
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 492
    functionName: pasta.base.annotate.BaseVisitor.visit_Try
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - pasta.base.annotate._get_indent_diff
    - pasta.base.formatting._formatting_dict
    - <builtin>.print
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - pasta.base.annotate._get_indent_width
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 514
    functionName: pasta.base.annotate.BaseVisitor.visit_ExceptHandler
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.annotate.AstAnnotator.one_of_symbols
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.annotate._get_indent_diff
    - <builtin>.isinstance
    - pasta.base.formatting._formatting_dict
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.token
    - full_whitespace.splitlines
    - itertools.chain
    - pasta.base.annotate._get_indent_width
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.annotate.BaseVisitor.one_of_symbols
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3d61151040>
    argNames:
    - self
    - node
    - is_async
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 322
    functionName: pasta.base.annotate.BaseVisitor.visit_With
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.codegen.Printer.check_is_continued_with
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.annotate._get_indent_diff
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.BaseVisitor.visit_With_3
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.BaseVisitor.check_is_continued_with
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - itertools.chain
    - pasta.base.annotate._get_indent_width
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.annotate.AstAnnotator.check_is_continued_with
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 282
    functionName: pasta.base.annotate.BaseVisitor.visit_While
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - pasta.base.annotate._get_indent_diff
    - pasta.base.formatting._formatting_dict
    - <builtin>.print
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - pasta.base.annotate._get_indent_width
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 12
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 391
    functionName: pasta.base.annotate.BaseVisitor.visit_ClassDef
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.annotate.BaseVisitor.scope
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.close_scope
    - symbols.add
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.scope
    - parens.append
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.annotate._get_indent_diff
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.formatting.append
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - <builtin>.bool
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator._scope_helper
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - itertools.chain
    - pasta.base.annotate._get_indent_width
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.token_generator.TokenGenerator.scope
    - pasta.base.formatting.prepend
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 237
    functionName: pasta.base.annotate.BaseVisitor.visit_If
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.check_is_elif
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.annotate._get_indent_diff
    - collections.defaultdict
    - <builtin>.isinstance
    - pasta.base.formatting._formatting_dict
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - pasta.base.token_generator.TokenGenerator.next_name
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.token
    - full_whitespace.splitlines
    - itertools.chain
    - pasta.base.annotate._get_indent_width
    - pasta.base.codegen.Printer.check_is_elif
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3d61b95a90>
    argNames:
    - self
    - node
    - is_async
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 297
    functionName: pasta.base.annotate.BaseVisitor.visit_For
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - pasta.base.annotate._get_indent_diff
    - pasta.base.formatting._formatting_dict
    - <builtin>.print
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - pasta.base.annotate._get_indent_width
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 127
    functionName: pasta.base.annotate.BaseVisitor.__init__
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: pasta.base.annotate.BaseVisitor.visit
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.base.annotate.BaseVisitor.prefix.<list1>.<lambda1>
    functionSourceFile: pasta.base.annotate
    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: 4
    functionLinenumber: -1
    functionName: pasta.base.annotate.BaseVisitor.prefix.<lambda1>
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - itertools.chain
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.AstAnnotator.ws
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3d60ebb130>
    - <ast.Constant object at 0x7f3d60ebb160>
    - <ast.Constant object at 0x7f3d60ebb190>
    argNames:
    - self
    - max_lines
    - semicolon
    - comment
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1409
    functionName: pasta.base.annotate.AstAnnotator.ws
    functionSourceFile: pasta.base.annotate
    functionUses: 13
    functionsReached:
    - <builtin>.list
    - itertools.chain
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3d612f94c0>
    - <ast.Constant object at 0x7f3d612f98e0>
    argNames:
    - self
    - node
    - attr_name
    - attr_vals
    - deps
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 191
    functionName: pasta.base.annotate.BaseVisitor.attr
    functionSourceFile: ''
    functionUses: 80
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3d60ecbb80>
    - <ast.Constant object at 0x7f3d60ecbbb0>
    argNames:
    - self
    - node
    - attr_name
    - attr_vals
    - deps
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1471
    functionName: pasta.base.annotate.AstAnnotator.attr
    functionSourceFile: pasta.base.annotate
    functionUses: 84
    functionsReached:
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.formatting.set
    - pasta.base.annotate.AstAnnotator.token
    - attr_parts.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: 4
    functionLinenumber: 145
    functionName: pasta.base.annotate.BaseVisitor.suffix._ws
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - itertools.chain
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.AstAnnotator.ws
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - children_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 149
    functionName: pasta.base.annotate.BaseVisitor.indented
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.any
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.isinstance
    - pasta.base.codegen.Printer.attr
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.attr
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.formatting.set
    - pasta.base.annotate.AstAnnotator.token
    - attr_parts.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: 3
    functionLinenumber: -1
    functionName: pasta.base.annotate.BaseVisitor
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.annotate.space_around
    - abc.abstractmethod
    - pasta.base.annotate.block_statement
    - pasta.base.annotate.space_left
    - pasta.base.annotate.expression
    - pasta.base.annotate._gen_wrapper
    - pasta.base.annotate.fstring_expression
    - contextlib.wraps
    - pasta.base.annotate.module
    - contextlib.contextmanager
    - pasta.base.annotate.statement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3d61b5b3a0>
    - <ast.Constant object at 0x7f3d61b5b730>
    - <ast.Constant object at 0x7f3d61b5b370>
    argNames:
    - self
    - node
    - attr
    - trailing_comma
    - default_parens
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 168
    functionName: pasta.base.annotate.BaseVisitor.scope
    functionSourceFile: pasta.base.annotate
    functionUses: 9
    functionsReached:
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.any
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.isinstance
    - pasta.base.codegen.Printer.attr
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.attr
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.formatting.set
    - pasta.base.annotate.AstAnnotator.token
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token_val
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: pasta.base.annotate.BaseVisitor.token
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3d612f9100>
    - <ast.Constant object at 0x7f3d612f96a0>
    - <ast.Constant object at 0x7f3d612f9640>
    argNames:
    - self
    - max_lines
    - semicolon
    - comment
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 194
    functionName: pasta.base.annotate.BaseVisitor.ws
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - num_dots
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 205
    functionName: pasta.base.annotate.BaseVisitor.dots
    functionSourceFile: pasta.base.annotate
    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: 4
    functionLinenumber: 209
    functionName: pasta.base.annotate.BaseVisitor.ws_oneline
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - itertools.chain
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.AstAnnotator.ws
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3d6128fac0>
    argNames:
    - self
    - node
    - attr_name
    - token_val
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 213
    functionName: pasta.base.annotate.BaseVisitor.optional_token
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 216
    functionName: pasta.base.annotate.BaseVisitor.one_of_symbols
    functionSourceFile: pasta.base.annotate
    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
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 226
    functionName: pasta.base.annotate.BaseVisitor.visit_Module
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - ast.NodeVisitor.generic_visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.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: 0
    functionLinenumber: -1
    functionName: pasta.base.annotate.BaseVisitor.visit_Module.<list1>.<lambda1>
    functionSourceFile: pasta.base.annotate
    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: pasta.base.annotate.BaseVisitor.visit_Module.<list1>.<lambda1>.<lambda1>
    functionSourceFile: pasta.base.annotate
    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: 3
    functionLinenumber: -1
    functionName: pasta.base.annotate.BaseVisitor.visit_Module.<lambda1>
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - itertools.chain
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.eat_tokens
    - <builtin>.len
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - predicate
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 342
    functionName: pasta.base.token_generator.TokenGenerator.eat_tokens
    functionSourceFile: pasta.base.token_generator
    functionUses: 5
    functionsReached:
    - itertools.chain
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.takewhile
    - <builtin>.len
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - children_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1300
    functionName: pasta.base.annotate.AstAnnotator.indented
    functionSourceFile: pasta.base.annotate
    functionUses: 15
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - <builtin>.print
    - pasta.base.annotate._get_indent_diff
    - pasta.base.formatting._formatting_dict
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.getattr
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - pasta.base.annotate._get_indent_width
    - itertools.chain
    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: 3
    functionLinenumber: 1388
    functionName: pasta.base.annotate.AstAnnotator.check_is_elif
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next_name
    - <builtin>.list
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token_val
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1430
    functionName: pasta.base.annotate.AstAnnotator.token
    functionSourceFile: pasta.base.annotate
    functionUses: 124
    functionsReached:
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    linkageType: pythonLinkage
    raised:
    - AnnotationError
    returnType: N/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: 1
    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: 0
    functionLinenumber: 261
    functionName: pasta.base.annotate.BaseVisitor.check_is_elif
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 318
    functionName: pasta.base.annotate.BaseVisitor.visit_AsyncFor
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - pasta.base.annotate._get_indent_diff
    - pasta.base.formatting._formatting_dict
    - <builtin>.print
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.BaseVisitor.visit_For
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - pasta.base.annotate._get_indent_width
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3d61b8c970>
    argNames:
    - self
    - node
    - is_async
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 367
    functionName: pasta.base.annotate.BaseVisitor.visit_With_3
    functionSourceFile: pasta.base.annotate
    functionUses: 3
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - pasta.base.annotate._get_indent_diff
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.token
    - full_whitespace.splitlines
    - pasta.base.annotate._get_indent_width
    - itertools.chain
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 0
    functionLinenumber: 349
    functionName: pasta.base.annotate.BaseVisitor.check_is_continued_with
    functionSourceFile: ''
    functionUses: 3
    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: 1
    functionLinenumber: 1398
    functionName: pasta.base.annotate.AstAnnotator.check_is_continued_with
    functionSourceFile: pasta.base.annotate
    functionUses: 3
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 341
    functionName: pasta.base.annotate.BaseVisitor.visit_AsyncWith
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.codegen.Printer.check_is_continued_with
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.annotate._get_indent_diff
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.BaseVisitor.visit_With_3
    - <builtin>.hasattr
    - pasta.base.annotate.BaseVisitor.visit_With
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.BaseVisitor.check_is_continued_with
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - itertools.chain
    - pasta.base.annotate._get_indent_width
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.annotate.AstAnnotator.check_is_continued_with
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 345
    functionName: pasta.base.annotate.BaseVisitor.check_is_continued_try
    functionSourceFile: pasta.base.annotate
    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>.bool
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3d60ed19d0>
    - <ast.Constant object at 0x7f3d60ed1a00>
    - <ast.Constant object at 0x7f3d60ed1a30>
    argNames:
    - self
    - node
    - attr
    - trailing_comma
    - default_parens
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1515
    functionName: pasta.base.annotate.AstAnnotator.scope
    functionSourceFile: pasta.base.annotate
    functionUses: 9
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.close_scope
    - symbols.add
    - pasta.base.formatting.set
    - <builtin>.len
    - parens.append
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - <builtin>.getattr
    - pasta.base.token_generator._scope_helper
    - pasta.base.token_generator.TokenGenerator.rewind
    - itertools.chain
    - pasta.base.token_generator.TokenGenerator.scope
    - pasta.base.formatting.prepend
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 453
    functionName: pasta.base.annotate.BaseVisitor.visit_AsyncFunctionDef
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.annotate.BaseVisitor.scope
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.token_generator.TokenGenerator.close_scope
    - symbols.add
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.scope
    - parens.append
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.annotate._get_indent_diff
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.formatting.append
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - pasta.base.annotate.AstAnnotator.indented
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.sum
    - pasta.base.annotate._ltrim_indent
    - <builtin>.list
    - pasta.base.annotate.BaseVisitor.visit_FunctionDef
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator._scope_helper
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - itertools.chain
    - pasta.base.annotate._get_indent_width
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.token_generator.TokenGenerator.scope
    - pasta.base.formatting.prepend
    - attr_parts.append
    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: 3
    functionLinenumber: 1393
    functionName: pasta.base.annotate.AstAnnotator.check_is_continued_try
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1460
    functionName: pasta.base.annotate.AstAnnotator.one_of_symbols
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 547
    functionName: pasta.base.annotate.BaseVisitor.visit_Raise_3
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.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: 0
    functionLinenumber: -1
    functionName: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 152
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: identifiers.extend
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - num_dots
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1421
    functionName: pasta.base.annotate.AstAnnotator.dots
    functionSourceFile: ''
    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: module_pattern.extend
    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: node.module.split
    functionSourceFile: <builtin>
    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:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 806
    functionName: pasta.base.annotate.BaseVisitor.visit_Call_arguments35
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.sorted
    - <builtin>.any
    - functools.cmp_to_key
    - <builtin>.getattr
    - <builtin>.type
    - <builtin>.bool
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 781
    functionName: pasta.base.annotate.BaseVisitor.visit_Call_arguments
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - all_args.append
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.sorted
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - <builtin>.bool
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3d60ec6460>
    - <ast.Constant object at 0x7f3d60ec6490>
    argNames:
    - self
    - node
    - attr_name
    - token_val
    - allow_whitespace_prefix
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1446
    functionName: pasta.base.annotate.AstAnnotator.optional_token
    functionSourceFile: pasta.base.annotate
    functionUses: 8
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.formatting.set
    - <builtin>.len
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.AstAnnotator.ws
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.list
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    - itertools.chain
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - tup
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 782
    functionName: pasta.base.annotate.BaseVisitor.visit_Call_arguments.arg_location
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <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: <builtin>.sorted
    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: all_args.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - a1
    - a2
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 807
    functionName: pasta.base.annotate.BaseVisitor.visit_Call_arguments35.arg_compare
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - pasta.base.annotate.BaseVisitor.visit_Call_arguments35.arg_compare.is_arg
    - pasta.base.annotate.BaseVisitor.visit_Call_arguments35.arg_compare.get_pos
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - a
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 809
    functionName: pasta.base.annotate.BaseVisitor.visit_Call_arguments35.arg_compare.is_arg
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - a
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 821
    functionName: pasta.base.annotate.BaseVisitor.visit_Call_arguments35.arg_compare.get_pos
    functionSourceFile: pasta.base.annotate
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - <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: functools.cmp_to_key
    functionSourceFile: functools
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 847
    functionName: pasta.base.annotate.BaseVisitor.visit_Starred
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.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: 0
    functionLinenumber: -1
    functionName: six.moves.zip
    functionSourceFile: six
    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: <builtin>.str
    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: pasta.base.annotate.BaseVisitor.visit_Constant.<list3>.<lambda1>
    functionSourceFile: pasta.base.annotate
    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: 2
    functionLinenumber: -1
    functionName: pasta.base.annotate.BaseVisitor.visit_Constant.<lambda1>
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next_of_type
    - pasta.base.token_generator.TokenGenerator.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 501
    functionName: pasta.base.token_generator.TokenGenerator.next_of_type
    functionSourceFile: pasta.base.token_generator
    functionUses: 2
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    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: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3d603eadc0>
    - <ast.Constant object at 0x7f3d603ead90>
    argNames:
    - self
    - node
    - open_brace
    - close_brace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 944
    functionName: pasta.base.annotate.BaseVisitor._comp_exp
    functionSourceFile: pasta.base.annotate
    functionUses: 4
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - collections.defaultdict
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.codegen.Printer.visit
    - pasta.base.annotate.AstAnnotator.token
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.attr
    - <builtin>.super
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.append
    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: 2
    functionLinenumber: 1020
    functionName: pasta.base.annotate.BaseVisitor.visit_And
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1023
    functionName: pasta.base.annotate.BaseVisitor.visit_Or
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1026
    functionName: pasta.base.annotate.BaseVisitor.visit_Add
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1029
    functionName: pasta.base.annotate.BaseVisitor.visit_Sub
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1032
    functionName: pasta.base.annotate.BaseVisitor.visit_Mult
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1035
    functionName: pasta.base.annotate.BaseVisitor.visit_Div
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1038
    functionName: pasta.base.annotate.BaseVisitor.visit_MatMult
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1041
    functionName: pasta.base.annotate.BaseVisitor.visit_Mod
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1044
    functionName: pasta.base.annotate.BaseVisitor.visit_Pow
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1047
    functionName: pasta.base.annotate.BaseVisitor.visit_LShift
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1050
    functionName: pasta.base.annotate.BaseVisitor.visit_RShift
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1053
    functionName: pasta.base.annotate.BaseVisitor.visit_BitAnd
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1056
    functionName: pasta.base.annotate.BaseVisitor.visit_BitOr
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1059
    functionName: pasta.base.annotate.BaseVisitor.visit_BitXor
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1062
    functionName: pasta.base.annotate.BaseVisitor.visit_FloorDiv
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1065
    functionName: pasta.base.annotate.BaseVisitor.visit_Invert
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1068
    functionName: pasta.base.annotate.BaseVisitor.visit_Not
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1071
    functionName: pasta.base.annotate.BaseVisitor.visit_UAdd
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1074
    functionName: pasta.base.annotate.BaseVisitor.visit_USub
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1077
    functionName: pasta.base.annotate.BaseVisitor.visit_Eq
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 4
    functionLinenumber: 1080
    functionName: pasta.base.annotate.BaseVisitor.visit_NotEq
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.annotate.AstAnnotator.one_of_symbols
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - pasta.base.annotate.BaseVisitor.one_of_symbols
    - attr_parts.append
    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: 2
    functionLinenumber: 1083
    functionName: pasta.base.annotate.BaseVisitor.visit_Lt
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1086
    functionName: pasta.base.annotate.BaseVisitor.visit_LtE
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1089
    functionName: pasta.base.annotate.BaseVisitor.visit_Gt
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1092
    functionName: pasta.base.annotate.BaseVisitor.visit_GtE
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 2
    functionLinenumber: 1095
    functionName: pasta.base.annotate.BaseVisitor.visit_Is
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 4
    functionLinenumber: 1098
    functionName: pasta.base.annotate.BaseVisitor.visit_IsNot
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.any
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.isinstance
    - pasta.base.codegen.Printer.attr
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.attr
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.formatting.set
    - pasta.base.annotate.AstAnnotator.token
    - attr_parts.append
    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: 2
    functionLinenumber: 1101
    functionName: pasta.base.annotate.BaseVisitor.visit_In
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.codegen.Printer.token
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.annotate.AstAnnotator.token
    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: 4
    functionLinenumber: 1104
    functionName: pasta.base.annotate.BaseVisitor.visit_NotIn
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.any
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.isinstance
    - pasta.base.codegen.Printer.attr
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.attr
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - pasta.base.formatting.set
    - pasta.base.annotate.AstAnnotator.token
    - attr_parts.append
    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: 4
    functionLinenumber: 1111
    functionName: pasta.base.annotate.BaseVisitor.visit_alias
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - node.name.split
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.formatting.set
    - pasta.base.annotate.BaseVisitor.attr
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.any
    - <builtin>.getattr
    - <builtin>.type
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.codegen.Printer.token
    - pasta.base.codegen.Printer.attr
    - pasta.base.annotate.AstAnnotator.attr
    - attr_parts.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: 0
    functionLinenumber: -1
    functionName: node.name.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1254
    functionName: pasta.base.annotate.BaseVisitor.check_slice_includes_step
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    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: 3
    functionLinenumber: 1402
    functionName: pasta.base.annotate.AstAnnotator.check_slice_includes_step
    functionSourceFile: pasta.base.annotate
    functionUses: 2
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.chr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3d60099f70>
    argNames:
    - self
    - source
    - ignore_error_token
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 76
    functionName: pasta.base.token_generator.TokenGenerator.__init__
    functionSourceFile: pasta.base.token_generator
    functionUses: 36
    functionsReached:
    - <builtin>.list
    - source.splitlines
    - six.StringIO
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - <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: 101
    functionName: pasta.base.token_generator.TokenGenerator.peek
    functionSourceFile: ''
    functionUses: 114
    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: 2
    functionLinenumber: 107
    functionName: pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    functionSourceFile: pasta.base.token_generator
    functionUses: 29
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator.TokenGenerator.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.base.annotate.AstAnnotator.indented.<lambda1>
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - condition
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: pasta.base.token_generator.TokenGenerator.peek_conditional
    functionSourceFile: pasta.base.token_generator
    functionUses: 30
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - outer
    - inner
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1564
    functionName: pasta.base.annotate._get_indent_diff
    functionSourceFile: pasta.base.annotate
    functionUses: 16
    functionsReached:
    - <builtin>.enumerate
    - pasta.base.annotate._get_indent_width
    - pasta.base.annotate._ltrim_indent
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.print
    functionSourceFile: <builtin>
    functionUses: 127
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - indent_level
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 171
    functionName: pasta.base.token_generator.TokenGenerator.block_whitespace
    functionSourceFile: pasta.base.token_generator
    functionUses: 17
    functionsReached:
    - <builtin>.list
    - full_whitespace.splitlines
    - itertools.chain
    - <builtin>.enumerate
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.token_generator.TokenGenerator.whitespace
    - <builtin>.reversed
    - line.startswith
    - pasta.base.token_generator.TokenGenerator.takewhile
    - <builtin>.len
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: pasta.base.annotate.AstAnnotator
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.annotate.space_around
    - pasta.base.annotate.expression
    - contextlib.wraps
    - pasta.base.annotate._gen_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.base.annotate.AstAnnotator.visit_Num.<list1>.<lambda1>
    functionSourceFile: pasta.base.annotate
    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: 2
    functionLinenumber: -1
    functionName: pasta.base.annotate.AstAnnotator.visit_Num.<lambda1>
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next_of_type
    - pasta.base.token_generator.TokenGenerator.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contentargs.insert
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 356
    functionName: pasta.base.token_generator.TokenGenerator.fstr
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 366
    functionName: pasta.base.token_generator.TokenGenerator.fstr.fstr_parser
    functionSourceFile: pasta.base.token_generator
    functionUses: 2
    functionsReached:
    - source.splitlines
    - pasta.base.token_generator.TokenGenerator.peek_non_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.range
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.token_generator.TokenGenerator.chars_consumed
    - pasta.base.token_generator.TokenGenerator.eat_tokens
    - <builtin>.len
    - _FSTRING_VAL_PLACEHOLDER.format
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek_conditional
    - pasta.base.token_generator._generate_tokens
    - pasta.base.fstring_utils.placeholder
    - pasta.base.token_generator.TokenGenerator.takewhile
    - tokenize.generate_tokens
    - <builtin>.list
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - itertools.chain
    - six.StringIO
    - pasta.base.token_generator.TokenGenerator.str
    - pasta.base.token_generator.TokenGenerator.__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: <builtin>.next
    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: pasta.base.annotate.AstAnnotator.visit_JoinedStr.<list1>.<lambda1>
    functionSourceFile: pasta.base.annotate
    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: 2
    functionLinenumber: 490
    functionName: pasta.base.token_generator.TokenGenerator.next_name
    functionSourceFile: pasta.base.token_generator
    functionUses: 3
    functionsReached:
    - <builtin>.list
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3d614e0fd0>
    - <ast.Constant object at 0x7f3d614e0c10>
    argNames:
    - self
    - max_lines
    - comment
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 128
    functionName: pasta.base.token_generator.TokenGenerator.whitespace
    functionSourceFile: pasta.base.token_generator
    functionUses: 32
    functionsReached:
    - <builtin>.list
    - itertools.chain
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.token_generator.TokenGenerator.takewhile
    - <builtin>.len
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1423
    functionName: pasta.base.annotate.AstAnnotator.dots._parse_dots
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - itertools.chain
    - tok.src.count
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.dots
    - <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
    - num_dots
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 198
    functionName: pasta.base.token_generator.TokenGenerator.dots
    functionSourceFile: pasta.base.token_generator
    functionUses: 1
    functionsReached:
    - itertools.chain
    - pasta.base.token_generator.TokenGenerator.next
    - tok.src.count
    - pasta.base.token_generator.TokenGenerator._space_between
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - indent_level
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1427
    functionName: pasta.base.annotate.AstAnnotator.block_suffix
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.block_whitespace
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.reversed
    - line.startswith
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.formatting._formatting_dict
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.token_generator.TokenGenerator.takewhile
    - <builtin>.list
    - <builtin>.getattr
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator.TokenGenerator.rewind
    - <builtin>.enumerate
    - full_whitespace.splitlines
    - itertools.chain
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3d61153df0>
    argNames:
    - self
    - advance
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 115
    functionName: pasta.base.token_generator.TokenGenerator.next
    functionSourceFile: ''
    functionUses: 150
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 307
    functionName: pasta.base.token_generator.TokenGenerator.hint_open
    functionSourceFile: ''
    functionUses: 125
    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: 0
    functionLinenumber: 311
    functionName: pasta.base.token_generator.TokenGenerator.hint_closed
    functionSourceFile: ''
    functionUses: 125
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1462
    functionName: pasta.base.annotate.AstAnnotator.one_of_symbols._one_of_symbols
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - pasta.base.token_generator.TokenGenerator.next
    linkageType: pythonLinkage
    raised:
    - AnnotationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attr_parts.append
    functionSourceFile: <builtin>
    functionUses: 85
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3d614fba30>
    - <ast.Constant object at 0x7f3d614fb1c0>
    argNames:
    - self
    - node
    - attr
    - trailing_comma
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 318
    functionName: pasta.base.token_generator.TokenGenerator.scope
    functionSourceFile: pasta.base.token_generator
    functionUses: 10
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.open_scope
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.close_scope
    - symbols.add
    - pasta.base.formatting.set
    - <builtin>.len
    - parens.append
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator.TokenGenerator.takewhile
    - <builtin>.getattr
    - pasta.base.token_generator._scope_helper
    - pasta.base.token_generator.TokenGenerator.rewind
    - itertools.chain
    - pasta.base.formatting.prepend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - token_type
    - token_val
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1530
    functionName: pasta.base.annotate.AstAnnotator._optional_token
    functionSourceFile: pasta.base.annotate
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - itertools.chain
    - <builtin>.print
    - pasta.base.token_generator.TokenGenerator.hint_closed
    - <builtin>.type
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.annotate.AstAnnotator.ws
    - pasta.base.token_generator.TokenGenerator.whitespace
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.hint_open
    - <builtin>.len
    - pasta.base.annotate.AstAnnotator.token
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - indent
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1539
    functionName: pasta.base.annotate._get_indent_width
    functionSourceFile: pasta.base.annotate
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - indent
    - remove_width
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1549
    functionName: pasta.base.annotate._ltrim_indent
    functionSourceFile: pasta.base.annotate
    functionUses: 17
    functionsReached:
    - <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: 1
    functionLinenumber: -1
    functionName: pasta.base.ast_constants
    functionSourceFile: pasta.base.ast_constants
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    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: pasta.base.token_generator
    functionSourceFile: pasta.base.token_generator
    functionUses: 0
    functionsReached:
    - collections.namedtuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.namedtuple
    functionSourceFile: collections
    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: source.splitlines
    functionSourceFile: <builtin>
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3d6128fd60>
    argNames:
    - source
    - ignore_error_token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 565
    functionName: pasta.base.token_generator._generate_tokens
    functionSourceFile: pasta.base.token_generator
    functionUses: 37
    functionsReached:
    - tokenize.generate_tokens
    - six.StringIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 77
    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: 0
    functionLinenumber: 89
    functionName: pasta.base.token_generator.TokenGenerator.loc_begin
    functionSourceFile: ''
    functionUses: 37
    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: 2
    functionLinenumber: 86
    functionName: pasta.base.token_generator.TokenGenerator.chars_consumed
    functionSourceFile: pasta.base.token_generator
    functionUses: 3
    functionsReached:
    - itertools.chain
    - pasta.base.token_generator.TokenGenerator._space_between
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - start_loc
    - end_loc
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 472
    functionName: pasta.base.token_generator.TokenGenerator._space_between
    functionSourceFile: pasta.base.token_generator
    functionUses: 47
    functionsReached:
    - itertools.chain
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    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: 95
    functionName: pasta.base.token_generator.TokenGenerator.loc_end
    functionSourceFile: pasta.base.token_generator
    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: pasta.base.token_generator.TokenGenerator.peek_non_whitespace.<lambda1>
    functionSourceFile: pasta.base.token_generator
    functionUses: 0
    functionsReached: []
    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 0x7f3d614e0b20>
    argNames:
    - self
    - amount
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 124
    functionName: pasta.base.token_generator.TokenGenerator.rewind
    functionSourceFile: pasta.base.token_generator
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 146
    functionName: pasta.base.token_generator.TokenGenerator.whitespace.predicate
    functionSourceFile: pasta.base.token_generator
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3d612955b0>
    argNames:
    - self
    - condition
    - advance
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 510
    functionName: pasta.base.token_generator.TokenGenerator.takewhile
    functionSourceFile: pasta.base.token_generator
    functionUses: 46
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/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
    functionSourceFile: itertools
    functionUses: 48
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: full_whitespace.splitlines
    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>.reversed
    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.startswith
    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: pasta.base.token_generator.TokenGenerator.block_whitespace.<lambda1>
    functionSourceFile: pasta.base.token_generator
    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: tok.src.count
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3d6126f700>
    argNames:
    - self
    - node
    - single_paren
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 216
    functionName: pasta.base.token_generator.TokenGenerator.open_scope
    functionSourceFile: pasta.base.token_generator
    functionUses: 11
    functionsReached:
    - itertools.chain
    - <builtin>.isinstance
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.peek
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator._scope_helper
    - <builtin>.len
    - parens.append
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.base.token_generator.TokenGenerator.open_scope.<lambda1>
    functionSourceFile: pasta.base.token_generator
    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: parens.append
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 1
    IfCount: 12
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 522
    functionName: pasta.base.token_generator._scope_helper
    functionSourceFile: pasta.base.token_generator
    functionUses: 12
    functionsReached:
    - pasta.base.token_generator._scope_helper
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 9
    IfCount: 7
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3d613837c0>
    - <ast.Constant object at 0x7f3d61383310>
    - <ast.Constant object at 0x7f3d61529e50>
    - <ast.Constant object at 0x7f3d61529130>
    argNames:
    - self
    - node
    - prefix_attr
    - suffix_attr
    - trailing_comma
    - single_paren
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 257
    functionName: pasta.base.token_generator.TokenGenerator.close_scope
    functionSourceFile: pasta.base.token_generator
    functionUses: 11
    functionsReached:
    - itertools.chain
    - pasta.base.formatting._formatting_dict
    - pasta.base.formatting.append
    - <builtin>.getattr
    - pasta.base.token_generator.TokenGenerator.next
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.formatting.set
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - symbols.add
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.formatting.prepend
    - <builtin>.len
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: symbols.add
    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: pasta.base.token_generator.TokenGenerator.close_scope.<lambda1>
    functionSourceFile: pasta.base.token_generator
    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: pasta.base.token_generator.TokenGenerator
    functionSourceFile: pasta.base.token_generator
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    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: 330
    functionName: pasta.base.token_generator.TokenGenerator.is_in_scope
    functionSourceFile: pasta.base.token_generator
    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: 3
    functionLinenumber: 334
    functionName: pasta.base.token_generator.TokenGenerator.str
    functionSourceFile: pasta.base.token_generator
    functionUses: 3
    functionsReached:
    - itertools.chain
    - pasta.base.token_generator.TokenGenerator.next
    - pasta.base.token_generator.TokenGenerator._space_between
    - pasta.base.token_generator.TokenGenerator.takewhile
    - pasta.base.token_generator.TokenGenerator.eat_tokens
    - <builtin>.len
    - pasta.base.token_generator.TokenGenerator.rewind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 336
    functionName: pasta.base.token_generator.TokenGenerator.str.predicate
    functionSourceFile: pasta.base.token_generator
    functionUses: 0
    functionsReached:
    - pasta.base.token_generator.TokenGenerator.is_in_scope
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - tok
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 377
    functionName: pasta.base.token_generator.TokenGenerator.fstr.fstr_parser.fstr_eater
    functionSourceFile: pasta.base.token_generator
    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:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 493
    functionName: pasta.base.token_generator.TokenGenerator.next_name.predicate
    functionSourceFile: pasta.base.token_generator
    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: six.StringIO
    functionSourceFile: six
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.generate_tokens
    functionSourceFile: tokenize
    functionUses: 38
    functionsReached: []
    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: 1
    functionLinenumber: -1
    functionName: pasta.base.scope_test
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - unittest.main
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 22
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 32
    functionName: pasta.base.scope_test.ScopeTest.test_top_level_imports
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - s.external_references.keys
    - pasta.base.scope.ScopeVisitor.visit
    - unittest.TestCase.assertIs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: textwrap.dedent
    functionSourceFile: textwrap
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - tree
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 293
    functionName: pasta.base.scope.analyze
    functionSourceFile: pasta.base.scope
    functionUses: 77
    functionsReached:
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.names.keys
    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: unittest.TestCase.assertItemsEqual
    functionSourceFile: unittest
    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: s.external_references.keys
    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: unittest.TestCase.assertIs
    functionSourceFile: unittest
    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: unittest.TestCase.assertEqual
    functionSourceFile: unittest
    functionUses: 75
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 117
    functionName: pasta.base.scope_test.ScopeTest.test_if_nested_imports
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - unittest.TestCase.assertIsNone
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - s.external_references.keys
    - pasta.base.ast_utils.find_nodes_by_type
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - pasta.base.ast_utils.FindNodeVisitor.__init__
    - pasta.base.ast_utils.FindNodeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.TestCase.assertIsNone
    functionSourceFile: unittest
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 147
    functionName: pasta.base.scope_test.ScopeTest.test_try_nested_imports
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - s.external_references.keys
    - pasta.base.ast_utils.find_nodes_by_type
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - pasta.base.ast_utils.FindNodeVisitor.__init__
    - pasta.base.ast_utils.FindNodeVisitor.visit
    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: 4
    functionLinenumber: 174
    functionName: pasta.base.scope_test.ScopeTest.test_functiondef_nested_imports
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    - pasta.base.ast_utils.find_nodes_by_type
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - pasta.base.ast_utils.FindNodeVisitor.__init__
    - pasta.base.ast_utils.FindNodeVisitor.visit
    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: 4
    functionLinenumber: 189
    functionName: pasta.base.scope_test.ScopeTest.test_classdef_nested_imports
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 204
    functionName: pasta.base.scope_test.ScopeTest.test_multilevel_import_reads
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 224
    functionName: pasta.base.scope_test.ScopeTest.test_import_reads_in_functiondef
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 243
    functionName: pasta.base.scope_test.ScopeTest.test_import_reads_in_classdef
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 263
    functionName: pasta.base.scope_test.ScopeTest.test_import_masked_by_function_arg
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 280
    functionName: pasta.base.scope_test.ScopeTest.test_import_masked_by_assign
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 299
    functionName: pasta.base.scope_test.ScopeTest.test_import_in_decortator
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: pasta.base.scope_test.ScopeTest
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - <builtin>.any
    - <builtin>.issubclass
    - unittest.skipIf
    - pasta.base.test_utils.requires_features
    - <builtin>.hasattr
    - pasta.base.test_utils.supports_feature
    - pasta.base.test_utils.requires_features.<RETURN>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - features
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 66
    functionName: pasta.base.test_utils.requires_features
    functionSourceFile: pasta.base.test_utils
    functionUses: 5
    functionsReached:
    - ast.parse
    - <builtin>.any
    - <builtin>.issubclass
    - unittest.skipIf
    - <builtin>.hasattr
    - pasta.base.test_utils.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: pasta.base.test_utils.requires_features.<RETURN>
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 318
    functionName: pasta.base.scope_test.ScopeTest.test_import_in_return_type
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 336
    functionName: pasta.base.scope_test.ScopeTest.test_import_in_argument_type
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 355
    functionName: pasta.base.scope_test.ScopeTest.test_import_in_argument_type_string
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    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: 4
    functionLinenumber: 376
    functionName: pasta.base.scope_test.ScopeTest.test_forward_type_reference
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 393
    functionName: pasta.base.scope_test.ScopeTest.test_forward_type_reference2
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 414
    functionName: pasta.base.scope_test.ScopeTest.test_import_attribute_references
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 14
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 440
    functionName: pasta.base.scope_test.ScopeTest.test_lookup_scope
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - unittest.TestCase.assertIsNone
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - class_node_scope.lookup_scope
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Name
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.base.scope.RootScope.lookup_scope
    - unittest.TestCase.assertIs
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: pasta.base.scope.RootScope.lookup_scope
    functionSourceFile: pasta.base.scope
    functionUses: 3
    functionsReached:
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: class_node_scope.lookup_scope
    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: ast.Name
    functionSourceFile: ast
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 478
    functionName: pasta.base.scope_test.ScopeTest.test_class_methods
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - <builtin>.super
    - s.names.keys
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - s.external_references.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 500
    functionName: pasta.base.scope_test.ScopeTest.test_vararg_kwarg_references_in_function_body
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - textwrap.dedent
    - pasta.base.scope.analyze
    - pasta.base.scope.RootScope.__init__
    - unittest.TestCase.assertIn
    - <builtin>.super
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.RootScope.lookup_scope
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.TestCase.assertIn
    functionSourceFile: unittest
    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: 520
    functionName: pasta.base.scope_test.suite
    functionSourceFile: pasta.base.scope_test
    functionUses: 0
    functionsReached:
    - unittest.TestSuite
    - result.addTests
    - unittest.makeSuite
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.TestSuite
    functionSourceFile: unittest
    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: unittest.makeSuite
    functionSourceFile: unittest
    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: result.addTests
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.main
    functionSourceFile: unittest
    functionUses: 7
    functionsReached: []
    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: 1
    functionLinenumber: -1
    functionName: pasta.base.test_utils
    functionSourceFile: pasta.base.test_utils
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 10
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - a
    - b
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: pasta.base.test_utils.TestCase.checkAstsEqual
    functionSourceFile: pasta.base.test_utils
    functionUses: 19
    functionsReached:
    - ast.dump
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.type
    - unittest.TestCase.fail
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - unittest.TestCase.assertIsNotNone
    - unittest.TestCase.assertEqual
    - ast.walk
    - six.moves.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.TestCase.assertIsNotNone
    functionSourceFile: unittest
    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: ast.dump
    functionSourceFile: ast
    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: unittest.TestCase.fail
    functionSourceFile: unittest
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - feature
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: pasta.base.test_utils.supports_feature
    functionSourceFile: pasta.base.test_utils
    functionUses: 6
    functionsReached:
    - <builtin>.hasattr
    - ast.parse
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.skipIf
    functionSourceFile: unittest
    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: <builtin>.issubclass
    functionSourceFile: <builtin>
    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: pasta.base.scope
    functionSourceFile: pasta.base.scope
    functionUses: 0
    functionsReached:
    - collections.namedtuple
    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: 2
    functionLinenumber: 39
    functionName: pasta.base.scope.ScopeVisitor.__init__
    functionSourceFile: pasta.base.scope
    functionUses: 78
    functionsReached:
    - <builtin>.super
    - pasta.base.scope.RootScope.__init__
    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: 1
    functionLinenumber: 224
    functionName: pasta.base.scope.RootScope.__init__
    functionSourceFile: pasta.base.scope
    functionUses: 79
    functionsReached:
    - <builtin>.super
    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: 1
    functionLinenumber: 44
    functionName: pasta.base.scope.ScopeVisitor.visit
    functionSourceFile: pasta.base.scope
    functionUses: 82
    functionsReached:
    - <builtin>.super
    - pasta.base.scope.RootScope.set_parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 244
    functionName: pasta.base.scope.RootScope.set_parent
    functionSourceFile: ''
    functionUses: 83
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - attrs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 55
    functionName: pasta.base.scope.ScopeVisitor.visit_in_order
    functionSourceFile: pasta.base.scope
    functionUses: 3
    functionsReached:
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.super
    - pasta.base.scope.ScopeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 66
    functionName: pasta.base.scope.ScopeVisitor.visit_Import
    functionSourceFile: pasta.base.scope
    functionUses: 0
    functionsReached:
    - pasta.base.scope.Name.lookup_name
    - pasta.base.scope.Name.define
    - alias.name.split
    - pasta.base.scope.RootScope.add_external_reference
    - <builtin>.range
    - pasta.base.scope.Name.__init__
    - ast.NodeVisitor.generic_visit
    - <builtin>.len
    - pasta.base.scope.Scope.define_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: alias.name.split
    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:
    - self
    - name
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 183
    functionName: pasta.base.scope.Scope.define_name
    functionSourceFile: pasta.base.scope
    functionUses: 7
    functionsReached:
    - pasta.base.scope.Name.__init__
    - pasta.base.scope.Name.define
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3d6129bd60>
    argNames:
    - self
    - name
    - node
    - name_ref
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 231
    functionName: pasta.base.scope.RootScope.add_external_reference
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: pasta.base.scope.Name.lookup_name
    functionSourceFile: pasta.base.scope
    functionUses: 2
    functionsReached:
    - pasta.base.scope.Name.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 279
    functionName: pasta.base.scope.Name.define
    functionSourceFile: ''
    functionUses: 8
    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: 97
    functionName: pasta.base.scope.ScopeVisitor.visit_ImportFrom
    functionSourceFile: pasta.base.scope
    functionUses: 0
    functionsReached:
    - pasta.base.scope.Name.define
    - pasta.base.scope.RootScope.add_external_reference
    - <builtin>.range
    - node.module.split
    - pasta.base.scope.Name.__init__
    - ast.NodeVisitor.generic_visit
    - <builtin>.len
    - pasta.base.scope.Scope.define_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 110
    functionName: pasta.base.scope.ScopeVisitor.visit_Name
    functionSourceFile: pasta.base.scope
    functionUses: 0
    functionsReached:
    - pasta.base.scope.Name.define
    - <builtin>.isinstance
    - pasta.base.scope.Scope.lookup_name
    - pasta.base.scope.Name.add_reference
    - pasta.base.scope.Name.__init__
    - ast.NodeVisitor.generic_visit
    - pasta.base.scope.RootScope.set_name_for_node
    - pasta.base.scope.Scope.define_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: pasta.base.scope.Scope.lookup_name
    functionSourceFile: pasta.base.scope
    functionUses: 1
    functionsReached:
    - pasta.base.scope.Name.__init__
    - pasta.base.scope.Scope.lookup_name
    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: 0
    functionLinenumber: 276
    functionName: pasta.base.scope.Name.add_reference
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 252
    functionName: pasta.base.scope.RootScope.set_name_for_node
    functionSourceFile: ''
    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: 3
    functionLinenumber: 118
    functionName: pasta.base.scope.ScopeVisitor.visit_FunctionDef
    functionSourceFile: pasta.base.scope
    functionUses: 0
    functionsReached:
    - pasta.base.scope.Scope.get_root_scope
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.ScopeVisitor.visit_in_order
    - <builtin>.getattr
    - <builtin>.isinstance
    - pasta.base.scope.Name.define
    - pasta.base.scope.Scope.create_scope
    - <builtin>.super
    - pasta.base.scope.Scope.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.base.scope.Name.__init__
    - pasta.base.scope.RootScope.get_root_scope
    - pasta.base.scope.RootScope._set_scope_for_node
    - pasta.base.scope.Scope.define_name
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 241
    functionName: pasta.base.scope.RootScope.parent
    functionSourceFile: ''
    functionUses: 44
    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: 2
    functionLinenumber: 216
    functionName: pasta.base.scope.Scope.create_scope
    functionSourceFile: pasta.base.scope
    functionUses: 2
    functionsReached:
    - pasta.base.scope.Scope.get_root_scope
    - pasta.base.scope.Scope.__init__
    - pasta.base.scope.RootScope.get_root_scope
    - pasta.base.scope.RootScope._set_scope_for_node
    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: 3
    functionLinenumber: 131
    functionName: pasta.base.scope.ScopeVisitor.visit_arguments
    functionSourceFile: pasta.base.scope
    functionUses: 0
    functionsReached:
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.ScopeVisitor.visit_in_order
    - <builtin>.isinstance
    - pasta.base.scope.Name.define
    - <builtin>.getattr
    - <builtin>.super
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.base.scope.Name.__init__
    - pasta.base.scope.Scope.define_name
    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: 2
    functionLinenumber: 144
    functionName: pasta.base.scope.ScopeVisitor.visit_arg
    functionSourceFile: pasta.base.scope
    functionUses: 0
    functionsReached:
    - pasta.base.scope.Name.lookup_name
    - <builtin>.isinstance
    - pasta.base.scope.Name.define
    - pasta.base.scope.Scope.forward_define_name
    - pasta.base.scope.Name.add_reference
    - <builtin>.hasattr
    - pasta.base.scope.Name.__init__
    - ast.NodeVisitor.generic_visit
    - node.annotation.s.split
    - pasta.base.scope.Scope.define_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.annotation.s.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: pasta.base.scope.Scope.forward_define_name
    functionSourceFile: pasta.base.scope
    functionUses: 1
    functionsReached:
    - pasta.base.scope.Name.__init__
    - pasta.base.scope.Name.add_reference
    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: 158
    functionName: pasta.base.scope.ScopeVisitor.visit_ClassDef
    functionSourceFile: pasta.base.scope
    functionUses: 0
    functionsReached:
    - pasta.base.scope.Scope.get_root_scope
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.ScopeVisitor.visit_in_order
    - pasta.base.scope.Name.define
    - <builtin>.isinstance
    - <builtin>.getattr
    - pasta.base.scope.Scope.create_scope
    - <builtin>.super
    - pasta.base.scope.Scope.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.base.scope.Name.__init__
    - pasta.base.scope.RootScope.get_root_scope
    - pasta.base.scope.RootScope._set_scope_for_node
    - pasta.base.scope.Scope.define_name
    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: 1
    functionLinenumber: 167
    functionName: pasta.base.scope.ScopeVisitor.visit_Attribute
    functionSourceFile: pasta.base.scope
    functionUses: 0
    functionsReached:
    - node_name.add_reference
    - node_value_name.lookup_name
    - pasta.base.scope.RootScope.get_name_for_node
    - ast.NodeVisitor.generic_visit
    - pasta.base.scope.RootScope.set_name_for_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 249
    functionName: pasta.base.scope.RootScope.get_name_for_node
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node_value_name.lookup_name
    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: node_name.add_reference
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - parent_scope
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: pasta.base.scope.Scope.__init__
    functionSourceFile: pasta.base.scope
    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
    - id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 270
    functionName: pasta.base.scope.Name.__init__
    functionSourceFile: ''
    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: 210
    functionName: pasta.base.scope.Scope.get_root_scope
    functionSourceFile: pasta.base.scope
    functionUses: 4
    functionsReached:
    - pasta.base.scope.Scope.get_root_scope
    - pasta.base.scope.RootScope.get_root_scope
    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: 238
    functionName: pasta.base.scope.RootScope.get_root_scope
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 213
    functionName: pasta.base.scope.Scope.lookup_scope
    functionSourceFile: pasta.base.scope
    functionUses: 0
    functionsReached:
    - pasta.base.scope.Scope.get_root_scope
    - pasta.base.scope.RootScope.get_root_scope
    - pasta.base.scope.RootScope.parent
    - pasta.base.scope.RootScope.lookup_scope
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - node_scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 263
    functionName: pasta.base.scope.RootScope._set_scope_for_node
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    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: 1
    functionLinenumber: -1
    functionName: pasta.base.annotate_test
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - unittest.main
    - os.path.realpath
    - os.path.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: os.path.dirname
    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: os.path.join
    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: os.path.realpath
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 46
    functionName: pasta.base.annotate_test.PrefixSuffixTest.test_block_suffix
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - unittest.TestCase.assertMultiLineEqual
    - source.splitlines
    - ast.parse
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - <builtin>.str
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.codegen.to_str
    - pasta.base.annotate_test._get_diff
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - after.splitlines
    - pasta.base.formatting.set
    - <builtin>.len
    - collections.defaultdict
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - before.splitlines
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - difflib.ndiff
    - six.iteritems
    - <builtin>.list
    - <builtin>.getattr
    - pasta.dump
    - src_tpl.format
    - pasta.base.codegen.Printer.visit
    - node.__class__
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - src.splitlines
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - <builtin>.enumerate
    - textwrap.dedent
    - pasta.base.codegen.Printer.__init__
    - six.StringIO
    - <builtin>.max
    - <builtin>.super
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.FindNodeVisitor.__init__
    - pasta.base.ast_utils.FindNodeVisitor.visit
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - children_attr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: pasta.base.annotate_test.PrefixSuffixTest.test_block_suffix.is_node_for_suffix
    functionSourceFile: pasta.base.annotate_test
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.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: src_tpl.format
    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: 2
    functionLinenumber: -1
    functionName: pasta.base.annotate_test.PrefixSuffixTest.test_block_suffix.<lambda1>
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - pasta.base.annotate_test.PrefixSuffixTest.test_block_suffix.is_node_for_suffix
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - before
    - after
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 527
    functionName: pasta.base.annotate_test._get_diff
    functionSourceFile: pasta.base.annotate_test
    functionUses: 1
    functionsReached:
    - before.splitlines
    - difflib.ndiff
    - after.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.TestCase.assertMultiLineEqual
    functionSourceFile: unittest
    functionUses: 2
    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: 5
    functionLinenumber: 95
    functionName: pasta.base.annotate_test.PrefixSuffixTest.test_module_suffix
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - src.index
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.index
    functionSourceFile: <builtin>
    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: 5
    functionLinenumber: 100
    functionName: pasta.base.annotate_test.PrefixSuffixTest.test_no_block_suffix_for_single_line_statement
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - unittest.TestCase.assertIsNone
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 105
    functionName: pasta.base.annotate_test.PrefixSuffixTest.test_expression_prefix_suffix
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 111
    functionName: pasta.base.annotate_test.PrefixSuffixTest.test_statement_prefix_suffix
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 120
    functionName: pasta.base.annotate_test.IndentationTest.test_indent_levels
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - call_nodes.sort
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - pasta.base.ast_utils.find_nodes_by_type
    - node.__class__
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - src.splitlines
    - <builtin>.enumerate
    - textwrap.dedent
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.FindNodeVisitor.__init__
    - pasta.base.ast_utils.FindNodeVisitor.visit
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.base.annotate_test.IndentationTest.test_indent_levels.<lambda1>
    functionSourceFile: pasta.base.annotate_test
    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: call_nodes.sort
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    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: 5
    functionLinenumber: 146
    functionName: pasta.base.annotate_test.IndentationTest.test_indent_levels_same_line
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - unittest.TestCase.assertIsNone
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 154
    functionName: pasta.base.annotate_test.IndentationTest.test_indent_depths
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - template.format
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    - itertools.product
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.product
    functionSourceFile: itertools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.format
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 172
    functionName: pasta.base.annotate_test.IndentationTest.test_indent_multiline_string
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - textwrap.dedent
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 184
    functionName: pasta.base.annotate_test.IndentationTest.test_indent_multiline_string_with_newline
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - textwrap.dedent
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 196
    functionName: pasta.base.annotate_test.IndentationTest.test_scope_trailing_comma
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - template.format
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - trailing_comma.lstrip
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: trailing_comma.lstrip
    functionSourceFile: <builtin>
    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: 5
    functionLinenumber: 215
    functionName: pasta.base.annotate_test.IndentationTest.test_indent_extra_newlines
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - textwrap.dedent
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 226
    functionName: pasta.base.annotate_test.IndentationTest.test_indent_extra_newlines_with_comment
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - textwrap.dedent
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 238
    functionName: pasta.base.annotate_test.IndentationTest.test_autoindent
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - unittest.TestCase.assertMultiLineEqual
    - source.splitlines
    - ast.parse
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.codegen.to_str
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - ast.Expr
    - <builtin>.len
    - collections.defaultdict
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - ast.Name
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - six.iteritems
    - <builtin>.list
    - <builtin>.getattr
    - pasta.base.codegen.Printer.visit
    - node.__class__
    - src.splitlines
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - <builtin>.enumerate
    - textwrap.dedent
    - six.StringIO
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Expr
    functionSourceFile: ast
    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: 3
    functionLinenumber: -1
    functionName: pasta.base.annotate_test.IndentationTest
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - <builtin>.any
    - <builtin>.issubclass
    - unittest.skipIf
    - pasta.base.test_utils.requires_features
    - <builtin>.hasattr
    - pasta.base.test_utils.supports_feature
    - pasta.base.test_utils.requires_features.<RETURN>
    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: 5
    functionLinenumber: 255
    functionName: pasta.base.annotate_test.IndentationTest.test_mixed_tabs_spaces_indentation
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - textwrap.dedent
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 263
    functionName: pasta.base.annotate_test.IndentationTest.test_tab_below_spaces
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - <builtin>.range
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - textwrap.dedent
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 274
    functionName: pasta.base.annotate_test.IndentationTest.test_tabs_below_spaces_and_tab
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - <builtin>.range
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - textwrap.dedent
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - filepath
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: pasta.base.annotate_test._is_syntax_valid
    functionSourceFile: pasta.base.annotate_test
    functionUses: 2
    functionsReached:
    - ast.parse
    - <builtin>.open
    - f.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: f.read
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - mcs
    - name
    - bases
    - inst_dict
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 296
    functionName: pasta.base.annotate_test.SymmetricTestMeta.__new__
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - filename.endswith
    - <builtin>.open
    - unittest.skipIf
    - pasta.base.annotate_test.SymmetricTestMeta.__new__.symmetric_test_generator
    - os.path.join
    - pasta.base.annotate_test._is_syntax_valid
    - type.__new__
    - f.read
    - os.walk
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - filepath
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 298
    functionName: pasta.base.annotate_test.SymmetricTestMeta.__new__.symmetric_test_generator
    functionSourceFile: pasta.base.annotate_test
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 299
    functionName: pasta.base.annotate_test.SymmetricTestMeta.__new__.symmetric_test_generator.test
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - <builtin>.open
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - handle.read
    - pasta.base.codegen.to_str
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - collections.defaultdict
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - six.iteritems
    - <builtin>.list
    - <builtin>.getattr
    - pasta.base.codegen.Printer.visit
    - node.__class__
    - src.splitlines
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - <builtin>.enumerate
    - six.StringIO
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handle.read
    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: os.walk
    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: filename.endswith
    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: type.__new__
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: pasta.base.annotate_test._get_node_identifier
    functionSourceFile: pasta.base.annotate_test
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - mcs
    - name
    - bases
    - inst_dict
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 340
    functionName: pasta.base.annotate_test.PrefixSuffixGoldenTestMeta.__new__
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - filename.endswith
    - <builtin>.open
    - pasta.base.annotate_test.PrefixSuffixGoldenTestMeta.__new__.golden_test_generator
    - unittest.skipIf
    - os.path.join
    - pasta.base.annotate_test._is_syntax_valid
    - type.__new__
    - f.read
    - os.walk
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - input_file
    - golden_file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 342
    functionName: pasta.base.annotate_test.PrefixSuffixGoldenTestMeta.__new__.golden_test_generator
    functionSourceFile: pasta.base.annotate_test
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 343
    functionName: pasta.base.annotate_test.PrefixSuffixGoldenTestMeta.__new__.golden_test_generator.test
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - <builtin>.open
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - <builtin>.str
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - handle.read
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.annotate_test.PrefixSuffixGoldenTestMeta.__new__.golden_test_generator.test.escape
    - pasta.base.formatting.set
    - <builtin>.len
    - os.path.isdir
    - pasta.base.annotate_test._get_node_identifier
    - <builtin>.print
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - _CODING_PATTERN.match
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - <builtin>.type
    - os.path.dirname
    - f.write
    - node.__class__
    - src.splitlines
    - pasta.base.ast_utils.sanitize_source
    - f.read
    - os.makedirs
    - <builtin>.enumerate
    - s.replace
    - six.StringIO
    - <builtin>.super
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - io.open
    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: 1
    functionLinenumber: 350
    functionName: pasta.base.annotate_test.PrefixSuffixGoldenTestMeta.__new__.golden_test_generator.test.escape
    functionSourceFile: pasta.base.annotate_test
    functionUses: 1
    functionsReached:
    - s.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: s.replace
    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: os.path.isdir
    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: os.makedirs
    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: f.write
    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: io.open
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 414
    functionName: pasta.base.annotate_test.ManualEditsTest.test_call_no_pos
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.codegen.to_str
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - collections.defaultdict
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - ast.keyword
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - six.iteritems
    - ast.Num
    - <builtin>.list
    - <builtin>.getattr
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.find_nodes_by_type
    - node.__class__
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - src.splitlines
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - <builtin>.enumerate
    - node.keywords.append
    - pasta.base.codegen.Printer.__init__
    - six.StringIO
    - <builtin>.max
    - <builtin>.super
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.FindNodeVisitor.__init__
    - pasta.base.ast_utils.FindNodeVisitor.visit
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Num
    functionSourceFile: ast
    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: ast.keyword
    functionSourceFile: ast
    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: node.keywords.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 422
    functionName: pasta.base.annotate_test.ManualEditsTest.test_call_illegal_pos
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.codegen.to_str
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - collections.defaultdict
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - ast.keyword
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - six.iteritems
    - ast.Num
    - <builtin>.list
    - <builtin>.getattr
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.find_nodes_by_type
    - node.__class__
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - src.splitlines
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - <builtin>.enumerate
    - node.keywords.append
    - pasta.base.codegen.Printer.__init__
    - six.StringIO
    - <builtin>.max
    - <builtin>.super
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.FindNodeVisitor.__init__
    - pasta.base.ast_utils.FindNodeVisitor.visit
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: pasta.base.annotate_test.FstringTest
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - <builtin>.any
    - <builtin>.issubclass
    - unittest.skipIf
    - pasta.base.test_utils.requires_features
    - <builtin>.hasattr
    - pasta.base.test_utils.supports_feature
    - pasta.base.test_utils.requires_features.<RETURN>
    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: 5
    functionLinenumber: 440
    functionName: pasta.base.annotate_test.FstringTest.test_fstring
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 449
    functionName: pasta.base.annotate_test.FstringTest.test_fstring_escaping
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - node.__class__
    - src.splitlines
    - <builtin>.enumerate
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 2
    functionLinenumber: 461
    functionName: pasta.base.annotate_test.VersionSupportTest.test_all_ast_nodes_supported
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - <builtin>.issubclass
    - <builtin>.set
    - name.startswith
    - unittest.TestCase.assertEqual
    - <builtin>.hasattr
    - inspect.getmembers
    - pasta.base.annotate_test.VersionSupportTest.test_all_ast_nodes_supported.should_ignore_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: inspect.getmembers
    functionSourceFile: inspect
    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: name.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - n
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 466
    functionName: pasta.base.annotate_test.VersionSupportTest.test_all_ast_nodes_supported.should_ignore_type
    functionSourceFile: pasta.base.annotate_test
    functionUses: 1
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 13
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 502
    functionName: pasta.base.annotate_test.OffsetTest.test_indent_levels
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - call_nodes.sort
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - pasta.base.ast_utils.find_nodes_by_type
    - node.__class__
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - src.splitlines
    - <builtin>.enumerate
    - textwrap.dedent
    - six.StringIO
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.FindNodeVisitor.__init__
    - pasta.base.ast_utils.FindNodeVisitor.visit
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pasta.base.annotate_test.OffsetTest.test_indent_levels.<lambda1>
    functionSourceFile: pasta.base.annotate_test
    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: after.splitlines
    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: before.splitlines
    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: difflib.ndiff
    functionSourceFile: difflib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 531
    functionName: pasta.base.annotate_test.suite
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - unittest.TestSuite
    - result.addTests
    - unittest.makeSuite
    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: 542
    functionName: pasta.base.annotate_test.generate_goldens
    functionSourceFile: pasta.base.annotate_test
    functionUses: 0
    functionsReached:
    - unittest.TestSuite
    - <builtin>.setattr
    - result.addTests
    - unittest.makeSuite
    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: pasta.base.ast_utils_test
    functionSourceFile: pasta.base.ast_utils_test
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 29
    functionName: pasta.base.ast_utils_test.UtilsTest.test_sanitize_source
    functionSourceFile: pasta.base.ast_utils_test
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    - _CODING_PATTERN.match
    - unittest.TestCase.assertEqual
    - re.sub
    - src.splitlines
    - src_template.format
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_template.format
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    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: 5
    functionLinenumber: 55
    functionName: pasta.base.ast_utils_test.AlterChildTest.testRemoveChildMethod
    functionSourceFile: pasta.base.ast_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.codegen.to_str
    - re.sub
    - pasta.base.ast_utils.remove_child
    - pasta.base.ast_utils._TreeNormalizer.visit
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - collections.defaultdict
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - six.iteritems
    - <builtin>.list
    - <builtin>.getattr
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - node.__class__
    - src.splitlines
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.__init__
    - six.StringIO
    - <builtin>.max
    - <builtin>.super
    - field_value.remove
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 77
    functionName: pasta.base.ast_utils_test.AlterChildTest.testRemoveAlias
    functionSourceFile: pasta.base.ast_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.codegen.to_str
    - re.sub
    - pasta.base.ast_utils.remove_child
    - pasta.base.ast_utils._TreeNormalizer.visit
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - collections.defaultdict
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - six.iteritems
    - <builtin>.list
    - <builtin>.getattr
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - node.__class__
    - src.splitlines
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.__init__
    - six.StringIO
    - <builtin>.max
    - <builtin>.super
    - field_value.remove
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 86
    functionName: pasta.base.ast_utils_test.AlterChildTest.testRemoveFromBlock
    functionSourceFile: pasta.base.ast_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.codegen.to_str
    - re.sub
    - pasta.base.ast_utils.remove_child
    - pasta.base.ast_utils._TreeNormalizer.visit
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - collections.defaultdict
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - six.iteritems
    - <builtin>.list
    - <builtin>.getattr
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - node.__class__
    - src.splitlines
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.__init__
    - six.StringIO
    - <builtin>.max
    - <builtin>.super
    - field_value.remove
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 103
    functionName: pasta.base.ast_utils_test.AlterChildTest.testReplaceChildInBody
    functionSourceFile: pasta.base.ast_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.codegen.to_str
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - collections.defaultdict
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - six.iteritems
    - <builtin>.list
    - pasta.base.ast_utils.replace_child
    - <builtin>.getattr
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - node.__class__
    - field_val.index
    - src.splitlines
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - <builtin>.enumerate
    - pasta.base.codegen.Printer.__init__
    - six.StringIO
    - <builtin>.max
    - <builtin>.super
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    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: 5
    functionLinenumber: 115
    functionName: pasta.base.ast_utils_test.AlterChildTest.testReplaceChildInvalid
    functionSourceFile: pasta.base.ast_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.token_generator._generate_tokens
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - <builtin>.list
    - pasta.base.ast_utils.replace_child
    - <builtin>.getattr
    - node.__class__
    - field_val.index
    - src.splitlines
    - <builtin>.enumerate
    - six.StringIO
    - unittest.TestCase.assertRaises
    - <builtin>.super
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.TestCase.assertRaises
    functionSourceFile: unittest
    functionUses: 2
    functionsReached: []
    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: 1
    functionLinenumber: -1
    functionName: pasta.base.codegen_test
    functionSourceFile: pasta.base.codegen_test
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - unittest.main
    - os.path.realpath
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - filepath
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: pasta.base.codegen_test._is_syntax_valid
    functionSourceFile: pasta.base.codegen_test
    functionUses: 1
    functionsReached:
    - ast.parse
    - <builtin>.open
    - f.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - mcs
    - name
    - bases
    - inst_dict
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 45
    functionName: pasta.base.codegen_test.AutoFormatTestMeta.__new__
    functionSourceFile: pasta.base.codegen_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - filename.endswith
    - <builtin>.open
    - unittest.skipIf
    - pasta.base.codegen_test.AutoFormatTestMeta.__new__.auto_format_test_generator
    - pasta.base.codegen_test._is_syntax_valid
    - os.path.join
    - type.__new__
    - f.read
    - os.walk
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - input_file
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 47
    functionName: pasta.base.codegen_test.AutoFormatTestMeta.__new__.auto_format_test_generator
    functionSourceFile: pasta.base.codegen_test
    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: 4
    functionLinenumber: 48
    functionName: pasta.base.codegen_test.AutoFormatTestMeta.__new__.auto_format_test_generator.test
    functionSourceFile: pasta.base.codegen_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - pasta.base.codegen.Printer.__init__
    - <builtin>.open
    - <builtin>.getattr
    - <builtin>.max
    - <builtin>.super
    - pasta.base.codegen.to_str
    - handle.read
    - pasta.base.codegen.Printer.visit
    - ast.walk
    - pasta.base.formatting.get
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - six.iteritems
    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: 5
    functionLinenumber: 73
    functionName: pasta.base.codegen_test.AutoFormatTest.test_imports
    functionSourceFile: pasta.base.codegen_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - pasta.base.codegen.Printer.__init__
    - <builtin>.getattr
    - pasta.dump
    - <builtin>.max
    - <builtin>.super
    - pasta.base.codegen.to_str
    - six.with_metaclass.assertEqual
    - pasta.base.codegen.Printer.visit
    - ast.walk
    - pasta.base.formatting.get
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - six.iteritems
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: six.with_metaclass.assertEqual
    functionSourceFile: six
    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: 3
    functionLinenumber: -1
    functionName: pasta.base.codegen_test.AutoFormatTest
    functionSourceFile: pasta.base.codegen_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - <builtin>.any
    - <builtin>.issubclass
    - unittest.skipIf
    - pasta.base.test_utils.requires_features
    - <builtin>.hasattr
    - pasta.base.test_utils.supports_feature
    - pasta.base.test_utils.requires_features.<RETURN>
    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: 5
    functionLinenumber: 79
    functionName: pasta.base.codegen_test.AutoFormatTest.test_exec_node_default
    functionSourceFile: pasta.base.codegen_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - pasta.base.codegen.Printer.__init__
    - <builtin>.getattr
    - pasta.dump
    - <builtin>.max
    - <builtin>.super
    - pasta.base.codegen.to_str
    - six.with_metaclass.assertEqual
    - pasta.base.codegen.Printer.visit
    - ast.walk
    - pasta.base.formatting.get
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - six.iteritems
    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: 5
    functionLinenumber: 85
    functionName: pasta.base.codegen_test.AutoFormatTest.test_bytes
    functionSourceFile: pasta.base.codegen_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - pasta.base.codegen.Printer.__init__
    - <builtin>.getattr
    - pasta.dump
    - <builtin>.max
    - <builtin>.super
    - pasta.base.codegen.to_str
    - six.with_metaclass.assertEqual
    - pasta.base.codegen.Printer.visit
    - ast.walk
    - pasta.base.formatting.get
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - six.iteritems
    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: 5
    functionLinenumber: 90
    functionName: pasta.base.codegen_test.AutoFormatTest.test_default_indentation
    functionSourceFile: pasta.base.codegen_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - source.splitlines
    - pasta.parse
    - pasta.base.token_generator.TokenGenerator.loc_begin
    - pasta.base.annotate.AstAnnotator.__init__
    - pasta.base.annotate.AstAnnotator.visit
    - pasta.base.codegen.to_str
    - re.sub
    - pasta.base.ast_utils._TreeNormalizer.visit
    - pasta.base.formatting.set
    - <builtin>.len
    - _CODING_PATTERN.match
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - pasta.base.token_generator.TokenGenerator.peek
    - six.with_metaclass.assertEqual
    - <builtin>.hasattr
    - pasta.base.token_generator._generate_tokens
    - pasta.base.formatting.get
    - tokenize.generate_tokens
    - pasta.base.ast_utils.parse
    - six.iteritems
    - <builtin>.list
    - <builtin>.getattr
    - pasta.base.codegen.Printer.visit
    - node.__class__
    - t.body.extend
    - src.splitlines
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - <builtin>.enumerate
    - six.StringIO
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - ast.walk
    - pasta.base.token_generator.TokenGenerator.__init__
    - pasta.base.ast_utils.sanitize_source
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: t.body.extend
    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: 1
    functionLinenumber: 99
    functionName: pasta.base.codegen_test.suite
    functionSourceFile: pasta.base.codegen_test
    functionUses: 0
    functionsReached:
    - unittest.TestSuite
    - result.addTests
    - unittest.makeSuite
    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: 1
    functionLinenumber: -1
    functionName: pasta.base.test_utils_test
    functionSourceFile: pasta.base.test_utils_test
    functionUses: 0
    functionsReached:
    - unittest.main
    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: 2
    functionLinenumber: 43
    functionName: pasta.base.test_utils_test.CheckAstEqualityTest.test_empty
    functionSourceFile: pasta.base.test_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - <builtin>.isinstance
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - unittest.TestCase.fail
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - unittest.TestCase.assertIsNotNone
    - unittest.TestCase.assertEqual
    - ast.walk
    - six.moves.zip
    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: 2
    functionLinenumber: 48
    functionName: pasta.base.test_utils_test.CheckAstEqualityTest.test_one_global
    functionSourceFile: pasta.base.test_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - <builtin>.isinstance
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - unittest.TestCase.fail
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - unittest.TestCase.assertIsNotNone
    - unittest.TestCase.assertEqual
    - ast.walk
    - six.moves.zip
    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: 2
    functionLinenumber: 53
    functionName: pasta.base.test_utils_test.CheckAstEqualityTest.test_two_globals
    functionSourceFile: pasta.base.test_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - <builtin>.isinstance
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - unittest.TestCase.fail
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - unittest.TestCase.assertIsNotNone
    - unittest.TestCase.assertEqual
    - ast.walk
    - six.moves.zip
    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: 2
    functionLinenumber: 58
    functionName: pasta.base.test_utils_test.CheckAstEqualityTest.test_different_number_of_nodes
    functionSourceFile: pasta.base.test_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - <builtin>.isinstance
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - unittest.TestCase.assertRaises
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - unittest.TestCase.assertIsNotNone
    - unittest.TestCase.fail
    - unittest.TestCase.assertEqual
    - ast.walk
    - six.moves.zip
    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: 2
    functionLinenumber: 66
    functionName: pasta.base.test_utils_test.CheckAstEqualityTest.test_simple_function_def
    functionSourceFile: pasta.base.test_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - <builtin>.isinstance
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - unittest.TestCase.fail
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - unittest.TestCase.assertIsNotNone
    - unittest.TestCase.assertEqual
    - ast.walk
    - six.moves.zip
    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: 73
    functionName: pasta.base.test_utils_test.suite
    functionSourceFile: pasta.base.test_utils_test
    functionUses: 0
    functionsReached:
    - unittest.TestSuite
    - result.addTests
    - unittest.makeSuite
    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: pasta.augment.inline
    functionSourceFile: pasta.augment.inline
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - t
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 32
    functionName: pasta.augment.inline.inline_name
    functionSourceFile: pasta.augment.inline
    functionUses: 7
    functionsReached:
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - field_val.index
    - copy.deepcopy
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    linkageType: pythonLinkage
    raised:
    - InlineError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy
    functionSourceFile: copy
    functionUses: 22
    functionsReached: []
    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: 1
    functionLinenumber: -1
    functionName: pasta.augment.import_utils_test
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - unittest.main
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 34
    functionName: pasta.augment.import_utils_test.SplitImportTest.test_split_normal_import
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - copy.deepcopy
    - pasta.base.scope.analyze
    - <builtin>.type
    - pasta.augment.import_utils.split_import
    - <builtin>.getattr
    - parent_list.index
    - <builtin>.super
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - pasta.base.scope.ScopeVisitor.visit
    - <builtin>.hasattr
    - node.names.remove
    - parent_list.insert
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - sc
    - node
    - alias_to_remove
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: pasta.augment.import_utils.split_import
    functionSourceFile: pasta.augment.import_utils
    functionUses: 13
    functionsReached:
    - copy.deepcopy
    - <builtin>.getattr
    - parent_list.index
    - <builtin>.hasattr
    - node.names.remove
    - parent_list.insert
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 46
    functionName: pasta.augment.import_utils_test.SplitImportTest.test_split_from_import
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - copy.deepcopy
    - pasta.base.scope.analyze
    - <builtin>.type
    - pasta.augment.import_utils.split_import
    - <builtin>.getattr
    - parent_list.index
    - <builtin>.super
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - pasta.base.scope.ScopeVisitor.visit
    - <builtin>.hasattr
    - node.names.remove
    - parent_list.insert
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 59
    functionName: pasta.augment.import_utils_test.SplitImportTest.test_split_imports_with_alias
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - copy.deepcopy
    - pasta.augment.import_utils.split_import
    - <builtin>.getattr
    - <builtin>.super
    - parent_list.index
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - pasta.base.scope.ScopeVisitor.visit
    - <builtin>.hasattr
    - node.names.remove
    - parent_list.insert
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 71
    functionName: pasta.augment.import_utils_test.SplitImportTest.test_split_imports_multiple
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - copy.deepcopy
    - pasta.augment.import_utils.split_import
    - <builtin>.getattr
    - <builtin>.super
    - parent_list.index
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - pasta.base.scope.ScopeVisitor.visit
    - <builtin>.hasattr
    - node.names.remove
    - parent_list.insert
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 86
    functionName: pasta.augment.import_utils_test.SplitImportTest.test_split_nested_imports
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - parent_list.index
    - pasta.base.scope.ScopeVisitor.__init__
    - <builtin>.len
    - <builtin>.isinstance
    - pasta.augment.import_utils.split_import
    - unittest.TestCase.fail
    - <builtin>.hasattr
    - parent_list.insert
    - traceback.format_exc
    - pasta.base.scope.RootScope.parent
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - unittest.TestCase.assertEqual
    - pasta.base.ast_utils.find_nodes_by_type
    - node.names.remove
    - pasta.base.ast_utils.find_nodes_by_type.<lambda1>
    - template.format
    - copy.deepcopy
    - <builtin>.super
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.base.ast_utils.FindNodeVisitor.__init__
    - pasta.base.ast_utils.FindNodeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_exc
    functionSourceFile: traceback
    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: 5
    functionLinenumber: 122
    functionName: pasta.augment.import_utils_test.GetUnusedImportsTest.test_normal_imports
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - pasta.base.scope.analyze
    - <builtin>.super
    - <builtin>.set
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - pasta.augment.import_utils.get_unused_import_aliases
    - unused_aliases.add
    - logging.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3d61b8c760>
    argNames:
    - tree
    - sc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 137
    functionName: pasta.augment.import_utils.get_unused_import_aliases
    functionSourceFile: pasta.augment.import_utils
    functionUses: 5
    functionsReached:
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - <builtin>.isinstance
    - <builtin>.super
    - <builtin>.set
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - unused_aliases.add
    - logging.warning
    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: 5
    functionLinenumber: 132
    functionName: pasta.augment.import_utils_test.GetUnusedImportsTest.test_import_from
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - pasta.base.scope.analyze
    - <builtin>.super
    - <builtin>.set
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - pasta.augment.import_utils.get_unused_import_aliases
    - unused_aliases.add
    - logging.warning
    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: 5
    functionLinenumber: 144
    functionName: pasta.augment.import_utils_test.GetUnusedImportsTest.test_import_from_alias
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - pasta.base.scope.analyze
    - <builtin>.super
    - <builtin>.set
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - pasta.augment.import_utils.get_unused_import_aliases
    - unused_aliases.add
    - logging.warning
    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: 5
    functionLinenumber: 153
    functionName: pasta.augment.import_utils_test.GetUnusedImportsTest.test_import_asname
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - pasta.base.scope.analyze
    - <builtin>.super
    - <builtin>.set
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - pasta.augment.import_utils.get_unused_import_aliases
    - unused_aliases.add
    - logging.warning
    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: 5
    functionLinenumber: 165
    functionName: pasta.augment.import_utils_test.GetUnusedImportsTest.test_dynamic_import
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertItemsEqual
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - pasta.base.scope.analyze
    - <builtin>.super
    - <builtin>.set
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - pasta.augment.import_utils.get_unused_import_aliases
    - unused_aliases.add
    - logging.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 183
    functionName: pasta.augment.import_utils_test.RemoveImportTest.test_remove_just_alias
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - pasta.base.scope.analyze
    - <builtin>.type
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.augment.import_utils.remove_import_alias_node
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - sc
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 167
    functionName: pasta.augment.import_utils.remove_import_alias_node
    functionSourceFile: pasta.augment.import_utils
    functionUses: 10
    functionsReached:
    - <builtin>.isinstance
    - field_value.remove
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 197
    functionName: pasta.augment.import_utils_test.RemoveImportTest.test_remove_just_alias_import_from
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - pasta.base.scope.analyze
    - <builtin>.type
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.augment.import_utils.remove_import_alias_node
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    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: 4
    functionLinenumber: 211
    functionName: pasta.augment.import_utils_test.RemoveImportTest.test_remove_full_import
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - pasta.base.scope.analyze
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.augment.import_utils.remove_import_alias_node
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    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: 4
    functionLinenumber: 222
    functionName: pasta.augment.import_utils_test.RemoveImportTest.test_remove_full_importfrom
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - <builtin>.isinstance
    - pasta.base.scope.analyze
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.__init__
    - unittest.TestCase.assertEqual
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.augment.import_utils.remove_import_alias_node
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    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: 5
    functionLinenumber: 236
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_normal_import
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3d614a6070>
    - <ast.Constant object at 0x7f3d614a6550>
    - <ast.Constant object at 0x7f3d614a66d0>
    argNames:
    - tree
    - name_to_import
    - asname
    - from_import
    - merge_from_imports
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 30
    functionName: pasta.augment.import_utils.add_import
    functionSourceFile: pasta.augment.import_utils
    functionUses: 15
    functionsReached:
    - ast.Import
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - <builtin>.isinstance
    - <builtin>.next
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - <builtin>.hasattr
    - pasta.base.ast_utils.has_docstring
    - tree.body.insert
    - ast.ImportFrom
    - ast.alias
    - name_to_import.rsplit
    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: 5
    functionLinenumber: 242
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_normal_import_with_asname
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 250
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_from_import
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 256
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_from_import_with_asname
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 264
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_single_name_from_import
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 270
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_single_name_from_import_with_asname
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 278
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_existing_import
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 283
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_existing_import_aliased
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 288
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_existing_import_aliased_with_asname
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 293
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_existing_import_normal_import
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 299
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_existing_import_normal_import_aliased
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 307
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_import_with_conflict
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 314
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_import_with_asname_with_conflict
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 321
    functionName: pasta.augment.import_utils_test.AddImportTest.test_merge_from_import
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    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: 5
    functionLinenumber: 336
    functionName: pasta.augment.import_utils_test.AddImportTest.test_add_import_after_docstring
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.augment.import_utils.add_import.make_safe_alias_node
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.codegen.to_str
    - pasta.base.scope.ScopeVisitor.__init__
    - ast.Import
    - collections.defaultdict
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.import_utils.add_import
    - ast.ImportFrom
    - six.iteritems
    - ast.alias
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.next
    - pasta.dump
    - unittest.TestCase.assertEqual
    - pasta.base.codegen.Printer.visit
    - pasta.base.ast_utils.has_docstring
    - pasta.base.annotate.BaseVisitor.set_default_indent_diff
    - name_to_import.rsplit
    - pasta.base.codegen.Printer.__init__
    - <builtin>.max
    - <builtin>.super
    - existing_from_import.names.append
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - tree.body.insert
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 343
    functionName: pasta.augment.import_utils_test.RemoveDuplicatesTest.test_remove_duplicates
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - <builtin>.isinstance
    - seen_names.add
    - pasta.augment.import_utils.remove_import_alias_node
    - pasta.augment.import_utils.remove_duplicates
    - pasta.base.scope.RootScope.parent
    - <builtin>.list
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.set
    - unittest.TestCase.assertEqual
    - unittest.TestCase.assertTrue
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3d61438df0>
    argNames:
    - tree
    - sc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 182
    functionName: pasta.augment.import_utils.remove_duplicates
    functionSourceFile: pasta.augment.import_utils
    functionUses: 5
    functionsReached:
    - <builtin>.list
    - pasta.base.scope.RootScope.set_parent
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - <builtin>.isinstance
    - seen_names.add
    - <builtin>.super
    - <builtin>.set
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.scope.ScopeVisitor.visit
    - pasta.augment.import_utils.remove_import_alias_node
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.TestCase.assertTrue
    functionSourceFile: unittest
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 11
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 360
    functionName: pasta.augment.import_utils_test.RemoveDuplicatesTest.test_remove_duplicates_multiple
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - <builtin>.isinstance
    - seen_names.add
    - pasta.augment.import_utils.remove_import_alias_node
    - pasta.augment.import_utils.remove_duplicates
    - pasta.base.scope.RootScope.parent
    - <builtin>.list
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.set
    - unittest.TestCase.assertEqual
    - unittest.TestCase.assertTrue
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 380
    functionName: pasta.augment.import_utils_test.RemoveDuplicatesTest.test_remove_duplicates_empty_node
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - <builtin>.isinstance
    - seen_names.add
    - pasta.augment.import_utils.remove_import_alias_node
    - pasta.augment.import_utils.remove_duplicates
    - pasta.base.scope.RootScope.parent
    - <builtin>.list
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.set
    - unittest.TestCase.assertEqual
    - unittest.TestCase.assertTrue
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    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: 5
    functionLinenumber: 394
    functionName: pasta.augment.import_utils_test.RemoveDuplicatesTest.test_remove_duplicates_normal_and_from
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertFalse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - <builtin>.isinstance
    - seen_names.add
    - pasta.augment.import_utils.remove_import_alias_node
    - pasta.augment.import_utils.remove_duplicates
    - pasta.base.scope.RootScope.parent
    - <builtin>.list
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.set
    - unittest.TestCase.assertEqual
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.TestCase.assertFalse
    functionSourceFile: unittest
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 403
    functionName: pasta.augment.import_utils_test.RemoveDuplicatesTest.test_remove_duplicates_aliases
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - <builtin>.len
    - <builtin>.isinstance
    - seen_names.add
    - pasta.augment.import_utils.remove_import_alias_node
    - pasta.augment.import_utils.remove_duplicates
    - pasta.base.scope.RootScope.parent
    - <builtin>.list
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.set
    - unittest.TestCase.assertEqual
    - unittest.TestCase.assertTrue
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 418
    functionName: pasta.augment.import_utils_test.suite
    functionSourceFile: pasta.augment.import_utils_test
    functionUses: 0
    functionsReached:
    - unittest.TestSuite
    - result.addTests
    - unittest.makeSuite
    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: pasta.augment.import_utils
    functionSourceFile: pasta.augment.import_utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - alias_name
    - asname
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: pasta.augment.import_utils.add_import.make_safe_alias_node
    functionSourceFile: pasta.augment.import_utils
    functionUses: 16
    functionsReached:
    - ast.alias
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.alias
    functionSourceFile: ast
    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: name_to_import.rsplit
    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: existing_from_import.names.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.ImportFrom
    functionSourceFile: ast
    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: ast.Import
    functionSourceFile: ast
    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: tree.body.insert
    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: parent_list.index
    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.names.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: parent_list.insert
    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: unused_aliases.add
    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.warning
    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: seen_names.add
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    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: 1
    functionLinenumber: -1
    functionName: pasta.augment.inline_test
    functionSourceFile: pasta.augment.inline_test
    functionUses: 0
    functionsReached:
    - unittest.main
    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: 5
    functionLinenumber: 31
    functionName: pasta.augment.inline_test.InlineTest.test_inline_simple
    functionSourceFile: pasta.augment.inline_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.inline.inline_name
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.type
    - ast.dump
    - unittest.TestCase.assertEqual
    - field_val.index
    - copy.deepcopy
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    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: 5
    functionLinenumber: 37
    functionName: pasta.augment.inline_test.InlineTest.test_inline_multiple_targets
    functionSourceFile: pasta.augment.inline_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.inline.inline_name
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.type
    - ast.dump
    - unittest.TestCase.assertEqual
    - field_val.index
    - copy.deepcopy
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    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: 5
    functionLinenumber: 43
    functionName: pasta.augment.inline_test.InlineTest.test_inline_multiple_reads
    functionSourceFile: pasta.augment.inline_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.inline.inline_name
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - <builtin>.type
    - ast.dump
    - unittest.TestCase.assertEqual
    - field_val.index
    - textwrap.dedent
    - copy.deepcopy
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    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: 5
    functionLinenumber: 57
    functionName: pasta.augment.inline_test.InlineTest.test_inline_non_constant_fails
    functionSourceFile: pasta.augment.inline_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.inline.inline_name
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - field_val.index
    - unittest.TestCase.assertRaisesRegexp
    - textwrap.dedent
    - copy.deepcopy
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.TestCase.assertRaisesRegexp
    functionSourceFile: unittest
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 67
    functionName: pasta.augment.inline_test.InlineTest.test_inline_function_fails
    functionSourceFile: pasta.augment.inline_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.inline.inline_name
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - field_val.index
    - unittest.TestCase.assertRaisesRegexp
    - copy.deepcopy
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    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: 5
    functionLinenumber: 76
    functionName: pasta.augment.inline_test.InlineTest.test_inline_conditional_fails
    functionSourceFile: pasta.augment.inline_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.inline.inline_name
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - field_val.index
    - unittest.TestCase.assertRaisesRegexp
    - copy.deepcopy
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    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: 5
    functionLinenumber: 83
    functionName: pasta.augment.inline_test.InlineTest.test_inline_non_assign_fails
    functionSourceFile: pasta.augment.inline_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.inline.inline_name
    - pasta.base.ast_utils.remove_child
    - ast.iter_fields
    - pasta.base.formatting.set
    - <builtin>.len
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - field_val.index
    - unittest.TestCase.assertRaisesRegexp
    - copy.deepcopy
    - <builtin>.super
    - field_value.remove
    - pasta.base.scope.ScopeVisitor.visit
    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: 91
    functionName: pasta.augment.inline_test.suite
    functionSourceFile: pasta.augment.inline_test
    functionUses: 0
    functionsReached:
    - unittest.TestSuite
    - result.addTests
    - unittest.makeSuite
    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: 1
    functionLinenumber: -1
    functionName: pasta.augment.rename_test
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - unittest.main
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 32
    functionName: pasta.augment.rename_test.RenameTest.test_rename_external_in_import
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertFalse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - parent_list.index
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.rename.rename_external
    - already_changed.append
    - ref_node.s.replace
    - pasta.base.formatting.set
    - <builtin>.len
    - old_name.rsplit
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - pasta.augment.import_utils.split_import
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.rename._rename_name_in_importfrom
    - parent_list.insert
    - six.iteritems
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - pasta.augment.rename._rename_reads
    - unittest.TestCase.assertEqual
    - node.module.split
    - unittest.TestCase.assertTrue
    - node.names.remove
    - new_name.split
    - field_val.index
    - copy.deepcopy
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - new_name.rsplit
    - old_name.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - t
    - old_name
    - new_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 29
    functionName: pasta.augment.rename.rename_external
    functionSourceFile: pasta.augment.rename
    functionUses: 6
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - parent_list.index
    - pasta.base.scope.ScopeVisitor.__init__
    - already_changed.append
    - ref_node.s.replace
    - pasta.base.formatting.set
    - <builtin>.len
    - old_name.rsplit
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - pasta.augment.import_utils.split_import
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.rename._rename_name_in_importfrom
    - parent_list.insert
    - six.iteritems
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - pasta.augment.rename._rename_reads
    - <builtin>.getattr
    - node.module.split
    - node.names.remove
    - new_name.split
    - field_val.index
    - copy.deepcopy
    - <builtin>.super
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - new_name.rsplit
    - old_name.split
    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: 6
    functionLinenumber: 46
    functionName: pasta.augment.rename_test.RenameTest.test_rename_external_in_import_with_asname
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - parent_list.index
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.rename.rename_external
    - already_changed.append
    - ref_node.s.replace
    - pasta.base.formatting.set
    - <builtin>.len
    - old_name.rsplit
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - pasta.augment.import_utils.split_import
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.rename._rename_name_in_importfrom
    - parent_list.insert
    - six.iteritems
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - pasta.augment.rename._rename_reads
    - unittest.TestCase.assertEqual
    - node.module.split
    - unittest.TestCase.assertTrue
    - node.names.remove
    - new_name.split
    - field_val.index
    - copy.deepcopy
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - new_name.rsplit
    - old_name.split
    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: 6
    functionLinenumber: 52
    functionName: pasta.augment.rename_test.RenameTest.test_rename_external_in_import_multiple_aliases
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - parent_list.index
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.rename.rename_external
    - already_changed.append
    - ref_node.s.replace
    - pasta.base.formatting.set
    - <builtin>.len
    - old_name.rsplit
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - pasta.augment.import_utils.split_import
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.rename._rename_name_in_importfrom
    - parent_list.insert
    - six.iteritems
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - pasta.augment.rename._rename_reads
    - unittest.TestCase.assertEqual
    - node.module.split
    - unittest.TestCase.assertTrue
    - node.names.remove
    - new_name.split
    - field_val.index
    - copy.deepcopy
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - new_name.rsplit
    - old_name.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 58
    functionName: pasta.augment.rename_test.RenameTest.test_rename_external_in_importfrom
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - unittest.TestCase.assertFalse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - parent_list.index
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.rename.rename_external
    - already_changed.append
    - ref_node.s.replace
    - pasta.base.formatting.set
    - <builtin>.len
    - old_name.rsplit
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - pasta.augment.import_utils.split_import
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.rename._rename_name_in_importfrom
    - parent_list.insert
    - six.iteritems
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - pasta.augment.rename._rename_reads
    - unittest.TestCase.assertEqual
    - node.module.split
    - unittest.TestCase.assertTrue
    - node.names.remove
    - new_name.split
    - field_val.index
    - copy.deepcopy
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - new_name.rsplit
    - old_name.split
    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: 6
    functionLinenumber: 72
    functionName: pasta.augment.rename_test.RenameTest.test_rename_external_in_importfrom_alias
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - parent_list.index
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.rename.rename_external
    - already_changed.append
    - ref_node.s.replace
    - pasta.base.formatting.set
    - <builtin>.len
    - old_name.rsplit
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - pasta.augment.import_utils.split_import
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.rename._rename_name_in_importfrom
    - parent_list.insert
    - six.iteritems
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - pasta.augment.rename._rename_reads
    - unittest.TestCase.assertEqual
    - node.module.split
    - unittest.TestCase.assertTrue
    - node.names.remove
    - new_name.split
    - field_val.index
    - copy.deepcopy
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - new_name.rsplit
    - old_name.split
    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: 6
    functionLinenumber: 78
    functionName: pasta.augment.rename_test.RenameTest.test_rename_external_in_importfrom_alias_with_asname
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - parent_list.index
    - pasta.base.scope.ScopeVisitor.__init__
    - pasta.augment.rename.rename_external
    - already_changed.append
    - ref_node.s.replace
    - pasta.base.formatting.set
    - <builtin>.len
    - old_name.rsplit
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - pasta.augment.import_utils.split_import
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.augment.rename._rename_name_in_importfrom
    - parent_list.insert
    - six.iteritems
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - pasta.augment.rename._rename_reads
    - unittest.TestCase.assertEqual
    - node.module.split
    - unittest.TestCase.assertTrue
    - node.names.remove
    - new_name.split
    - field_val.index
    - copy.deepcopy
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - new_name.rsplit
    - old_name.split
    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: 5
    functionLinenumber: 84
    functionName: pasta.augment.rename_test.RenameTest.test_rename_reads_name
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - pasta.base.scope.ScopeVisitor.__init__
    - ref_node.s.replace
    - pasta.base.formatting.set
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - pasta.augment.rename._rename_reads
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - unittest.TestCase.assertEqual
    - unittest.TestCase.assertTrue
    - field_val.index
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - old_name.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - sc
    - t
    - old_name
    - new_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 127
    functionName: pasta.augment.rename._rename_reads
    functionSourceFile: pasta.augment.rename
    functionUses: 12
    functionsReached:
    - ast.parse
    - pasta.base.ast_utils.replace_child
    - pasta.base.formatting._formatting_dict
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.setattr
    - ref_node.s.startswith
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - ref_node.s.replace
    - field_val.index
    - pasta.base.formatting.set
    - pasta.base.scope.RootScope.parent
    - old_name.split
    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: 5
    functionLinenumber: 91
    functionName: pasta.augment.rename_test.RenameTest.test_rename_reads_name_as_attribute
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - pasta.base.scope.ScopeVisitor.__init__
    - ref_node.s.replace
    - pasta.base.formatting.set
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - pasta.augment.rename._rename_reads
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - unittest.TestCase.assertEqual
    - field_val.index
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - old_name.split
    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: 5
    functionLinenumber: 98
    functionName: pasta.augment.rename_test.RenameTest.test_rename_reads_attribute
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - pasta.base.scope.ScopeVisitor.__init__
    - ref_node.s.replace
    - pasta.base.formatting.set
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - pasta.augment.rename._rename_reads
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - unittest.TestCase.assertEqual
    - field_val.index
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - old_name.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 105
    functionName: pasta.augment.rename_test.RenameTest.test_rename_reads_noop
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - pasta.base.scope.ScopeVisitor.__init__
    - ref_node.s.replace
    - pasta.base.formatting.set
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - pasta.augment.rename._rename_reads
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - unittest.TestCase.assertEqual
    - field_val.index
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - old_name.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: 3
    functionLinenumber: -1
    functionName: pasta.augment.rename_test.RenameTest
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - <builtin>.any
    - <builtin>.issubclass
    - unittest.skipIf
    - pasta.base.test_utils.requires_features
    - <builtin>.hasattr
    - pasta.base.test_utils.supports_feature
    - pasta.base.test_utils.requires_features.<RETURN>
    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: 5
    functionLinenumber: 114
    functionName: pasta.augment.rename_test.RenameTest.test_rename_reads_type_annotation
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - ast.parse
    - pasta.base.scope.RootScope.__init__
    - pasta.base.scope.analyze
    - unittest.TestCase.assertIsNotNone
    - pasta.base.scope.ScopeVisitor.__init__
    - ref_node.s.replace
    - pasta.base.formatting.set
    - pasta.base.formatting._formatting_dict
    - <builtin>.isinstance
    - unittest.TestCase.fail
    - <builtin>.setattr
    - <builtin>.hasattr
    - pasta.base.formatting.get
    - pasta.base.scope.RootScope.parent
    - pasta.base.ast_utils.replace_child
    - pasta.base.scope.RootScope.set_parent
    - pasta.augment.rename._rename_reads
    - <builtin>.getattr
    - ast.dump
    - <builtin>.type
    - unittest.TestCase.assertEqual
    - field_val.index
    - textwrap.dedent
    - <builtin>.super
    - pasta.base.test_utils.TestCase.checkAstsEqual
    - ref_node.s.startswith
    - pasta.base.scope.ScopeVisitor.visit
    - ast.walk
    - six.moves.zip
    - old_name.split
    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: 128
    functionName: pasta.augment.rename_test.suite
    functionSourceFile: pasta.augment.rename_test
    functionUses: 0
    functionsReached:
    - unittest.TestSuite
    - result.addTests
    - unittest.makeSuite
    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: pasta.augment.rename
    functionSourceFile: pasta.augment.rename
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - sc
    - node
    - old_name
    - new_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 94
    functionName: pasta.augment.rename._rename_name_in_importfrom
    functionSourceFile: pasta.augment.rename
    functionUses: 7
    functionsReached:
    - <builtin>.getattr
    - copy.deepcopy
    - pasta.augment.import_utils.split_import
    - parent_list.index
    - node.module.split
    - <builtin>.hasattr
    - node.names.remove
    - parent_list.insert
    - new_name.split
    - <builtin>.len
    - pasta.base.scope.RootScope.parent
    - old_name.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: old_name.rsplit
    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: new_name.rsplit
    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: already_changed.append
    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: old_name.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_name.split
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ref_node.s.startswith
    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: ref_node.s.replace
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_parse':
  - 41
  - 42
  '...fuzz_parse.TestOneInput':
  - 24
  - 22
  '...fuzz_parse.main':
  - 36
  - 37
  - 38
  pasta:
  - 2
  pasta.augment.errors:
  - 2
  pasta.augment.errors.InvalidAstError:
  - 23
  pasta.augment.import_utils:
  - 2
  pasta.augment.import_utils.add_import:
  - 96
  - 97
  - 101
  - 88
  - 77
  - 78
  - 80
  - 82
  - 84
  - 53
  - 85
  - 87
  - 56
  - 57
  - 59
  - 92
  - 95
  - 31
  pasta.augment.import_utils.add_import.make_safe_alias_node:
  - 67
  pasta.augment.import_utils.get_unused_import_aliases:
  - 161
  - 138
  - 149
  - 150
  - 151
  - 152
  - 153
  - 155
  - 157
  - 158
  pasta.augment.import_utils.remove_duplicates:
  - 195
  - 196
  - 199
  - 200
  - 201
  - 202
  - 203
  - 204
  - 206
  - 212
  - 213
  - 183
  - 216
  pasta.augment.import_utils.remove_import_alias_node:
  - 168
  - 174
  - 175
  - 176
  - 177
  - 179
  pasta.augment.import_utils.split_import:
  - 128
  - 129
  - 131
  - 133
  - 106
  - 118
  - 120
  - 121
  - 122
  pasta.augment.import_utils_test:
  - 2
  - 427
  - 428
  pasta.augment.import_utils_test.AddImportTest.test_add_existing_import:
  - 280
  - 281
  - 279
  pasta.augment.import_utils_test.AddImportTest.test_add_existing_import_aliased:
  - 284
  - 285
  - 286
  pasta.augment.import_utils_test.AddImportTest.test_add_existing_import_aliased_with_asname:
  - 289
  - 290
  - 291
  pasta.augment.import_utils_test.AddImportTest.test_add_existing_import_normal_import:
  - 296
  - 297
  - 294
  - 295
  pasta.augment.import_utils_test.AddImportTest.test_add_existing_import_normal_import_aliased:
  - 300
  - 301
  - 302
  - 303
  - 304
  - 305
  pasta.augment.import_utils_test.AddImportTest.test_add_from_import:
  - 251
  - 252
  - 253
  - 254
  pasta.augment.import_utils_test.AddImportTest.test_add_from_import_with_asname:
  - 257
  - 258
  - 260
  - 262
  pasta.augment.import_utils_test.AddImportTest.test_add_import_after_docstring:
  - 337
  - 338
  - 339
  pasta.augment.import_utils_test.AddImportTest.test_add_import_with_asname_with_conflict:
  - 315
  - 316
  - 317
  - 318
  - 319
  pasta.augment.import_utils_test.AddImportTest.test_add_import_with_conflict:
  - 308
  - 309
  - 310
  - 311
  - 312
  pasta.augment.import_utils_test.AddImportTest.test_add_normal_import:
  - 240
  - 237
  - 238
  - 239
  pasta.augment.import_utils_test.AddImportTest.test_add_normal_import_with_asname:
  - 248
  - 243
  - 244
  - 246
  pasta.augment.import_utils_test.AddImportTest.test_add_single_name_from_import:
  - 265
  - 266
  - 267
  - 268
  pasta.augment.import_utils_test.AddImportTest.test_add_single_name_from_import_with_asname:
  - 272
  - 274
  - 276
  - 271
  pasta.augment.import_utils_test.AddImportTest.test_merge_from_import:
  - 322
  - 325
  - 327
  - 328
  - 331
  - 333
  - 334
  pasta.augment.import_utils_test.GetUnusedImportsTest.test_dynamic_import:
  - 173
  - 174
  pasta.augment.import_utils_test.GetUnusedImportsTest.test_import_asname:
  - 160
  - 161
  pasta.augment.import_utils_test.GetUnusedImportsTest.test_import_from:
  - 140
  - 141
  pasta.augment.import_utils_test.GetUnusedImportsTest.test_import_from_alias:
  - 149
  - 150
  pasta.augment.import_utils_test.GetUnusedImportsTest.test_normal_imports:
  - 128
  - 129
  pasta.augment.import_utils_test.RemoveDuplicatesTest.test_remove_duplicates:
  - 352
  - 354
  - 355
  - 356
  - 357
  - 358
  - 351
  pasta.augment.import_utils_test.RemoveDuplicatesTest.test_remove_duplicates_aliases:
  - 410
  - 411
  - 412
  - 413
  - 414
  - 415
  pasta.augment.import_utils_test.RemoveDuplicatesTest.test_remove_duplicates_empty_node:
  - 385
  - 386
  - 388
  - 389
  - 390
  - 391
  - 392
  pasta.augment.import_utils_test.RemoveDuplicatesTest.test_remove_duplicates_multiple:
  - 366
  - 367
  - 369
  - 370
  - 371
  - 372
  - 373
  - 374
  - 375
  - 376
  - 377
  - 378
  pasta.augment.import_utils_test.RemoveDuplicatesTest.test_remove_duplicates_normal_and_from:
  - 400
  - 401
  - 399
  pasta.augment.import_utils_test.RemoveImportTest.test_remove_full_import:
  - 218
  - 220
  - 213
  - 214
  pasta.augment.import_utils_test.RemoveImportTest.test_remove_full_importfrom:
  - 224
  - 225
  - 229
  - 231
  pasta.augment.import_utils_test.RemoveImportTest.test_remove_just_alias:
  - 192
  - 193
  - 194
  - 195
  - 185
  - 186
  - 190
  pasta.augment.import_utils_test.RemoveImportTest.test_remove_just_alias_import_from:
  - 199
  - 200
  - 204
  - 206
  - 207
  - 208
  - 209
  pasta.augment.import_utils_test.SplitImportTest.test_split_from_import:
  - 48
  - 50
  - 51
  - 53
  - 54
  - 55
  - 56
  - 57
  pasta.augment.import_utils_test.SplitImportTest.test_split_imports_multiple:
  - 73
  - 77
  - 78
  - 79
  - 81
  - 82
  - 83
  - 84
  pasta.augment.import_utils_test.SplitImportTest.test_split_imports_with_alias:
  - 64
  - 66
  - 67
  - 68
  - 69
  - 61
  - 63
  pasta.augment.import_utils_test.SplitImportTest.test_split_nested_imports:
  - 101
  - 103
  - 104
  - 105
  - 106
  - 107
  - 109
  - 110
  - 111
  - 112
  - 114
  - 117
  - 118
  pasta.augment.import_utils_test.SplitImportTest.test_split_normal_import:
  - 36
  - 38
  - 39
  - 41
  - 42
  - 43
  - 44
  pasta.augment.import_utils_test.suite:
  - 419
  - 420
  - 421
  - 422
  - 423
  - 424
  pasta.augment.inline:
  - 2
  pasta.augment.inline.inline_name:
  - 64
  - 33
  - 34
  - 38
  - 42
  - 43
  - 47
  - 51
  - 52
  - 56
  - 57
  - 60
  - 61
  pasta.augment.inline_test:
  - 96
  - 97
  - 2
  pasta.augment.inline_test.InlineTest.test_inline_conditional_fails:
  - 81
  - 78
  - 79
  pasta.augment.inline_test.InlineTest.test_inline_function_fails:
  - 74
  - 69
  - 71
  pasta.augment.inline_test.InlineTest.test_inline_multiple_reads:
  - 44
  - 49
  - 53
  - 54
  - 55
  pasta.augment.inline_test.InlineTest.test_inline_multiple_targets:
  - 40
  - 41
  - 39
  pasta.augment.inline_test.InlineTest.test_inline_non_assign_fails:
  - 88
  - 85
  - 86
  pasta.augment.inline_test.InlineTest.test_inline_non_constant_fails:
  - 65
  - 58
  - 62
  - 63
  pasta.augment.inline_test.InlineTest.test_inline_simple:
  - 33
  - 34
  - 35
  pasta.augment.inline_test.suite:
  - 92
  - 93
  pasta.augment.rename:
  - 2
  pasta.augment.rename._rename_name_in_importfrom:
  - 98
  - 99
  - 100
  - 103
  - 104
  - 108
  - 109
  - 117
  - 118
  - 119
  - 120
  - 122
  - 95
  pasta.augment.rename._rename_reads:
  - 128
  - 139
  - 142
  - 148
  - 149
  - 150
  - 151
  - 153
  - 154
  pasta.augment.rename.rename_external:
  - 30
  - 59
  - 61
  - 67
  - 68
  - 69
  - 73
  - 74
  - 75
  - 76
  - 78
  - 79
  - 82
  - 83
  - 84
  - 85
  - 86
  - 89
  - 90
  pasta.augment.rename_test:
  - 2
  - 133
  - 134
  pasta.augment.rename_test.RenameTest:
  - 113
  pasta.augment.rename_test.RenameTest.test_rename_external_in_import:
  - 34
  - 35
  - 36
  - 38
  - 39
  - 40
  - 42
  - 43
  - 44
  pasta.augment.rename_test.RenameTest.test_rename_external_in_import_multiple_aliases:
  - 56
  - 54
  - 55
  pasta.augment.rename_test.RenameTest.test_rename_external_in_import_with_asname:
  - 48
  - 49
  - 50
  pasta.augment.rename_test.RenameTest.test_rename_external_in_importfrom:
  - 64
  - 65
  - 66
  - 68
  - 69
  - 70
  - 60
  - 61
  - 62
  pasta.augment.rename_test.RenameTest.test_rename_external_in_importfrom_alias:
  - 74
  - 75
  - 76
  pasta.augment.rename_test.RenameTest.test_rename_external_in_importfrom_alias_with_asname:
  - 80
  - 81
  - 82
  pasta.augment.rename_test.RenameTest.test_rename_reads_attribute:
  - 100
  - 101
  - 102
  - 103
  pasta.augment.rename_test.RenameTest.test_rename_reads_name:
  - 88
  - 89
  - 86
  - 87
  pasta.augment.rename_test.RenameTest.test_rename_reads_name_as_attribute:
  - 96
  - 93
  - 94
  - 95
  pasta.augment.rename_test.RenameTest.test_rename_reads_noop:
  - 107
  - 108
  - 109
  - 110
  - 111
  pasta.augment.rename_test.RenameTest.test_rename_reads_type_annotation:
  - 115
  - 119
  - 120
  - 121
  - 122
  pasta.augment.rename_test.suite:
  - 129
  - 130
  pasta.base.annotate:
  - 2
  pasta.base.annotate.AnnotationError:
  - 1279
  pasta.base.annotate.AstAnnotator.__init__:
  - 1285
  - 1286
  pasta.base.annotate.AstAnnotator._optional_token:
  - 1536
  - 1531
  - 1532
  - 1535
  pasta.base.annotate.AstAnnotator.attr:
  - 1472
  - 1505
  - 1504
  - 1506
  - 1508
  - 1509
  - 1510
  - 1512
  - 1513
  pasta.base.annotate.AstAnnotator.block_suffix:
  - 1428
  pasta.base.annotate.AstAnnotator.check_is_continued_try:
  - 1394
  - 1395
  - 1396
  pasta.base.annotate.AstAnnotator.check_is_continued_with:
  - 1400
  - 1399
  pasta.base.annotate.AstAnnotator.check_is_elif:
  - 1389
  - 1390
  - 1391
  pasta.base.annotate.AstAnnotator.check_slice_includes_step:
  - 1403
  - 1407
  pasta.base.annotate.AstAnnotator.dots:
  - 1422
  pasta.base.annotate.AstAnnotator.dots._parse_dots:
  - 1424
  pasta.base.annotate.AstAnnotator.indented:
  - 1319
  - 1320
  - 1322
  - 1323
  - 1325
  - 1331
  - 1332
  - 1301
  - 1302
  - 1334
  - 1304
  - 1307
  - 1335
  - 1310
  - 1311
  pasta.base.annotate.AstAnnotator.one_of_symbols:
  - 1461
  pasta.base.annotate.AstAnnotator.one_of_symbols._one_of_symbols:
  - 1464
  - 1465
  - 1463
  pasta.base.annotate.AstAnnotator.optional_token:
  - 1448
  - 1450
  - 1451
  - 1452
  - 1453
  - 1455
  - 1456
  - 1457
  - 1458
  pasta.base.annotate.AstAnnotator.scope:
  - 1528
  - 1516
  pasta.base.annotate.AstAnnotator.token:
  - 1440
  - 1441
  - 1442
  - 1431
  - 1432
  - 1433
  - 1434
  - 1439
  pasta.base.annotate.AstAnnotator.visit:
  - 1290
  - 1291
  - 1292
  - 1293
  - 1294
  - 1295
  - 1296
  pasta.base.annotate.AstAnnotator.visit_Bytes:
  - 1376
  - 1375
  pasta.base.annotate.AstAnnotator.visit_Ellipsis:
  - 1385
  - 1386
  - 1382
  - 1383
  pasta.base.annotate.AstAnnotator.visit_JoinedStr:
  - 1357
  - 1358
  - 1360
  - 1362
  - 1364
  - 1368
  - 1371
  pasta.base.annotate.AstAnnotator.visit_Num:
  - 1345
  - 1346
  - 1347
  - 1348
  - 1343
  pasta.base.annotate.AstAnnotator.visit_Num.<lambda1>:
  - 1345
  pasta.base.annotate.AstAnnotator.visit_Str:
  - 1352
  - 1353
  pasta.base.annotate.AstAnnotator.ws:
  - 1410
  - 1411
  - 1412
  - 1413
  - 1414
  - 1415
  - 1417
  - 1419
  pasta.base.annotate.BaseVisitor:
  - 114
  pasta.base.annotate.BaseVisitor._comp_exp:
  - 945
  - 946
  - 947
  - 948
  - 949
  - 950
  - 951
  pasta.base.annotate.BaseVisitor.attr:
  - 192
  pasta.base.annotate.BaseVisitor.check_is_continued_with:
  - 350
  pasta.base.annotate.BaseVisitor.check_is_elif:
  - 262
  pasta.base.annotate.BaseVisitor.check_slice_includes_step:
  - 1263
  - 1259
  - 1261
  - 1255
  pasta.base.annotate.BaseVisitor.dots:
  - 206
  pasta.base.annotate.BaseVisitor.indented:
  - 160
  - 150
  - 153
  - 154
  - 158
  - 159
  pasta.base.annotate.BaseVisitor.one_of_symbols:
  - 217
  pasta.base.annotate.BaseVisitor.optional_token:
  - 214
  pasta.base.annotate.BaseVisitor.prefix:
  - 139
  - 140
  pasta.base.annotate.BaseVisitor.prefix.<lambda1>:
  - 140
  pasta.base.annotate.BaseVisitor.scope:
  - 169
  - 180
  - 181
  - 183
  - 184
  - 185
  pasta.base.annotate.BaseVisitor.suffix:
  - 144
  - 147
  pasta.base.annotate.BaseVisitor.suffix._ws:
  - 146
  pasta.base.annotate.BaseVisitor.token:
  - 189
  pasta.base.annotate.BaseVisitor.visit:
  - 136
  - 134
  - 135
  pasta.base.annotate.BaseVisitor.visit_Add:
  - 1027
  pasta.base.annotate.BaseVisitor.visit_And:
  - 1021
  pasta.base.annotate.BaseVisitor.visit_AnnAssign:
  - 588
  - 589
  - 590
  - 591
  - 592
  - 593
  pasta.base.annotate.BaseVisitor.visit_Assert:
  - 564
  - 565
  - 566
  - 567
  - 568
  pasta.base.annotate.BaseVisitor.visit_Assign:
  - 572
  - 573
  - 574
  - 575
  pasta.base.annotate.BaseVisitor.visit_AsyncFor:
  - 319
  pasta.base.annotate.BaseVisitor.visit_AsyncFunctionDef:
  - 454
  pasta.base.annotate.BaseVisitor.visit_AsyncWith:
  - 342
  pasta.base.annotate.BaseVisitor.visit_Attribute:
  - 745
  - 746
  - 747
  pasta.base.annotate.BaseVisitor.visit_AugAssign:
  - 579
  - 580
  - 581
  - 583
  pasta.base.annotate.BaseVisitor.visit_Await:
  - 597
  - 598
  pasta.base.annotate.BaseVisitor.visit_BinOp:
  - 752
  - 753
  - 755
  - 751
  pasta.base.annotate.BaseVisitor.visit_BitAnd:
  - 1054
  pasta.base.annotate.BaseVisitor.visit_BitOr:
  - 1057
  pasta.base.annotate.BaseVisitor.visit_BitXor:
  - 1060
  pasta.base.annotate.BaseVisitor.visit_BoolOp:
  - 759
  - 760
  - 761
  - 762
  - 763
  pasta.base.annotate.BaseVisitor.visit_Break:
  - 602
  pasta.base.annotate.BaseVisitor.visit_Call:
  - 768
  - 770
  - 774
  - 775
  - 777
  - 778
  - 779
  pasta.base.annotate.BaseVisitor.visit_Call_arguments:
  - 800
  - 801
  - 802
  - 803
  - 804
  - 788
  - 789
  - 795
  - 796
  - 798
  - 799
  pasta.base.annotate.BaseVisitor.visit_Call_arguments.arg_location:
  - 784
  - 786
  pasta.base.annotate.BaseVisitor.visit_Call_arguments35:
  - 838
  - 839
  - 841
  - 842
  - 843
  - 844
  - 845
  pasta.base.annotate.BaseVisitor.visit_Call_arguments35.arg_compare:
  - 808
  - 813
  - 815
  - 826
  - 827
  - 829
  pasta.base.annotate.BaseVisitor.visit_Call_arguments35.arg_compare.get_pos:
  - 824
  - 822
  pasta.base.annotate.BaseVisitor.visit_Call_arguments35.arg_compare.is_arg:
  - 810
  pasta.base.annotate.BaseVisitor.visit_ClassDef:
  - 392
  - 393
  - 394
  - 395
  - 397
  - 399
  - 400
  - 402
  - 403
  - 404
  - 405
  - 406
  - 407
  - 408
  - 409
  - 410
  - 411
  - 412
  - 413
  - 415
  - 416
  pasta.base.annotate.BaseVisitor.visit_Compare:
  - 853
  - 854
  - 855
  - 856
  - 857
  - 858
  pasta.base.annotate.BaseVisitor.visit_Constant:
  - 865
  - 866
  - 868
  - 869
  - 870
  - 872
  - 873
  - 874
  - 875
  - 876
  - 879
  - 862
  - 863
  pasta.base.annotate.BaseVisitor.visit_Constant.<lambda1>:
  - 873
  pasta.base.annotate.BaseVisitor.visit_Continue:
  - 606
  pasta.base.annotate.BaseVisitor.visit_Delete:
  - 610
  - 611
  - 612
  - 613
  - 614
  pasta.base.annotate.BaseVisitor.visit_Dict:
  - 896
  - 883
  - 884
  - 885
  - 887
  - 889
  - 890
  - 892
  - 893
  - 894
  - 895
  pasta.base.annotate.BaseVisitor.visit_DictComp:
  - 900
  - 901
  - 902
  - 903
  - 904
  - 905
  - 906
  pasta.base.annotate.BaseVisitor.visit_Div:
  - 1036
  pasta.base.annotate.BaseVisitor.visit_Ellipsis:
  - 1018
  pasta.base.annotate.BaseVisitor.visit_Eq:
  - 1078
  pasta.base.annotate.BaseVisitor.visit_ExceptHandler:
  - 515
  - 516
  - 517
  - 518
  - 519
  - 521
  - 522
  - 523
  - 525
  - 526
  - 528
  - 529
  pasta.base.annotate.BaseVisitor.visit_Exec:
  - 619
  - 620
  - 621
  - 622
  - 623
  - 624
  - 626
  - 627
  - 628
  - 629
  pasta.base.annotate.BaseVisitor.visit_Expr:
  - 633
  pasta.base.annotate.BaseVisitor.visit_ExtSlice:
  - 1232
  - 1233
  - 1234
  - 1235
  - 1236
  pasta.base.annotate.BaseVisitor.visit_FloorDiv:
  - 1063
  pasta.base.annotate.BaseVisitor.visit_For:
  - 298
  - 299
  - 302
  - 303
  - 304
  - 305
  - 306
  - 308
  - 309
  - 311
  - 312
  - 315
  - 316
  pasta.base.annotate.BaseVisitor.visit_FormattedValue:
  - 1267
  - 1268
  - 1269
  - 1270
  - 1272
  - 1273
  - 1275
  pasta.base.annotate.BaseVisitor.visit_FunctionDef:
  - 448
  - 450
  - 451
  - 420
  - 421
  - 423
  - 424
  - 426
  - 427
  - 431
  - 435
  - 436
  - 439
  - 441
  - 443
  - 444
  - 446
  pasta.base.annotate.BaseVisitor.visit_GeneratorExp:
  - 910
  pasta.base.annotate.BaseVisitor.visit_Global:
  - 640
  - 641
  - 642
  - 643
  - 637
  - 639
  pasta.base.annotate.BaseVisitor.visit_Gt:
  - 1090
  pasta.base.annotate.BaseVisitor.visit_GtE:
  - 1093
  pasta.base.annotate.BaseVisitor.visit_If:
  - 257
  - 258
  - 238
  - 239
  - 240
  - 241
  - 244
  - 245
  - 247
  - 248
  - 249
  - 250
  - 251
  - 253
  - 254
  - 255
  pasta.base.annotate.BaseVisitor.visit_IfExp:
  - 914
  - 915
  - 916
  - 917
  - 918
  pasta.base.annotate.BaseVisitor.visit_Import:
  - 647
  - 648
  - 649
  - 650
  - 651
  - 652
  pasta.base.annotate.BaseVisitor.visit_ImportFrom:
  - 673
  - 674
  - 675
  - 676
  - 677
  - 678
  - 679
  - 656
  - 657
  - 660
  - 661
  - 662
  - 663
  - 664
  - 668
  - 671
  pasta.base.annotate.BaseVisitor.visit_In:
  - 1102
  pasta.base.annotate.BaseVisitor.visit_Index:
  - 1228
  pasta.base.annotate.BaseVisitor.visit_Invert:
  - 1066
  pasta.base.annotate.BaseVisitor.visit_Is:
  - 1096
  pasta.base.annotate.BaseVisitor.visit_IsNot:
  - 1099
  pasta.base.annotate.BaseVisitor.visit_LShift:
  - 1048
  pasta.base.annotate.BaseVisitor.visit_Lambda:
  - 922
  - 923
  - 924
  - 925
  pasta.base.annotate.BaseVisitor.visit_List:
  - 929
  - 931
  - 932
  - 933
  - 934
  - 935
  - 936
  - 938
  pasta.base.annotate.BaseVisitor.visit_ListComp:
  - 942
  pasta.base.annotate.BaseVisitor.visit_Lt:
  - 1084
  pasta.base.annotate.BaseVisitor.visit_LtE:
  - 1087
  pasta.base.annotate.BaseVisitor.visit_MatMult:
  - 1039
  pasta.base.annotate.BaseVisitor.visit_Mod:
  - 1042
  pasta.base.annotate.BaseVisitor.visit_Module:
  - 234
  - 228
  - 230
  pasta.base.annotate.BaseVisitor.visit_Module.<lambda1>:
  - 230
  pasta.base.annotate.BaseVisitor.visit_Mult:
  - 1033
  pasta.base.annotate.BaseVisitor.visit_Name:
  - 956
  pasta.base.annotate.BaseVisitor.visit_NameConstant:
  - 960
  pasta.base.annotate.BaseVisitor.visit_NamedExpr:
  - 683
  - 684
  - 685
  pasta.base.annotate.BaseVisitor.visit_Nonlocal:
  - 689
  - 691
  - 692
  - 693
  - 694
  - 695
  pasta.base.annotate.BaseVisitor.visit_Not:
  - 1069
  pasta.base.annotate.BaseVisitor.visit_NotEq:
  - 1081
  pasta.base.annotate.BaseVisitor.visit_NotIn:
  - 1105
  pasta.base.annotate.BaseVisitor.visit_Or:
  - 1024
  pasta.base.annotate.BaseVisitor.visit_Pass:
  - 699
  pasta.base.annotate.BaseVisitor.visit_Pow:
  - 1045
  pasta.base.annotate.BaseVisitor.visit_Print:
  - 704
  - 705
  - 706
  - 707
  - 708
  - 709
  - 710
  - 712
  - 713
  - 714
  - 715
  - 716
  - 717
  - 703
  pasta.base.annotate.BaseVisitor.visit_RShift:
  - 1051
  pasta.base.annotate.BaseVisitor.visit_Raise:
  - 544
  - 545
  - 533
  - 534
  - 536
  - 537
  - 538
  - 539
  - 540
  - 541
  - 542
  - 543
  pasta.base.annotate.BaseVisitor.visit_Raise_3:
  - 548
  - 549
  - 550
  - 551
  - 552
  - 554
  - 556
  pasta.base.annotate.BaseVisitor.visit_Repr:
  - 964
  - 965
  - 966
  pasta.base.annotate.BaseVisitor.visit_Return:
  - 721
  - 722
  - 723
  - 724
  pasta.base.annotate.BaseVisitor.visit_Set:
  - 970
  - 972
  - 973
  - 974
  - 975
  - 977
  - 980
  pasta.base.annotate.BaseVisitor.visit_SetComp:
  - 984
  pasta.base.annotate.BaseVisitor.visit_Slice:
  - 1248
  - 1249
  - 1250
  - 1252
  - 1240
  - 1241
  - 1242
  - 1243
  - 1244
  - 1246
  - 1247
  pasta.base.annotate.BaseVisitor.visit_Starred:
  - 848
  - 849
  pasta.base.annotate.BaseVisitor.visit_Sub:
  - 1030
  pasta.base.annotate.BaseVisitor.visit_Subscript:
  - 988
  - 989
  - 990
  - 991
  pasta.base.annotate.BaseVisitor.visit_Try:
  - 494
  - 496
  - 497
  - 498
  - 499
  - 500
  - 501
  - 504
  - 505
  - 506
  - 507
  - 510
  - 511
  pasta.base.annotate.BaseVisitor.visit_TryExcept:
  - 480
  - 481
  - 482
  - 483
  - 484
  - 485
  - 488
  - 489
  - 477
  - 478
  pasta.base.annotate.BaseVisitor.visit_TryFinally:
  - 460
  - 463
  - 465
  - 467
  - 468
  - 469
  - 472
  - 473
  pasta.base.annotate.BaseVisitor.visit_Tuple:
  - 995
  - 996
  - 997
  - 998
  - 999
  - 1002
  - 1004
  pasta.base.annotate.BaseVisitor.visit_UAdd:
  - 1072
  pasta.base.annotate.BaseVisitor.visit_USub:
  - 1075
  pasta.base.annotate.BaseVisitor.visit_UnaryOp:
  - 1008
  - 1009
  - 1010
  pasta.base.annotate.BaseVisitor.visit_While:
  - 288
  - 290
  - 291
  - 293
  - 294
  - 283
  - 284
  - 285
  - 287
  pasta.base.annotate.BaseVisitor.visit_With:
  - 323
  - 324
  - 325
  - 326
  - 327
  - 328
  - 329
  - 330
  - 332
  - 334
  - 336
  - 338
  - 339
  pasta.base.annotate.BaseVisitor.visit_With_3:
  - 368
  - 369
  - 372
  - 374
  - 375
  - 376
  - 377
  - 379
  - 380
  - 381
  pasta.base.annotate.BaseVisitor.visit_Yield:
  - 728
  - 729
  - 730
  - 731
  pasta.base.annotate.BaseVisitor.visit_YieldFrom:
  - 737
  - 735
  pasta.base.annotate.BaseVisitor.visit_alias:
  - 1120
  - 1121
  - 1122
  - 1113
  - 1114
  - 1117
  pasta.base.annotate.BaseVisitor.visit_arg:
  - 1128
  - 1130
  - 1126
  - 1127
  pasta.base.annotate.BaseVisitor.visit_arguments:
  - 1152
  - 1153
  - 1155
  - 1156
  - 1159
  - 1160
  - 1161
  - 1163
  - 1165
  - 1166
  - 1169
  - 1170
  - 1171
  - 1172
  - 1174
  - 1175
  - 1177
  - 1178
  - 1179
  - 1182
  - 1184
  - 1185
  - 1186
  - 1187
  - 1189
  - 1191
  - 1192
  - 1195
  - 1196
  - 1197
  - 1198
  - 1200
  - 1201
  - 1135
  - 1136
  - 1137
  - 1139
  - 1140
  - 1145
  - 1146
  - 1147
  - 1149
  - 1150
  pasta.base.annotate.BaseVisitor.visit_comprehension:
  - 1205
  - 1206
  - 1209
  - 1210
  - 1211
  - 1212
  - 1213
  - 1214
  - 1215
  pasta.base.annotate.BaseVisitor.visit_keyword:
  - 1219
  - 1220
  - 1222
  - 1223
  - 1224
  pasta.base.annotate.BaseVisitor.visit_withitem:
  - 385
  - 386
  - 387
  - 388
  pasta.base.annotate.BaseVisitor.ws:
  - 195
  pasta.base.annotate.BaseVisitor.ws_oneline:
  - 210
  - 211
  pasta.base.annotate._gen_wrapper:
  - 44
  pasta.base.annotate._gen_wrapper.wrapped:
  - 46
  - 47
  - 48
  - 49
  - 50
  - 51
  pasta.base.annotate._get_indent_diff:
  - 1579
  - 1580
  - 1583
  - 1586
  - 1565
  pasta.base.annotate._get_indent_width:
  - 1544
  - 1541
  - 1542
  pasta.base.annotate._ltrim_indent:
  - 1551
  - 1552
  - 1554
  - 1556
  - 1557
  pasta.base.annotate._noop_context:
  - 58
  pasta.base.annotate.block_statement:
  - 93
  - 94
  pasta.base.annotate.block_statement.wrapped:
  - 96
  - 97
  - 98
  - 99
  - 101
  - 102
  - 103
  - 105
  pasta.base.annotate.expression:
  - 62
  - 63
  pasta.base.annotate.fstring_expression:
  - 67
  - 68
  pasta.base.annotate.module:
  - 88
  - 89
  pasta.base.annotate.space_around:
  - 72
  - 73
  pasta.base.annotate.space_left:
  - 77
  - 78
  pasta.base.annotate.statement:
  - 82
  - 83
  pasta.base.annotate_test:
  - 2
  - 549
  - 550
  - 40
  - 41
  pasta.base.annotate_test.FstringTest:
  - 448
  - 437
  - 439
  pasta.base.annotate_test.FstringTest.test_fstring:
  - 442
  - 444
  - 445
  pasta.base.annotate_test.FstringTest.test_fstring_escaping:
  - 451
  - 453
  - 454
  pasta.base.annotate_test.IndentationTest:
  - 273
  - 254
  - 262
  pasta.base.annotate_test.IndentationTest.test_autoindent:
  - 239
  - 244
  - 249
  - 251
  - 252
  pasta.base.annotate_test.IndentationTest.test_indent_depths:
  - 160
  - 165
  - 166
  - 167
  - 168
  - 169
  - 170
  - 158
  - 159
  pasta.base.annotate_test.IndentationTest.test_indent_extra_newlines:
  - 216
  - 224
  - 221
  pasta.base.annotate_test.IndentationTest.test_indent_extra_newlines_with_comment:
  - 233
  - 227
  - 236
  pasta.base.annotate_test.IndentationTest.test_indent_levels:
  - 133
  - 134
  - 135
  - 138
  - 139
  - 140
  - 141
  - 142
  - 143
  - 144
  - 121
  pasta.base.annotate_test.IndentationTest.test_indent_levels_same_line:
  - 152
  - 148
  - 151
  pasta.base.annotate_test.IndentationTest.test_indent_multiline_string:
  - 179
  - 173
  - 182
  - 181
  pasta.base.annotate_test.IndentationTest.test_indent_multiline_string_with_newline:
  - 185
  - 194
  - 193
  - 191
  pasta.base.annotate_test.IndentationTest.test_mixed_tabs_spaces_indentation:
  - 256
  pasta.base.annotate_test.IndentationTest.test_scope_trailing_comma:
  - 198
  - 199
  - 200
  - 201
  - 204
  - 205
  - 206
  - 207
  - 210
  - 211
  - 212
  - 213
  pasta.base.annotate_test.IndentationTest.test_tab_below_spaces:
  - 264
  - 265
  - 271
  pasta.base.annotate_test.IndentationTest.test_tabs_below_spaces_and_tab:
  - 282
  - 275
  - 276
  pasta.base.annotate_test.ManualEditsTest:
  - 409
  pasta.base.annotate_test.ManualEditsTest.test_call_illegal_pos:
  - 423
  - 425
  - 426
  - 427
  - 433
  pasta.base.annotate_test.ManualEditsTest.test_call_no_pos:
  - 417
  - 418
  - 419
  - 420
  - 415
  pasta.base.annotate_test.OffsetTest.test_indent_levels:
  - 513
  - 514
  - 515
  - 516
  - 517
  - 518
  - 519
  - 520
  - 521
  - 522
  - 523
  - 524
  - 503
  - 508
  - 509
  - 510
  pasta.base.annotate_test.PrefixSuffixGoldenTest:
  - 399
  pasta.base.annotate_test.PrefixSuffixGoldenTestMeta.__new__:
  - 384
  - 385
  - 386
  - 387
  - 388
  - 390
  - 391
  - 393
  - 394
  - 382
  pasta.base.annotate_test.PrefixSuffixGoldenTestMeta.__new__.golden_test_generator.test:
  - 344
  - 345
  - 346
  - 347
  - 348
  - 353
  - 354
  - 355
  - 356
  - 357
  - 358
  - 359
  - 360
  - 363
  - 364
  - 365
  - 366
  - 367
  - 368
  - 372
  - 373
  - 375
  - 377
  pasta.base.annotate_test.PrefixSuffixGoldenTestMeta.__new__.golden_test_generator.test.escape:
  - 351
  pasta.base.annotate_test.PrefixSuffixTest.test_block_suffix:
  - 47
  - 80
  - 81
  - 82
  - 83
  - 84
  - 85
  - 88
  - 89
  - 92
  - 93
  pasta.base.annotate_test.PrefixSuffixTest.test_block_suffix.<lambda1>:
  - 84
  pasta.base.annotate_test.PrefixSuffixTest.test_block_suffix.is_node_for_suffix:
  - 77
  - 78
  pasta.base.annotate_test.PrefixSuffixTest.test_expression_prefix_suffix:
  - 107
  - 108
  - 109
  pasta.base.annotate_test.PrefixSuffixTest.test_module_suffix:
  - 97
  - 98
  pasta.base.annotate_test.PrefixSuffixTest.test_no_block_suffix_for_single_line_statement:
  - 102
  - 103
  pasta.base.annotate_test.PrefixSuffixTest.test_statement_prefix_suffix:
  - 113
  - 114
  - 115
  pasta.base.annotate_test.SymmetricTest:
  - 324
  pasta.base.annotate_test.SymmetricTestMeta.__new__:
  - 320
  - 311
  - 312
  - 313
  - 314
  - 315
  - 316
  - 317
  - 319
  pasta.base.annotate_test.SymmetricTestMeta.__new__.symmetric_test_generator.test:
  - 300
  - 301
  - 302
  - 303
  - 304
  - 305
  - 306
  pasta.base.annotate_test.VersionSupportTest.test_all_ast_nodes_supported:
  - 462
  - 464
  - 497
  - 475
  - 476
  pasta.base.annotate_test.VersionSupportTest.test_all_ast_nodes_supported.should_ignore_type:
  - 467
  - 470
  pasta.base.annotate_test._get_diff:
  - 528
  pasta.base.annotate_test._get_node_identifier:
  - 332
  - 333
  - 334
  pasta.base.annotate_test._is_syntax_valid:
  - 288
  - 286
  pasta.base.annotate_test.generate_goldens:
  - 544
  - 545
  - 543
  pasta.base.annotate_test.suite:
  - 532
  - 533
  - 534
  - 535
  - 536
  - 537
  - 538
  pasta.base.ast_constants:
  - 1
  - 50
  pasta.base.ast_utils:
  - 48
  - 2
  - 28
  pasta.base.ast_utils.FindNodeVisitor.visit:
  - 88
  - 86
  - 87
  pasta.base.ast_utils._TreeNormalizer:
  - 40
  pasta.base.ast_utils._TreeNormalizer.visit:
  - 43
  - 44
  - 45
  pasta.base.ast_utils.find_nodes_by_type:
  - 74
  - 75
  pasta.base.ast_utils.find_nodes_by_type.<lambda1>:
  - 74
  pasta.base.ast_utils.get_last_child:
  - 128
  - 130
  - 131
  - 133
  - 134
  - 136
  - 137
  - 92
  - 110
  - 115
  - 116
  - 117
  - 118
  - 119
  - 121
  - 122
  - 123
  - 124
  - 125
  - 126
  pasta.base.ast_utils.has_docstring:
  - 177
  - 178
  - 179
  pasta.base.ast_utils.parse:
  - 56
  - 57
  - 52
  pasta.base.ast_utils.remove_child:
  - 144
  - 142
  - 143
  pasta.base.ast_utils.replace_child:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 165
  - 167
  - 169
  - 151
  - 159
  pasta.base.ast_utils.sanitize_source:
  - 66
  - 67
  - 68
  - 69
  - 70
  - 62
  pasta.base.ast_utils_test:
  - 2
  pasta.base.ast_utils_test.AlterChildTest.testRemoveAlias:
  - 82
  - 84
  - 79
  pasta.base.ast_utils_test.AlterChildTest.testRemoveChildMethod:
  - 75
  - 67
  - 69
  - 63
  pasta.base.ast_utils_test.AlterChildTest.testRemoveFromBlock:
  - 92
  - 101
  - 95
  pasta.base.ast_utils_test.AlterChildTest.testReplaceChildInBody:
  - 105
  - 107
  - 113
  - 111
  pasta.base.ast_utils_test.AlterChildTest.testReplaceChildInvalid:
  - 122
  - 123
  - 117
  - 118
  pasta.base.ast_utils_test.UtilsTest.test_sanitize_source:
  - 38
  - 39
  - 42
  - 44
  - 45
  - 49
  - 50
  pasta.base.codegen:
  - 2
  pasta.base.codegen.PrintError:
  - 31
  pasta.base.codegen.Printer:
  - 35
  pasta.base.codegen.Printer.__init__:
  - 45
  pasta.base.codegen.Printer.attr:
  - 135
  - 138
  - 139
  - 140
  - 120
  pasta.base.codegen.Printer.check_is_continued_try:
  - 153
  pasta.base.codegen.Printer.check_is_continued_with:
  - 157
  pasta.base.codegen.Printer.check_is_elif:
  - 147
  pasta.base.codegen.Printer.optional_token:
  - 114
  - 115
  pasta.base.codegen.Printer.visit:
  - 49
  - 51
  pasta.base.codegen.Printer.visit_Bytes:
  - 96
  - 97
  - 94
  - 95
  pasta.base.codegen.Printer.visit_Constant:
  - 100
  - 101
  - 104
  - 105
  - 106
  pasta.base.codegen.Printer.visit_JoinedStr:
  - 77
  - 78
  - 80
  - 82
  - 83
  - 84
  - 86
  - 87
  - 89
  - 90
  - 91
  pasta.base.codegen.Printer.visit_Module:
  - 57
  - 58
  - 59
  - 61
  - 62
  pasta.base.codegen.Printer.visit_Num:
  - 65
  - 66
  - 67
  - 68
  pasta.base.codegen.Printer.visit_Str:
  - 72
  - 73
  - 74
  - 71
  pasta.base.codegen.to_str:
  - 161
  - 162
  - 166
  - 167
  - 168
  - 169
  - 171
  - 172
  - 173
  - 174
  - 176
  pasta.base.codegen_test:
  - 2
  - 105
  - 106
  - 30
  - 31
  pasta.base.codegen_test.AutoFormatTest:
  - 84
  - 78
  - 71
  pasta.base.codegen_test.AutoFormatTest.test_bytes:
  - 88
  - 87
  pasta.base.codegen_test.AutoFormatTest.test_default_indentation:
  - 91
  - 93
  - 94
  - 95
  pasta.base.codegen_test.AutoFormatTest.test_exec_node_default:
  - 81
  - 82
  pasta.base.codegen_test.AutoFormatTest.test_imports:
  - 75
  - 76
  pasta.base.codegen_test.AutoFormatTestMeta.__new__:
  - 64
  - 66
  - 67
  - 58
  - 59
  - 60
  - 61
  - 62
  - 63
  pasta.base.codegen_test.AutoFormatTestMeta.__new__.auto_format_test_generator.test:
  - 49
  - 50
  - 51
  - 52
  - 53
  pasta.base.codegen_test._is_syntax_valid:
  - 35
  - 37
  pasta.base.codegen_test.suite:
  - 100
  - 101
  pasta.base.formatting:
  - 2
  pasta.base.formatting._formatting_dict:
  - 49
  pasta.base.formatting.append:
  - 41
  pasta.base.formatting.get:
  - 26
  pasta.base.formatting.prepend:
  - 45
  pasta.base.formatting.set:
  - 32
  - 34
  - 37
  pasta.base.fstring_utils:
  - 2
  pasta.base.fstring_utils.get_formatted_values:
  - 27
  - 28
  pasta.base.fstring_utils.perform_replacements:
  - 37
  - 38
  - 39
  pasta.base.fstring_utils.placeholder:
  - 32
  - 33
  pasta.base.scope:
  - 33
  - 2
  pasta.base.scope.Name.add_reference:
  - 277
  pasta.base.scope.Name.define:
  - 280
  - 281
  pasta.base.scope.Name.lookup_name:
  - 289
  pasta.base.scope.RootScope.__init__:
  - 225
  pasta.base.scope.RootScope.add_external_reference:
  - 232
  - 233
  - 234
  pasta.base.scope.RootScope.get_name_for_node:
  - 250
  pasta.base.scope.RootScope.lookup_scope:
  - 260
  pasta.base.scope.RootScope.parent:
  - 242
  pasta.base.scope.RootScope.set_parent:
  - 246
  pasta.base.scope.Scope.create_scope:
  - 217
  - 218
  pasta.base.scope.Scope.define_name:
  - 187
  - 188
  pasta.base.scope.Scope.forward_define_name:
  - 192
  - 196
  - 197
  pasta.base.scope.Scope.get_root_scope:
  - 211
  pasta.base.scope.Scope.lookup_name:
  - 208
  - 205
  - 206
  pasta.base.scope.Scope.lookup_scope:
  - 214
  pasta.base.scope.ScopeVisitor.__init__:
  - 40
  - 42
  pasta.base.scope.ScopeVisitor.visit:
  - 49
  - 52
  - 45
  - 47
  pasta.base.scope.ScopeVisitor.visit_Attribute:
  - 168
  - 169
  - 170
  - 171
  - 172
  - 173
  pasta.base.scope.ScopeVisitor.visit_ClassDef:
  - 160
  - 162
  - 163
  - 159
  pasta.base.scope.ScopeVisitor.visit_FunctionDef:
  - 120
  - 121
  - 124
  - 126
  - 127
  pasta.base.scope.ScopeVisitor.visit_Import:
  - 67
  - 68
  - 70
  - 72
  - 73
  - 78
  - 80
  - 81
  - 82
  - 87
  - 90
  - 91
  - 93
  - 95
  pasta.base.scope.ScopeVisitor.visit_ImportFrom:
  - 98
  - 99
  - 100
  - 101
  - 102
  - 103
  - 104
  - 105
  - 106
  - 108
  pasta.base.scope.ScopeVisitor.visit_Name:
  - 111
  - 112
  - 113
  - 114
  - 115
  - 116
  pasta.base.scope.ScopeVisitor.visit_arg:
  - 145
  - 148
  - 149
  - 151
  - 152
  - 153
  - 154
  - 156
  pasta.base.scope.ScopeVisitor.visit_arguments:
  - 132
  - 133
  - 136
  - 137
  - 138
  - 139
  - 142
  pasta.base.scope.ScopeVisitor.visit_in_order:
  - 64
  - 56
  - 57
  - 58
  - 60
  - 61
  - 62
  - 63
  pasta.base.scope.analyze:
  - 294
  - 295
  pasta.base.scope_test:
  - 2
  - 526
  - 527
  pasta.base.scope_test.ScopeTest:
  - 354
  - 392
  - 335
  - 375
  - 317
  pasta.base.scope_test.ScopeTest.test_class_methods:
  - 488
  - 492
  - 494
  - 495
  - 496
  - 479
  pasta.base.scope_test.ScopeTest.test_classdef_nested_imports:
  - 194
  - 199
  - 201
  - 202
  - 190
  pasta.base.scope_test.ScopeTest.test_forward_type_reference:
  - 386
  - 388
  - 389
  - 377
  - 381
  pasta.base.scope_test.ScopeTest.test_forward_type_reference2:
  - 394
  - 400
  - 406
  - 408
  - 409
  - 411
  pasta.base.scope_test.ScopeTest.test_functiondef_nested_imports:
  - 175
  - 179
  - 182
  - 184
  - 186
  - 187
  pasta.base.scope_test.ScopeTest.test_if_nested_imports:
  - 129
  - 131
  - 133
  - 134
  - 136
  - 137
  - 138
  - 140
  - 141
  - 143
  - 144
  - 118
  - 126
  pasta.base.scope_test.ScopeTest.test_import_attribute_references:
  - 421
  - 428
  - 430
  - 431
  - 433
  - 435
  - 437
  - 415
  pasta.base.scope_test.ScopeTest.test_import_in_argument_type:
  - 337
  - 342
  - 347
  - 349
  - 350
  - 351
  pasta.base.scope_test.ScopeTest.test_import_in_argument_type_string:
  - 356
  - 361
  - 366
  - 368
  - 369
  - 370
  - 372
  pasta.base.scope_test.ScopeTest.test_import_in_decortator:
  - 300
  - 306
  - 311
  - 313
  - 314
  - 315
  pasta.base.scope_test.ScopeTest.test_import_in_return_type:
  - 324
  - 329
  - 331
  - 332
  - 333
  - 319
  pasta.base.scope_test.ScopeTest.test_import_masked_by_assign:
  - 288
  - 293
  - 295
  - 296
  - 297
  - 281
  pasta.base.scope_test.ScopeTest.test_import_masked_by_function_arg:
  - 264
  - 269
  - 274
  - 276
  - 277
  - 278
  pasta.base.scope_test.ScopeTest.test_import_reads_in_classdef:
  - 257
  - 259
  - 260
  - 261
  - 244
  - 250
  pasta.base.scope_test.ScopeTest.test_import_reads_in_functiondef:
  - 225
  - 231
  - 237
  - 239
  - 240
  - 241
  pasta.base.scope_test.ScopeTest.test_lookup_scope:
  - 441
  - 448
  - 452
  - 453
  - 454
  - 455
  - 456
  - 458
  - 459
  - 460
  - 461
  - 463
  - 464
  - 465
  - 466
  - 468
  - 469
  - 470
  - 471
  - 473
  - 476
  pasta.base.scope_test.ScopeTest.test_multilevel_import_reads:
  - 205
  - 209
  - 214
  - 216
  - 217
  - 219
  - 220
  - 221
  pasta.base.scope_test.ScopeTest.test_top_level_imports:
  - 34
  - 41
  - 54
  - 56
  - 57
  - 60
  - 61
  - 65
  - 66
  - 67
  - 69
  - 70
  - 72
  - 73
  - 75
  - 76
  - 79
  - 80
  - 83
  - 84
  - 87
  - 88
  - 90
  - 91
  - 93
  - 94
  - 96
  - 97
  - 99
  - 100
  - 102
  - 103
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  - 113
  - 114
  - 115
  pasta.base.scope_test.ScopeTest.test_try_nested_imports:
  - 161
  - 163
  - 164
  - 166
  - 167
  - 168
  - 170
  - 171
  - 148
  - 156
  - 159
  pasta.base.scope_test.ScopeTest.test_vararg_kwarg_references_in_function_body:
  - 513
  - 514
  - 515
  - 516
  - 517
  - 501
  - 507
  - 511
  pasta.base.scope_test.suite:
  - 521
  - 522
  pasta.base.test_utils:
  - 2
  - 62
  - 63
  pasta.base.test_utils.TestCase.checkAstsEqual:
  - 31
  - 35
  - 38
  - 39
  - 40
  - 41
  - 42
  - 43
  - 44
  - 46
  - 47
  - 48
  - 49
  - 50
  - 51
  - 52
  - 53
  - 54
  - 56
  - 58
  - 59
  pasta.base.test_utils.requires_features:
  - 67
  - 68
  - 70
  pasta.base.test_utils.supports_feature:
  - 74
  - 75
  - 76
  - 77
  - 78
  - 80
  - 84
  - 85
  - 87
  pasta.base.test_utils_test:
  - 16
  - 80
  - 79
  pasta.base.test_utils_test.CheckAstEqualityTest.test_different_number_of_nodes:
  - 64
  - 61
  - 62
  - 63
  pasta.base.test_utils_test.CheckAstEqualityTest.test_empty:
  - 45
  - 46
  pasta.base.test_utils_test.CheckAstEqualityTest.test_one_global:
  - 50
  - 51
  pasta.base.test_utils_test.CheckAstEqualityTest.test_simple_function_def:
  - 69
  - 70
  pasta.base.test_utils_test.CheckAstEqualityTest.test_two_globals:
  - 56
  - 55
  pasta.base.test_utils_test.suite:
  - 74
  - 75
  pasta.base.token_generator:
  - 16
  - 51
  pasta.base.token_generator.TokenGenerator:
  - 57
  pasta.base.token_generator.TokenGenerator.__init__:
  - 82
  - 84
  - 77
  - 78
  pasta.base.token_generator.TokenGenerator._space_between:
  - 481
  - 484
  - 473
  - 474
  - 476
  pasta.base.token_generator.TokenGenerator.block_whitespace:
  - 193
  - 194
  - 196
  - 172
  - 176
  - 177
  - 182
  - 184
  - 185
  pasta.base.token_generator.TokenGenerator.chars_consumed:
  - 87
  pasta.base.token_generator.TokenGenerator.close_scope:
  - 259
  - 261
  - 262
  - 263
  - 264
  - 266
  - 269
  - 270
  - 276
  - 277
  - 279
  - 280
  - 281
  - 284
  - 290
  - 293
  - 294
  - 295
  - 299
  pasta.base.token_generator.TokenGenerator.dots:
  - 209
  - 211
  - 212
  - 199
  pasta.base.token_generator.TokenGenerator.eat_tokens:
  - 352
  - 347
  - 348
  - 343
  pasta.base.token_generator.TokenGenerator.fstr:
  - 357
  pasta.base.token_generator.TokenGenerator.fstr.fstr_parser:
  - 386
  - 388
  - 394
  - 395
  - 400
  - 401
  - 404
  - 407
  - 410
  - 413
  - 415
  - 416
  - 422
  - 427
  - 430
  - 431
  - 438
  - 442
  - 445
  - 446
  - 449
  - 452
  - 456
  - 457
  - 461
  - 462
  - 465
  - 467
  - 469
  - 368
  - 371
  pasta.base.token_generator.TokenGenerator.fstr.fstr_parser.fstr_eater:
  - 378
  - 379
  - 382
  pasta.base.token_generator.TokenGenerator.hint_closed:
  - 312
  - 314
  pasta.base.token_generator.TokenGenerator.hint_open:
  - 308
  pasta.base.token_generator.TokenGenerator.is_in_scope:
  - 331
  pasta.base.token_generator.TokenGenerator.loc_begin:
  - 90
  - 91
  pasta.base.token_generator.TokenGenerator.loc_end:
  - 96
  - 97
  pasta.base.token_generator.TokenGenerator.next:
  - 120
  - 116
  - 118
  pasta.base.token_generator.TokenGenerator.next_name:
  - 496
  - 497
  - 491
  pasta.base.token_generator.TokenGenerator.next_of_type:
  - 504
  - 502
  - 503
  pasta.base.token_generator.TokenGenerator.open_scope:
  - 224
  - 225
  - 227
  - 229
  - 230
  - 249
  - 235
  - 237
  - 243
  - 245
  - 246
  - 217
  - 250
  - 251
  pasta.base.token_generator.TokenGenerator.peek:
  - 102
  - 103
  pasta.base.token_generator.TokenGenerator.peek_conditional:
  - 112
  - 113
  pasta.base.token_generator.TokenGenerator.peek_non_whitespace:
  - 108
  - 109
  pasta.base.token_generator.TokenGenerator.rewind:
  - 125
  pasta.base.token_generator.TokenGenerator.scope:
  - 320
  - 321
  - 322
  - 323
  - 328
  - 319
  pasta.base.token_generator.TokenGenerator.str:
  - 340
  - 335
  pasta.base.token_generator.TokenGenerator.str.predicate:
  - 338
  pasta.base.token_generator.TokenGenerator.takewhile:
  - 513
  - 514
  - 515
  - 517
  - 518
  - 511
  pasta.base.token_generator.TokenGenerator.whitespace:
  - 129
  - 165
  - 167
  - 143
  - 144
  - 151
  - 152
  - 155
  - 157
  - 158
  pasta.base.token_generator._generate_tokens:
  - 568
  - 569
  - 571
  - 566
  pasta.base.token_generator._scope_helper:
  - 523
  - 538
  - 539
  - 540
  - 541
  - 542
  - 543
  - 544
  - 545
  - 546
  - 547
  - 548
  - 549
  - 550
  - 551
  - 552
  - 553
  - 554
  - 555
  - 556
  - 557
  - 558
  - 559
  - 560
  - 561
  pasta.dump:
  - 30
  pasta.parse:
  - 24
  - 25
  - 23
Fuzzer filename: /src/fuzz_parse.py
Inheritance:
  pasta.augment.errors.InvalidAstError:
  - Exception
  pasta.augment.import_utils_test.AddImportTest: []
  pasta.augment.import_utils_test.GetUnusedImportsTest: []
  pasta.augment.import_utils_test.RemoveDuplicatesTest: []
  pasta.augment.import_utils_test.RemoveImportTest: []
  pasta.augment.import_utils_test.SplitImportTest: []
  pasta.augment.inline.InlineError:
  - Exception
  pasta.augment.inline_test.InlineTest: []
  pasta.augment.rename_test.RenameTest: []
  pasta.base.annotate.AnnotationError:
  - Exception
  pasta.base.annotate.AstAnnotator:
  - BaseVisitor
  pasta.base.annotate.BaseVisitor: []
  pasta.base.annotate_test.FstringTest: []
  pasta.base.annotate_test.IndentationTest: []
  pasta.base.annotate_test.ManualEditsTest: []
  pasta.base.annotate_test.OffsetTest: []
  pasta.base.annotate_test.PrefixSuffixGoldenTest: []
  pasta.base.annotate_test.PrefixSuffixGoldenTestMeta:
  - type
  pasta.base.annotate_test.PrefixSuffixTest: []
  pasta.base.annotate_test.SymmetricTest: []
  pasta.base.annotate_test.SymmetricTestMeta:
  - type
  pasta.base.annotate_test.VersionSupportTest: []
  pasta.base.ast_utils.FindNodeVisitor: []
  pasta.base.ast_utils._TreeNormalizer: []
  pasta.base.ast_utils_test.AlterChildTest: []
  pasta.base.ast_utils_test.UtilsTest: []
  pasta.base.codegen.PrintError:
  - Exception
  pasta.base.codegen.Printer: []
  pasta.base.codegen_test.AutoFormatTest: []
  pasta.base.codegen_test.AutoFormatTestMeta:
  - type
  pasta.base.scope.Name:
  - object
  pasta.base.scope.RootScope:
  - Scope
  pasta.base.scope.Scope:
  - object
  pasta.base.scope.ScopeVisitor: []
  pasta.base.scope_test.ScopeTest: []
  pasta.base.test_utils.TestCase: []
  pasta.base.test_utils_test.CheckAstEqualityTest: []
  pasta.base.token_generator.TokenGenerator:
  - object
ep:
  func_name: TestOneInput
  module: '...fuzz_parse'
