Changes to Trunk (
http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2013-September/006384.htmlName: Compiler-nice.269
Ancestors: Compiler-nice.268
Remove sourceStream inst. var. from Compiler now that it is unused.
Continue the cue refactoring and remove some now unused methods.
Add a newSource instance variable to ReparseAfterSourceEditing so as to enable a compilation restart even in non interactive compilation mode.
Let me remind that non interactive here means that the Compiler does not interact directly with the source code editor. But it can still interact thru a SyntaxError window popping up.
Add a newSource instance variable to SyntaxErrorNotification, because the SyntaxError knows about this notification, it can pass the corrected code thru it.
Add some support method for SyntaxError.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2013-September/006385.htmlName: Tools-nice.497
Ancestors: Tools-fbs.496
Refactor SyntaxError
1) add an inst var pointing on the SyntaxErrorNotification instance
2) don't mess directly with the Compiler, because we don't know its final intention
(For compiling or just parsing source code?
For installing or not the compiledMethod in target class?
For logging or not the source code? etc...)
3) instead act thru the support methods provided by SyntaxErrorNotification
4) remove unsed methods and instance variables
(The SyntaxError is an old lady, it's time to erase some injuries of the past)
The main spirit of these changes is that we do not substitute to the failing Compiler, but let it restart graciously. On accept, we arrange to pass the edited source code to the compiler thru known intermediates.
The SyntaxErrorNotification knows the compiler via its signalerContext.
The Compiler knows the notification because it generated it.
So all is OK, we just have to raise already existing ReparseAfterSourceEditing when the compilation process is resumed from the signalerContext.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2013-September/006386.htmlName: Monticello-nice.570
Ancestors: Monticello-nice.569
Now that the SyntaxError restarts the existing Compiler process rather than substitute to it, it is possible to edit method with incorrect syntax in the SyntaxError and continue MC Loading/Merging.
Though, we should log the corrected code, not the syntaxically incorrect one, and for that we let MethodAddition intercept the SyntaxErrorNotification so as to retrieve its corrected newSource.
=============================================