mirror of
https://github.com/davidhalter/parso.git
synced 2026-05-17 22:10:01 +08:00
Add normalizer issues 711-714.
This commit is contained in:
@@ -119,7 +119,7 @@ class PEP8Normalizer(Normalizer):
|
|||||||
self.add_issue(743, message % 'function', leaf)
|
self.add_issue(743, message % 'function', leaf)
|
||||||
else:
|
else:
|
||||||
self.add_issuadd_issue(741, message % 'variables', leaf)
|
self.add_issuadd_issue(741, message % 'variables', leaf)
|
||||||
elif leaf.value == ':':
|
if leaf.value == ':':
|
||||||
from parso.python.tree import Flow, Scope
|
from parso.python.tree import Flow, Scope
|
||||||
if isinstance(leaf.parent, (Flow, Scope)) and leaf.parent.type != 'lambdef':
|
if isinstance(leaf.parent, (Flow, Scope)) and leaf.parent.type != 'lambdef':
|
||||||
next_leaf = leaf.get_next_leaf()
|
next_leaf = leaf.get_next_leaf()
|
||||||
@@ -128,11 +128,33 @@ class PEP8Normalizer(Normalizer):
|
|||||||
self.add_issue(704, 'Multiple statements on one line (def)', next_leaf)
|
self.add_issue(704, 'Multiple statements on one line (def)', next_leaf)
|
||||||
else:
|
else:
|
||||||
self.add_issue(701, 'Multiple statements on one line (colon)', next_leaf)
|
self.add_issue(701, 'Multiple statements on one line (colon)', next_leaf)
|
||||||
elif leaf.value == ';':
|
if leaf.value == ';':
|
||||||
if leaf.get_next_leaf().type in ('newline', 'endmarker'):
|
if leaf.get_next_leaf().type in ('newline', 'endmarker'):
|
||||||
self.add_issue(703, 'Statement ends with a semicolon', leaf)
|
self.add_issue(703, 'Statement ends with a semicolon', leaf)
|
||||||
else:
|
else:
|
||||||
self.add_issue(702, 'Multiple statements on one line (semicolon)', leaf)
|
self.add_issue(702, 'Multiple statements on one line (semicolon)', leaf)
|
||||||
|
if leaf.value in ('==', '!='):
|
||||||
|
comparison = leaf.parent
|
||||||
|
index = comparison.children.index(leaf)
|
||||||
|
left = comparison.children[index - 1]
|
||||||
|
right = comparison.children[index + 1]
|
||||||
|
for node in left, right:
|
||||||
|
if node.type == 'keyword' or node.type == 'name':
|
||||||
|
if node.value == 'None':
|
||||||
|
message = "comparison to None should be 'if cond is None:'"
|
||||||
|
self.add_issue(711, message, leaf)
|
||||||
|
break
|
||||||
|
elif node.value in ('True', 'False'):
|
||||||
|
message = "comparison to False/True should be 'if cond is True:' or 'if cond:'"
|
||||||
|
self.add_issue(712, message, leaf)
|
||||||
|
break
|
||||||
|
if leaf.value in ('in', 'is'):
|
||||||
|
comparison = leaf.parent
|
||||||
|
if comparison.type == 'comparison' and comparison.parent.type == 'not_test':
|
||||||
|
if leaf.value == 'in':
|
||||||
|
self.add_issue(713, "test for membership should be 'not in'", leaf)
|
||||||
|
else:
|
||||||
|
self.add_issue(714, "test for object identity should be 'is not'", leaf)
|
||||||
|
|
||||||
for part in leaf._split_prefix():
|
for part in leaf._split_prefix():
|
||||||
part
|
part
|
||||||
|
|||||||
@@ -0,0 +1,93 @@
|
|||||||
|
#: E711:7
|
||||||
|
if res == None:
|
||||||
|
pass
|
||||||
|
#: E711:7
|
||||||
|
if res != None:
|
||||||
|
pass
|
||||||
|
#: E711:8
|
||||||
|
if None == res:
|
||||||
|
pass
|
||||||
|
#: E711:8
|
||||||
|
if None != res:
|
||||||
|
pass
|
||||||
|
#: E711:10
|
||||||
|
if res[1] == None:
|
||||||
|
pass
|
||||||
|
#: E711:10
|
||||||
|
if res[1] != None:
|
||||||
|
pass
|
||||||
|
#: E711:8
|
||||||
|
if None != res[1]:
|
||||||
|
pass
|
||||||
|
#: E711:8
|
||||||
|
if None == res[1]:
|
||||||
|
pass
|
||||||
|
|
||||||
|
#
|
||||||
|
#: E712:7
|
||||||
|
if res == True:
|
||||||
|
pass
|
||||||
|
#: E712:7
|
||||||
|
if res != False:
|
||||||
|
pass
|
||||||
|
#: E712:8
|
||||||
|
if True != res:
|
||||||
|
pass
|
||||||
|
#: E712:9
|
||||||
|
if False == res:
|
||||||
|
pass
|
||||||
|
#: E712:10
|
||||||
|
if res[1] == True:
|
||||||
|
pass
|
||||||
|
#: E712:10
|
||||||
|
if res[1] != False:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if x is False:
|
||||||
|
pass
|
||||||
|
|
||||||
|
#
|
||||||
|
#: E713:9
|
||||||
|
if not X in Y:
|
||||||
|
pass
|
||||||
|
#: E713:11
|
||||||
|
if not X.B in Y:
|
||||||
|
pass
|
||||||
|
#: E713:9
|
||||||
|
if not X in Y and Z == "zero":
|
||||||
|
pass
|
||||||
|
#: E713:24
|
||||||
|
if X == "zero" or not Y in Z:
|
||||||
|
pass
|
||||||
|
|
||||||
|
#
|
||||||
|
#: E714:9
|
||||||
|
if not X is Y:
|
||||||
|
pass
|
||||||
|
#: E714:11
|
||||||
|
if not X.B is Y:
|
||||||
|
pass
|
||||||
|
|
||||||
|
#
|
||||||
|
# Okay
|
||||||
|
if x not in y:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if not (X in Y or X is Z):
|
||||||
|
pass
|
||||||
|
|
||||||
|
if not (X in Y):
|
||||||
|
pass
|
||||||
|
|
||||||
|
if x is not y:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if TrueElement.get_element(True) == TrueElement.get_element(False):
|
||||||
|
pass
|
||||||
|
|
||||||
|
if (True) == TrueElement or x == TrueElement:
|
||||||
|
pass
|
||||||
|
|
||||||
|
assert (not foo) in bar
|
||||||
|
assert {'x': not foo} in bar
|
||||||
|
assert [42, not foo] in bar
|
||||||
Reference in New Issue
Block a user