diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-17 10:32:30 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-17 10:32:30 +0000 |
| commit | 377a1fd2eadd2a70cd27f13e2fee6e96c8706a51 (patch) | |
| tree | c05665f26b3434359cf4ae7720e8f9111a322522 /tests/i/overload-functions/program.cps | |
| parent | f5246db6d045ffb86d6717e1b1c37f03bcb2b75b (diff) | |
feat(codegen): overload global functions and procedures
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/i/overload-functions/program.cps')
| -rw-r--r-- | tests/i/overload-functions/program.cps | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/i/overload-functions/program.cps b/tests/i/overload-functions/program.cps new file mode 100644 index 0000000..e76637d --- /dev/null +++ b/tests/i/overload-functions/program.cps @@ -0,0 +1,49 @@ +OVERLOAD FUNCTION Pick(x : INTEGER) RETURNS INTEGER +RETURN x + 1 +ENDFUNCTION +OVERLOAD FUNCTION Pick(x : REAL) RETURNS BOOLEAN +RETURN x > 0 +ENDFUNCTION +OVERLOAD FUNCTION Pick(x : INTEGER, y : INTEGER) RETURNS STRING +RETURN "pair" +ENDFUNCTION +OVERLOAD PROCEDURE Pick(x : STRING) +OUTPUT x +ENDPROCEDURE +OVERLOAD FUNCTION Pick(a : ARRAY OF INTEGER) RETURNS INTEGER +RETURN a[1] +ENDFUNCTION +OVERLOAD FUNCTION Pick(a : ARRAY[1:2,1:2] OF INTEGER) RETURNS INTEGER +RETURN a[2,2] +ENDFUNCTION +OVERLOAD FUNCTION Pick(a : ARRAY OF REAL) RETURNS BOOLEAN +RETURN a[1] > 0 +ENDFUNCTION +DECLARE a : ARRAY[1:2] OF INTEGER +DECLARE b : ARRAY[1:2,1:2] OF INTEGER +DECLARE c : ARRAY[1:2] OF REAL +a[1] <- 7 +b[2,2] <- 9 +c[1] <- 1.0 +OUTPUT pIcK(2) +OUTPUT Pick(2.0) +OUTPUT Pick(1, 2) +CALL Pick("text") +OUTPUT Pick(a) +OUTPUT Pick(b) +OUTPUT Pick(c) +OUTPUT Pick(Pick(1)) +OVERLOAD PROCEDURE Bump(BYREF x : INTEGER) +x <- x + 1 +ENDPROCEDURE +OVERLOAD PROCEDURE Bump(BYREF x : REAL) +x <- x + 2.0 +ENDPROCEDURE +FUNCTION Legacy(x : REAL) RETURNS BOOLEAN +RETURN x > 0 +ENDFUNCTION +DECLARE n : INTEGER +n <- 4 +CALL Bump(n) +OUTPUT n +OUTPUT Legacy(1) |
