Merge: new `with` statement
[nit.git] / src / ffi / extern_classes.nit
index 05d8fd5..4e8f45d 100644 (file)
@@ -20,7 +20,7 @@ module extern_classes
 import ffi_base
 
 redef class ToolContext
-       var extern_classes_typing_phase_ast: Phase = new ExternClassesTypingPhaseAst(self, [ffi_language_assignation_phase])
+       var extern_classes_typing_phase_ast: Phase = new ExternClassesTypingPhaseAst(self, [ffi_language_assignation_phase, modelize_class_phase])
 
        var extern_classes_typing_phase_model: Phase = new ExternClassesTypingPhaseModel(self,
                [extern_classes_typing_phase_ast, modelize_class_phase, modelize_property_phase])
@@ -68,10 +68,11 @@ private class ExternClassesTypingPhaseModel
                if not nclassdef isa AStdClassdef then return
 
                var mclassdef = nclassdef.mclassdef
-               var mclass = nclassdef.mclass
+               if mclassdef == null then return
+               var mclass = mclassdef.mclass
 
                # We only need to do this once per class
-               if mclass.intro != mclassdef then return
+               if not mclassdef.is_intro then return
 
                if mclass.kind != extern_kind then return