X-Git-Url: http://nitlanguage.org diff --git a/src/model/mdoc.nit b/src/model/mdoc.nit index 44ddfea..2035b06 100644 --- a/src/model/mdoc.nit +++ b/src/model/mdoc.nit @@ -16,6 +16,7 @@ module mdoc import model_base +import location # Structured documentation of a `MEntity` object class MDoc @@ -26,10 +27,35 @@ 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 writable = null + 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 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. + # + # 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. + # 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