vint icon indicating copy to clipboard operation
vint copied to clipboard

Crash when parsing "silent redir => foo"

Open EinfachToll opened this issue 7 years ago • 0 comments

Vint crashes when it tries to parse the following line:

silent redir => foo

Without silent, it works, with > instead of => it works, too.

I'm using Vint 0.3.11.

This is the error message:

Traceback (most recent call last):
  File "/usr/local/bin/vint", line 11, in <module>
    load_entry_point('vim-vint==0.3.11', 'console_scripts', 'vint')()
  File "/usr/local/lib/python2.7/dist-packages/vint/__init__.py", line 11, in main
    init_cli()
  File "/usr/local/lib/python2.7/dist-packages/vint/bootstrap.py", line 22, in init_cli
    cli.start()
  File "/usr/local/lib/python2.7/dist-packages/vint/linting/cli.py", line 27, in start
    violations = self._lint_all(env, config_dict)
  File "/usr/local/lib/python2.7/dist-packages/vint/linting/cli.py", line 120, in _lint_all
    violations += linter.lint_file(file_path)
  File "/usr/local/lib/python2.7/dist-packages/vint/linting/linter.py", line 106, in lint_file
    root_ast = self._parser.parse_file(path)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/parsing.py", line 61, in parse_file
    return self.parse(decoded_and_lf_normalized)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/parsing.py", line 38, in parse
    plugin.process(ast)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/plugin/scope_plugin/__init__.py", line 32, in process
    processed_ast = self._ref_tester.process(ast)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/plugin/scope_plugin/reference_reachability_tester.py", line 43, in process
    scope_linker.process(ast)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/plugin/scope_plugin/scope_linker.py", line 312, in process
    attached_ast = id_classifier.attach_identifier_attributes(ast)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/plugin/scope_plugin/identifier_classifier.py", line 122, in attach_identifier_attributes
    ast_with_parsed_redir = redir_assignment_parser.process(ast)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/plugin/scope_plugin/redir_assignment_parser.py", line 33, in process
    traverse(ast, on_enter=enter_handler)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/traversing.py", line 243, in traverse
    node[prop_name])
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/traversing.py", line 9, in for_each
    call_if_def(func, node)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/traversing.py", line 23, in call_if_def
    func(node)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/traversing.py", line 242, in <lambda>
    accessor_func(lambda child_node: traverse(child_node, on_enter, on_leave),
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/traversing.py", line 246, in traverse
    handler(node, on_enter=on_enter, on_leave=on_leave)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/plugin/scope_plugin/redir_assignment_parser.py", line 48, in traverse_redir_content
    traverse(node[REDIR_CONTENT], on_enter=on_enter, on_leave=on_leave)
  File "/usr/local/lib/python2.7/dist-packages/vint/ast/traversing.py", line 227, in traverse
    node_type = NodeType(node['type'])
TypeError: 'NoneType' object has no attribute '__getitem__'

EinfachToll avatar Jan 18 '17 18:01 EinfachToll