From 4cb0d9b196008bc55dbfcdac1f9211dbbc879895 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Fri, 30 Oct 2026 14:23:32 +0000 Subject: feat(types): support implicit single-argument constructors Co-Authored-By: Claude Opus 5.5 --- tests/iii/implicit-declaration-errors/case.json | 24 +++++++++++++++++++++++ tests/iii/implicit-declaration-errors/program.cps | 21 ++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 tests/iii/implicit-declaration-errors/case.json create mode 100644 tests/iii/implicit-declaration-errors/program.cps (limited to 'tests/iii/implicit-declaration-errors') diff --git a/tests/iii/implicit-declaration-errors/case.json b/tests/iii/implicit-declaration-errors/case.json new file mode 100644 index 0000000..3968b70 --- /dev/null +++ b/tests/iii/implicit-declaration-errors/case.json @@ -0,0 +1,24 @@ +{ + "errors": [ + { + "line": 2, + "reason": "IMPLICIT requires a CLASS constructor NEW with one BYVAL non-array parameter" + }, + { + "line": 6, + "reason": "IMPLICIT requires a CLASS constructor NEW with one BYVAL non-array parameter" + }, + { + "line": 10, + "reason": "IMPLICIT requires a CLASS constructor NEW with one BYVAL non-array parameter" + }, + { + "line": 14, + "reason": "IMPLICIT requires a CLASS constructor NEW with one BYVAL non-array parameter" + }, + { + "line": 18, + "reason": "IMPLICIT requires a CLASS constructor NEW with one BYVAL non-array parameter" + } + ] +} diff --git a/tests/iii/implicit-declaration-errors/program.cps b/tests/iii/implicit-declaration-errors/program.cps new file mode 100644 index 0000000..31cd23c --- /dev/null +++ b/tests/iii/implicit-declaration-errors/program.cps @@ -0,0 +1,21 @@ +CLASS Invalid + IMPLICIT PROCEDURE NEW() + ENDPROCEDURE +ENDCLASS +CLASS RefInvalid + IMPLICIT PROCEDURE NEW(BYREF Value : INTEGER) + ENDPROCEDURE +ENDCLASS +CLASS ArrayInvalid + IMPLICIT PROCEDURE NEW(Value : ARRAY OF INTEGER) + ENDPROCEDURE +ENDCLASS +CLASS MethodInvalid + IMPLICIT PROCEDURE Convert(Value : INTEGER) + ENDPROCEDURE +ENDCLASS +CLASS PairInvalid + IMPLICIT PROCEDURE NEW(A : INTEGER, B : INTEGER) + ENDPROCEDURE +ENDCLASS +OUTPUT 1 -- cgit v1.3.1-4-g156e