src: mass rename project->package
[nit.git] / src / model / mdoc.nit
index abc733a..2035b06 100644 (file)
@@ -16,6 +16,7 @@
 module mdoc
 
 import model_base
+import location
 
 # Structured documentation of a `MEntity` object
 class MDoc
@@ -27,12 +28,25 @@ class MDoc
        # The entity where the documentation is originally attached to.
        # This gives some context to resolve identifiers or to run examples.
        var original_mentity: nullable MEntity = null is writable
+
+       # The original location of the doc for error messages
+       var location: Location
 end
 
 redef class MEntity
        # The documentation associated to the entity
        var mdoc: nullable MDoc is writable
 
+       # The documentation associated to the entity or their main nested entity.
+       #
+       # MPackage fall-back to their root MGroup
+       # MGroup fall-back to their default_mmodule
+       # Other entities do not fall-back
+       #
+       # One may use `MDoc::original_mentity` to retrieve the original
+       # source of the documentation.
+       fun mdoc_or_fallback: nullable MDoc do return mdoc
+
        # Is the entity deprecated?
        #
        # Used for warnings and in documentation.