mirror of
https://github.com/davidhalter/parso.git
synced 2025-12-09 22:25:53 +08:00
Remove issue if the previous leaf is an error leaf.
This commit is contained in:
@@ -207,9 +207,9 @@ class Parser(BaseParser):
|
||||
# For every deleted INDENT we have to delete a DEDENT as well.
|
||||
# Otherwise the parser will get into trouble and DEDENT too early.
|
||||
self._omit_dedent_list.append(self._indent_counter)
|
||||
else:
|
||||
error_leaf = tree.PythonErrorLeaf(tok_name[typ].lower(), value, start_pos, prefix)
|
||||
stack[-1][2][1].append(error_leaf)
|
||||
|
||||
error_leaf = tree.PythonErrorLeaf(tok_name[typ].lower(), value, start_pos, prefix)
|
||||
stack[-1][2][1].append(error_leaf)
|
||||
|
||||
def _stack_removal(self, pgen_grammar, stack, arcs, start_index, value, start_pos):
|
||||
failed_stack = []
|
||||
|
||||
@@ -675,9 +675,12 @@ class PEP8Normalizer(Normalizer):
|
||||
|
||||
def add_issue(self, code, message, node):
|
||||
from parso.python.tree import search_ancestor
|
||||
if search_ancestor(node, 'error_node') is not None or \
|
||||
self._previous_leaf is not None and \
|
||||
search_ancestor(self._previous_leaf, 'error_node') is not None:
|
||||
if self._previous_leaf is not None:
|
||||
if search_ancestor(self._previous_leaf, 'error_node') is not None:
|
||||
return
|
||||
if self._previous_leaf.type == 'error_leaf':
|
||||
return
|
||||
if search_ancestor(node, 'error_node') is not None:
|
||||
return
|
||||
super(PEP8Normalizer, self).add_issue(code, message, node)
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ if False:
|
||||
pass
|
||||
print
|
||||
print
|
||||
#: E111:4
|
||||
print
|
||||
mimetype = 'application/x-directory'
|
||||
#: E111:5
|
||||
|
||||
@@ -259,7 +259,7 @@ def test_wrong_whitespace(differ):
|
||||
hello
|
||||
'''
|
||||
differ.initialize(code)
|
||||
differ.parse(code + 'bar\n ', parsers=1, copies=1)
|
||||
differ.parse(code + 'bar\n ', parsers=1)
|
||||
|
||||
code += """abc(\npass\n """
|
||||
differ.parse(code, parsers=1, copies=1, expect_error_leaves=True)
|
||||
@@ -363,7 +363,7 @@ def test_totally_wrong_whitespace(differ):
|
||||
'''
|
||||
|
||||
differ.initialize(code1)
|
||||
differ.parse(code2, parsers=3, copies=1, expect_error_leaves=True)
|
||||
differ.parse(code2, parsers=3, copies=0, expect_error_leaves=True)
|
||||
|
||||
|
||||
def test_node_insertion(differ):
|
||||
|
||||
Reference in New Issue
Block a user