model: try_get_primitive_method asks for a MClass (and not a MType)
[nit.git] / src / modelbuilder.nit
index ca12cc1..8186969 100644 (file)
@@ -29,6 +29,8 @@ import opts
 import toolcontext
 import phase
 
+private import more_collections
+
 ###
 
 redef class ToolContext
@@ -409,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
@@ -445,7 +451,7 @@ class ModelBuilder
        end
 
        # Force to get the primitive method named `name' on the type `recv' or do a fatal error on `n'
-       fun force_get_primitive_method(n: ANode, name: String, recv: MType, mmodule: MModule): MMethod
+       fun force_get_primitive_method(n: ANode, name: String, recv: MClass, mmodule: MModule): MMethod
        do
                var res = mmodule.try_get_primitive_method(name, recv)
                if res == null then