diff options
Diffstat (limited to 'tests/i/class-overload-methods/program.cps')
| -rw-r--r-- | tests/i/class-overload-methods/program.cps | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/i/class-overload-methods/program.cps b/tests/i/class-overload-methods/program.cps new file mode 100644 index 0000000..e68d416 --- /dev/null +++ b/tests/i/class-overload-methods/program.cps @@ -0,0 +1,46 @@ +CLASS Box +Value : INTEGER +PUBLIC OVERLOAD PROCEDURE NEW() +Value <- 1 +ENDPROCEDURE +PUBLIC OVERLOAD PROCEDURE NEW(x : INTEGER) +Value <- x +ENDPROCEDURE +PUBLIC OVERLOAD PROCEDURE NEW(x : STRING) +Value <- LENGTH(x) +ENDPROCEDURE +OVERLOAD FUNCTION Get() RETURNS INTEGER +RETURN Value +ENDFUNCTION +OVERLOAD FUNCTION Get(x : INTEGER) RETURNS INTEGER +RETURN Value + x +ENDFUNCTION +OVERLOAD FUNCTION Get(x : STRING) RETURNS STRING +RETURN x & "!" +ENDFUNCTION +OVERLOAD PROCEDURE Set(x : INTEGER) +Value <- x +ENDPROCEDURE +OVERLOAD PROCEDURE Set(x : STRING) +Value <- LENGTH(x) +ENDPROCEDURE +ENDCLASS +TYPE Holder +DECLARE Item : Box +ENDTYPE +DECLARE a : Box +DECLARE b : Box(7) +DECLARE c : Box("four") +DECLARE h : Holder +DECLARE items : ARRAY[1:2] OF Box +OUTPUT a.Get(), b.Get(), c.Get() +OUTPUT h.Item.Get(), items[2].Get() +OUTPUT b.Get(2) +OUTPUT b.Get("ok") +CALL a.Set("abc") +OUTPUT a.Get() +a <- NEW Box(8) +OUTPUT a.Get() +CALL a.NEW() +OUTPUT a.Get() +DELETE a |
