X-Git-Url: http://nitlanguage.org diff --git a/src/frontend/check_annotation.nit b/src/frontend/check_annotation.nit index 367ba4d..ffba4ad 100644 --- a/src/frontend/check_annotation.nit +++ b/src/frontend/check_annotation.nit @@ -22,6 +22,7 @@ import phase private import annotation redef class ToolContext + # Check for unknown annotation in each module var check_annotation_phase: Phase = new CheckAnnotationPhase(self, null) end @@ -39,7 +40,7 @@ private class CheckAnnotationPhase do # Get the mmodule var mmodule = nmodule.mmodule - assert mmodule != null + if mmodule == null then return self.mmodule = mmodule # If no decl block then quit @@ -60,7 +61,7 @@ private class CheckAnnotationPhase for m in super_mmodules do if declared_annotations[m].has(name) then - modelbuilder.warning(annot, "Warning: an annotation `{name}` is already declared in module `{m}`") + modelbuilder.warning(annot, "multiple-annotation-declarations", "Warning: an annotation `{name}` is already declared in module `{m}`") break label end end @@ -75,18 +76,26 @@ private class CheckAnnotationPhase var primtives_annotations_list = """ new_annotation +deprecated fixed lazy noinit readonly writable -cached +autoinit +noautoinit nosuper old_style_init +abstract +intern +extern +no_warning + +auto_inspect pkgconfig -c_compiler_option -c_linker_option +cflags +ldflags platform """ @@ -103,7 +112,7 @@ platform if primtives_annotations.has(name) then return var mmodule = self.mmodule - assert mmodule != null + if mmodule == null then return # Lazily build the full user-list var annots = user_annotations.get_or_null(mmodule) @@ -116,7 +125,7 @@ platform if annots.has(name) then return - toolcontext.modelbuilder.warning(nat, "Warning: unknown annotation `{name}`") + toolcontext.modelbuilder.warning(nat, "unknown-annotation", "Warning: unknown annotation `{name}`") annots.add(name) # to avoid multiple errors on the same name end