modelbuilder: error on protected classes and imports
authorJean Privat <jean@pryen.org>
Tue, 6 Aug 2013 02:04:32 +0000 (22:04 -0400)
committerJean Privat <jean@pryen.org>
Tue, 6 Aug 2013 02:04:32 +0000 (22:04 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/modelbuilder.nit
src/modelize_class.nit

index aee1ea3..af60c66 100644 (file)
@@ -411,6 +411,10 @@ class ModelBuilder
                        if sup == null then continue # Skip error
                        imported_modules.add(sup)
                        var mvisibility = aimport.n_visibility.mvisibility
+                       if mvisibility == protected_visibility then
+                               error(aimport.n_visibility, "Error: only properties can be protected.")
+                               return
+                       end
                        mmodule.set_visibility_for(sup, mvisibility)
                end
                if stdimport then
index 5737e4b..9cfc3eb 100644 (file)
@@ -51,6 +51,10 @@ redef class ModelBuilder
                        nvisibility = nclassdef.n_visibility
                        mvisibility = nvisibility.mvisibility
                        arity = nclassdef.n_formaldefs.length
+                       if mvisibility == protected_visibility then
+                               error(nvisibility, "Error: only properties can be protected.")
+                               return
+                       end
                else if nclassdef isa ATopClassdef then
                        name = "Object"
                        nkind = null