aboutsummaryrefslogtreecommitdiff
path: root/tests/iii/class-new-errors
diff options
context:
space:
mode:
Diffstat (limited to 'tests/iii/class-new-errors')
-rw-r--r--tests/iii/class-new-errors/case.json12
-rw-r--r--tests/iii/class-new-errors/program.cps5
2 files changed, 17 insertions, 0 deletions
diff --git a/tests/iii/class-new-errors/case.json b/tests/iii/class-new-errors/case.json
index 8ce52ed..7f33ffd 100644
--- a/tests/iii/class-new-errors/case.json
+++ b/tests/iii/class-new-errors/case.json
@@ -27,6 +27,18 @@
{
"reason": "NEW target must have type Hidden",
"line": 26
+ },
+ {
+ "reason": "Cannot access private method NEW of type Hidden",
+ "line": 28
+ },
+ {
+ "reason": "has no constructor NEW",
+ "line": 30
+ },
+ {
+ "reason": "Cannot coerce value of LLVM type to target type INTEGER",
+ "line": 31
}
]
}
diff --git a/tests/iii/class-new-errors/program.cps b/tests/iii/class-new-errors/program.cps
index 3a9e9c2..78db102 100644
--- a/tests/iii/class-new-errors/program.cps
+++ b/tests/iii/class-new-errors/program.cps
@@ -24,3 +24,8 @@ B <- NEW Box(1)
R <- NEW Required
R <- NEW Required()
B <- NEW Hidden
+PROCEDURE Forbidden(Target : Hidden)
+ Target <- NEW Hidden()
+ENDPROCEDURE
+B <- NEW Box("bad")
+R <- NEW Required("bad")