Die Kenntnis hat doch der Compiler/Parser - das ist doch der Sinn eines solchen with-Entfernungstools. Oder versteh ich dich jetzt falsch?
Der Parser kann diese Kenntnis nicht haben bzw. müsste einen riesigen Aufwand betreiben (genau eines der Probleme von with), das kann nur der Compiler. Und deshalb könnte ein solches Tool diese Daten auch nur aus dem Compiler bekommen, aber der hat dafür ja keine Schnittstelle.
So hätte man das With-Statement auch gestalten und die Unsicherheiten beim Scope vermeiden können
Stimmt, aber Variablen werden in Delphi nun einmal vor dem begin deklariert und nicht irgendwo. Ob man das gut findet oder nicht, sei jedem selbst überlassen, ich persönlich finde es gut (auch wenn ich diese Art der Deklaration durchaus nett fände).