Enhancement
Situation
In TL-Script können Methoden einen "self" Parameter haben. Hat eine Method einen Self-Parameter, so wird die Methode auf dem Objekt aufgerufen:
$self.methode-mit-self($arg1, $arg2,...)
Dies muß aber nicht sein. Die Methode kann auch aufgerufen werden, indem der Self-Parameter als erstes übergeben wird:
methode-mit-self($self, $arg1, $arg2,...)
Hat eine Methode keinen Self-Parameter so führt die Schreibweise
$self.methode-ohne-self($arg1, $arg2,...) // Fehler
zu einem Fehler.
Verbesserung
Die Auszeichnung "self" bringt eigentlich keinen Mehrwert. Es soll möglich sein, jede Methode in beiden Schreibweisen aufrufen zu können. Das Ergebnis von "self" soll das erste Argument werden.
Test
Kein spezieller Test.
Code-Migration
Wenn eigene TL-Script-Funktionen implementiert wurden:
- Für MethodBuilder mit hasSelf=false ist **keine** Migration nötig.
- ArgumentDescriptor in MethodBuilder die nicht hasSelf=false haben, müssen um einen mandatory Parameter an erster Stelle erweitert werden.
- In Implementierungen von MethodBuilder#build und GenericMethod#eval wird kein Self-Parameter mehr übergeben. Self ist jetzt der erste Parameter in den Argumenten. Zugriffe auf das Argument-Array müssen angepasst werden.