Commit Graph
100 Commits
Author SHA1 Message Date
Dave Halter 4f6368e7eb Now ErrorLeaf and ErrorNode are part of the syntax tree. This makes probably sense. The documentation will follow once it's clear how they will shape out. 2016-05-30 00:34:58 +02:00
Dave Halter daa68b66ad Fix a few issues caused by the refactoring. 2016-05-29 19:49:35 +02:00
Dave Halter feef45f4bb Fixed all on_import tests. 2016-05-29 12:08:53 +02:00
Dave Halter 2700c2cca4 Make it possible to import Jedi in Python 2 again. 2016-05-28 20:20:45 +02:00
Dave Halter 4714b464a6 Further import completion improvements. 2016-05-28 02:08:43 +02:00
Dave Halter e4fe2a6d09 Now some other tests are working again. 2016-05-26 00:35:56 +02:00
Dave Halter cbba314286 Progress and actually passing a few tests. 2016-05-26 00:10:54 +02:00
Dave Halter d4a10929e2 Starting to create a way of how context sensitive completions can be made.
This involves playing heavily with the parser pgen2. We use its stack to check for all possible tokens/keywords.
2016-05-23 18:11:44 +02:00
Dave Halter 36a135c347 pgen2: Don't overwrite type 2016-05-21 16:08:12 +02:00
Dave Halter 479b3cfab2 More completion refactoring. Getting the structure for filtering names right. 2016-05-19 12:41:59 +02:00
Dave Halter 5059febed4 Fix an issue with a wrongly refactored name. 2016-05-19 11:49:59 +02:00
Dave Halter 055ff8be23 Readability for completion parts. 2016-05-19 11:33:17 +02:00
Dave Halter 323581e253 Refactor the completion module. 2016-05-19 11:13:42 +02:00
Dave Halter cfa65a22fa Move the completion specific parts to api/completion.py. 2016-05-19 11:08:37 +02:00
Dave Halter 2e33394adb Move the type inference call of the api to inference.py 2016-05-19 10:40:22 +02:00
Dave Halter da6486dc6d Start moving api stuff to the inference module. 2016-05-19 10:25:36 +02:00
Dave Halter a08ad2d53d Further improvements to the interpreter refactoring. 2016-05-19 01:41:06 +02:00
Dave Halter 1bb8d32084 Improve interpreter tests. 2016-05-18 11:56:33 +02:00
Dave Halter d93d31feb8 Make a first test working with mixed objects. 2016-05-18 11:49:50 +02:00
Dave Halter ef314a5c38 Complete writing the full mixed objects module. 2016-05-17 17:44:22 +02:00
Dave Halter 5595fb3e2f Start adding a module that mixes compiled and parser objects. 2016-05-16 13:12:45 +02:00
Dave Halter 33accb3dc6 It should be possible to pass class.__dict__ to Jedi. 2016-05-16 09:52:45 +02:00
Dave Halter e21b3024e0 Writing tests for the upcoming side effect fixes in the interpreter completion. 2016-05-16 09:36:54 +02:00
Dave Halter 818730d6ea Fix descriptions for REPL. 2016-05-15 23:32:16 +02:00
Dave Halter 50f6bb0299 When we are working with CompiledObjects and instances there should never be a case where class values are returned. 2016-05-15 23:06:07 +02:00
Dave Halter cc331d62e0 Get closer to fixing a lot of issues with the completion for repl. 2016-05-15 14:26:22 +02:00
Dave Halter beeffd2dcd Some pgen2 tests were always skipped. 2016-01-07 18:55:10 +01:00
Dave Halter 379eb440cd Fix: the parent setting of deep_ast_copy worked the wrong way. 2016-01-07 18:52:06 +01:00
Dave Halter 06cb82830a builtin_methods calculation of iterable works now with the mro. 2016-01-07 15:41:20 +01:00
Dave Halter 8216ff3b11 Merge branch 'linter' of github.com:davidhalter/jedi into linter 2016-01-07 12:30:45 +01:00
Dave Halter 438ba3e14a Ellipsis is still be valid in 2.6/2.7 (for now). 2016-01-07 11:01:00 +01:00
Dave Halter cb7ee00c75 Forgot to include precedence tests. 2016-01-07 10:43:31 +01:00
Dave Halter 43ad4cfeb8 Ellipsis comparisons are working now. Ellipsis was previously ignored. 2016-01-07 10:41:34 +01:00
Dave Halter 5cc27f632d Improve dict comprehension support. 2016-01-02 21:46:14 +01:00
Dave Halter 0acc5256ea Implement imitate_items(), which helps if you use {}.items(). 2016-01-01 12:43:07 +01:00
Dave Halter 4e93fb344b Dict.values is working now on dict literals. 2015-12-27 23:53:56 +01:00
Dave Halter 48f41c5231 Create a way to register builtin methods the iterable module.
With this it's possible to e.g. register a function Array.dict_values as 'dict.values' with all the proper name resolution stuff.
2015-12-27 23:02:37 +01:00
Dave Halter c0f7e9f820 Fix an issue with predefined_if_name_dict. 2015-12-27 17:30:40 +01:00
Dave Halter 03eaf8455f Dict comprehensions are working partially. 2015-12-27 17:20:49 +01:00
Dave Halter b3f7d0c29a Get Set comprehensions working. 2015-12-27 15:37:27 +01:00
Dave Halter b479e157fc Fix an issue in YieldExpr. 2015-12-26 11:39:37 +01:00
Dave Halter ef3a83a74e Add a link in the finder docstring on how to understand name resolution. 2015-12-26 10:41:26 +01:00
Dave Halter e34c0b336c Add an acknowledgement section in the README. Thank @tkf, @dbrgn and @gvanrossum for their contributions. 2015-12-26 03:32:50 +01:00
Dave Halter cd5701cd41 Clean up licensing a bit. 2015-12-26 03:24:01 +01:00
Dave Halter 2a691eefff Including pgen2 tests from the cpython repo. 2015-12-26 03:15:09 +01:00
Dave Halter 507ddfa4b0 Add the Python 3.5 syntax file. 2015-12-26 03:10:59 +01:00
Dave Halter ab5d0ed72b Starting with Python 3.4 from is not a token that always is a "new" statement. 2015-12-26 02:47:22 +01:00
Dave Halter eb2e41f771 Grammar versioning has now a smoother interface. 2015-12-25 19:30:25 +01:00
Dave Halter a373e34229 The parser without error recovery raises an error now if he's not able to parse something. 2015-12-25 18:53:05 +01:00
Dave Halter 6bad5a924b Making it possible for static analysis tests to be skipped if the python version doesn't match. 2015-12-22 17:37:28 +01:00
Dave Halter 515d096d33 The alternative test runner script shouldn't run on skipped tests. 2015-12-22 11:45:24 +01:00
Dave Halter 936cef97e9 Fix param position lookups. Also forward annotations have the correct resolution path now (starting at the end of the file). 2015-12-22 11:25:32 +01:00
Dave Halter ac294244cf Remove legacy code from FunctionExecution. 2015-12-22 07:37:09 +01:00
Dave Halter 8201fdc5af Merge branch 'pep484' into linter 2015-12-20 23:19:10 +01:00
Dave Halter c15551ccc1 Errortokens should also make the parser fail in the normal parser. 2015-12-20 23:11:52 +01:00
Dave Halter 5791860861 Actual forward reference annotations are working pretty smooth now. 2015-12-20 22:57:41 +01:00
Dave Halter c4906e0e3f Rework the parser so we can use arbitrary start nodes of the syntax.
This also includes a rework for error recovery in the parser. This is now just possible for file_input parsing, which means for full files.
Includes also a refactoring of the tokenizer. No more do we have to add an additional newline, because it now works correctly (removes certain confusion.
2015-12-20 22:25:41 +01:00
Dave Halter 9a93d599da Fix: __module__ doesn't need to be properly defined. 2015-12-20 02:35:23 +01:00
Dave Halter b2a691a69a PEP 484 support also means that we should evaluate comments in the future. 2015-12-19 11:10:05 +01:00
Dave Halter a2905ae078 Implement get_parent_until for Comprehension. 2015-12-18 23:18:21 +01:00
Dave Halter e73b1a683a Tests for python2 print statement. 2015-12-18 17:57:25 +01:00
Dave Halter 23f40d8998 Merge branch 'linter' of https://github.com/reinhrst/jedi into pep484
Conflicts:
	AUTHORS.txt
2015-12-17 23:46:20 +01:00
Dave Halter cc3c538d9d Merge branch 'buildout-unicode-decode-error' of https://github.com/mfussenegger/jedi into linter 2015-12-17 12:50:26 +01:00
Dave Halter 54b1b2be74 Fix: flow analysis crashed when using in combination with different modules. 2015-12-17 12:37:26 +01:00
Dave Halter 3d79d0994e Fix: is_class() on Instance was not implemented. 2015-12-15 16:44:28 +01:00
Dave Halter ab91cfa3b5 Fix: print_stmt was not actually cared for in Python 2.7, #662. 2015-12-15 13:08:37 +01:00
Dave Halter 7141158484 Merge master into linter. 2015-12-15 12:28:38 +01:00
Dave Halter c85426ebac More detailed testing for value-error-too-few-values. 2015-12-14 06:54:02 +01:00
Dave Halter 7b8d4e86ac The evaluator recursion limitations are now reset in static analysis for each node, otherwise it's incredibly unprecise. 2015-12-13 17:18:19 +01:00
Dave Halter 106f6f7f5a too many values and too few values errors implemented for list comprehensions tuple unpacking. 2015-12-12 14:09:57 +01:00
Dave Halter 28585dcdba Better testing of classes. 2015-12-12 02:48:37 +01:00
Dave Halter 75ac2b9686 Enable better ways for analysis to analyze loop variables. 2015-12-11 20:25:49 +01:00
Dave Halter 8d3be10270 Fix issues in Python 2.7. 2015-12-10 17:20:21 +01:00
Dave Halter a1410de9e8 Better description of the py__XXX__ attributes. 2015-12-10 16:53:08 +01:00
Dave Halter 1189868593 Use CheckAttribute descriptor more in CompiledObject to avoid duplicate code. 2015-12-10 16:43:42 +01:00
Dave Halter 5087584fdc evaluator is now used only as an attribute in CompiledObject. 2015-12-10 16:40:56 +01:00
Dave Halter 9e8da17688 Remove py__class__ evaluator param from representation objects. 2015-12-10 16:39:27 +01:00
Dave Halter afb1d6c3b8 Remove evaluator param from py__call__. 2015-12-10 16:20:46 +01:00
Dave Halter 506d5a4f31 Remove evaluator param from py__bases__. 2015-12-10 16:16:30 +01:00
Dave Halter 98b1845784 Remove evaluator param from py__mro__. 2015-12-10 16:12:43 +01:00
Dave Halter b16fd84628 Remove py__getattribute__. 2015-12-10 16:07:15 +01:00
Dave Halter 9bac88100a Get rid of get_exact_index_types. 2015-12-10 15:58:34 +01:00
Dave Halter b10a048167 Get rid of Array.values() and Array.__iter__(). 2015-12-10 15:56:45 +01:00
Dave Halter 3a975db0d7 Get completely rid of get_index_types. 2015-12-10 04:41:21 +01:00
Dave Halter 058779dd42 Get completely rid of iter_content. 2015-12-10 04:38:59 +01:00
Dave Halter 9bd6e6c340 Fix: iterators are working smoothly now. Finally tests are passing again. 2015-12-10 04:37:23 +01:00
Dave Halter e23f453a11 Fix all remaining issues from the compiled refactoring except static analysis. 2015-12-10 01:48:08 +01:00
Dave Halter 86037222b4 Fix: stdlib issues with the latest CompiledObject changes. 2015-12-10 00:02:06 +01:00
Dave Halter c9a5caa96e Fix: dicts lookups were not working in all cases. 2015-12-08 22:37:30 +01:00
Dave Halter bef5fca516 Refactor compiled.CompiledObject so it always owns an evaluator instance. 2015-12-08 02:19:33 +01:00
Dave Halter 18a10c436f Simplify names_dict lookups for Arrays. 2015-12-06 03:16:21 +01:00
Dave Halter 1b634d77af Add ranged test execution for alternate test runner. 2015-12-06 03:03:11 +01:00
Dave Halter ffeedb32de Fix remaining issues with FakeDict. 2015-12-05 22:33:41 +01:00
Dave Halter 2008775370 Fix an issue with dict lookups. 2015-12-05 20:40:41 +01:00
Dave Halter 3910d97b7e Fix: __getitem__ sometimes didnt evaluate all the types. 2015-12-05 12:36:05 +01:00
Dave Halter d65684a40b Fix py__getitem__ on Array. 2015-12-05 02:48:20 +01:00
Dave Halter db060c70c9 Start creating py__getitem__. 2015-12-04 12:08:29 +01:00
Dave Halter 76345c0b58 Final fixes for pure usage of py__iter__. 2015-12-04 00:15:48 +01:00
Dave Halter 5f36019752 Added isinstance tests in static analysis. 2015-12-03 16:21:00 +01:00
Dave Halter 21faf2431a Added isinstance type checks in the linter. 2015-12-03 16:14:26 +01:00