aboutsummaryrefslogtreecommitdiff
path: root/tests/i/overload-functions/program.cps
blob: e76637dcb51e48d213a1e22ddd3228cbeb5cdbac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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)