Dave Halter
e64c78503e
Fix some issues with array arguments.
2014-11-14 15:19:47 +01:00
Dave Halter
278bc9d705
Fix generators.
2014-11-14 02:05:25 +01:00
Dave Halter
13a128b160
global working.
2014-11-13 18:13:56 +01:00
Dave Halter
f0a3c37fa0
__file__ should be listed as a module attribute.
2014-11-13 00:24:40 +01:00
Dave Halter
186ce2b70a
Improve flow analysis a bit.
2014-11-05 19:18:45 +01:00
Dave Halter
8c775e0a18
Resolved if/else issues in instances with get_defined_names.
...
This also means that class tests are now passing, except for private variables, which are not that important.
2014-11-04 00:24:01 +01:00
Dave Halter
4676998fb5
Playing with params/names_dict
2014-11-03 13:38:57 +01:00
Dave Halter
0c3cba166e
Make names_dict available in modules.
2014-11-02 14:22:00 +01:00
Dave Halter
f09ff04fcc
Yield expressions are now separate form ReturnStmt.
2014-10-29 18:54:05 +01:00
Dave Halter
f8bb369467
__call__ issues
2014-10-28 13:36:13 +01:00
Dave Halter
1cc1d4480b
Fix issues with copying children in combination with InstanceElement.
2014-10-28 13:33:40 +01:00
Dave Halter
b550f67bce
Small instance refactoring, now adding is_generated as a param.
2014-10-28 11:33:28 +01:00
Dave Halter
19e083cbfb
Make Leaf public
2014-10-28 11:13:33 +01:00
Dave Halter
fe7c750c2c
Param is now the parent of its names and not just a helper class.
2014-10-28 02:05:44 +01:00
Dave Halter
2315d51e68
direct param evaluation
2014-10-25 14:37:01 +02:00
Dave Halter
c58975807c
Small function/param corrections.
2014-10-24 01:58:56 +02:00
Dave Halter
387fc3b038
Adding prev_sibling, getting self attributes.
2014-10-23 14:03:52 +02:00
Dave Halter
971f1db823
Create a next_sibling method on _Leaf, which is then used to check for self attributes.
2014-10-23 01:36:24 +02:00
Dave Halter
abb8d0e26c
get_names_dict removed and use instead the names_dict attribute.
2014-10-23 01:06:50 +02:00
Dave Halter
4f4aef7ac8
Param helper class in the tree.
2014-10-22 20:07:42 +02:00
Dave Halter
c821b30017
Fix a first test: complex.py
2014-10-20 17:06:18 +02:00
Dave Halter
43e3452474
Fix more argument related stuff.
2014-10-20 16:34:17 +02:00
Dave Halter
1a639bd118
Arguments move to params.
2014-10-20 15:43:56 +02:00
Dave Halter
887949e23f
Start making executions work.
2014-10-16 10:58:27 +02:00
Dave Halter
03e01631cc
Remove NamePart from existance and rename it to Name.
2014-09-26 16:29:53 +02:00
Dave Halter
19b32a3657
And by changing small things about NamePart/InstanceElement usage, we're finally able to pass the class tests again.
2014-09-24 15:42:44 +02:00
Dave Halter
f300e63dae
A couple of changes:
...
- parser.representation now uses ArrayStmt and ExprStatement to be able to differentiate easily with isinstance.
- NameParts are temporarily allowed again as InstanceElements.
2014-09-24 15:21:56 +02:00
Dave Halter
0a65eea2cf
Start to change the logic for self.foo variables.
2014-09-24 14:33:15 +02:00
Dave Halter
12e391c97a
Add a LazyDict to be able to use it within FunctionExecution for get_names_dict
2014-09-24 12:57:26 +02:00
Dave Halter
d5fbc006e2
Add a names_dict to scopes. This is good for the future parser and now useful to process self.foo and other stuff.
2014-09-24 12:44:24 +02:00
Dave Halter
dae1a48d70
Remove a lot of the old Name.names usages in favor of a direct NamePart usage.
2014-09-22 22:34:33 +02:00
Dave Halter
6bd7ef56f1
Now most tests pass and we're able to continue getting rid of parsing.representation.Name.
2014-09-22 15:41:27 +02:00
Dave Halter
c4e45916c6
Modules also use a NamePart as a name, now.
2014-09-22 12:52:48 +02:00
Dave Halter
fc5f73861c
Fix issues with the os module.
...
Using a try/finally assures that the recursion checkers work the right way.
2014-09-19 10:59:24 +02:00
Dave Halter
69e6139527
Goto on named params in class calls is now working.
2014-09-18 20:11:58 +02:00
Dave Halter
1fb9b4bc6b
Completion now always takes a NamePart as input.
2014-09-10 18:59:08 +02:00
Dave Halter
657a2c7d4f
Trying to get the NameFinder to use only NameParts.
2014-09-10 16:20:30 +02:00
Dave Halter
b68a59daef
Fix the last remaining issues of the first part of the NamePart switch.
2014-09-09 15:58:20 +02:00
Dave Halter
45e033c50e
Quite a few fixes to be eventually able to use NameParts as Definition inputs.
2014-09-09 15:21:27 +02:00
Dave Halter
1199defabb
Start to use NameParts only in Definition contexts.
2014-09-09 14:13:10 +02:00
Dave Halter
cb84bc0829
Start using ExprStmt.
2014-09-06 10:46:59 +02:00
Dave Halter
f57d9ef675
Rename Name.get_parent_stmt to Name.get_definition, because it's not always a statement. Also start using it in the NameFinder.
2014-09-06 10:43:26 +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
76d91ba72a
Rename fast_parent_copy to deep_ast_copy.
2014-08-22 00:59:46 +02:00
Dave Halter
ed3b507ab7
cleanup
2014-08-22 00:47:08 +02:00
Dave Halter
039a5ecaf9
Fix issues caused by KeywordStatement, which needs to be copied as well.
2014-08-21 16:51:00 +02:00
Dave Halter
0ef030848d
refactor fast_parent_copy, use new_elements_default to hand in a dictionary, that contains all the generated duplicates.
2014-08-21 13:17:33 +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
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.
2014-08-20 14:46:18 +02:00
Dave Halter
442a1a1d08
wrap some more values with er.wrap
2014-08-20 13:52:49 +02:00