Hi Dale - thanks for chipping in. Iâve seen references to Rowan, but hadnât investigated. Interesting. Were you thinking of a standard visitor pattern (Gof) or something else? And/Or, Is this visiting piece already done, or would it help if we had such a beast in Pharo that you could then reuse for your purpose? As an aside, in a separate message, I was lamenting the complexity of managing 100 simple similar packages with the same dependency - would Rowan help with that? Tim Sent from my iPhone
On 20 May 2019, at 20:16, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
Tim,
I know that this doesn't answer your question, but one of the features that I'm building into Rowan is just this capability:
project definitions composed of package definitions package definitions composed of class and class extension definitions class and class extensions definitions composed of method definitions ... there are also definitions that cover what is now handled by Metacello: conditional packages, package grouping and project dependencies ...
I am intending/hoping that Rowan will eventually be available for Pharo:) ... I have to finish Rowan for GemStone first:)
Dale
On 5/19/19 10:23 AM, Tim Mackinnon wrote: Hi - is there a way to iterate over all the code in a package (or class or baseline) in a generic way (to pretty print out class definitions, and methods - including extensions ).
I was kind of hoping that with TonelWriter and Fileout and Critics that we would have a generic visitor mechanism but it seems that all of them just implemented it again - which misses a big opportunity for refactoring so that when you want to reason/print/manipulate code - it would be more straight forward.
Is there anything/anyone addressing this ? Or maybe Iâve missed an obvious trick somewhere?
Tim
Sent from my iPhone