help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] ParseTreeRewriter refactoring


From: Stephen Compall
Subject: Re: [Help-smalltalk] ParseTreeRewriter refactoring
Date: Thu, 11 Jan 2007 04:40:42 -0600

On Thu, 2007-01-11 at 11:30 +0100, Paolo Bonzini wrote:
> > Since the field visitors are gone, reintroducing #visitNodeList:onMatch:
> > and #visitArgumentList:onMatch: would be worthwhile again, but they need
> > to either call visitNodeList:visitor:onMatch: or be mostly copies of one
> > another, but for one selector.
> 
> I'm losing you a bit, but I think this would please me a lot more.  Can 
> you prepare the patch?  (Sorry for the burden.)

It's no problem.  However, do you mean you want the reintroduced methods
to call visitNodeList:visitor:onMatch:, or to be mostly copies of one
another?

I'll post a patch against the last version I have (which shouldn't
conflict, as it would be stuck in the middle of code you want to keep)
in 10 hours or so, after a good sleep.

> > I wish these sorts of things would be done by arguments, rather than
> > selectors :/
> 
> Agreed (I think...).

I hate when interfaces split up concepts like visitNode: and
visitArgument: that subclassers will obviously want to continue matching
behaviors.  It all trickles down when you write interfaces that wrap
those concepts.  At one point in the refactoring, you could have a stack
like this:

accept*:
  visitListField:ofNode:
    visitCollectionField:visitor:ofNode:
      visitListNode:onMatch:
        visitListNode:visitor:onMatch:
          visitNode:onMatch:

-- 
Stephen Compall
http://scompall.nocandysw.com/blog

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]