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
for m in super_mmodules do
if declared_annotations[m].has(name) then
- modelbuilder.warning(annot, "multiple-annotation-declarations", "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
var primtives_annotations_list = """
new_annotation
+conditional
+
deprecated
fixed
lazy
noinit
readonly
writable
+optional
autoinit
-cached
+noautoinit
+lateinit
nosuper
old_style_init
abstract
intern
extern
no_warning
+generated
+
+auto_inspect
pkgconfig
cflags
ldflags
+light_ffi
platform
+
+test
+before
+before_all
+after
+after_all
+example
"""
# Efficient set build from `primtives_annotations_list`
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)
if annots.has(name) then return
- toolcontext.modelbuilder.warning(nat, "unknown-annotation", "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