diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-17 10:34:37 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-17 10:34:37 +0000 |
| commit | e572d278a44d286c8713d0ee4af9c72a3d1ca73c (patch) | |
| tree | 2fd37a936d1d96869776b2fd4577a121eee974c2 /tests/iii/class-overload-errors | |
| parent | 377a1fd2eadd2a70cd27f13e2fee6e96c8706a51 (diff) | |
feat(classes): overload methods and NEW constructors
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/iii/class-overload-errors')
| -rw-r--r-- | tests/iii/class-overload-errors/case.json | 20 | ||||
| -rw-r--r-- | tests/iii/class-overload-errors/program.cps | 20 |
2 files changed, 40 insertions, 0 deletions
diff --git a/tests/iii/class-overload-errors/case.json b/tests/iii/class-overload-errors/case.json new file mode 100644 index 0000000..afc0e6a --- /dev/null +++ b/tests/iii/class-overload-errors/case.json @@ -0,0 +1,20 @@ +{ + "errors": [ + { + "reason": "Duplicate member Set in class Mixed", + "line": 4 + }, + { + "reason": "No matching overload for Required.NEW\\(\\)", + "line": 17 + }, + { + "reason": "Cannot access private method Set of type Secret", + "line": 19 + }, + { + "reason": "No matching overload for Secret.Set\\(BOOLEAN\\)", + "line": 20 + } + ] +} diff --git a/tests/iii/class-overload-errors/program.cps b/tests/iii/class-overload-errors/program.cps new file mode 100644 index 0000000..586d47d --- /dev/null +++ b/tests/iii/class-overload-errors/program.cps @@ -0,0 +1,20 @@ +CLASS Mixed +OVERLOAD PROCEDURE Set(x : INTEGER) +ENDPROCEDURE +PROCEDURE Set(x : STRING) +ENDPROCEDURE +ENDCLASS +CLASS Required +OVERLOAD PROCEDURE NEW(x : INTEGER) +ENDPROCEDURE +ENDCLASS +CLASS Secret +PRIVATE OVERLOAD PROCEDURE Set(x : INTEGER) +ENDPROCEDURE +PUBLIC OVERLOAD PROCEDURE Set(x : STRING) +ENDPROCEDURE +ENDCLASS +DECLARE item : Required +DECLARE obj : Secret +CALL obj.Set(1) +CALL obj.Set(TRUE) |
