mirror of
https://github.com/Nuitka/Nuitka.git
synced 2025-12-14 20:35:49 +01:00
Backport: These changes need to be manually distributed to previous commits
This commit is contained in:
@@ -456,6 +456,14 @@ class LocalsDictVariable(Variable):
|
||||
else:
|
||||
return trace_collection.initVariableUnknown(self, None)
|
||||
|
||||
def inhibitsClassScopeForwardPropagation(self):
|
||||
for traces in self.traces.values():
|
||||
for trace in traces.values():
|
||||
if trace.inhibitsClassScopeForwardPropagation():
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
def _updateVariablesFromCollectionFirst(new_collection):
|
||||
for variable, variable_traces in iterItems(new_collection.getVariableTracesAll()):
|
||||
|
||||
@@ -246,6 +246,8 @@ class LocalsDictHandleBase(object):
|
||||
temp_type="object",
|
||||
)
|
||||
|
||||
trace_collection.initVariableLate(self.propagation[variable_name])
|
||||
|
||||
return self.propagation[variable_name]
|
||||
|
||||
def getPropagationVariables(self):
|
||||
@@ -334,9 +336,8 @@ class LocalsDictHandle(LocalsDictHandleBase):
|
||||
return
|
||||
|
||||
for variable in self.variables.values():
|
||||
for variable_trace in variable.traces:
|
||||
if variable_trace.inhibitsClassScopeForwardPropagation():
|
||||
return
|
||||
if variable.inhibitsClassScopeForwardPropagation():
|
||||
return
|
||||
|
||||
trace_collection.signalChange(
|
||||
"var_usage",
|
||||
|
||||
Reference in New Issue
Block a user