mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-07 14:34:31 +08:00
Fix some more stuff because of newer parso changes.
This commit is contained in:
@@ -7,7 +7,6 @@ from textwrap import dedent
|
|||||||
|
|
||||||
from parso.python.parser import Parser
|
from parso.python.parser import Parser
|
||||||
from parso.python import tree
|
from parso.python import tree
|
||||||
from parso.python.tokenize import tokenize
|
|
||||||
from parso.utils import splitlines
|
from parso.utils import splitlines
|
||||||
|
|
||||||
from jedi._compatibility import u
|
from jedi._compatibility import u
|
||||||
@@ -121,7 +120,9 @@ def get_stack_at_position(grammar, code_lines, module_node, pos):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def tokenize_without_endmarker(code):
|
def tokenize_without_endmarker(code):
|
||||||
tokens = tokenize(code)
|
# TODO This is for now not an official parso API that exists purely
|
||||||
|
# for Jedi.
|
||||||
|
tokens = grammar._tokenize(code)
|
||||||
for token_ in tokens:
|
for token_ in tokens:
|
||||||
if token_.string == safeword:
|
if token_.string == safeword:
|
||||||
raise EndMarkerReached()
|
raise EndMarkerReached()
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ class ContextualizedName(ContextualizedNode):
|
|||||||
node = self._node.parent
|
node = self._node.parent
|
||||||
compare = self._node
|
compare = self._node
|
||||||
while node is not None:
|
while node is not None:
|
||||||
if node.type in ('testlist_comp', 'testlist_star_expr', 'exprlist'):
|
if node.type in ('testlist', 'testlist_comp', 'testlist_star_expr', 'exprlist'):
|
||||||
for i, child in enumerate(node.children):
|
for i, child in enumerate(node.children):
|
||||||
if child == compare:
|
if child == compare:
|
||||||
indexes.insert(0, (int(i / 2), node))
|
indexes.insert(0, (int(i / 2), node))
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ def find_type_from_comment_hint_assign(context, node, name):
|
|||||||
|
|
||||||
def _find_type_from_comment_hint(context, node, varlist, name):
|
def _find_type_from_comment_hint(context, node, varlist, name):
|
||||||
index = None
|
index = None
|
||||||
if varlist.type in ("testlist_star_expr", "exprlist"):
|
if varlist.type in ("testlist_star_expr", "exprlist", "testlist"):
|
||||||
# something like "a, b = 1, 2"
|
# something like "a, b = 1, 2"
|
||||||
index = 0
|
index = 0
|
||||||
for child in varlist.children:
|
for child in varlist.children:
|
||||||
|
|||||||
@@ -404,7 +404,7 @@ def test_func():
|
|||||||
#? str()
|
#? str()
|
||||||
x
|
x
|
||||||
|
|
||||||
|
# python >= 3.3
|
||||||
# -----------------
|
# -----------------
|
||||||
# PEP 3132 Extended Iterable Unpacking (star unpacking)
|
# PEP 3132 Extended Iterable Unpacking (star unpacking)
|
||||||
# -----------------
|
# -----------------
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ def test_hex_values_in_docstring():
|
|||||||
('lambda x, y, z: x + y * z\n', '<lambda>(x, y, z)')
|
('lambda x, y, z: x + y * z\n', '<lambda>(x, y, z)')
|
||||||
])
|
])
|
||||||
def test_get_call_signature(code, call_signature):
|
def test_get_call_signature(code, call_signature):
|
||||||
node = parse(code).children[0]
|
node = parse(code, version='3.5').children[0]
|
||||||
if node.type == 'simple_stmt':
|
if node.type == 'simple_stmt':
|
||||||
node = node.children[0]
|
node = node.children[0]
|
||||||
assert parser_utils.get_call_signature(node) == call_signature
|
assert parser_utils.get_call_signature(node) == call_signature
|
||||||
|
|||||||
Reference in New Issue
Block a user