On Mon, Jan 10, 2011 at 9:46 AM, <pharo@googlecode.com> wrote:
Status: Accepted
Owner: siguctua

New issue 3525 by siguctua: Compiler>>parserClass is broken and does not querying the class for providing the parser class
http://code.google.com/p/pharo/issues/detail?id=3525

In the following:

Compiler>>parserClass

� � � �^parser ifNil: [self class parserClass] ifNotNil: [parser class]

Who writes this stuff ?? ;)

<blush>

I suggest the attached:

parserClass

^parser ifNil: [(class ifNil: [self class]) parserClass] ifNotNil: [parser class]


'self class' should actually be 'class parserClass'

So, any class could override the default parser by own. In that way a default parser class is answered by Behavior, not by Compiler.
A Compiler class>>parserClass is useless.


But even more than that, due to initializing 'parser' ivar in Compiler>>new,
it never gets to that code, and evaluating 'parser class'
So, a class can't specify a custom parser class to compiler.