Commit Graph

  • 6819deb404 Resolve some **kwargs issues. Dave Halter 2014-09-22 23:06:22 +02:00
  • dae1a48d70 Remove a lot of the old Name.names usages in favor of a direct NamePart usage. Dave Halter 2014-09-22 22:34:33 +02:00
  • 04cf742973 Temporary parser implementation. Now we're pretty much done with pr.Name. Dave Halter 2014-09-22 17:05:23 +02:00
  • 6bd7ef56f1 Now most tests pass and we're able to continue getting rid of parsing.representation.Name. Dave Halter 2014-09-22 15:41:27 +02:00
  • 8f3301f281 Passing Function tests now. Dave Halter 2014-09-22 14:06:38 +02:00
  • c4e45916c6 Modules also use a NamePart as a name, now. Dave Halter 2014-09-22 12:52:48 +02:00
  • 779618c08b First changes to eventually replace Name by NamePart. Dave Halter 2014-09-22 11:57:19 +02:00
  • b26f51ded2 Fix obvious UnboundLocalError. Dave Halter 2014-09-19 18:08:30 +02:00
  • 78bd775889 Only real modules should be added in get_modules_containing_name. Dave Halter 2014-09-19 18:05:57 +02:00
  • e0f84ccb86 Tests for issues with default args in dynamic param contexts. Dave Halter 2014-09-19 16:56:26 +02:00
  • d4503c77a5 get_parent_until should always have the same signature. Dave Halter 2014-09-19 16:17:05 +02:00
  • 99d35e57b6 Fix alias usages in goto_assignments. Dave Halter 2014-09-19 13:42:47 +02:00
  • ed56f73836 Care for nested imports in goto_assignments. Dave Halter 2014-09-19 12:14:29 +02:00
  • fc5f73861c Fix issues with the os module. Dave Halter 2014-09-19 10:59:24 +02:00
  • b2342c76be Refactoring: Make Import.get_all_import_names return NameParts. Dave Halter 2014-09-19 01:40:05 +02:00
  • 83d2af5138 First imports are working with goto. Dave Halter 2014-09-19 01:21:17 +02:00
  • 610b2fc832 tests for goto on imports. Dave Halter 2014-09-19 00:49:22 +02:00
  • 7b0bb83d16 Change the behavior of eval_statement_element and follow_call_path. Arrays should only be looked at in the latter. Dave Halter 2014-09-18 23:44:11 +02:00
  • 69e6139527 Goto on named params in class calls is now working. Dave Halter 2014-09-18 20:11:58 +02:00
  • ba80e35204 Test for an issue with named params in class calls (instead of functions). Dave Halter 2014-09-18 13:30:46 +02:00
  • 9fa6a86a19 Tests for Definition.is_definition(). Dave Halter 2014-09-17 18:17:22 +02:00
  • fb86388890 Fix RuntimeError: the PyQt5.QtCore and PyQt4.QtCore modules both wrap the QObject class ColinDuquesnoy 2014-09-13 12:18:34 +02:00
  • 9983898162 Temporarily disable a test for goto on nested imports. The positions are currently wrong. But this is a known issue. Dave Halter 2014-09-11 02:27:53 +02:00
  • 085c8034b3 Apply evaluate.representation wrappers already before they go out into the goto world. Dave Halter 2014-09-11 02:20:54 +02:00
  • 1624fa0872 Replace BaseDefinition._name.get_definition() calls with BaseDefinition._definition. Dave Halter 2014-09-11 01:36:21 +02:00
  • 71efb51f2a Remove BaseDefinition._start_pos. Dave Halter 2014-09-11 01:21:08 +02:00
  • 283afa78f1 Remove code that is not needed anymore, because the Definition/Completion import is now standardized (to NamePart). Dave Halter 2014-09-11 01:15:00 +02:00
  • 9f16555f47 Big refactoring: BaseDefinition._definnition changes to BaseDefinition._name, because it's a NamePart now. Dave Halter 2014-09-11 01:02:20 +02:00
  • 58526e2302 Completion now also uses only NameParts as its _definition attribute. Dave Halter 2014-09-10 20:12:19 +02:00
  • 8f892e3922 Use FakeName instead of a custom KeywordName. Dave Halter 2014-09-10 20:07:13 +02:00
  • 1fb9b4bc6b Completion now always takes a NamePart as input. Dave Halter 2014-09-10 18:59:08 +02:00
  • 0eea30f227 NamePart migration of Definition is complete. Now Completion. Dave Halter 2014-09-10 18:29:10 +02:00
  • 2aa538999e Removed an old test from the days where it was allowed to add Keywords to Definitions. Dave Halter 2014-09-10 18:05:04 +02:00
  • 46b49af5d9 Even params should be NameParts as a Definition input. Dave Halter 2014-09-10 17:41:06 +02:00
  • 5e28d69437 Fix remaining usage issues. Dave Halter 2014-09-10 17:15:58 +02:00
  • 4060c4dc55 Fix some goto issues. Dave Halter 2014-09-10 16:39:09 +02:00
  • a93a389d5c Fix all the normal issues with the NameFinder change. Now goto... Dave Halter 2014-09-10 16:30:22 +02:00
  • 657a2c7d4f Trying to get the NameFinder to use only NameParts. Dave Halter 2014-09-10 16:20:30 +02:00
  • 43cf1d451f Python 2/3 compatibility issues that were not resolved in the latest commit. Dave Halter 2014-09-09 17:51:39 +02:00
  • fdc637c5c4 Add a forgotten test module, test_sys_path.py and fix Python2/3 compatibility issues. Dave Halter 2014-09-09 17:08:22 +02:00
  • 38f7296f39 Typo. Dave Halter 2014-09-09 16:51:46 +02:00
  • 87aa76678a Goto should work on named params, too. Dave Halter 2014-09-09 16:48:53 +02:00
  • 110f130741 Make it possible to get previous statements of Calls. Dave Halter 2014-09-09 16:44:56 +02:00
  • b68a59daef Fix the last remaining issues of the first part of the NamePart switch. Dave Halter 2014-09-09 15:58:20 +02:00
  • 45e033c50e Quite a few fixes to be eventually able to use NameParts as Definition inputs. Dave Halter 2014-09-09 15:21:27 +02:00
  • 1199defabb Start to use NameParts only in Definition contexts. Dave Halter 2014-09-09 14:13:01 +02:00
  • ff7680c15f Generate the expression_list of a statement in any case. Dave Halter 2014-09-09 12:54:46 +02:00
  • 740fd0657f Add a goto_assignments test for named params Dave Halter 2014-09-09 00:06:24 +02:00
  • 0dcb91d236 Add a Definition.is_definition function to be able to check if a name is a definition or not. Dave Halter 2014-09-08 23:44:35 +02:00
  • 851717a968 Publicize jedi.names and add a first test. Dave Halter 2014-09-08 22:39:47 +02:00
  • be85391321 Create a 'jedi.names' function with the proper docstring. Dave Halter 2014-09-08 21:43:16 +02:00
  • ca536baf9b Last fixes, because of the Name.get_definition change. The recent parser.representation changes are now fully working and we're ready to improve Evaluator.goto again. Dave Halter 2014-09-06 13:23:00 +02:00
  • ece9fdf4ae Fixing most of the issues that existed, because of the recent Name.get_definition/Call.name.parent change. Dave Halter 2014-09-06 13:02:52 +02:00
  • 2e7e2f0a29 Name parents are now Calls (once their statements have generated the Calls). Dave Halter 2014-09-06 12:18:40 +02:00
  • 5a3ee02399 Use ExprStmt pretty much everywhere where it should be used. Dave Halter 2014-09-06 11:04:49 +02:00
  • cb84bc0829 Start using ExprStmt. Dave Halter 2014-09-06 10:46:59 +02:00
  • f57d9ef675 Rename Name.get_parent_stmt to Name.get_definition, because it's not always a statement. Also start using it in the NameFinder. Dave Halter 2014-09-06 10:43:26 +02:00
  • 99116cdcb7 Add a Name.get_parent_stmt() function. Dave Halter 2014-09-05 22:26:55 +02:00
  • 6c07c7acfe Create an ExprStatement class to replace the Statement class in the future and separate array parts of actual statements Dave Halter 2014-09-05 22:21:26 +02:00
  • 12154fdecf Refactor a few name finder things. Dave Halter 2014-09-05 12:12:29 +02:00
  • ba805879b4 Updated helpers.deep_ast_copy. Now the function copies statements in a better way. Dave Halter 2014-09-05 11:49:45 +02:00
  • 42d6b57599 precedence._is_string -> precedence.is_string Dave Halter 2014-09-04 14:13:26 +02:00
  • 7b2e11d71b Rewrote sys_path._paths_from_assignment. Dave Halter 2014-09-04 14:12:10 +02:00
  • 4180005893 Forgot to add the the params in the case of a class in the previous commit. Dave Halter 2014-09-04 12:53:34 +02:00
  • 06699993f1 Class inheritance definitions shouldn't be params. It's just statements. Dave Halter 2014-09-04 12:28:50 +02:00
  • 1df025c39d Definitions should not be followed in Evaluator.goto. Dave Halter 2014-09-04 11:55:42 +02:00
  • e872d9e073 Script.goto_assignments now always needs a call_path. Otherwise it raises a NotFoundError. Dave Halter 2014-09-04 00:56:58 +02:00
  • fb10199f37 Remove search_name and search_name_part from goto returns. Dave Halter 2014-09-03 23:28:19 +02:00
  • f7a1c110ba Fix remaining issues with CompiledName.name change. Dave Halter 2014-09-03 19:47:37 +02:00
  • 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. Dave Halter 2014-09-03 19:43:21 +02:00
  • 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. Dave Halter 2014-09-03 19:30:00 +02:00
  • 59578966cf Remove code that is not used anymore from Script._goto Dave Halter 2014-09-03 18:02:20 +02:00
  • e2ca11435c Script._goto improvements and documentation. Dave Halter 2014-09-03 17:27:26 +02:00
  • 95852f5e7f Clarify inner workings of Evaluator.goto Dave Halter 2014-09-03 14:58:24 +02:00
  • bcc84820fe Fix issues with unreachable flows. Dave Halter 2014-09-03 00:05:37 +02:00
  • ea5b98905e Make statement_elements_in_statement work with ListComprehensions, Lambdas and 'except foo as' expressions Dave Halter 2014-09-02 14:52:04 +02:00
  • 38c71fce3f Added tests for statement_elements_in_statement Dave Halter 2014-09-02 12:10:16 +02:00
  • f785aa26dd Additional helper methods, to find all the statement elements that are needed. Dave Halter 2014-09-02 03:26:17 +02:00
  • be9e77d7d3 Add a temporary api._names, to make it possible to annotate a full script with types. Dave Halter 2014-09-01 18:10:40 +02:00
  • bbf1070ad9 Add a helper function to list all name parts of a given module. Dave Halter 2014-09-01 13:20:01 +02:00
  • 6b88da4d2d Merge pull request #467 from phillipberndt/master Dave Halter 2014-08-23 16:05:12 +04:30
  • 76d91ba72a Rename fast_parent_copy to deep_ast_copy. Dave Halter 2014-08-22 00:59:46 +02:00
  • ed3b507ab7 cleanup Dave Halter 2014-08-22 00:46:24 +02:00
  • 6ba0b7b81e lower than/greater than operators evaluate to a boolean now. This is not a 100% correct, because it doesn't evaluate __gt__, etc. But that's ok for now. Dave Halter 2014-08-22 00:26:55 +02:00
  • 039a5ecaf9 Fix issues caused by KeywordStatement, which needs to be copied as well. Dave Halter 2014-08-21 16:51:00 +02:00
  • 0ef030848d refactor fast_parent_copy, use new_elements_default to hand in a dictionary, that contains all the generated duplicates. Dave Halter 2014-08-21 13:17:33 +02:00
  • 3cf8bfa8e1 Fix a few tests by either fixing the test cases or adding py__bool__ functions to objects that should have such a method. Dave Halter 2014-08-20 17:28:54 +02:00
  • f911050300 Rewrote the isistance implementation, so that it works properly with tuples as well as normal classes. Dave Halter 2014-08-20 16:58:19 +02:00
  • 2a964d4e48 Also implement the or operator. Dave Halter 2014-08-20 16:28:04 +02:00
  • 148d17b3be Implementation of the and operation. Dave Halter 2014-08-20 16:21:33 +02:00
  • d6dd7cd55e Move process_precedence_element from the Evaluator to the precedence module. Dave Halter 2014-08-20 15:59:37 +02:00
  • 9abc8a19e7 By adding a py__class__ method to CompiledObject and Class, we Jedi is able to understand isinstance checks, now. This also includes a CheckAttribute class in evaluatue.compiled, because it's way easier to generalize the AttributeErrors there. Dave Halter 2014-08-20 14:46:18 +02:00
  • 0e66aef511 Use IterableWrapper in the iterable module to be able to add methods like is_class quickly. Dave Halter 2014-08-20 14:01:41 +02:00
  • 442a1a1d08 wrap some more values with er.wrap Dave Halter 2014-08-20 13:52:49 +02:00
  • c9542cbc04 Start implementing an is_class function that will determine if an object is a class or not in the future. Dave Halter 2014-08-20 11:43:25 +02:00
  • 7f874620db Start documenting all the py__foo__ methods Dave Halter 2014-08-20 11:31:23 +02:00
  • 2e949b43bb Ignore FunctionExecutions in old style isinstance checks for now, because it collides with new style isinstance checks. Dave Halter 2014-08-20 11:31:11 +02:00
  • 09ca47fa93 Introduce a dedicated isinstance function implementation. Dave Halter 2014-08-19 23:57:59 +02:00
  • 3189ba7662 Add type check to jedi.Interpreter() namespace argument and remove default value #467 Phillip Berndt 2014-08-18 17:22:11 +02:00
  • 49163e135c flow_analysis test for isinstance as well as and/or operations. Dave Halter 2014-08-19 01:03:14 +02:00