aboutsummaryrefslogtreecommitdiff
path: root/tests/iii/class-constructor-default-errors
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-17 06:52:23 +0000
committer_ov4 <ov4@ov4.org>2026-10-17 06:52:23 +0000
commit39661855c0816ac248be437704c76f58359cb5f0 (patch)
tree202b014805e40208e3adb861f4a97d31770f13e6 /tests/iii/class-constructor-default-errors
parentc89477d615fb0ce4d89786ef848ffe6aca1da088 (diff)
feat(classes): construct declared objects and nested fields and arrays
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/iii/class-constructor-default-errors')
-rw-r--r--tests/iii/class-constructor-default-errors/case.json32
-rw-r--r--tests/iii/class-constructor-default-errors/program.cps21
2 files changed, 53 insertions, 0 deletions
diff --git a/tests/iii/class-constructor-default-errors/case.json b/tests/iii/class-constructor-default-errors/case.json
new file mode 100644
index 0000000..adcefe8
--- /dev/null
+++ b/tests/iii/class-constructor-default-errors/case.json
@@ -0,0 +1,32 @@
+{
+ "errors": [
+ {
+ "reason": "Incorrect # arguments passed to Required.NEW",
+ "line": 15
+ },
+ {
+ "reason": "Incorrect # arguments passed to Required.NEW",
+ "line": 16
+ },
+ {
+ "reason": "has no constructor NEW",
+ "line": 17
+ },
+ {
+ "reason": "Cannot access private method NEW",
+ "line": 18
+ },
+ {
+ "reason": "Incorrect # arguments passed to Required.NEW",
+ "line": 19
+ },
+ {
+ "reason": "Incorrect # arguments passed to Required.NEW",
+ "line": 20
+ },
+ {
+ "reason": "Constructor arguments require a class type",
+ "line": 21
+ }
+ ]
+}
diff --git a/tests/iii/class-constructor-default-errors/program.cps b/tests/iii/class-constructor-default-errors/program.cps
new file mode 100644
index 0000000..43dfef7
--- /dev/null
+++ b/tests/iii/class-constructor-default-errors/program.cps
@@ -0,0 +1,21 @@
+CLASS Required
+ PROCEDURE NEW(Number : INTEGER)
+ ENDPROCEDURE
+ENDCLASS
+CLASS Plain
+ Value : INTEGER
+ENDCLASS
+CLASS Hidden
+ PRIVATE PROCEDURE NEW()
+ ENDPROCEDURE
+ENDCLASS
+TYPE Wrapped
+ DECLARE Item : Required
+ENDTYPE
+DECLARE Missing : Required
+DECLARE EmptyArgs : Required()
+DECLARE Extra : Plain(1)
+DECLARE PrivateObject : Hidden
+DECLARE Items : ARRAY[1:2] OF Required
+DECLARE Nested : Wrapped
+DECLARE Scalar : INTEGER()