--- /dev/null
+# 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
+
+class A
+ #1alt1#fun f1 do end
+ #1alt2#fun f1(i: Int) do end
+ #1alt3#fun f1: Int do return 0
+ #1alt4#fun f1(i: Int): Int do return i + 1
+end
+
+class B
+ super A
+ #alt1#redef fun f1 do end
+ #alt2#redef fun f1(i: Int) do end
+ #alt3#redef fun f1(i) do end
+ #alt4#redef fun f1 do return 0
+ #alt5#redef fun f1(i: Int) do return i + 1
+ #alt6#redef fun f1(i) do return i + 1
+ #alt7#redef fun f1: Int do return 0
+ #alt8#redef fun f1(i: Int): Int do return i + 1
+ #alt9#redef fun f1(i): Int do return i + 1
+end
+
--- /dev/null
+# 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
+
+class A
+ #1alt1#fun f1 do end
+ #1alt2#fun f1(i: Int) do end
+ #1alt3#fun f1: Int do return 0
+ #1alt4#fun f1(i: Int): Int do return i + 1
+end
+
+class B
+ super A
+ #alt1#fun f1 do end
+ #alt2#fun f1(i: Int) do end
+ #alt3#fun f1(i) do end
+ #alt4#fun f1 do return 0
+ #alt5#fun f1(i: Int) do return i + 1
+ #alt6#fun f1(i) do return i + 1
+ #alt7#fun f1: Int do return 0
+ #alt8#fun f1(i: Int): Int do return i + 1
+ #alt9#fun f1(i): Int do return i + 1
+end
+
--- /dev/null
+alt/error_redef2_1alt1_alt1.nit:26,2--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt1_alt2.nit:26,2--27,14: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt1_alt3.nit:26,2--28,9: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt1_alt4.nit:26,2--29,19: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt1_alt5.nit:26,2--30,31: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt1_alt6.nit:26,2--31,26: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt1_alt7.nit:26,2--32,24: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt1_alt8.nit:26,2--33,36: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt1_alt9.nit:34,9: Syntax error: untyped parameter.
+alt/error_redef2_1alt1_alt9.nit:26,2--34,31: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt2_alt1.nit:26,2--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt2_alt2.nit:26,2--27,14: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt2_alt3.nit:26,2--28,9: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt2_alt4.nit:26,2--29,19: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt2_alt5.nit:26,2--30,31: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt2_alt6.nit:26,2--31,26: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt2_alt7.nit:26,2--32,24: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt2_alt8.nit:26,2--33,36: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt2_alt9.nit:34,9: Syntax error: untyped parameter.
+alt/error_redef2_1alt2_alt9.nit:26,2--34,31: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt3_alt1.nit:26,2--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt3_alt2.nit:26,2--27,14: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt3_alt3.nit:26,2--28,9: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt3_alt4.nit:26,2--29,19: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt3_alt5.nit:26,2--30,31: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt3_alt6.nit:26,2--31,26: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt3_alt7.nit:26,2--32,24: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt3_alt8.nit:26,2--33,36: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt3_alt9.nit:34,9: Syntax error: untyped parameter.
+alt/error_redef2_1alt3_alt9.nit:26,2--34,31: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt4_alt1.nit:26,2--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt4_alt2.nit:26,2--27,14: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt4_alt3.nit:26,2--28,9: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt4_alt4.nit:26,2--29,19: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt4_alt5.nit:26,2--30,31: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt4_alt6.nit:26,2--31,26: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt4_alt7.nit:26,2--32,24: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt4_alt8.nit:26,2--33,36: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_1alt4_alt9.nit:34,9: Syntax error: untyped parameter.
+alt/error_redef2_1alt4_alt9.nit:26,2--34,31: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
--- /dev/null
+alt/error_redef2_alt3.nit:28,9: Error: Untyped parameter.
--- /dev/null
+alt/error_redef2_alt4.nit:29,12--19: Error: Return with value in a procedure.
--- /dev/null
+alt/error_redef2_alt5.nit:30,20--31: Error: Return with value in a procedure.
--- /dev/null
+alt/error_redef2_alt6.nit:31,9: Error: Untyped parameter.
--- /dev/null
+alt/error_redef2_alt9.nit:34,9: Syntax error: untyped parameter.
+alt/error_redef2_alt9.nit:34,9: Error: Untyped parameter.
--- /dev/null
+alt/error_redef_1alt1_alt2.nit:26,2--27,20: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
--- /dev/null
+alt/error_redef_1alt1_alt3.nit:26,2--28,15: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
--- /dev/null
+alt/error_redef_1alt1_alt4.nit:29,18--25: Error: Return with value in a procedure.
--- /dev/null
+alt/error_redef_1alt1_alt5.nit:26,2--30,37: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
--- /dev/null
+alt/error_redef_1alt1_alt6.nit:26,2--31,32: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
--- /dev/null
+alt/error_redef_1alt1_alt7.nit:26,2--32,30: Redef error: The function B::f1 redefines the procedure A::f1.
--- /dev/null
+alt/error_redef_1alt1_alt8.nit:26,2--33,42: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
+alt/error_redef_1alt1_alt8.nit:26,2--33,42: Redef error: The function B::f1 redefines the procedure A::f1.
--- /dev/null
+alt/error_redef_1alt1_alt9.nit:34,15: Syntax error: untyped parameter.
+alt/error_redef_1alt1_alt9.nit:26,2--34,37: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
--- /dev/null
+alt/error_redef_1alt2_alt1.nit:26,2--13: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
--- /dev/null
+alt/error_redef_1alt2_alt4.nit:26,2--29,25: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
--- /dev/null
+alt/error_redef_1alt2_alt5.nit:30,26--37: Error: Return with value in a procedure.
--- /dev/null
+alt/error_redef_1alt2_alt6.nit:31,21--32: Error: Return with value in a procedure.
--- /dev/null
+alt/error_redef_1alt2_alt7.nit:26,2--32,30: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
+alt/error_redef_1alt2_alt7.nit:26,2--32,30: Redef error: The function B::f1 redefines the procedure A::f1.
--- /dev/null
+alt/error_redef_1alt2_alt8.nit:26,2--33,42: Redef error: The function B::f1 redefines the procedure A::f1.
--- /dev/null
+alt/error_redef_1alt2_alt9.nit:34,15: Syntax error: untyped parameter.
--- /dev/null
+alt/error_redef_1alt3_alt1.nit:26,2--13: Control error: Reached end of function (a 'return' with a value was expected).
--- /dev/null
+alt/error_redef_1alt3_alt2.nit:26,2--27,20: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
+alt/error_redef_1alt3_alt2.nit:26,2--27,20: Redef error: The procedure B::f1 redefines the function A::f1.
--- /dev/null
+alt/error_redef_1alt3_alt3.nit:26,2--28,15: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
--- /dev/null
+alt/error_redef_1alt3_alt5.nit:26,2--30,37: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
+alt/error_redef_1alt3_alt5.nit:26,2--30,37: Redef error: The procedure B::f1 redefines the function A::f1.
--- /dev/null
+alt/error_redef_1alt3_alt6.nit:26,2--31,32: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
--- /dev/null
+alt/error_redef_1alt3_alt8.nit:26,2--33,42: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
--- /dev/null
+alt/error_redef_1alt3_alt9.nit:34,15: Syntax error: untyped parameter.
+alt/error_redef_1alt3_alt9.nit:26,2--34,37: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
--- /dev/null
+alt/error_redef_1alt4_alt1.nit:26,2--13: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
--- /dev/null
+alt/error_redef_1alt4_alt2.nit:26,2--27,20: Redef error: The procedure B::f1 redefines the function A::f1.
--- /dev/null
+alt/error_redef_1alt4_alt3.nit:26,2--28,15: Control error: Reached end of function (a 'return' with a value was expected).
--- /dev/null
+alt/error_redef_1alt4_alt4.nit:26,2--29,25: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
--- /dev/null
+alt/error_redef_1alt4_alt5.nit:26,2--30,37: Redef error: The procedure B::f1 redefines the function A::f1.
--- /dev/null
+alt/error_redef_1alt4_alt7.nit:26,2--32,30: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
--- /dev/null
+alt/error_redef_1alt4_alt9.nit:34,15: Syntax error: untyped parameter.
--- /dev/null
+alt/error_redef_alt1.nit:26,2--13: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
--- /dev/null
+alt/error_redef_alt2.nit:26,2--27,20: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
--- /dev/null
+alt/error_redef_alt3.nit:28,15: Error: Untyped parameter.
+alt/error_redef_alt3.nit:26,2--28,15: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
--- /dev/null
+alt/error_redef_alt4.nit:26,2--29,25: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
--- /dev/null
+alt/error_redef_alt5.nit:26,2--30,37: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
--- /dev/null
+alt/error_redef_alt6.nit:31,15: Error: Untyped parameter.
+alt/error_redef_alt6.nit:26,2--31,32: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
--- /dev/null
+alt/error_redef_alt7.nit:26,2--32,30: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
--- /dev/null
+alt/error_redef_alt8.nit:26,2--33,42: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
--- /dev/null
+alt/error_redef_alt9.nit:34,15: Syntax error: untyped parameter.
+alt/error_redef_alt9.nit:34,15: Error: Untyped parameter.
+alt/error_redef_alt9.nit:26,2--34,37: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.