[Docstring-checkins] CVS: dps/dps nodes.py,1.25,1.26
Status: Pre-Alpha
Brought to you by:
goodger
From: David G. <go...@us...> - 2002-02-06 02:44:45
|
Update of /cvsroot/docstring/dps/dps In directory usw-pr-cvs1:/tmp/cvs-serv24140/dps/dps Modified Files: nodes.py Log Message: - Removed ``ancestry`` parameter from ``Node.walk()``. - ``dps.utils.Reporter`` reform. Index: nodes.py =================================================================== RCS file: /cvsroot/docstring/dps/dps/nodes.py,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** nodes.py 2002/01/30 04:52:09 1.25 --- nodes.py 2002/02/06 02:44:42 1.26 *************** *** 41,61 **** return self._dom_node(dom) ! def walk(self, visitor, ancestry=()): """ Traverse a tree of `Node` objects, calling ``visit_*`` methods of `visitor`. ! Parameters: ! - `visitor`: A `Visitor` object, containing a ``visit_...`` method for ! each `Node` subclass encountered. ! - `ancestry`: A list of (parent, index) pairs. `self`'s parent is the ! last entry. """ method = getattr(visitor, 'visit_' + self.__class__.__name__) ! method(self, ancestry) children = self.getchildren() for i in range(len(children)): ! children[i].walk(visitor, ancestry + ((self, i),)) --- 41,60 ---- return self._dom_node(dom) ! def walk(self, visitor): """ Traverse a tree of `Node` objects, calling ``visit_*`` methods of `visitor`. ! Doesn't handle arbitrary modification in-place during the traversal. ! Replacing one element with one element is OK. ! Parameter `visitor`: A `NodeVisitor` object, containing a ! ``visit_...`` method for each `Node` subclass encountered. """ method = getattr(visitor, 'visit_' + self.__class__.__name__) ! method(self) children = self.getchildren() for i in range(len(children)): ! children[i].walk(visitor) *************** *** 494,498 **** or self.external_targets.has_key(name) \ or self.implicit_targets.has_key(name): ! sw = self.reporter.information( 'Duplicate implicit target name: "%s"' % name) innode += sw --- 493,497 ---- or self.external_targets.has_key(name) \ or self.implicit_targets.has_key(name): ! sw = self.reporter.info( 'Duplicate implicit target name: "%s"' % name) innode += sw *************** *** 507,511 **** name = targetnode['name'] if self.explicit_targets.has_key(name): ! level = 1 if targetnode.has_key('refuri'): # external target, dups OK refuri = targetnode['refuri'] --- 506,510 ---- name = targetnode['name'] if self.explicit_targets.has_key(name): ! level = 2 if targetnode.has_key('refuri'): # external target, dups OK refuri = targetnode['refuri'] *************** *** 513,517 **** if t.has_key('name') and t.has_key('refuri') \ and t['refuri'] == refuri: ! level = 0 # just inform if refuri's identical sw = self.reporter.system_warning( level, 'Duplicate explicit target name: "%s"' % name) --- 512,516 ---- if t.has_key('name') and t.has_key('refuri') \ and t['refuri'] == refuri: ! level = 1 # just inform if refuri's identical sw = self.reporter.system_warning( level, 'Duplicate explicit target name: "%s"' % name) *************** *** 519,527 **** self.clear_target_names(name, self.explicit_targets, self.implicit_targets) ! if level > 0: del targetnode['name'] targetnode['dupname'] = name elif self.implicit_targets.has_key(name): ! sw = self.reporter.information( 'Duplicate implicit target name: "%s"' % name) innode += sw --- 518,526 ---- self.clear_target_names(name, self.explicit_targets, self.implicit_targets) ! if level > 1: del targetnode['name'] targetnode['dupname'] = name elif self.implicit_targets.has_key(name): ! sw = self.reporter.info( 'Duplicate implicit target name: "%s"' % name) innode += sw *************** *** 682,686 **** def astext(self): ! return '[level %s] ' % self['level'] + Element.astext(self) --- 681,686 ---- def astext(self): ! return '%s [level %s] %s' % (self['type'], self['level'], ! Element.astext(self)) *************** *** 729,733 **** ! class Visitor: """ --- 729,733 ---- ! class NodeVisitor: """ *************** *** 750,758 **** # Save typing with dynamic definitions. for name in node_class_names: ! exec """def visit_%s(self, node, ancestry): pass\n""" % name del name ! class GenericVisitor(Visitor): """ --- 750,758 ---- # Save typing with dynamic definitions. for name in node_class_names: ! exec """def visit_%s(self, node): pass\n""" % name del name ! class GenericNodeVisitor(NodeVisitor): """ *************** *** 767,771 **** """ ! def default_visit(self, node, ancestry): """Override for generic, uniform traversals.""" raise NotImplementedError --- 767,771 ---- """ ! def default_visit(self, node): """Override for generic, uniform traversals.""" raise NotImplementedError *************** *** 773,777 **** # Save typing with dynamic definitions. for name in node_class_names: ! exec """def visit_%s(self, node, ancestry): ! self.default_visit(node, ancestry)\n""" % name del name --- 773,777 ---- # Save typing with dynamic definitions. for name in node_class_names: ! exec """def visit_%s(self, node): ! self.default_visit(node)\n""" % name del name |