+ # Is `self` a module generated by a tool?
+ #
+ # This flag has no effect on the semantic.
+ # It is only intended on software engineering software to discriminate computer-generated modules from human-written ones.
+ var is_generated: Bool = false is writable
+
+ # Get the non-`is_fictive` module on which `self` is based on.
+ #
+ # On non-fictive module, this returns `self`.
+ # On fictive modules, this is used to refer the module which `self` is based on.
+ #
+ # This attribute should be set when a fictive module is created. See `is_fictive`.
+ var first_real_mmodule: MModule = self is writable
+