aboutsummaryrefslogtreecommitdiff
path: root/tests/iii/class-overload-errors
diff options
context:
space:
mode:
Diffstat (limited to 'tests/iii/class-overload-errors')
-rw-r--r--tests/iii/class-overload-errors/case.json20
-rw-r--r--tests/iii/class-overload-errors/program.cps20
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)