aboutsummaryrefslogtreecommitdiff
path: root/tests/iii/implicit-conversion-errors/program.cps
blob: 6297b162d9c073a8894746d0337b7810d89a3036 (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

CLASS ExplicitOnly
    Value : INTEGER
    PROCEDURE NEW(Number : INTEGER)
        Value <- Number
    ENDPROCEDURE
ENDCLASS
CLASS First
    Value : INTEGER
    IMPLICIT PROCEDURE NEW(Number : INTEGER)
        Value <- Number
    ENDPROCEDURE
ENDCLASS
CLASS Second
    Value : INTEGER
    IMPLICIT PROCEDURE NEW(Other : First)
        Value <- Other.Value
    ENDPROCEDURE
ENDCLASS
OVERLOAD PROCEDURE Choose(Value : First)
ENDPROCEDURE
OVERLOAD PROCEDURE Choose(Value : Second)
ENDPROCEDURE
PROCEDURE Ref(BYREF Value : First)
ENDPROCEDURE
DECLARE E : ExplicitOnly(1)
DECLARE S : Second
DECLARE I : INTEGER
E <- 1
S <- 1
CALL Ref(I)
CLASS Alternative
    Value : INTEGER
    IMPLICIT PROCEDURE NEW(Number : INTEGER)
        Value <- Number
    ENDPROCEDURE
ENDCLASS
OVERLOAD PROCEDURE Ambiguous(Value : First)
ENDPROCEDURE
OVERLOAD PROCEDURE Ambiguous(Value : Alternative)
ENDPROCEDURE
CALL Ambiguous(1)
CLASS Hidden
    PRIVATE IMPLICIT PROCEDURE NEW(Number : INTEGER)
    ENDPROCEDURE
ENDCLASS
PROCEDURE HiddenArg(Value : Hidden)
ENDPROCEDURE
CALL HiddenArg(1)