X-Git-Url: https://git.distorted.org.uk/~mdw/fringe/blobdiff_plain/2bd37ef118cb1e41cb0e9e2332a9eb69ac2f2df4..f6006dc5e1018143a819e480bc8d67786599c57a:/smalltalk-fringe.st diff --git a/smalltalk-fringe.st b/smalltalk-fringe.st index 0d319da..653c31a 100644 --- a/smalltalk-fringe.st +++ b/smalltalk-fringe.st @@ -5,7 +5,19 @@ Smalltalk implementation of a `same-fringe' solver. Use GNU Smalltalk syntax -- it seems more Emacs-friendly. " -Object subclass: Node [ +Object subclass: BasicNode [ + + + iterator [ + "Return a new iterator to walk this node." + + + ^NodeIterator for: self + ] +] + +BasicNode subclass: Node [ | left right data | ^false ] - iterator [ - "Answer a new iterator to walk this node." - - - ^NodeIterator for: self - ] - inorderTell: aBlock tell: aNodeIterator [ "This is the hairy part of the iteration protocol. @@ -179,7 +184,7 @@ PositionableStream extend [ ] ] -Object subclass: LeafNode [ +BasicNode subclass: LeafNode [ @@ -201,13 +206,6 @@ recursive protocols used to handle Nodes.'> ^true ] - iterator [ - "Return a new iterator to walk this node." - - - ^NodeIterator for: self - ] - inorderTell: aBlock tell: aNodeIterator [ "This is the hairy part of the iteration protocol.