module mdoc
import model_base
+import location
# Structured documentation of a `MEntity` object
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
+ var mdoc: nullable MDoc = null is writable
# The documentation associated to the entity or their main nested entity.
#
- # MProject fall-back to their root MGroup
- # MGroup fall-back to their default_mmodule
- # Other entities do not fall-back
+ # * `MPackage`s fall back to their root `MGroup`.
+ # * `MGroup`s fall back to their `default_mmodule`.
+ # * `MClass`es, `MClassDef`s, `MProperty`s and `MPropDef`s fall-back to
+ # their introducing definition.
+ # * `MClassType`s fall back to their wrapped `MClass`.
+ # * `MVirtualType`s fall back to their wrapped `MProperty`.
+ # * `CallSite` fall back on the wrapped `MProperty`.
+ # * Other entities do not fall back.
#
# One may use `MDoc::original_mentity` to retrieve the original
# source of the documentation.