Clone
ssoberni <stefan.sobernig@wu-wien.ac.at>
committed
on 08 Sep 10
- Added two new templates: method.html.tmpl and submethod.html.tmpl - Generalised the support for sub-commands and sub-methods, incl… Show more
   - Added two new templates: method.html.tmpl and submethod.html.tmpl     - Generalised the support for sub-commands and sub-methods, including       a shortcut notation for tag lines.     - Adding the special handling of initcmd blocks of attribute slots:       They are processed as @param specifications of their owning (class)       object. In a next step, I will limit this special handling to the       first comment block only, while subsequent ones are evaluated in the       context of the slot object itself.     - Fixed an issue with cleaning up the processing-related mixin classes       in the CommentBlockParser: As the nested notation of doc entities       can conflict with relation slot forwarders (*::info::mixin       vs. *::info mixin <add|delete>), I revert to using ::nsf::relation       directly.     - Fixed the default namespace resolution (still needs some review,       once all use cases are figured out!) Changed nx and nsf       documentation accordingly.     - Add first doc text for Object->info() and its sub-methods (for       testing purposes, merely)     - Added an initial implementation for parsing level support. By       introducing skipping axes into the tag notation (e.g., @..param), we       can now differentiate between different scopes of applications for       tags. This has a number of advantages: a) processing becomes more       efficient (skip-level annotated tags can be identified early), b) we       do not have maintain different tag labels for different parsing       levels (e.g., @child-object vs. @object), ...     - Parsing levels have to be maintained within the documentation       processor and provided to the comment block parsers at work. This       still has to be accomplished.     - Adapted the naming scheme for qualifier tags (for now). Instead of       "child" scopes, we coerce the entity names using namespace       delimiters (this fits nested objects nicely)     - Changed the resolution behaviour for dotted tag labels: Intermediate       nodes (i.e., entities) are not allocated anymore, on the       fly. Rather, it is a pure id resolution, except from the leaf       element which is effectively initialised as a documentation       entity. This has major implications: It requires partof entities to       exist prior to any part entity. However, the id resolution work can       later be reused when introducing the new tag notations into the link       block markers in the templating engine (avoiding zombie and widely       undescribed doc entities).     - Started shifting id generation into part attributes (for the time       being). Probably I will do so permanently to avoid the complexity in       the various new() factories for doc entity types.     - Adjusted the tests accordings and added many more on the navigatable       tag notation.     - Renamed EntityClass and PartClass into Tag and PartTag. The       meta-class names so better reflect their purpose as entity factory       classes, based on the tag notation scheme. Added a QualifierTag       meta-class which marks tags (@class, @object, @command) which impose       extra requirements when not being part of another entity (in       particular, default namespace resolution). If not part of another       entity, they represent *qualifying* language constructs,       i.e. language constructs which help identify other elements (command       -> subcommand, object -> nested object or method).     - Started harmonising the entity class hierarchy (not ready cooked yet):       Entity < StructuredEntity < ContainerEntity < @project                                   < @method         < @package         < PartEntity       < @object            (@param)           < @class                                < @command       The most important change is that all entities (entity instances)       can become parts, however, only a single entity class (@param) is       critical about it.

Show less