Wenn man absolut garnichts weiß, dann gibt es nur einen Weg.
Und der geht auch nur, wenn es nur einen Eintrag im With gibt. (ja, man kann mehr als einwas dort angeben)
* Vor alles in dem WITH diesen Ausdruck mit Punkt hinzufügen,
* das WITH entfernen
* und dann alles wieder rauswerfen, was der Compiler bemängelt.
Das ist schon mal gar keine so schlechte Idee. Das mit den Multiple-Withs kann man lösen, in dem man sukzessive von hinten nach vorn eliminiert.
Der MMX Code Explorer hat ja ein
Convert with statement, was aber eben keine vollständig automatische Konvertierung macht, sondern lediglich Hilfe bei der manuellen Lösung bietet. Ich könnte mir vorstellen, dass eine Option zur Implementierung deines ersten Punktes eine Verbesserung bringen könnte. Bei entsprechend aufwändiger Implementierung ließen sich vielleicht auch noch einige triviale Fälle ausblenden.
Für die OTAPI hätte ich auch gerne noch ein Interface um den LSP zu verwenden, aber da sollen sie besser erstmal ihren eigenen Kram stabil zum Laufen kriegen.