From c372c08dc940db58f1da9cadeb64b4cb3c837704 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sat, 17 Oct 2026 06:58:13 +0000 Subject: fix(classes): preserve method-only heap objects and document NEW Allocate at least one byte for method-only classes so their heap addresses remain usable through pointers. Complete constructor diagnostics, field-order and exception coverage, document construction and rebinding, and highlight NEW. Co-Authored-By: Claude Opus 5.5 --- tests/iii/class-constructor-expression-error/case.json | 8 ++++++++ tests/iii/class-constructor-expression-error/program.cps | 4 ++++ 2 files changed, 12 insertions(+) create mode 100644 tests/iii/class-constructor-expression-error/case.json create mode 100644 tests/iii/class-constructor-expression-error/program.cps (limited to 'tests/iii/class-constructor-expression-error') diff --git a/tests/iii/class-constructor-expression-error/case.json b/tests/iii/class-constructor-expression-error/case.json new file mode 100644 index 0000000..3055433 --- /dev/null +++ b/tests/iii/class-constructor-expression-error/case.json @@ -0,0 +1,8 @@ +{ + "errors": [ + { + "reason": "NEW is only allowed on the right of an assignment", + "line": 4 + } + ] +} diff --git a/tests/iii/class-constructor-expression-error/program.cps b/tests/iii/class-constructor-expression-error/program.cps new file mode 100644 index 0000000..67addd5 --- /dev/null +++ b/tests/iii/class-constructor-expression-error/program.cps @@ -0,0 +1,4 @@ +CLASS Box + Value : INTEGER +ENDCLASS +OUTPUT NEW Box() -- cgit v1.3.1-4-g156e