Strong circular references between CodeContext and resolver/analyzer/flow_analyzer
jessevdk@gmail.com
Submitted byAssigned to Daniel Espinosa Ortiz @esodan
Link to original bug (#712694)
Description
The SymbolResolver, SemanticAnalyzer and FlowAnalyzer classes all three hold a strong reference to the CodeContext passed in on respectively resolve, analyze and analyze (stored in the respective objects). Since the CodeContext in turn holds strong references to these objects, memory is never released after CodeContext.check. It would be nice if either 1) the resolver/analyzer classes could store a weak reference, or 2) the resolver/analyzer classes would release the stored reference after they are done resolving/analyzing.