mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-07 22:44:27 +08:00
Move the python parser tree.
This commit is contained in:
@@ -14,7 +14,7 @@ import warnings
|
||||
import sys
|
||||
|
||||
from jedi.parser.python import load_grammar
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi.parser.diff import FastParser
|
||||
from jedi.parser.utils import save_parser
|
||||
from jedi import debug
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from jedi.parser import token
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi import debug
|
||||
from jedi import settings
|
||||
from jedi.api import classes
|
||||
|
||||
@@ -7,7 +7,7 @@ from collections import namedtuple
|
||||
from jedi._compatibility import u
|
||||
from jedi.evaluate.helpers import evaluate_call_of_leaf
|
||||
from jedi import parser
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi.parser import tokenize
|
||||
from jedi.cache import time_cache
|
||||
from jedi import common
|
||||
|
||||
@@ -4,7 +4,7 @@ import keyword
|
||||
from jedi._compatibility import is_py3, is_py35
|
||||
from jedi import common
|
||||
from jedi.evaluate.filters import AbstractNameDefinition
|
||||
from jedi.parser.tree import Leaf
|
||||
from jedi.parser.python.tree import Leaf
|
||||
try:
|
||||
from pydoc_data import topics as pydoc_topics
|
||||
except ImportError:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from jedi.api import classes
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi.evaluate import imports
|
||||
from jedi.evaluate.filters import TreeNameDefinition
|
||||
from jedi.evaluate.representation import ModuleContext
|
||||
|
||||
@@ -63,7 +63,7 @@ that are not used are just being ignored.
|
||||
import copy
|
||||
import sys
|
||||
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi import debug
|
||||
from jedi.common import unite
|
||||
from jedi.evaluate import representation as er
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Module for statical analysis.
|
||||
"""
|
||||
from jedi import debug
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi.evaluate.compiled import CompiledObject
|
||||
|
||||
from jedi.common import unite
|
||||
|
||||
@@ -10,7 +10,7 @@ from functools import partial
|
||||
from jedi._compatibility import builtins as _builtins, unicode
|
||||
from jedi import debug
|
||||
from jedi.cache import underscore_memoization, memoize_method
|
||||
from jedi.parser.tree import Param, Operator
|
||||
from jedi.parser.python.tree import Param, Operator
|
||||
from jedi.evaluate.helpers import FakeName
|
||||
from jedi.evaluate.filters import AbstractFilter, AbstractNameDefinition, \
|
||||
ContextNameMixin
|
||||
|
||||
@@ -10,7 +10,7 @@ import types
|
||||
|
||||
from jedi._compatibility import is_py3, builtins, unicode, is_py34
|
||||
from jedi.parser.python import parse
|
||||
from jedi.parser import tree as pt
|
||||
from jedi.parser.python import tree as pt
|
||||
|
||||
modules = {}
|
||||
|
||||
@@ -113,7 +113,7 @@ def _faked(module, obj, name):
|
||||
if faked_mod is None:
|
||||
return None, None
|
||||
|
||||
# Having the module as a `parser.tree.Module`, we need to scan
|
||||
# Having the module as a `parser.python.tree.Module`, we need to scan
|
||||
# for methods.
|
||||
if name is None:
|
||||
if inspect.isbuiltin(obj) or inspect.isclass(obj):
|
||||
|
||||
@@ -17,7 +17,7 @@ class MixedObject(object):
|
||||
"""
|
||||
A ``MixedObject`` is used in two ways:
|
||||
|
||||
1. It uses the default logic of ``parser.tree`` objects,
|
||||
1. It uses the default logic of ``parser.python.tree`` objects,
|
||||
2. except for getattr calls. The names dicts are generated in a fashion
|
||||
like ``CompiledObject``.
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ from jedi.common import unite
|
||||
from jedi.evaluate import context
|
||||
from jedi.evaluate.cache import memoize_default
|
||||
from jedi.parser.python import parse
|
||||
from jedi.parser.tree import search_ancestor
|
||||
from jedi.parser.python.tree import search_ancestor
|
||||
from jedi.common import indent_block
|
||||
from jedi.evaluate.iterable import SequenceLiteralContext, FakeSequence
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ It works as follows:
|
||||
- execute these calls and check the input. This work with a ``ParamListener``.
|
||||
"""
|
||||
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi import settings
|
||||
from jedi import debug
|
||||
from jedi.evaluate.cache import memoize_default
|
||||
|
||||
@@ -4,7 +4,7 @@ are needed for name resolution.
|
||||
"""
|
||||
from abc import abstractmethod
|
||||
|
||||
from jedi.parser.tree import search_ancestor
|
||||
from jedi.parser.python.tree import search_ancestor
|
||||
from jedi.evaluate import flow_analysis
|
||||
from jedi.common import to_list, unite
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ Unfortunately every other thing is being ignored (e.g. a == '' would be easy to
|
||||
check for -> a is a string). There's big potential in these checks.
|
||||
"""
|
||||
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi import debug
|
||||
from jedi.common import unite
|
||||
from jedi import settings
|
||||
|
||||
@@ -2,7 +2,7 @@ import copy
|
||||
from itertools import chain
|
||||
from contextlib import contextmanager
|
||||
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
|
||||
|
||||
def deep_ast_copy(obj):
|
||||
|
||||
@@ -21,7 +21,7 @@ from jedi import debug
|
||||
from jedi import settings
|
||||
from jedi.common import source_to_unicode, unite
|
||||
from jedi.parser.diff import FastParser
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi.parser.utils import save_parser, load_parser, parser_cache
|
||||
from jedi.evaluate import sys_path
|
||||
from jedi.evaluate import helpers
|
||||
|
||||
@@ -3,7 +3,7 @@ from collections import defaultdict
|
||||
from jedi._compatibility import zip_longest
|
||||
from jedi import debug
|
||||
from jedi import common
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi.evaluate import iterable
|
||||
from jedi.evaluate import analysis
|
||||
from jedi.evaluate import context
|
||||
|
||||
@@ -22,8 +22,8 @@ x support for type hint comments for functions, `# type: (int, str) -> int`.
|
||||
import itertools
|
||||
|
||||
import os
|
||||
from jedi.parser import ParserSyntaxError, tree
|
||||
from jedi.parser.python import parse
|
||||
from jedi.parser import ParserSyntaxError
|
||||
from jedi.parser.python import parse, tree
|
||||
from jedi.common import unite
|
||||
from jedi.evaluate.cache import memoize_default
|
||||
from jedi.evaluate import compiled
|
||||
|
||||
@@ -4,7 +4,7 @@ Handles operator precedence.
|
||||
import operator as op
|
||||
|
||||
from jedi._compatibility import unicode
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi import debug
|
||||
from jedi.evaluate.compiled import CompiledObject, create, builtin_from_name
|
||||
from jedi.evaluate import analysis
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""
|
||||
Like described in the :mod:`jedi.parser.tree` module,
|
||||
Like described in the :mod:`jedi.parser.python.tree` module,
|
||||
there's a need for an ast like module to represent the states of parsed
|
||||
modules.
|
||||
|
||||
@@ -42,7 +42,7 @@ import re
|
||||
from itertools import chain
|
||||
|
||||
from jedi._compatibility import use_metaclass
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi import debug
|
||||
from jedi import common
|
||||
from jedi.evaluate.cache import memoize_default, CachedMetaClass, NO_DEFAULT
|
||||
|
||||
@@ -4,7 +4,7 @@ import sys
|
||||
from jedi.evaluate.site import addsitedir
|
||||
|
||||
from jedi._compatibility import exec_function, unicode
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi.parser import ParserWithRecovery
|
||||
from jedi.evaluate.cache import memoize_default
|
||||
from jedi import debug
|
||||
|
||||
@@ -13,7 +13,7 @@ from jedi._compatibility import use_metaclass
|
||||
from jedi import settings
|
||||
from jedi.common import splitlines
|
||||
from jedi.parser import ParserWithRecovery
|
||||
from jedi.parser.tree import EndMarker
|
||||
from jedi.parser.python.tree import EndMarker
|
||||
from jedi.parser.utils import parser_cache
|
||||
from jedi import debug
|
||||
from jedi.parser.tokenize import (generate_tokens, NEWLINE, TokenInfo,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import re
|
||||
|
||||
from jedi.parser import tree
|
||||
from jedi.parser.python import tree
|
||||
from jedi.parser import tokenize
|
||||
from jedi.parser.token import (DEDENT, INDENT, ENDMARKER, NEWLINE, NUMBER,
|
||||
STRING, tok_name)
|
||||
|
||||
1631
jedi/parser/python/tree.py
Normal file
1631
jedi/parser/python/tree.py
Normal file
File diff suppressed because it is too large
Load Diff
1632
jedi/parser/tree.py
1632
jedi/parser/tree.py
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,7 @@ import difflib
|
||||
|
||||
from jedi import common
|
||||
from jedi.evaluate import helpers
|
||||
from jedi.parser import tree as pt
|
||||
from jedi.parser.python import tree as pt
|
||||
|
||||
|
||||
class Refactoring(object):
|
||||
|
||||
@@ -6,7 +6,7 @@ import jedi
|
||||
from jedi._compatibility import u, is_py3
|
||||
from jedi.parser import ParserWithRecovery
|
||||
from jedi.parser.python import parse, load_grammar
|
||||
from jedi.parser import tree as pt
|
||||
from jedi.parser.python import tree
|
||||
|
||||
|
||||
def test_user_statement_on_import():
|
||||
@@ -17,7 +17,7 @@ def test_user_statement_on_import():
|
||||
for pos in [(2, 1), (2, 4)]:
|
||||
p = parse(s)
|
||||
stmt = p.get_statement_for_position(pos)
|
||||
assert isinstance(stmt, pt.Import)
|
||||
assert isinstance(stmt, tree.Import)
|
||||
assert [str(n) for n in stmt.get_defined_names()] == ['time']
|
||||
|
||||
|
||||
@@ -41,19 +41,19 @@ class TestCallAndName():
|
||||
|
||||
def test_call_type(self):
|
||||
call = self.get_call('hello')
|
||||
assert isinstance(call, pt.Name)
|
||||
assert isinstance(call, tree.Name)
|
||||
|
||||
def test_literal_type(self):
|
||||
literal = self.get_call('1.0')
|
||||
assert isinstance(literal, pt.Literal)
|
||||
assert isinstance(literal, tree.Literal)
|
||||
assert type(literal.eval()) == float
|
||||
|
||||
literal = self.get_call('1')
|
||||
assert isinstance(literal, pt.Literal)
|
||||
assert isinstance(literal, tree.Literal)
|
||||
assert type(literal.eval()) == int
|
||||
|
||||
literal = self.get_call('"hello"')
|
||||
assert isinstance(literal, pt.Literal)
|
||||
assert isinstance(literal, tree.Literal)
|
||||
assert literal.eval() == 'hello'
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@ def test_param_splitting():
|
||||
|
||||
|
||||
def test_unicode_string():
|
||||
s = pt.String(None, u('bö'), (0, 0))
|
||||
s = tree.String(None, u('bö'), (0, 0))
|
||||
assert repr(s) # Should not raise an Error!
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import pytest
|
||||
|
||||
from jedi._compatibility import u, unicode
|
||||
from jedi.parser.python import parse
|
||||
from jedi.parser import tree as pt
|
||||
from jedi.parser.python import tree
|
||||
|
||||
|
||||
class TestsFunctionAndLambdaParsing(object):
|
||||
@@ -36,12 +36,12 @@ class TestsFunctionAndLambdaParsing(object):
|
||||
return request.keywords['expected']
|
||||
|
||||
def test_name(self, node, expected):
|
||||
assert isinstance(node.name, pt.Name)
|
||||
assert isinstance(node.name, tree.Name)
|
||||
assert unicode(node.name) == u(expected['name'])
|
||||
|
||||
def test_params(self, node, expected):
|
||||
assert isinstance(node.params, list)
|
||||
assert all(isinstance(x, pt.Param) for x in node.params)
|
||||
assert all(isinstance(x, tree.Param) for x in node.params)
|
||||
assert [unicode(x.name) for x in node.params] == [u(x) for x in expected['params']]
|
||||
|
||||
def test_is_generator(self, node, expected):
|
||||
|
||||
Reference in New Issue
Block a user