ponder-lab#532 restored WALA's lexical re-resolution inside PythonConstraintVisitor (visitAstLexicalRead/visitAstLexicalWrite overrides, refreshLexicalOnClosureGrowth, LexicalRefreshOperator), and ponder-lab#534 added its invariant-contents guard. The same fix lives upstream in wala/WALA#1991 (with its own JS regression test).
After the wala.version bump that picks up the upstream fix, the fork-side machinery is pure duplication: the superclass's visitLexical registers the (de-duplicated, idempotent) side effect itself, and our override would add a second operator per lexical access—semantically harmless but wasted fixpoint work.
On the bump: delete the two overrides, the helper, and the operator class; keep every guard (testNlpgnnFull*, the samename family) as the regression net proving the upstream behavior covers what the override did.
ponder-lab#532 restored WALA's lexical re-resolution inside
PythonConstraintVisitor(visitAstLexicalRead/visitAstLexicalWriteoverrides,refreshLexicalOnClosureGrowth,LexicalRefreshOperator), and ponder-lab#534 added its invariant-contents guard. The same fix lives upstream in wala/WALA#1991 (with its own JS regression test).After the
wala.versionbump that picks up the upstream fix, the fork-side machinery is pure duplication: the superclass'svisitLexicalregisters the (de-duplicated, idempotent) side effect itself, and our override would add a second operator per lexical access—semantically harmless but wasted fixpoint work.On the bump: delete the two overrides, the helper, and the operator class; keep every guard (
testNlpgnnFull*, the samename family) as the regression net proving the upstream behavior covers what the override did.