Changes

Summary

  1. This PR changes ClyMethodCodeEditorToolMorph/ClyMethodEditorToolMorph to store the ast. (details)
  2. Simplify code: (details)
  3. another fix: after accepting a method, make sure that the AST is again in sync with what "aMethod ast" returns (details)
  4. fix #8978 by removing the call to #lineSelectAndEmptyCheck:. The overridden method in the superclass had that already commented. (details)
Commit 4c93cfc097de25f858293a9f1e338abd72e4e486 by marcus.denker
This PR changes ClyMethodCodeEditorToolMorph/ClyMethodEditorToolMorph to store the ast.

- #buildTextMorph, when the view is created, gets the ast from the unchanged method
- every keystroke (see #textChanged:) parses a new AST from the text buffer
- #findSourceNodeAt: and selectedSourceNode now do not create new ASTs

This makes breakpoints work again for *non saved* methods. This should get us back very close to the old behavior
and makes breakpoints usable for saved methods.

After this we need to:
- after the breakpoint is set, we need to pretty print the AST without re-generating the AST. This would make a breakpoint set on a 'dirty' method visible
until you contiue editing
- We need to then make sure that if we accept a method with a set breakpoint that we compile the method not from the text buffer but from the AST
(and make sure the reflective method is correctly setup)
The file was modifiedsrc/Calypso-SystemTools-Core/ClyMethodCodeEditorToolMorph.class.st (diff)
The file was modifiedsrc/Calypso-SystemTools-Core/ClyMethodEditorToolMorph.class.st (diff)
Commit 7c678a6be9663d045439c9257dc6f35d496c7528 by marcus.denker
Simplify code:

- #initializeAST gets the ast from the method (in ClyMethodCodeEditorToolMorph)
- #currentEditedAST inlines #getASTFor: to make clear that this is the sole method that gets the AST from the textBuffer

#buildTextMorph now calls #initializeAST to set the AST to the AST of the method when the editor is created.
The file was modifiedsrc/Calypso-SystemTools-Core/ClyMethodCodeEditorToolMorph.class.st (diff)
The file was modifiedsrc/Calypso-SystemTools-Core/ClyMethodEditorToolMorph.class.st (diff)
Commit 3f43933c53cbc4ae923450eb65d1d4d66085b360 by marcus.denker
another fix: after accepting a method, make sure that the AST is again in sync with what "aMethod ast" returns
The file was modifiedsrc/Calypso-SystemTools-Core/ClyMethodCodeEditorToolMorph.class.st (diff)
Commit 85d45c08022d8779d4848e876835a6bfe1024727 by marcus.denker
fix #8978 by removing the call to #lineSelectAndEmptyCheck:. The overridden method in the superclass had that already commented.

fixes #8978
The file was modifiedsrc/Rubric/RubSmalltalkEditor.class.st (diff)
The file was modifiedsrc/Calypso-SystemTools-QueryBrowser/ClyTextEditor.extension.st (diff)