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