Modules | Files | Inheritance Tree | Inheritance Graph | Name Index | Config
module Synopsis::Linker::Comments
class Grouper
Files: Synopsis/Linker/Comments.py
Grouper-inheritance Scopes/Synopsis/Linker/Comments/Transformer.html Scopes/Synopsis/Linker/Comments/CommentProcessor.html

A class that detects grouping tags and moves the enclosed nodes into a subnode (a 'Group')


Operations Summary:
 __init__(self) [Source]
 visitDeclaration(self, decl)
Checks for grouping tags. [Source]
 visitScope(self, scope)
Visits all children of the scope in a new scope. [Source]
 visitEnum(self, enum)
Does the same as visitScope, but for the enum's list of enumerators [Source]
 visitEnumerator(self, enumor)
Removes dummy enumerators [Source]

Operations Inherited from Transformer
processAll, push, pop, add, currscope

Operations Inherited from CommentProcessor
process

Operation Details:
  visitDeclaration(self, decl)

Checks for grouping tags. If an opening tag is found in the middle of a comment, a new Group is generated, the preceeding comments are associated with it, and is pushed onto the scope stack as well as the groups stack.


  visitScope(self, scope)

Visits all children of the scope in a new scope. The value of currscope() at the end of the list is used to replace scope's list of declarations - hence you can remove (or insert) declarations from the list. Such as dummy declarations :)