From 17f6d2e8dc62178667a9ea53cafe37b26d726d08 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Tue, 10 Jun 2014 22:04:17 -0400 Subject: [PATCH 1/1] tests: add error_toplevel.nit and fix sav/error_expr_not_ok_alt4.res Signed-off-by: Jean Privat --- tests/error_toplevel.nit | 49 ++++++++++++++++++++++++++++++++++ tests/sav/error_expr_not_ok_alt4.res | 1 + tests/sav/error_toplevel.res | 6 +++++ tests/sav/error_toplevel_alt1.res | 1 + tests/sav/error_toplevel_alt2.res | 1 + tests/sav/error_toplevel_alt3.res | 1 + tests/sav/error_toplevel_alt4.res | 1 + tests/sav/error_toplevel_alt5.res | 1 + 8 files changed, 61 insertions(+) create mode 100644 tests/error_toplevel.nit create mode 100644 tests/sav/error_toplevel.res create mode 100644 tests/sav/error_toplevel_alt1.res create mode 100644 tests/sav/error_toplevel_alt2.res create mode 100644 tests/sav/error_toplevel_alt3.res create mode 100644 tests/sav/error_toplevel_alt4.res create mode 100644 tests/sav/error_toplevel_alt5.res diff --git a/tests/error_toplevel.nit b/tests/error_toplevel.nit new file mode 100644 index 0000000..c33bcb0 --- /dev/null +++ b/tests/error_toplevel.nit @@ -0,0 +1,49 @@ +# This file is part of NIT ( http://www.nitlanguage.org ). +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import kernel + +redef class Object + fun baz do + output + end + + fun foo1 + do + bar(1) + bar(self) + #alt1#3.bar(3) + + 5.baz + baz + end +end + +fun foo2 +do + bar(10) + #alt2#self.bar(20) + #alt3#bar(self) + #alt4#4.bar(40) + + 50.baz + #alt5#baz +end + +fun bar(o: Object) +do + o.output +end + +0.foo1 +foo2 diff --git a/tests/sav/error_expr_not_ok_alt4.res b/tests/sav/error_expr_not_ok_alt4.res index 7729232..3919001 100644 --- a/tests/sav/error_expr_not_ok_alt4.res +++ b/tests/sav/error_expr_not_ok_alt4.res @@ -10,6 +10,7 @@ alt/error_expr_not_ok_alt4.nit:43,1--8: Error: Method 'fail' doesn't exists in I alt/error_expr_not_ok_alt4.nit:45,7--10: Type error: expected A, got Object alt/error_expr_not_ok_alt4.nit:46,1--9: Error: Method 'fail' doesn't exists in Object. alt/error_expr_not_ok_alt4.nit:49,7--10: Type error: expected A, got Object +alt/error_expr_not_ok_alt4.nit:50,1--10: Error: cannot call 'trash', a top-level method, with a receiver. alt/error_expr_not_ok_alt4.nit:50,1--10: Error: Incorrect number of parameters. Got 0, expected 1. Signature is (x: A) alt/error_expr_not_ok_alt4.nit:60,4--7: Type error: expected Bool, got Int alt/error_expr_not_ok_alt4.nit:60,20: Type error: expected A, got Int diff --git a/tests/sav/error_toplevel.res b/tests/sav/error_toplevel.res new file mode 100644 index 0000000..f00464b --- /dev/null +++ b/tests/sav/error_toplevel.res @@ -0,0 +1,6 @@ +1 +0 +5 +0 +10 +50 diff --git a/tests/sav/error_toplevel_alt1.res b/tests/sav/error_toplevel_alt1.res new file mode 100644 index 0000000..b18282f --- /dev/null +++ b/tests/sav/error_toplevel_alt1.res @@ -0,0 +1 @@ +alt/error_toplevel_alt1.nit:25,3--10: Error: cannot call 'bar', a top-level method, with a receiver. diff --git a/tests/sav/error_toplevel_alt2.res b/tests/sav/error_toplevel_alt2.res new file mode 100644 index 0000000..8b3cf76 --- /dev/null +++ b/tests/sav/error_toplevel_alt2.res @@ -0,0 +1 @@ +alt/error_toplevel_alt2.nit:35,2--5: Error: self cannot be used in top-level method. diff --git a/tests/sav/error_toplevel_alt3.res b/tests/sav/error_toplevel_alt3.res new file mode 100644 index 0000000..acfd7bf --- /dev/null +++ b/tests/sav/error_toplevel_alt3.res @@ -0,0 +1 @@ +alt/error_toplevel_alt3.nit:36,6--9: Error: self cannot be used in top-level method. diff --git a/tests/sav/error_toplevel_alt4.res b/tests/sav/error_toplevel_alt4.res new file mode 100644 index 0000000..c1a37ee --- /dev/null +++ b/tests/sav/error_toplevel_alt4.res @@ -0,0 +1 @@ +alt/error_toplevel_alt4.nit:37,2--10: Error: cannot call 'bar', a top-level method, with a receiver. diff --git a/tests/sav/error_toplevel_alt5.res b/tests/sav/error_toplevel_alt5.res new file mode 100644 index 0000000..dff56d2 --- /dev/null +++ b/tests/sav/error_toplevel_alt5.res @@ -0,0 +1 @@ +alt/error_toplevel_alt5.nit:40,2--4: Error: 'baz' is not a top-level method, thus need a receiver. -- 1.7.9.5