[squeak-dev] HelpSystem & Class comments

Eliot Miranda eliot.miranda at gmail.com
Wed Feb 24 02:30:33 UTC 2010


On Tue, Feb 23, 2010 at 5:57 PM, keith <keith_hodges at yahoo.co.uk> wrote:

> In Sake we have a special Compiler Hack called SakeCompiler.
>
> This uses """""" (6 quotes) to mark the end of the method, from then on you
> can put any content you like in the method.
>
> There are accessors docAt: selector
>

Using a pragma is a better way.  The pragma can include any number of
strings, and literal strings can^H^H^Hshould be able to contain any
characters.  One can add additional keywords top define additional metadata.
 There is already a protocol for accessing pragmas and arguments from
methods.  One can have multiple pragmas, etc.  If the pragma is
well-designed one can perform the pragma to output the documentation.  i.e.
the pragma message is also understood by a formatter/generator, and so by
browsing implementors of the pragma you get immediately to the code that can
process said pragma.  There's a wrinkle in that the generator needs to be
parameterised by the class and selector of the method before it performs the
pragma, but that aside, it is quite neat.

e.g.

Documentor new
    outputTo: aStream;
    documentFrom: aSubClass to: aSuperClass

documentFrom: aSubClass to: aSuperClass
    (Pragma allNamed: self documentationPragma from: aSubClass to:
aSuperClass) do:
        [:p|
        currentClass := p class.
        currentSelector := p selector.
        p message sendTo: self]




> Keith
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100223/50c1eb3b/attachment.htm


More information about the Squeak-dev mailing list