fix a very annoying caching problem

This commit is contained in:
David Halter
2013-09-03 22:41:56 +04:30
parent 4c6a58644e
commit d483143d47
3 changed files with 6 additions and 4 deletions

View File

@@ -469,7 +469,7 @@ class Execution(Executable):
if base.isinstance(Class):
# There maybe executions of executions.
stmts = [Instance(base, self.var_args)]
return [Instance(base, self.var_args)]
elif isinstance(base, Generator):
return base.iter_content()
else:

View File

@@ -13,6 +13,11 @@ def fast_parent_copy(obj):
new_elements = {}
def recursion(obj):
if isinstance(obj, pr.Statement):
# Need to set _set_vars, otherwise the cache is not working
# correctly, don't know why.
obj.get_set_vars()
new_obj = copy.copy(obj)
new_elements[obj] = new_obj

View File

@@ -408,9 +408,6 @@ class Parser(object):
stmt.parent = self.top_module
self._check_user_stmt(stmt)
# TODO somehow this is important here. But it slows down Jedi, remove!
stmt.get_set_vars()
if tok in always_break + not_first_break:
self._gen.push_last_back()
return stmt, tok