typing: Add error when init is not found
authorFlorian Deljarry <deljarry.florian@gmail.com>
Wed, 20 Nov 2019 16:08:37 +0000 (11:08 -0500)
committerFlorian Deljarry <deljarry.florian@gmail.com>
Sat, 21 Dec 2019 11:29:08 +0000 (06:29 -0500)
More explicit error when a potential duplication of root object class.

Signed-off-by: Florian Deljarry <deljarry.florian@gmail.com>

src/semantize/typing.nit

index 3176e35..5d6b5da 100644 (file)
@@ -325,7 +325,12 @@ private class TypeVisitor
 
                if mproperty == null then
                        if recv_is_self then
-                               self.modelbuilder.error(node, "Error: method or variable `{name}` unknown in `{recvtype}`.")
+                               # FIXME This test was added to display a more explicit error when a potential duplication of root object class.
+                               if name == "init" then
+                                       self.modelbuilder.error(node, "Possible duplication of the root class `Object`")
+                               else
+                                       self.modelbuilder.error(node, "Error: method or variable `{name}` unknown in `{recvtype}`.")
+                               end
                        else if recvtype.need_anchor then
                                self.modelbuilder.error(node, "Error: method `{name}` does not exists in `{recvtype}: {unsafe_type}`.")
                        else