> On 28 Jun 2016, at 15:09, Guillermo Polito <guillermopol...@gmail.com> wrote:
> 
> Ding dong Marcus!
> 
> 
… is on Holidays… with the option #optionParseErrors you can compile code with 
syntax errors:

method := Smalltalk compiler 
        class: UndefinedObject;
        options: #(+ optionParseErrors);
        compile: 'errorMethod ^1+'.
        
method valueWithReceiver: nil arguments: #()
        
This is really compiled to raise a syntax error at runtime. see

OCASTTranslator>>#visitParseErrorNode: anErrorNode  
        methodBuilder 
                pushLiteralVariable: #error -> anErrorNode 
asSyntaxErrorNotification;
                send: #signal.

with

RBParseErrorNode>>#asSyntaxErrorNotification
        ^SyntaxErrorNotification new
                setClass: self methodNode methodClass
                category: nil 
                code: self methodNode source
                doitFlag: false
                errorMessage: errorMessage
                location: self start


        Marcus

Reply via email to