modelize_class: make various steps more robust if the previous steps failed
[nit.git] / src / modelize / modelize_property.nit
index a4d1141..d2625cd 100644 (file)
@@ -86,7 +86,8 @@ redef class ModelBuilder
                # Force building recursively
                if nclassdef.build_properties_is_done then return
                nclassdef.build_properties_is_done = true
-               var mclassdef = nclassdef.mclassdef.as(not null)
+               var mclassdef = nclassdef.mclassdef
+               if mclassdef == null then return # skip error
                if mclassdef.in_hierarchy == null then return # Skip error
                for superclassdef in mclassdef.in_hierarchy.direct_greaters do
                        if not mclassdef2nclassdef.has_key(superclassdef) then continue
@@ -735,6 +736,7 @@ redef class AMethPropdef
                        end
                        mprop.is_init = is_init
                        mprop.is_new = n_kwnew != null
+                       if mprop.is_new then mclassdef.mclass.has_new_factory = true
                        if parent isa ATopClassdef then mprop.is_toplevel = true
                        self.check_redef_keyword(modelbuilder, mclassdef, n_kwredef, false, mprop)
                else