X-Git-Url: http://nitlanguage.org diff --git a/src/modelize/modelize_class.nit b/src/modelize/modelize_class.nit index 50a350c..8164668 100644 --- a/src/modelize/modelize_class.nit +++ b/src/modelize/modelize_class.nit @@ -104,11 +104,6 @@ redef class ModelBuilder end if mclass == null then - if nclassdef isa AStdClassdef and nclassdef.n_kwredef != null then - error(nclassdef, "Redef Error: no imported class `{name}` to refine.") - return - end - # Check for conflicting class full-names in the package if mmodule.mgroup != null and mvisibility >= protected_visibility then var mclasses = model.get_mclasses_by_name(name) @@ -279,6 +274,10 @@ redef class ModelBuilder if mclassdef.is_intro and objectclass != null then if mclass.kind == extern_kind and mclass.name != "Pointer" then # it is an extern class, but not a Pointer + if pointerclass == null then + error(nclassdef, "Error: `Pointer` must be defined first.") + return + end if specpointer then supertypes.add pointerclass.mclass_type else if specobject then if mclass.name != "Object" then @@ -313,7 +312,6 @@ redef class ModelBuilder end # Build the classes of the module `nmodule`. - # REQUIRE: classes of imported modules are already build. (let `phase` do the job) private fun build_classes(nmodule: AModule) do # Force building recursively