mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-08 14:54:47 +08:00
parentheses parser preparation
This commit is contained in:
@@ -227,7 +227,7 @@ print 'global names:'
|
|||||||
names = cmpl.parser.top.get_names()
|
names = cmpl.parser.top.get_names()
|
||||||
print [n.names for n in names]
|
print [n.names for n in names]
|
||||||
|
|
||||||
print 'global names:'
|
print 'func names:'
|
||||||
names = cmpl.parser.top.subscopes[0].get_names()
|
names = cmpl.parser.top.subscopes[0].get_names()
|
||||||
print [n.names for n in names]
|
print [n.names for n in names]
|
||||||
|
|
||||||
|
|||||||
@@ -531,10 +531,17 @@ class PyFuzzyParser(object):
|
|||||||
name = ''
|
name = ''
|
||||||
names = []
|
names = []
|
||||||
level = 1
|
level = 1
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
|
self._parse_statement()
|
||||||
|
|
||||||
|
while True:
|
||||||
|
break
|
||||||
token_type, tok, indent = self.next()
|
token_type, tok, indent = self.next()
|
||||||
if tok in (')', ',') and level == 1:
|
if tok in (')', ',') and level == 1:
|
||||||
if '=' not in name:
|
if '=' in name:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
name = name.replace(' ', '')
|
name = name.replace(' ', '')
|
||||||
names.append(name.strip())
|
names.append(name.strip())
|
||||||
name = ''
|
name = ''
|
||||||
@@ -641,7 +648,7 @@ class PyFuzzyParser(object):
|
|||||||
assign += tok
|
assign += tok
|
||||||
return "%s" % assign
|
return "%s" % assign
|
||||||
|
|
||||||
def _parse_statement(self, pre_used_token=None):
|
def _parse_statement(self, pre_used_token=None, add_break=None):
|
||||||
"""
|
"""
|
||||||
Parses statements like:
|
Parses statements like:
|
||||||
|
|
||||||
@@ -665,7 +672,10 @@ class PyFuzzyParser(object):
|
|||||||
else:
|
else:
|
||||||
token_type, tok, indent = self.next()
|
token_type, tok, indent = self.next()
|
||||||
|
|
||||||
is_break_token = lambda tok: tok in ['\n', ':', ';']
|
breaks = ['\n', ':', ';']
|
||||||
|
if add_break:
|
||||||
|
breaks += add_break
|
||||||
|
is_break_token = lambda tok: tok in breaks
|
||||||
|
|
||||||
while not is_break_token(tok):
|
while not is_break_token(tok):
|
||||||
set_string = ''
|
set_string = ''
|
||||||
|
|||||||
Reference in New Issue
Block a user