diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/i/class-new-methods/case.json | 1 | ||||
| -rw-r--r-- | tests/i/class-new-methods/expected.txt | 3 | ||||
| -rw-r--r-- | tests/i/class-new-methods/notes.md | 5 | ||||
| -rw-r--r-- | tests/i/class-new-methods/program.cps | 16 | ||||
| -rw-r--r-- | tests/iii/class-method-errors/case.json | 4 |
5 files changed, 25 insertions, 4 deletions
diff --git a/tests/i/class-new-methods/case.json b/tests/i/class-new-methods/case.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/tests/i/class-new-methods/case.json @@ -0,0 +1 @@ +{} diff --git a/tests/i/class-new-methods/expected.txt b/tests/i/class-new-methods/expected.txt new file mode 100644 index 0000000..426f8ca --- /dev/null +++ b/tests/i/class-new-methods/expected.txt @@ -0,0 +1,3 @@ +x +call +again diff --git a/tests/i/class-new-methods/notes.md b/tests/i/class-new-methods/notes.md new file mode 100644 index 0000000..53192fb --- /dev/null +++ b/tests/i/class-new-methods/notes.md @@ -0,0 +1,5 @@ +# Explicit NEW calls + +Human review: pending. Expected output was independently traced by AI. + +NEW is an ordinary procedure: the bare member call stores x, CALL with mixed case stores call, and Reset calls this.NEW to store again. DECLARE is extended with arguments in the next implementation step. diff --git a/tests/i/class-new-methods/program.cps b/tests/i/class-new-methods/program.cps new file mode 100644 index 0000000..573fe0f --- /dev/null +++ b/tests/i/class-new-methods/program.cps @@ -0,0 +1,16 @@ +CLASS Box + Value : STRING + PROCEDURE NEW(Text : STRING) + Value <- Text + ENDPROCEDURE + PROCEDURE Reset() + this.NEW("again") + ENDPROCEDURE +ENDCLASS +DECLARE Obj : Box +Obj.NEW("x") +OUTPUT Obj.Value +CALL Obj.new("call") +OUTPUT Obj.Value +Obj.Reset() +OUTPUT Obj.Value diff --git a/tests/iii/class-method-errors/case.json b/tests/iii/class-method-errors/case.json index 655296d..e871f28 100644 --- a/tests/iii/class-method-errors/case.json +++ b/tests/iii/class-method-errors/case.json @@ -9,10 +9,6 @@ "line": 13 }, { - "reason": "NEW constructors are not implemented", - "line": 15 - }, - { "reason": "Duplicate member set in class Box", "line": 17 }, |
