There are a lot of static analysis data structures that should be refactored into instance data structures so that they do not need to be reset between independent compilations within a single process (as in the test suite and the prototype UI).
Examples:
BuildSymbolTables.nodeSymbolTableMap
LJASTBuildClassLinks.nameClassMap
ASTClass.nameClassMap
ASTClassBlock.nameAttributeMap
This will significantly simplify the LJStaticAnalysisTest.init() method (and similar code in the prototype UI if that is accepted into master by that point).
There are a lot of static analysis data structures that should be refactored into instance data structures so that they do not need to be reset between independent compilations within a single process (as in the test suite and the prototype UI).
Examples:
BuildSymbolTables.nodeSymbolTableMapLJASTBuildClassLinks.nameClassMapASTClass.nameClassMapASTClassBlock.nameAttributeMapThis will significantly simplify the
LJStaticAnalysisTest.init()method (and similar code in the prototype UI if that is accepted into master by that point).