Changes

Summary

  1. SystemHelp class does really neither need a PragmaCollector, nor cache the created instances. (details)
  2. - add #isAssociation check method (details)
  3. #isBlockVar is a bad name. It implies that it checks if a node is some kind of Variable, but instead it checks if a Variable is defined by a block. (details)
  4. Implement #isDefinedByBlock on Variable (details)
Commit 683dacfc474995d07aa31538d36a9d676a8d9e5e by marcus.denker
SystemHelp class does really neither need a PragmaCollector, nor cache the created instances.

[SystemHelp asHelpTopic] bench "'11.433 per second'"

(and it looks like the UI caches in addition...)
The file was modifiedsrc/HelpSystem-Core/SystemHelp.class.st (diff)
Commit b096e25e6f08b6742ec2f22a93d721dc4b7df642 by marcus.denker
- add #isAssociation check method
- use it in AdditionalMethodState

Now it is much clearer that there is nothing going on regarding Variables....

other users have to be checked and #isVariableBinding can be removed at some point from Association (as all Variables are now subclass of Variable)
The file was modifiedsrc/Kernel/CompiledCode.class.st (diff)
The file was modifiedsrc/Kernel/AdditionalMethodState.class.st (diff)
The file was modifiedsrc/Kernel/Object.class.st (diff)
The file was modifiedsrc/Collections-Support/Association.class.st (diff)
Commit 8d640ded69f5aa6e55e0f9436a4417cbd0768013 by marcus.denker
#isBlockVar is a bad name. It implies that it checks if a node is some kind of Variable, but instead it checks if a Variable is defined by a block.

- use #isDefinedByBlock
- deprecated isBlockVar
- add test
- fix the two senders
The file was modifiedsrc/Shout/SHRBTextStyler.class.st (diff)
The file was modifiedsrc/AST-Core-Tests/RBVariableNodeTest.class.st (diff)
The file was modifiedsrc/AST-Core/RBVariableNode.class.st (diff)
The file was modifiedsrc/Deprecated90/RBVariableNode.extension.st (diff)
Commit 7413e9dc2349b6de95ced560bd4a3b0666c48d6e by marcus.denker
Implement #isDefinedByBlock on Variable
The file was modifiedsrc/AST-Core/RBVariableNode.class.st (diff)
The file was modifiedsrc/Kernel/Variable.class.st (diff)
The file was modifiedsrc/OpalCompiler-Core/LocalVariable.class.st (diff)