module Synopsis.Processors.Comments.Grouper
class Grouper
Grouper-inheritance
A class that detects grouping tags and moves the enclosed nodes into a subnode (a 'Group')
Attributes Summary:
source code
Class attributes Summary:
source code
Methods Summary:
  __init__(self, * * kwds)
references
source code
references
source code
As groups must not overlap with 'real' scopes, make sure all groups created in the current scope are closed when leaving the scope.
  finalize(self)
references
source code
  push(self)
references
source code
  pop(self, decl)
references
source code
Make sure the current group stack is empty.
  push_group(self, group)
references
source code
Push new group scope to the stack.
  pop_group(self, decl = None)
references
source code
Pop a group scope from the stack.
  process_comments(self, decl)
references
source code
Checks for grouping tags.
  visit_declaration(self, decl)
references
source code
  visit_scope(self, scope)
references
source code
Visits all children of the scope in a new scope.
  visit_enum(self, enum)
references
source code
  visit_enumerator(self, enumor)
references
source code
Methods Details:
references
source code
As groups must not overlap with 'real' scopes, make sure all groups created in the current scope are closed when leaving the scope.
  finalize(self)
references
source code
replace the ASG with the newly created one
  push(self)
references
source code
starts a new group stack to be able to validate group scopes
  pop(self, decl)
references
source code
Make sure the current group stack is empty.
  push_group(self, group)
references
source code
Push new group scope to the stack.
  pop_group(self, decl = None)
references
source code
Pop a group scope from the stack. decl -- an optional declaration from which to extract the context, used for the error message if needed.
  process_comments(self, decl)
references
source code
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.
  visit_scope(self, scope)
references
source code
Visits all children of the scope in a new scope. The value of current_scope() 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.
  visit_enum(self, enum)
references
source code
Does the same as visit_scope, but for the enum's list of enumerators
  visit_enumerator(self, enumor)
references
source code
Removes dummy enumerators