Dave Halter
1df025c39d
Definitions should not be followed in Evaluator.goto.
2014-09-04 11:55:42 +02:00
Dave Halter
e872d9e073
Script.goto_assignments now always needs a call_path. Otherwise it raises a NotFoundError.
...
This change makes Jedi's behavior more consistent.
2014-09-04 00:56:58 +02:00
Dave Halter
fb10199f37
Remove search_name and search_name_part from goto returns.
...
The search_name can be retrieved by checking definitions for it. Definitions should always be names or even better name_parts in case of goto. Therefore we can just get it there.
2014-09-03 23:28:19 +02:00
Dave Halter
bb5ffe9343
CompiledObject.name returns a Name now, not a string. This is more consistent with the Jedi design and doesn't lead to bugs while ducktyping.
2014-09-03 19:43:21 +02:00
Dave Halter
18204c4c19
By trying to get rid of search_name in usages, we had to fix an issue with imports:
...
If used like 'follow(is_goto)', it could return a ModuleWrapper instead of a Name, which is what we actually want.
2014-09-03 19:30:00 +02:00
Dave Halter
59578966cf
Remove code that is not used anymore from Script._goto
2014-09-03 18:02:20 +02:00
Dave Halter
e2ca11435c
Script._goto improvements and documentation.
2014-09-03 17:27:26 +02:00
Dave Halter
ea5b98905e
Make statement_elements_in_statement work with ListComprehensions, Lambdas and 'except foo as' expressions
2014-09-02 14:52:04 +02:00
Dave Halter
f785aa26dd
Additional helper methods, to find all the statement elements that are needed.
2014-09-02 03:26:17 +02:00
Dave Halter
be9e77d7d3
Add a temporary api._names, to make it possible to annotate a full script with types.
2014-09-01 18:10:40 +02:00
Dave Halter
3cf8bfa8e1
Fix a few tests by either fixing the test cases or adding py__bool__ functions to objects that should have such a method.
2014-08-20 17:28:54 +02:00
Dave Halter
8006d6f190
Change implementation of StatementElement.
...
Instead of having both next and execution as attributes, we now only have next, because it's an execution if there's an array.
2014-08-18 22:25:55 +02:00
Dave Halter
7619bf27d1
Simplify goto_definition in case it done on a function.
2014-08-18 15:00:14 +02:00
Dave Halter
00d15da143
refactor search_call_signatures. Now we don't need to set Call.next.parent in a strange way anymore and the whole thing seems to be more logical.
2014-08-18 14:51:38 +02:00
Dave Halter
6b7ce590fa
Simplify get_parent_scope
2014-08-12 01:37:58 +02:00
Dave Halter
33e5a3280a
Remove IsScope in favor of an is_scope function.
...
This function was partially implemented anway. Now we've also added a function called 'get_parent_scope', to make it easy to get a scope of a Call, Statement, whatever.
2014-08-12 01:19:19 +02:00
Dave Halter
526af7ccbe
settings should not be affected by exceptions.
2014-08-11 17:27:40 +02:00
Dave Halter
2c0a46fafe
Fix an issue with CallSignatures:
...
If used in a longer statement, it could happen that parts of the statement was still evaluated, but the call signature is only valid at the cursor.
2014-07-31 17:47:56 +02:00
Dave Halter
d09279e0ad
change tests that provided wrong instance information
2014-07-31 15:16:24 +02:00
Dave Halter
50fa3a732d
actually start checking if the integration tests are instances on both sides of the comparison. This wasnt necessary for just autocompletion, but it's way more important now.
2014-07-31 14:58:32 +02:00
Dave Halter
7bd76022bf
get rid of the whole is_callable stuff, because now we can just check for hasattr(obj, 'py__call__')
2014-07-30 15:50:47 +02:00
Dave Halter
ee1c5041ed
use the new implementation of splitlines all over the code, fixes #424
2014-07-18 16:59:22 +02:00
Dave Halter
ffaacbefbc
new splitlines implementation to get rid of the ugly splitlines we now have as well as (partially) the issue with form feeds
2014-07-18 16:52:55 +02:00
Dave Halter
08f7a439c0
merged dev and linter
2014-07-17 23:17:49 +02:00
Dave Halter
a7e4d81692
also add scope_names_generator to the iterable module classes, as well as cleaning up some old scope_names_generator stuff
2014-07-02 18:58:31 +02:00
Dave Halter
13ada3154b
replace get_defined_names with scope_names_generator in a lot of places (the cleanup still needs to be done, though).
2014-07-02 16:12:49 +02:00
Dave Halter
23008d8a19
use scope_names_generator in completion api as well. hopefully the last __file__ related issue :)
2014-07-02 13:12:37 +02:00
Dave Halter
789d48b7e3
fix issues introduced with defined_names.
2014-07-02 11:01:42 +02:00
Dave Halter
3865c1a844
Fixed __file__ issues by always applying a ModuleWrapper in the global scope lookup.
2014-07-01 15:35:21 +02:00
Dave Halter
8d63e6f6e7
somehow temporary solution to enable completion of __file__
2014-07-01 15:10:32 +02:00
Dave Halter
b7bf8d515c
support for completions on return statements.
2014-06-22 12:05:22 +02:00
Fredrik Bergroth
d3ac1e902e
Always cast pr to er in _follow_statements_imports
2014-06-11 23:49:36 +02:00
Dave Halter
0b926ca454
get rid of is_list_comp boolean in favor of a direct check of ListComprehensionFlow
2014-06-09 20:19:31 +02:00
Dave Halter
40c2d64bac
use the internal api to get a param name instead of doing crazy stuff
2014-05-27 15:04:22 +02:00
Dave Halter
08b48807e9
a (temporary) solution for the __file__ access issues in imported modules, see #408
2014-05-19 01:01:56 +02:00
Jorgen Schaefer
1cbbc00089
Fix names in docstrings and DeprecationWarnings.
...
Update a number of docstrings and DeprecationWarnings to refer to
the correct methods or attributes.
2014-05-17 10:21:44 +02:00
Dave Halter
ca2cc65686
improved import positioning errors in static analysis
2014-05-16 17:20:45 +02:00
Dave Halter
d59e21f43c
new way of gathering statements to evaluate for static analysis
2014-05-16 12:23:09 +02:00
Dave Halter
857a9b7621
don't raise attribute NameErrors in all for loop name definitions.
2014-05-15 12:39:00 +02:00
Dave Halter
7632a7d120
sorting the statements for analysis. we need to be able to reproduce results.
2014-05-13 15:56:41 +02:00
Dave Halter
876942d2b8
Small adjustment in Interpreter completion to be compatible with static analysis
2014-05-13 01:39:33 +02:00
Dave Halter
70d85d1b3a
strip_imports -> follow_imports
2014-05-12 11:18:47 +02:00
Dave Halter
e5fe726862
imports cleanup & documentation
2014-05-12 11:15:17 +02:00
Dave Halter
02d1e1aa42
fix static analysis for nested imports
2014-05-12 11:03:27 +02:00
Dave Halter
63155808df
interpreter cleanup, use proper parents
2014-05-12 01:55:48 +02:00
Dave Halter
3f2e737702
statical analysis shouldn't report the exact same error twice
2014-05-11 16:45:22 +02:00
Dave Halter
7b525285bd
static analysis import tests
2014-05-11 15:18:48 +02:00
Dave Halter
c92113a7b1
improved static analysis test base
2014-05-11 13:30:29 +02:00
Dave Halter
c59a8dce28
ImportError detection
2014-05-11 01:54:25 +02:00
Dave Halter
11a445ab42
Merge branch 'dev' into linter
2014-05-10 16:53:41 +02:00