1
0
forked from VimPlug/jedi
Commit Graph

373 Commits

Author SHA1 Message Date
Dave Halter
96ad254fcc Typo. 2017-09-17 02:15:49 +02:00
Dave Halter
8fcb468539 Jedi was able to go crazy and loop endlessly in certain if/self assignment combinations.
Here we limit type inferance per tree scope. I'm still not sure this is the way
to go, but it looks okay for now and we can still go anther way in the future.
Tests are there.

Fixes #929.
2017-09-17 02:04:42 +02:00
Dave Halter
9dd2027299 Way better support for instantiated classes in REPL
Fixes several issues:

- It was not possible to correctly trace where instances were coming from in a
  REPL. This led to them being pretty much ignored.
- Instances were then just treated as classes and not as actual instances in
  MixedObjects. (However since they were ignored in the first place this
  wasn't really an issue).
- Avoiding the repr bug https://github.com/python/cpython/pull/2132/files in
  Jedi is working a bit differently. We're just never accessing Objects
  directly. This should work around 99.99% of the cases were people are using
  this stuff.

Fixes #872
2017-09-15 01:55:18 +02:00
Dave Halter
619acbd2ca Goto didn't work well on imports in __init__.py files.
Fixes #956.
2017-09-11 21:48:37 +02:00
Dave Halter
2f213f89e5 Remove code that was scheduled for removal. 2017-09-09 17:58:06 +02:00
Dave Halter
e85000b798 Replace memoize_default with two nicer functions. 2017-09-05 18:46:16 +02:00
Dave Halter
f69d8f1f29 _get_definition -> get_definition in parso. 2017-09-03 00:50:52 +02:00
Dave Halter
4795ed9071 More refactoring. 2017-09-03 00:39:15 +02:00
Dave Halter
6fb2f73f88 Some more refactorings. 2017-09-03 00:37:20 +02:00
Dave Halter
b64690afb8 Param defaults were not correctly followed when goto was used on them. 2017-09-03 00:22:59 +02:00
Dave Halter
333babea39 get_definition has now a new option. 2017-09-02 23:56:00 +02:00
Dave Halter
747e0aa7c4 Remove a get_definition usage. 2017-09-02 23:23:09 +02:00
Dave Halter
4a04bf78c7 Move some code around. 2017-09-02 22:45:23 +02:00
Dave Halter
9663e343c2 Almost the last switch to _get_definition. 2017-09-02 22:42:01 +02:00
Dave Halter
7e4504efbd Fix ellipsis issues of python2. 2017-07-16 20:07:49 +02:00
Dave Halter
e0485b032e Fix some stuff to make parso work again. 2017-06-02 00:00:31 +02:00
Dave Halter
24cd603fcf Some more parso adaptations. 2017-05-26 09:08:34 -04:00
Dave Halter
3f36824a94 Parso changed load_python_grammar to load_grammar. 2017-05-25 12:41:19 -04:00
Dave Halter
cd8932fbfc Add a latest grammar to the evaluator and use it to avoid importing from parso import parse. 2017-05-24 00:37:36 -04:00
Dave Halter
9bca3d39f5 Actually use parso now instead of Jedi. 2017-05-19 14:20:14 -04:00
Dave Halter
536e62e67d Move is_scope and get_parent_scope out of the parser. 2017-05-07 14:58:53 +02:00
Dave Halter
336b8a46d0 search_ancestor now uses *node_types as a parameter instead of a mix of tuple and simple string like isinstance. 2017-05-02 19:19:07 +02:00
Dave Halter
b4631d6dd4 Progress in removing the docstring/call signature logic from the parser. 2017-04-18 18:48:05 +02:00
Dave Halter
d6d25db9a2 Remove __str__ from name. 2017-04-12 23:06:11 +02:00
Dave Halter
6190a65f23 The Lambda type should be lambdef, not lambda. Use the grammar types. 2017-04-11 18:28:25 +02:00
Dave Halter
685e630c03 Simple refactoring. 2017-04-11 18:20:44 +02:00
Dave Halter
afa6427861 Fix the remaining lambda issue. 2017-04-11 18:18:31 +02:00
Dave Halter
218e715553 Make the some names more concise in the parser tree. 2017-04-10 09:44:08 +02:00
Dave Halter
f855c2bb70 More parser tree simplifications. 2017-04-09 13:24:17 +02:00
Dave Halter
65a6c61dc6 Remove nodes_to_execute in favor of a function in parser_utils. 2017-04-08 12:59:49 +02:00
Dave Halter
3a6d815e9e Another conversion. 2017-04-01 18:12:53 +02:00
Dave Halter
281d6a87a0 Remove a few print statements. 2017-04-01 12:43:57 +02:00
Dave Halter
1fd10d978d Replace a few isinstance calls with the type. 2017-04-01 00:26:22 +02:00
Dave Halter
6a9c2f8795 Start using ContextualizedNode for py__iter__. 2017-03-28 01:34:07 +02:00
Dave Halter
448bfd0992 Move the python parser tree. 2017-03-16 17:20:32 +01:00
Dave Halter
445bf6c419 Get rid of get_parent_until. 2017-02-03 09:59:32 +01:00
Dave Halter
7623b1e350 Removed tree.is_node.
It's not needed anymore, because we have Node/Leaf.type now.
2017-01-23 20:34:30 +01:00
Dave Halter
7300f3e7ef Fix issues with Python 3.6's f strings and underscores in numbers. 2017-01-08 19:39:14 +01:00
Dave Halter
3f09f3a304 Add support for PEP 0526.
This makes it possible to assign variables like

    asdf: typing.List[int] = []
2017-01-08 03:57:35 +01:00
Dave Halter
6a18ddf8cb Fix await issues. At the moment Jedi is just ignoring await statements. 2017-01-07 15:27:32 +01:00
Dave Halter
ae8e43d3c7 Move get_node() to tree_node and replace all the custom classdefs/funcdefs. 2017-01-05 23:43:12 +01:00
Dave Halter
9fb2644f03 Fix an issue with creating contexts. 2017-01-05 18:05:24 +01:00
Dave Halter
cd23499fbe Fix param issues in goto definition. 2017-01-04 08:58:29 +01:00
Dave Halter
24457bfe2e Fix some usage cases of comprehensions. 2017-01-03 02:15:04 +01:00
Dave Halter
306fd5b95b Fix a recursion issue. 2017-01-02 23:57:59 +01:00
Dave Halter
5b9e5f96aa Merge with master. 2017-01-02 13:05:45 +01:00
Dave Halter
b7ae8a746c Simplify recursion issues. 2016-12-18 17:24:20 +01:00
Dave Halter
0daf3e4e9f Remove an unused recursion decorator. 2016-12-17 18:13:53 +01:00
Dave Halter
81e9403aef Delete more unused code. 2016-12-17 18:00:54 +01:00
Dave Halter
57857b6332 Remove the ImportWrapper and replace it with something simpler. 2016-12-17 16:08:37 +01:00