1
0
forked from VimPlug/jedi

once more: python 3.5 uses atom_expr node in many places where previous python would use power node

This commit is contained in:
Claude
2016-02-09 18:47:48 +01:00
parent 8819b2133a
commit bf5acb4c7a
3 changed files with 5 additions and 4 deletions

View File

@@ -174,7 +174,7 @@ def _check_for_exception_catch(evaluator, jedi_obj, exception, payload=None):
def check_hasattr(node, suite): def check_hasattr(node, suite):
try: try:
assert suite.start_pos <= jedi_obj.start_pos < suite.end_pos assert suite.start_pos <= jedi_obj.start_pos < suite.end_pos
assert node.type == 'power' assert node.type == 'power' or node.type == 'atom_expr'
base = node.children[0] base = node.children[0]
assert base.type == 'name' and base.value == 'hasattr' assert base.type == 'name' and base.value == 'hasattr'
trailer = node.children[1] trailer = node.children[1]

View File

@@ -448,7 +448,7 @@ def check_flow_information(evaluator, flow, search_name, pos):
def _check_isinstance_type(evaluator, element, search_name): def _check_isinstance_type(evaluator, element, search_name):
try: try:
assert element.type == 'power' assert element.type == 'power' or element.type == 'atom_expr'
# this might be removed if we analyze and, etc # this might be removed if we analyze and, etc
assert len(element.children) == 2 assert len(element.children) == 2
first, trailer = element.children first, trailer = element.children

View File

@@ -99,7 +99,8 @@ def _paths_from_assignment(evaluator, expr_stmt):
for assignee, operator in zip(expr_stmt.children[::2], expr_stmt.children[1::2]): for assignee, operator in zip(expr_stmt.children[::2], expr_stmt.children[1::2]):
try: try:
assert operator in ['=', '+='] assert operator in ['=', '+=']
assert tree.is_node(assignee, 'power') and len(assignee.children) > 1 assert tree.is_node(assignee, 'power', 'atom_expr') and \
len(assignee.children) > 1
c = assignee.children c = assignee.children
assert c[0].type == 'name' and c[0].value == 'sys' assert c[0].type == 'name' and c[0].value == 'sys'
trailer = c[1] trailer = c[1]
@@ -152,7 +153,7 @@ def _check_module(evaluator, module):
def get_sys_path_powers(names): def get_sys_path_powers(names):
for name in names: for name in names:
power = name.parent.parent power = name.parent.parent
if tree.is_node(power, 'power'): if tree.is_node(power, 'power', 'atom_expr'):
c = power.children c = power.children
if isinstance(c[0], tree.Name) and c[0].value == 'sys' \ if isinstance(c[0], tree.Name) and c[0].value == 'sys' \
and tree.is_node(c[1], 'trailer'): and tree.is_node(c[1], 'trailer'):