4.2 KiB
4.2 KiB
1. Belege
- 1.1 Eigenschaften, Methoden und Ereignisse je Klasse aus Original-Hilfe,
CONSTANT.BIund den Beispielprojekten inklassen-und-eigenschaften.mddieses Changes zusammenstellen (Typ, Wertebereich, Vorgabewert, Schreibbarkeit zur Laufzeit); verifiziert durch die Datei mit Quellenangabe je Zeile - 1.2 Signaturen der Ereignisprozeduren und die Regeln für Steuerelement-Arrays belegen; verifiziert durch einen Abschnitt in derselben Datei, der jede Signatur der Forms-Referenz gegenüberstellt
2. Frontend: Objektsprache
- 2.1
!am folgenden Token entscheiden (D3); verifiziert durch Lexer-Tests für beide Bedeutungen im selben Modul - 2.2 Punktpfade in der Semantik nach D2 auflösen, mit Diagnose statt impliziter Variablen; verifiziert durch Sema-Tests für unbekanntes Objekt, unbekannte Eigenschaft und unveränderten UDT-Feldzugriff
- 2.3 Eigenschaftstabelle je Klasse aus 1.1 im Frontend führen und Typ/Schreibbarkeit prüfen; verifiziert durch Sema-Tests für Typkonflikt und schreibgeschützte Eigenschaft
- 2.4
IF TYPEOF … IS klasse, DatentypenFORM/CONTROLals Parametertypen, Metabefehl$FORM; verifiziert durch Parser- und Sema-Tests je Konstrukt - 2.5 Ereignisprozeduren erkennen und ihre Parameterlisten prüfen; verifiziert durch Sema-Tests für richtige Signatur, falsche Signatur und gewöhnliche
SUBmit Unterstrich - 2.6 Absenkung ins HIR: Objektzugriff als Objekt-/Eigenschaftsindex, Ereignisprozeduren mit ihrer Zuordnung; verifiziert durch
cargo test -p tb-frontend
3. Laufzeit: Formularmodell
- 3.1 Formular- und Steuerelementobjekte mit Eigenschaftsspeicher und Vorgabewerten aus 1.1; verifiziert durch Unit-Tests für Vorgabewerte und Wertebereichsprüfung (Fehler 5)
- 3.2 Lade-/Entladezyklus mit
Form_LoadundForm_Unload (Cancel); verifiziert durch Unit-Tests, darunter das verhinderte Entladen - 3.3
SHOW/HIDE, Sichtbarkeit, implizites Laden beim Zugriff; verifiziert durch Unit-Tests für „HIDE entlädt nicht" und implizites Laden - 3.4 Steuerelement-Arrays:
LOAD ctl(i),UNLOAD ctl(i), Fehler 362 für Entwurfszeit-Elemente; verifiziert durch Unit-Tests je Fall - 3.5
SCREEN-Objekt mitActiveForm,ActiveControl,Height/Widthaus der aktuellen Terminalgröße; verifiziert durch Unit-Tests, darunter einer nach Größenänderung
4. Modalität und Dispatch
- 4.1 Modales
SHOWals Frame-Marke (D4) mit Fortsetzung nach dem Entladen; verifiziert durch einen VM-Test, der die Anweisung nachSHOW 1erst nach dem Entladen ausführt - 4.2 Stapelregeln der Modalität mit den Fehlern 400–403; verifiziert durch Unit-Tests je Fehlercode
- 4.3 Ereignisdispatch: Ereignis der Warteschlange auf
Name_Ereignisabbilden und mit Argumenten aufrufen (D5); verifiziert durch VM-Tests für vorhandene und fehlende Prozedur - 4.4 Mausereignisse aus
phase-4-ereignisschleifean die Formularereignisse übergeben (Taste, Umschaltzustand, Position in Zellen); verifiziert durch einen Test, derForm_MouseDownmit den erwarteten Argumenten sieht - 4.5 Nachweis, dass keine neuen Zustellpunkte entstehen; verifiziert durch einen Test, der die Zustellpunkte der Ereignissteuerung gegenprüft
5. Inventar und Dokumentation
- 5.1
docs/inventar.mdum ArtEigenschaft/Methode/Ereignisund die Spalte Quelle erweitern, Einträge aus 1.1 eintragen (Status zunächstoffen); verifiziert durchinventar_stimmt_mit_code_ueberein - 5.2 Abgleichstest auf die neuen Arten ausdehnen; verifiziert durch einen Testfall, der eine falsch gesetzte Eigenschaft im Inventar erkennt
- 5.3 Einträge dieses Changes auf
implementiertsetzen; verifiziert durch denselben Test - 5.4
docs/sprachreferenz.md§12 ausformulieren unddocs/forms-referenz.mdum die Belege aus 1.1 ergänzen; verifiziert durch die Abschnitte - 5.5 PLAN.md: Punkte „Formular-Modell" und „Ereignisdispatch" abhaken; verifiziert durch die aktualisierte Liste
6. Abnahme
- 6.1 Der Dreizeiler aus proposal.md wird namentlich abgewiesen statt falsch übersetzt; verifiziert durch einen Test, der die drei Diagnosen prüft
- 6.2
cargo testgrün undopenspec validate phase-4-objektmodell --strictohne Befund; verifiziert durch beide Kommandos