X-Git-Url: http://nitlanguage.org diff --git a/src/model/mdoc.nit b/src/model/mdoc.nit index 919b48c..2f8d045 100644 --- a/src/model/mdoc.nit +++ b/src/model/mdoc.nit @@ -23,9 +23,35 @@ class MDoc # The starting `#` and first space are stripped. # The trailing `\n` are chomped. var content = new Array[String] + + # 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 end redef class MEntity - # The documentation assiciated to the entity - var mdoc: nullable MDoc writable + # The documentation associated to the entity + var mdoc: nullable MDoc 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 + # + # 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. + # Has no other specific effect. + var deprecation: nullable MDeprecationInfo = null is writable +end + +# Information about a deprecated entity +class MDeprecationInfo + # Explanation about the deprecation + var mdoc: nullable MDoc = null is writable end