diff --git a/.smalltalk.ston b/.smalltalk.ston index 2a01693a..9edb3f39 100644 --- a/.smalltalk.ston +++ b/.smalltalk.ston @@ -18,7 +18,6 @@ SmalltalkCISpec { #directory : 'repository', #onWarningLog : true, #load : [ 'Tests' ], - #useLatestMetacello : true, #platforms : [ #gemstone ] } ] diff --git a/.travis.yml b/.travis.yml index 195edb41..b95d6c83 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,10 +7,11 @@ aliases: matrix: allow_failures: - - smalltalk: Squeak-trunk - - smalltalk: Squeak-5.1 - + - smalltalk: Pharo64-9.0 + - smalltalk: Squeak32-trunk include: + - smalltalk: Pharo64-9.0 + env: BUILD_NAME=Pharo64-9.0 - smalltalk: Pharo64-8.0 env: BUILD_NAME=Pharo64-8.0 - smalltalk: Pharo64-7.0 @@ -24,16 +25,18 @@ matrix: - smalltalk: Pharo-4.0 <<: *pharo4-has-latest-metacello env: BUILD_NAME=Pharo-4.0 - - smalltalk: Squeak-trunk + - smalltalk: Squeak32-trunk env: BUILD_NAME=Squeak-trunk - - smalltalk: Squeak-5.2 + - smalltalk: Squeak32-5.3 + env: BUILD_NAME=Squeak-5.3 + - smalltalk: Squeak32-5.2 env: BUILD_NAME=Squeak-5.2 - - smalltalk: Squeak-5.1 + - smalltalk: Squeak32-5.1 env: BUILD_NAME=Squeak-5.1 - - smalltalk: GemStone-3.5.1 - env: BUILD_NAME=GemStone-3.5.0 + - smalltalk: GemStone-3.5.2 + env: BUILD_NAME=GemStone-3.5.2 - smalltalk: GemStone-3.4.5 - env: BUILD_NAME=GemStone-3.4.3 + env: BUILD_NAME=GemStone-3.4.5 - smalltalk: GemStone-3.3.9 env: BUILD_NAME=GemStone-3.3.9 - smalltalk: GemStone-3.2.17 diff --git a/README.md b/README.md index e8603be6..d8812519 100644 --- a/README.md +++ b/README.md @@ -20,11 +20,11 @@ The latest Grease version is supported on the following platforms and versions, | Squeak | Pharo | GemStone | | --------------- | ---------------- | -------------------- | -| [![Build status: Squeak-5.2](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Squeak-trunk&label=5.2)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Pharo64-7.0](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Pharo64-7.0&label=7.0)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Gemstone-3.5.1](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-3.5.1&label=3.5.1)](http://travis-ci.org/SeasideSt/Grease) | -| [![Build status: Squeak-5.1](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Squeak-5.1&label=5.1)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Pharo64-6.1](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Pharo64-6.1&label=6.1)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Gemstone-3.4.5](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-3.4.5&label=3.4.5)](http://travis-ci.org/SeasideSt/Grease) | -| | [![Build status: Pharo-5.0](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Pharo-5.0&label=5.0)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Gemstone-3.3.9](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-3.3.9&label=3.3.9)](http://travis-ci.org/SeasideSt/Grease) | -| | [![Build status: Pharo-4.0](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Pharo-4.0&label=4.0)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Gemstone-3.2.17](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-3.2.17&label=3.2.17)](http://travis-ci.org/SeasideSt/Grease) | -| | | [![Build status: Gemstone-3.1.0.6](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-3.1.0.6&label=3.1.0.6)](http://travis-ci.org/SeasideSt/Grease) | +| [![Build status: Squeak-5.2](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Squeak-trunk&label=5.2)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Pharo64-8.0](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Pharo64-8.0&label=8.0)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Gemstone-3.5.2](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-3.5.2&label=3.5.2)](http://travis-ci.org/SeasideSt/Grease) | +| [![Build status: Squeak-5.1](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Squeak-5.1&label=5.1)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Pharo64-7.0](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Pharo64-7.0&label=7.0)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Gemstone-3.4.5](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-3.4.5&label=3.4.5)](http://travis-ci.org/SeasideSt/Grease) | +| | [![Build status: Pharo-6.1](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Pharo-6.1&label=6.1)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Gemstone-3.3.9](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-3.3.9&label=3.3.9)](http://travis-ci.org/SeasideSt/Grease) | +| | [![Build status: Pharo-5.0](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Pharo-5.0&label=5.0)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Gemstone-3.2.17](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-3.2.17&label=3.2.17)](http://travis-ci.org/SeasideSt/Grease) | +| | [![Build status: Pharo-4.0](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=Pharo-4.0&label=4.0)](http://travis-ci.org/SeasideSt/Grease) | [![Build status: Gemstone-3.1.0.6](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-3.1.0.6&label=3.1.0.6)](http://travis-ci.org/SeasideSt/Grease) | | | | [![Build status: Gemstone-2.4.8](http://badges.herokuapp.com/travis/SeasideSt/Grease?branch=master&env=BUILD_NAME=GemStone-2.4.8&label=2.4.8)](http://travis-ci.org/SeasideSt/Grease) | Coveralls (experimental): [![Coverage Status](https://coveralls.io/repos/github/SeasideSt/Grease/badge.svg?branch=test-coveralls)](https://coveralls.io/github/SeasideSt/Grease?branch=test-coveralls) @@ -33,7 +33,7 @@ Coveralls (experimental): [![Coverage Status](https://coveralls.io/repos/github/ #### Prerequisite on Squeak -Make sure you have the [MetacelloPreview version](https://github.com/dalehenrich/metacello-work), otherwise the load will not work. +Make sure you have the [MetacelloPreview version](https://github.com/Metacello/metacello), otherwise the load will not work. ### Squeak and Pharo (4.0 or newer) diff --git a/repository/BaselineOfGrease.package/.filetree b/repository/BaselineOfGrease.package/.filetree index 8998102c..57a67973 100644 --- a/repository/BaselineOfGrease.package/.filetree +++ b/repository/BaselineOfGrease.package/.filetree @@ -1,4 +1,5 @@ { - "noMethodMetaData" : true, "separateMethodMetaAndSource" : false, - "useCypressPropertiesFile" : true } + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baselinePharo..st b/repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baselinePharo..st index 4e9bd050..d2b196ef 100644 --- a/repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baselinePharo..st +++ b/repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baselinePharo..st @@ -1,82 +1,63 @@ baselines baselinePharo: spec + spec for: #(#'pharo4.x' #'pharo5.x') do: [ spec - package: 'Grease-Core' - with: [ spec includes: #('Grease-Pharo30-Core') ]; + package: 'Grease-Core' with: [ spec includes: #('Grease-Pharo30-Core') ]; + package: 'Grease-Tests-Pharo-Core' with: [ spec requires: #('Grease-Tests-Core') ]; package: 'Grease-Tests-Core' with: [ spec requires: #('Grease-Pharo30-Core'); includes: #('Grease-Tests-Pharo-Core') ]; - package: 'Grease-Pharo30-Core' - with: [ spec requires: #('Grease-Core') ]; - package: 'Grease-Tests-Pharo-Core' - with: [ spec requires: #('Grease-Tests-Core') ]; - package: 'Grease-Pharo40-Slime' - with: [ spec requires: #('Grease-Core') ]; - package: 'Grease-Tests-Slime' - with: [ spec requires: #('Grease-Pharo40-Slime') ]. - spec - group: 'Slime' with: #('Grease-Pharo40-Slime'); - group: 'Slime Tests' with: #('Grease-Tests-Slime') ]. + package: 'Grease-Pharo30-Core' with: [ spec requires: #('Grease-Core') ] ]. + spec for: #'pharo6.x' do: [ spec - package: 'Grease-Core' - with: [ spec includes: #('Grease-Pharo60-Core') ]; + package: 'Grease-Core' with: [ spec includes: #('Grease-Pharo60-Core') ]; + package: 'Grease-Tests-Pharo-Core' with: [ spec requires: #('Grease-Tests-Core') ]; package: 'Grease-Tests-Core' with: [ spec requires: #('Grease-Pharo60-Core'); includes: #('Grease-Tests-Pharo-Core') ]; - package: 'Grease-Pharo60-Core' - with: [ spec requires: #('Grease-Core') ]; - package: 'Grease-Tests-Pharo-Core' - with: [ spec requires: #('Grease-Tests-Core') ]; - package: 'Grease-Pharo40-Slime' - with: [ spec requires: #('Grease-Core') ]; - package: 'Grease-Tests-Slime' - with: [ spec requires: #('Grease-Pharo40-Slime') ]. - spec - group: 'Slime' with: #('Grease-Pharo40-Slime'); - group: 'Slime Tests' with: #('Grease-Tests-Slime') ]. + package: 'Grease-Pharo60-Core' with: [ spec requires: #('Grease-Core') ] ]. + spec - for: #(#'pharo7.x') + for: #(#'pharo7.x' #'pharo8.x') do: [ spec - package: 'Grease-Core' - with: [ spec includes: #('Grease-Pharo70-Core') ]; + package: 'Grease-Core' with: [ spec includes: #('Grease-Pharo70-Core') ]; + package: 'Grease-Tests-Pharo-Core' with: [ spec requires: #('Grease-Tests-Core') ]; package: 'Grease-Tests-Core' with: [ spec requires: #('Grease-Pharo70-Core'); includes: #('Grease-Tests-Pharo-Core') ]; - package: 'Grease-Pharo70-Core' - with: [ spec requires: #('Grease-Core') ]; - package: 'Grease-Tests-Pharo-Core' - with: [ spec requires: #('Grease-Tests-Core') ]; - package: 'Grease-Pharo40-Slime' - with: [ spec requires: #('Grease-Core') ]; - package: 'Grease-Tests-Slime' - with: [ spec requires: #('Grease-Pharo40-Slime') ]. + package: 'Grease-Pharo70-Core' with: [ spec requires: #('Grease-Core') ] ]. + + spec + for: #(#'pharo4.x' #'pharo5.x' #'pharo6.x' #'pharo7.x' #'pharo8.x') + do: [ + spec + package: 'Grease-Pharo40-Slime' with: [ spec requires: #('Grease-Core') ]; + package: 'Grease-Tests-Slime' with: [ spec requires: #('Grease-Pharo40-Slime') ]. spec group: 'Slime' with: #('Grease-Pharo40-Slime'); group: 'Slime Tests' with: #('Grease-Tests-Slime') ]. + spec - for: #(#'pharo8.x') - do: [ spec - package: 'Grease-Core' - with: [ spec includes: #('Grease-Pharo70-Core') ]; + for: #'pharo9.x' + do: [ + spec + package: 'Grease-Core' with: [ spec includes: #('Grease-Pharo90-Core') ]; + package: 'Grease-Tests-Pharo-Core' with: [ spec requires: #('Grease-Tests-Core') ]; package: 'Grease-Tests-Core' with: [ spec - requires: #('Grease-Pharo70-Core'); + requires: #('Grease-Pharo90-Core'); includes: #('Grease-Tests-Pharo-Core') ]; - package: 'Grease-Pharo70-Core' - with: [ spec requires: #('Grease-Core') ]; - package: 'Grease-Tests-Pharo-Core' - with: [ spec requires: #('Grease-Tests-Core') ]; - package: 'Grease-Pharo40-Slime' - with: [ spec requires: #('Grease-Core') ]; - package: 'Grease-Tests-Slime' - with: [ spec requires: #('Grease-Pharo40-Slime') ]. + package: 'Grease-Pharo90-Core' with: [ spec requires: #('Grease-Core') ]; + package: 'Grease-Pharo90-Slime' with: [ spec requires: #('Grease-Core') ]; + package: 'Grease-Tests-Slime' with: [ spec requires: #('Grease-Pharo90-Slime') ]. + spec - group: 'Slime' with: #('Grease-Pharo40-Slime'); - group: 'Slime Tests' with: #('Grease-Tests-Slime') ] + group: 'Slime' with: #('Grease-Pharo90-Slime'); + group: 'Slime Tests' with: #('Grease-Tests-Slime') ]. \ No newline at end of file diff --git a/repository/BaselineOfGrease.package/BaselineOfGrease.class/methodProperties.json b/repository/BaselineOfGrease.package/BaselineOfGrease.class/methodProperties.json deleted file mode 100644 index 456234d9..00000000 --- a/repository/BaselineOfGrease.package/BaselineOfGrease.class/methodProperties.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "class" : { - }, - "instance" : { - "baseline:" : " 02/08/2019 09:34:04", - "baselineCommon:" : " 02/08/2019 09:34:04", - "baselineGemStone:" : "dkh 02/08/2019 09:35", - "baselinePharo:" : " 02/08/2019 09:34:04", - "baselineSqueak:" : " 02/08/2019 09:34:04", - "initializeLatin1ToUtf8Encodings" : " 02/08/2019 09:34:04" } } diff --git a/repository/BaselineOfGrease.package/BaselineOfGrease.class/properties.json b/repository/BaselineOfGrease.package/BaselineOfGrease.class/properties.json index 8a39c621..0260395f 100644 --- a/repository/BaselineOfGrease.package/BaselineOfGrease.class/properties.json +++ b/repository/BaselineOfGrease.package/BaselineOfGrease.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "BaselineOfGrease", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "BaselineOfGrease", - "pools" : [ - ], "super" : "BaselineOf", - "type" : "normal" } + "category" : "BaselineOfGrease", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "BaselineOfGrease", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/BaselineOfGrease.package/monticello.meta/categories.st b/repository/BaselineOfGrease.package/monticello.meta/categories.st index 3687f0b2..aad806f8 100644 --- a/repository/BaselineOfGrease.package/monticello.meta/categories.st +++ b/repository/BaselineOfGrease.package/monticello.meta/categories.st @@ -1 +1 @@ -SystemOrganization addCategory: #'BaselineOfGrease'! +SystemOrganization addCategory: #BaselineOfGrease! diff --git a/repository/BaselineOfGrease.package/monticello.meta/version b/repository/BaselineOfGrease.package/monticello.meta/version deleted file mode 100644 index c7c944c7..00000000 --- a/repository/BaselineOfGrease.package/monticello.meta/version +++ /dev/null @@ -1 +0,0 @@ -(name 'BaselineOfGrease-dkh.2' message 'Issue #88: add 3.5 and 3.6 (thinking about future) to baseline' id '9141ab69-c0a0-4718-ac99-fd5fe9de2c6d' date '02/08/2019' time '09:36:09' author 'dkh' ancestors ((name 'BaselineOfGrease-cypress.1' message 'fabricated from a Cypress format repository' id 'e86a3b9e-ded9-4e86-a47c-06bdd15e26fd' date '02/08/2019' time '09:34:04' author '' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/BaselineOfGrease.package/properties.json b/repository/BaselineOfGrease.package/properties.json index f037444a..6f31cf5a 100644 --- a/repository/BaselineOfGrease.package/properties.json +++ b/repository/BaselineOfGrease.package/properties.json @@ -1,2 +1 @@ -{ - } +{ } \ No newline at end of file diff --git a/repository/Grease-Core.package/GRDelayedSend.class/instance/fixCallbackTemps.st b/repository/Grease-Core.package/GRDelayedSend.class/instance/fixCallbackTemps.st deleted file mode 100644 index 22fda1a6..00000000 --- a/repository/Grease-Core.package/GRDelayedSend.class/instance/fixCallbackTemps.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -fixCallbackTemps - "For polymorphism with BlockContext>>#fixCallbackTemps." \ No newline at end of file diff --git a/repository/Grease-Core.package/monticello.meta/categories.st b/repository/Grease-Core.package/monticello.meta/categories.st index ffa3065c..d33d6435 100644 --- a/repository/Grease-Core.package/monticello.meta/categories.st +++ b/repository/Grease-Core.package/monticello.meta/categories.st @@ -1,5 +1,5 @@ SystemOrganization addCategory: #'Grease-Core'! -SystemOrganization addCategory: 'Grease-Core-Collections'! -SystemOrganization addCategory: 'Grease-Core-Exceptions'! -SystemOrganization addCategory: 'Grease-Core-Text'! -SystemOrganization addCategory: 'Grease-Core-Utilities'! +SystemOrganization addCategory: #'Grease-Core-Collections'! +SystemOrganization addCategory: #'Grease-Core-Exceptions'! +SystemOrganization addCategory: #'Grease-Core-Text'! +SystemOrganization addCategory: #'Grease-Core-Utilities'! diff --git a/repository/Grease-GemStone-Core.package/MessageSend.extension/instance/fixCallbackTemps.st b/repository/Grease-GemStone-Core.package/MessageSend.extension/instance/fixCallbackTemps.st deleted file mode 100644 index 338a23db..00000000 --- a/repository/Grease-GemStone-Core.package/MessageSend.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,3 +0,0 @@ -*grease-gemstone-core -fixCallbackTemps - "For polymorphism with BlockContext>>#fixCallbackTemps." \ No newline at end of file diff --git a/repository/Grease-GemStone-Core.package/Symbol.extension/instance/greaseAsMutator.st b/repository/Grease-GemStone-Core.package/Symbol.extension/instance/greaseAsMutator.st new file mode 100644 index 00000000..7859a58a --- /dev/null +++ b/repository/Grease-GemStone-Core.package/Symbol.extension/instance/greaseAsMutator.st @@ -0,0 +1,3 @@ +*grease-gemstone-Core +greaseAsMutator + ^ self asMutator \ No newline at end of file diff --git a/repository/Grease-GemStone-Core.package/Symbol.extension/properties.json b/repository/Grease-GemStone-Core.package/Symbol.extension/properties.json new file mode 100644 index 00000000..8c6bce81 --- /dev/null +++ b/repository/Grease-GemStone-Core.package/Symbol.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Symbol" +} \ No newline at end of file diff --git a/repository/Grease-GemStone240-Core.package/ExecutableBlock.extension/instance/fixCallbackTemps.st b/repository/Grease-GemStone240-Core.package/ExecutableBlock.extension/instance/fixCallbackTemps.st deleted file mode 100644 index c058fbc4..00000000 --- a/repository/Grease-GemStone240-Core.package/ExecutableBlock.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,4 +0,0 @@ -*grease-gemStone240-core -fixCallbackTemps - "Fix the values of the temporary variables used in the block that are - ordinarily shared with the method in which the block is defined." \ No newline at end of file diff --git a/repository/Grease-GemStone300-Core.package/ExecBlock.extension/instance/fixCallbackTemps.st b/repository/Grease-GemStone300-Core.package/ExecBlock.extension/instance/fixCallbackTemps.st deleted file mode 100644 index 12355301..00000000 --- a/repository/Grease-GemStone300-Core.package/ExecBlock.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,4 +0,0 @@ -*grease-gemstone300-core -fixCallbackTemps - "Fix the values of the temporary variables used in the block that are - ordinarily shared with the method in which the block is defined." diff --git a/repository/Grease-GemStone330-Core.package/ExecBlock.extension/instance/fixCallbackTemps.st b/repository/Grease-GemStone330-Core.package/ExecBlock.extension/instance/fixCallbackTemps.st deleted file mode 100644 index d46ed053..00000000 --- a/repository/Grease-GemStone330-Core.package/ExecBlock.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,4 +0,0 @@ -*grease-gemstone330-core -fixCallbackTemps - "Fix the values of the temporary variables used in the block that are - ordinarily shared with the method in which the block is defined." \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/.filetree b/repository/Grease-Pharo30-Core.package/.filetree index 8998102c..57a67973 100644 --- a/repository/Grease-Pharo30-Core.package/.filetree +++ b/repository/Grease-Pharo30-Core.package/.filetree @@ -1,4 +1,5 @@ { - "noMethodMetaData" : true, "separateMethodMetaAndSource" : false, - "useCypressPropertiesFile" : true } + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st b/repository/Grease-Pharo30-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st deleted file mode 100644 index a044e493..00000000 --- a/repository/Grease-Pharo30-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,2 +0,0 @@ -*Grease-Pharo30-Core -fixCallbackTemps \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/BlockClosure.extension/properties.json b/repository/Grease-Pharo30-Core.package/BlockClosure.extension/properties.json index 1d6f4884..2190e5e2 100644 --- a/repository/Grease-Pharo30-Core.package/BlockClosure.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/BlockClosure.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "BlockClosure" } + "name" : "BlockClosure" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/ByteArray.extension/properties.json b/repository/Grease-Pharo30-Core.package/ByteArray.extension/properties.json index 191a2eca..f81bcb8d 100644 --- a/repository/Grease-Pharo30-Core.package/ByteArray.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/ByteArray.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "ByteArray" } + "name" : "ByteArray" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/Character.extension/properties.json b/repository/Grease-Pharo30-Core.package/Character.extension/properties.json index 7532e33e..5219281d 100644 --- a/repository/Grease-Pharo30-Core.package/Character.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/Character.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "Character" } + "name" : "Character" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/Collection.extension/properties.json b/repository/Grease-Pharo30-Core.package/Collection.extension/properties.json index 93b0dc32..48f9f8d9 100644 --- a/repository/Grease-Pharo30-Core.package/Collection.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/Collection.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "Collection" } + "name" : "Collection" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/Duration.extension/properties.json b/repository/Grease-Pharo30-Core.package/Duration.extension/properties.json index 512e0f01..d141a092 100644 --- a/repository/Grease-Pharo30-Core.package/Duration.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/Duration.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "Duration" } + "name" : "Duration" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRDelegatingStream.extension/properties.json b/repository/Grease-Pharo30-Core.package/GRDelegatingStream.extension/properties.json index 472cde09..5ec29ea0 100644 --- a/repository/Grease-Pharo30-Core.package/GRDelegatingStream.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRDelegatingStream.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "GRDelegatingStream" } + "name" : "GRDelegatingStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRDynamicVariable.class/properties.json b/repository/Grease-Pharo30-Core.package/GRDynamicVariable.class/properties.json index 7b6fc0ac..7c37da28 100644 --- a/repository/Grease-Pharo30-Core.package/GRDynamicVariable.class/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRDynamicVariable.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "Grease-Pharo30-Core", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "MaxLeske 5/16/2017 22:05", - "instvars" : [ - ], - "name" : "GRDynamicVariable", - "pools" : [ - ], "super" : "DynamicVariable", - "type" : "normal" } + "category" : "Grease-Pharo30-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRDynamicVariable", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRPackage.extension/properties.json b/repository/Grease-Pharo30-Core.package/GRPackage.extension/properties.json index dd2faaf0..ae522a7e 100644 --- a/repository/Grease-Pharo30-Core.package/GRPackage.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRPackage.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "GRPackage" } + "name" : "GRPackage" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRPharoConverterCodecStream.class/properties.json b/repository/Grease-Pharo30-Core.package/GRPharoConverterCodecStream.class/properties.json index efca49f1..78d23224 100644 --- a/repository/Grease-Pharo30-Core.package/GRPharoConverterCodecStream.class/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRPharoConverterCodecStream.class/properties.json @@ -1,14 +1,13 @@ { - "category" : "Grease-Pharo30-Core", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "pmm 6/25/2012 20:22", + "super" : "GRCodecStream", + "category" : "Grease-Pharo30-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], "instvars" : [ - "converter" ], + "converter" + ], "name" : "GRPharoConverterCodecStream", - "pools" : [ - ], - "super" : "GRCodecStream", - "type" : "normal" } + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRPharoGenericCodec.class/properties.json b/repository/Grease-Pharo30-Core.package/GRPharoGenericCodec.class/properties.json index 14c5a4b9..3fd04eb8 100644 --- a/repository/Grease-Pharo30-Core.package/GRPharoGenericCodec.class/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRPharoGenericCodec.class/properties.json @@ -1,15 +1,14 @@ { - "category" : "Grease-Pharo30-Core", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", + "super" : "GRCodec", + "category" : "Grease-Pharo30-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], "instvars" : [ "name", - "urlCodec" ], + "urlCodec" + ], "name" : "GRPharoGenericCodec", - "pools" : [ - ], - "super" : "GRCodec", - "type" : "normal" } + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRPharoLatin1Codec.class/properties.json b/repository/Grease-Pharo30-Core.package/GRPharoLatin1Codec.class/properties.json index 714d4881..9c4baf85 100644 --- a/repository/Grease-Pharo30-Core.package/GRPharoLatin1Codec.class/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRPharoLatin1Codec.class/properties.json @@ -1,14 +1,13 @@ { - "category" : "Grease-Pharo30-Core", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", + "super" : "GRNullCodec", + "category" : "Grease-Pharo30-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], "instvars" : [ - "name" ], + "name" + ], "name" : "GRPharoLatin1Codec", - "pools" : [ - ], - "super" : "GRNullCodec", - "type" : "normal" } + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRPharoLatin1CodecStream.class/properties.json b/repository/Grease-Pharo30-Core.package/GRPharoLatin1CodecStream.class/properties.json index 51130d3b..f842b80b 100644 --- a/repository/Grease-Pharo30-Core.package/GRPharoLatin1CodecStream.class/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRPharoLatin1CodecStream.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "Grease-Pharo30-Core", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "GRPharoLatin1CodecStream", - "pools" : [ - ], "super" : "GRNullCodecStream", - "type" : "normal" } + "category" : "Grease-Pharo30-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRPharoLatin1CodecStream", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRPharoPlatform.class/properties.json b/repository/Grease-Pharo30-Core.package/GRPharoPlatform.class/properties.json index ba276215..fd949a23 100644 --- a/repository/Grease-Pharo30-Core.package/GRPharoPlatform.class/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRPharoPlatform.class/properties.json @@ -1,15 +1,14 @@ { + "commentStamp" : "pmm 6/1/2008 01:03", + "super" : "GRPlatform", "category" : "Grease-Pharo30-Core", - "classinstvars" : [ - ], + "classinstvars" : [ ], + "pools" : [ ], "classvars" : [ "UrlTable", - "XmlTable" ], - "commentStamp" : "pmm 6/1/2008 01:03", - "instvars" : [ - ], + "XmlTable" + ], + "instvars" : [ ], "name" : "GRPharoPlatform", - "pools" : [ - ], - "super" : "GRPlatform", - "type" : "normal" } + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRPharoRandomProvider.class/properties.json b/repository/Grease-Pharo30-Core.package/GRPharoRandomProvider.class/properties.json index 984c9b1b..5c8d294a 100644 --- a/repository/Grease-Pharo30-Core.package/GRPharoRandomProvider.class/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRPharoRandomProvider.class/properties.json @@ -1,15 +1,14 @@ { + "commentStamp" : "", + "super" : "GRObject", "category" : "Grease-Pharo30-Core", "classinstvars" : [ "mutex", - "generator" ], - "classvars" : [ - ], - "commentStamp" : "", - "instvars" : [ - ], + "generator" + ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], "name" : "GRPharoRandomProvider", - "pools" : [ - ], - "super" : "GRObject", - "type" : "normal" } + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRPharoUtf8Codec.class/properties.json b/repository/Grease-Pharo30-Core.package/GRPharoUtf8Codec.class/properties.json index 4a68e646..14e538f0 100644 --- a/repository/Grease-Pharo30-Core.package/GRPharoUtf8Codec.class/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRPharoUtf8Codec.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "Grease-Pharo30-Core", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "pmm 2/20/2009 12:51", - "instvars" : [ - ], - "name" : "GRPharoUtf8Codec", - "pools" : [ - ], "super" : "GRCodec", - "type" : "normal" } + "category" : "Grease-Pharo30-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRPharoUtf8Codec", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRPharoUtf8CodecStream.class/properties.json b/repository/Grease-Pharo30-Core.package/GRPharoUtf8CodecStream.class/properties.json index 351d9b0c..c71cb642 100644 --- a/repository/Grease-Pharo30-Core.package/GRPharoUtf8CodecStream.class/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRPharoUtf8CodecStream.class/properties.json @@ -1,15 +1,14 @@ { + "commentStamp" : "pmm 2/20/2009 12:27", + "super" : "GRPharoConverterCodecStream", "category" : "Grease-Pharo30-Core", - "classinstvars" : [ - ], + "classinstvars" : [ ], + "pools" : [ ], "classvars" : [ "Latin1ToUtf8Encodings", - "Latin1ToUtf8Map" ], - "commentStamp" : "pmm 2/20/2009 12:27", - "instvars" : [ - ], + "Latin1ToUtf8Map" + ], + "instvars" : [ ], "name" : "GRPharoUtf8CodecStream", - "pools" : [ - ], - "super" : "GRPharoConverterCodecStream", - "type" : "normal" } + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRSmallDictionary.extension/properties.json b/repository/Grease-Pharo30-Core.package/GRSmallDictionary.extension/properties.json index 943ee5f4..0d78b749 100644 --- a/repository/Grease-Pharo30-Core.package/GRSmallDictionary.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRSmallDictionary.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "GRSmallDictionary" } + "name" : "GRSmallDictionary" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/GRWorkingWriteStream.class/properties.json b/repository/Grease-Pharo30-Core.package/GRWorkingWriteStream.class/properties.json index 09048295..df3388a3 100644 --- a/repository/Grease-Pharo30-Core.package/GRWorkingWriteStream.class/properties.json +++ b/repository/Grease-Pharo30-Core.package/GRWorkingWriteStream.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "Grease-Pharo30-Core", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "pmm 8/25/2011 18:30", - "instvars" : [ - ], - "name" : "GRWorkingWriteStream", - "pools" : [ - ], "super" : "WriteStream", - "type" : "normal" } + "category" : "Grease-Pharo30-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRWorkingWriteStream", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/Interval.extension/properties.json b/repository/Grease-Pharo30-Core.package/Interval.extension/properties.json index d468cd35..534eb553 100644 --- a/repository/Grease-Pharo30-Core.package/Interval.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/Interval.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "Interval" } + "name" : "Interval" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/MessageSend.extension/instance/fixCallbackTemps.st b/repository/Grease-Pharo30-Core.package/MessageSend.extension/instance/fixCallbackTemps.st deleted file mode 100644 index 2a299ce5..00000000 --- a/repository/Grease-Pharo30-Core.package/MessageSend.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,3 +0,0 @@ -*Grease-Pharo30-Core -fixCallbackTemps - "for polymorphism with BlockContext >> #fixCallbackTemps" \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/MessageSend.extension/properties.json b/repository/Grease-Pharo30-Core.package/MessageSend.extension/properties.json index 66fcc3c1..00669b90 100644 --- a/repository/Grease-Pharo30-Core.package/MessageSend.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/MessageSend.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "MessageSend" } + "name" : "MessageSend" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/Number.extension/properties.json b/repository/Grease-Pharo30-Core.package/Number.extension/properties.json index 1d2c94d4..71dace88 100644 --- a/repository/Grease-Pharo30-Core.package/Number.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/Number.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "Number" } + "name" : "Number" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/Object.extension/properties.json b/repository/Grease-Pharo30-Core.package/Object.extension/properties.json index 3d3b9ec4..f30a86e1 100644 --- a/repository/Grease-Pharo30-Core.package/Object.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/Object.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "Object" } + "name" : "Object" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/Point.extension/properties.json b/repository/Grease-Pharo30-Core.package/Point.extension/properties.json index 3ae71f02..c6cf8dd5 100644 --- a/repository/Grease-Pharo30-Core.package/Point.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/Point.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "Point" } + "name" : "Point" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/PositionableStream.extension/properties.json b/repository/Grease-Pharo30-Core.package/PositionableStream.extension/properties.json index 9e1697a6..8e090ee3 100644 --- a/repository/Grease-Pharo30-Core.package/PositionableStream.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/PositionableStream.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "PositionableStream" } + "name" : "PositionableStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/ScaledDecimal.extension/properties.json b/repository/Grease-Pharo30-Core.package/ScaledDecimal.extension/properties.json index 6e425dda..75f85f87 100644 --- a/repository/Grease-Pharo30-Core.package/ScaledDecimal.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/ScaledDecimal.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "ScaledDecimal" } + "name" : "ScaledDecimal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/SequenceableCollection.extension/properties.json b/repository/Grease-Pharo30-Core.package/SequenceableCollection.extension/properties.json index 3b2523c3..a68b7db6 100644 --- a/repository/Grease-Pharo30-Core.package/SequenceableCollection.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/SequenceableCollection.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "SequenceableCollection" } + "name" : "SequenceableCollection" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/SocketStream.extension/properties.json b/repository/Grease-Pharo30-Core.package/SocketStream.extension/properties.json index 4800d84e..797e09e5 100644 --- a/repository/Grease-Pharo30-Core.package/SocketStream.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/SocketStream.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "SocketStream" } + "name" : "SocketStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/Symbol.extension/instance/greaseAsMutator.st b/repository/Grease-Pharo30-Core.package/Symbol.extension/instance/greaseAsMutator.st new file mode 100644 index 00000000..03f13f59 --- /dev/null +++ b/repository/Grease-Pharo30-Core.package/Symbol.extension/instance/greaseAsMutator.st @@ -0,0 +1,3 @@ +*grease-pharo30-core +greaseAsMutator + ^ self asMutator \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/Symbol.extension/properties.json b/repository/Grease-Pharo30-Core.package/Symbol.extension/properties.json new file mode 100644 index 00000000..8c6bce81 --- /dev/null +++ b/repository/Grease-Pharo30-Core.package/Symbol.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Symbol" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/TBehavior.extension/properties.json b/repository/Grease-Pharo30-Core.package/TBehavior.extension/properties.json index 1d6e9ee2..f94cdffb 100644 --- a/repository/Grease-Pharo30-Core.package/TBehavior.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/TBehavior.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "TBehavior" } + "name" : "TBehavior" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/WriteStream.extension/properties.json b/repository/Grease-Pharo30-Core.package/WriteStream.extension/properties.json index 239b3632..8688e80d 100644 --- a/repository/Grease-Pharo30-Core.package/WriteStream.extension/properties.json +++ b/repository/Grease-Pharo30-Core.package/WriteStream.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "WriteStream" } + "name" : "WriteStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo30-Core.package/properties.json b/repository/Grease-Pharo30-Core.package/properties.json index f037444a..6f31cf5a 100644 --- a/repository/Grease-Pharo30-Core.package/properties.json +++ b/repository/Grease-Pharo30-Core.package/properties.json @@ -1,2 +1 @@ -{ - } +{ } \ No newline at end of file diff --git a/repository/Grease-Pharo60-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st b/repository/Grease-Pharo60-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st deleted file mode 100644 index 29e49456..00000000 --- a/repository/Grease-Pharo60-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,2 +0,0 @@ -*Grease-Pharo60-Core -fixCallbackTemps \ No newline at end of file diff --git a/repository/Grease-Pharo60-Core.package/MessageSend.extension/instance/fixCallbackTemps.st b/repository/Grease-Pharo60-Core.package/MessageSend.extension/instance/fixCallbackTemps.st deleted file mode 100644 index 5c33248e..00000000 --- a/repository/Grease-Pharo60-Core.package/MessageSend.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,3 +0,0 @@ -*Grease-Pharo60-Core -fixCallbackTemps - "for polymorphism with BlockContext >> #fixCallbackTemps" \ No newline at end of file diff --git a/repository/Grease-Pharo60-Core.package/Symbol.extension/instance/greaseAsMutator.st b/repository/Grease-Pharo60-Core.package/Symbol.extension/instance/greaseAsMutator.st new file mode 100644 index 00000000..c0d4ba74 --- /dev/null +++ b/repository/Grease-Pharo60-Core.package/Symbol.extension/instance/greaseAsMutator.st @@ -0,0 +1,3 @@ +*grease-pharo60-core +greaseAsMutator + ^ self asMutator \ No newline at end of file diff --git a/repository/Grease-Pharo70-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st b/repository/Grease-Pharo70-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st deleted file mode 100644 index 2fcbf89e..00000000 --- a/repository/Grease-Pharo70-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,2 +0,0 @@ -*Grease-Pharo70-Core -fixCallbackTemps \ No newline at end of file diff --git a/repository/Grease-Pharo70-Core.package/MessageSend.extension/instance/fixCallbackTemps.st b/repository/Grease-Pharo70-Core.package/MessageSend.extension/instance/fixCallbackTemps.st deleted file mode 100644 index 2c0b14e8..00000000 --- a/repository/Grease-Pharo70-Core.package/MessageSend.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,3 +0,0 @@ -*Grease-Pharo70-Core -fixCallbackTemps - "for polymorphism with BlockContext >> #fixCallbackTemps" \ No newline at end of file diff --git a/repository/Grease-Pharo70-Core.package/Symbol.extension/instance/greaseAsMutator.st b/repository/Grease-Pharo70-Core.package/Symbol.extension/instance/greaseAsMutator.st new file mode 100644 index 00000000..287a21b8 --- /dev/null +++ b/repository/Grease-Pharo70-Core.package/Symbol.extension/instance/greaseAsMutator.st @@ -0,0 +1,3 @@ +*Grease-Pharo70-Core +greaseAsMutator + ^ self asMutator \ No newline at end of file diff --git a/repository/Grease-Pharo70-Core.package/Symbol.extension/properties.json b/repository/Grease-Pharo70-Core.package/Symbol.extension/properties.json new file mode 100644 index 00000000..8c6bce81 --- /dev/null +++ b/repository/Grease-Pharo70-Core.package/Symbol.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Symbol" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/.filetree b/repository/Grease-Pharo90-Core.package/.filetree new file mode 100644 index 00000000..57a67973 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/.filetree @@ -0,0 +1,5 @@ +{ + "separateMethodMetaAndSource" : false, + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Behavior.extension/instance/fullName.st b/repository/Grease-Pharo90-Core.package/Behavior.extension/instance/fullName.st new file mode 100644 index 00000000..7868665b --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Behavior.extension/instance/fullName.st @@ -0,0 +1,5 @@ +*Grease-Pharo90-Core +fullName + "In VW, will include the namespace" + + ^ self name \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Behavior.extension/properties.json b/repository/Grease-Pharo90-Core.package/Behavior.extension/properties.json new file mode 100644 index 00000000..c4116c4c --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Behavior.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Behavior" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/BlockClosure.extension/instance/valueWithPossibleArguments..st b/repository/Grease-Pharo90-Core.package/BlockClosure.extension/instance/valueWithPossibleArguments..st new file mode 100644 index 00000000..11c37059 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/BlockClosure.extension/instance/valueWithPossibleArguments..st @@ -0,0 +1,11 @@ +*Grease-Pharo90-Core +valueWithPossibleArguments: anArray + | args | + (anArray size == self numArgs) + ifTrue: [ ^ self valueWithArguments: anArray ]. + args := Array new: self numArgs. + args replaceFrom: 1 + to: (anArray size min: args size) + with: anArray + startingAt: 1. + ^ self valueWithArguments: args \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/BlockClosure.extension/properties.json b/repository/Grease-Pharo90-Core.package/BlockClosure.extension/properties.json new file mode 100644 index 00000000..2190e5e2 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/BlockClosure.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "BlockClosure" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/ByteArray.extension/instance/greaseString.st b/repository/Grease-Pharo90-Core.package/ByteArray.extension/instance/greaseString.st new file mode 100644 index 00000000..eaca12f4 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/ByteArray.extension/instance/greaseString.st @@ -0,0 +1,4 @@ +*Grease-Pharo90-Core +greaseString + "ByteArrays should not automatically be converted to Strings. You should use a GRCodec for this." + ^ self printString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/ByteArray.extension/properties.json b/repository/Grease-Pharo90-Core.package/ByteArray.extension/properties.json new file mode 100644 index 00000000..f81bcb8d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/ByteArray.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "ByteArray" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Character.extension/instance/greaseInteger.st b/repository/Grease-Pharo90-Core.package/Character.extension/instance/greaseInteger.st new file mode 100644 index 00000000..2b30e569 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Character.extension/instance/greaseInteger.st @@ -0,0 +1,4 @@ +*Grease-Pharo90-Core +greaseInteger + "Answer an unicode code point of the receiver." + ^ self charCode \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Character.extension/properties.json b/repository/Grease-Pharo90-Core.package/Character.extension/properties.json new file mode 100644 index 00000000..5219281d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Character.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Character" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Collection.extension/instance/any.st b/repository/Grease-Pharo90-Core.package/Collection.extension/instance/any.st new file mode 100644 index 00000000..77da6aff --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Collection.extension/instance/any.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +any + ^ self anyOne \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Collection.extension/properties.json b/repository/Grease-Pharo90-Core.package/Collection.extension/properties.json new file mode 100644 index 00000000..48f9f8d9 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Collection.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Collection" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Color.extension/instance/asHTMLColor.st b/repository/Grease-Pharo90-Core.package/Color.extension/instance/asHTMLColor.st new file mode 100644 index 00000000..096e985a --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Color.extension/instance/asHTMLColor.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +asHTMLColor + ^'#', self asHexString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Color.extension/properties.json b/repository/Grease-Pharo90-Core.package/Color.extension/properties.json new file mode 100644 index 00000000..8b86fc95 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Color.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Color" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Duration.extension/class/milliseconds..st b/repository/Grease-Pharo90-Core.package/Duration.extension/class/milliseconds..st new file mode 100644 index 00000000..63cfe5db --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Duration.extension/class/milliseconds..st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +milliseconds: anInteger + ^ self milliSeconds: anInteger \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Duration.extension/instance/asMilliseconds.st b/repository/Grease-Pharo90-Core.package/Duration.extension/instance/asMilliseconds.st new file mode 100644 index 00000000..c7a93f97 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Duration.extension/instance/asMilliseconds.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +asMilliseconds + ^ self asMilliSeconds \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Duration.extension/instance/milliseconds.st b/repository/Grease-Pharo90-Core.package/Duration.extension/instance/milliseconds.st new file mode 100644 index 00000000..a7808f55 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Duration.extension/instance/milliseconds.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +milliseconds + ^ nanos quo: NanosInMillisecond \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Duration.extension/properties.json b/repository/Grease-Pharo90-Core.package/Duration.extension/properties.json new file mode 100644 index 00000000..d141a092 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Duration.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Duration" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo90-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st new file mode 100644 index 00000000..b309c2df --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +greaseNext: anInteger putAll: aCollection startingAt: startIndex + stream greaseNext: anInteger putAll: aCollection startingAt: startIndex \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRDelegatingStream.extension/properties.json b/repository/Grease-Pharo90-Core.package/GRDelegatingStream.extension/properties.json new file mode 100644 index 00000000..5ec29ea0 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRDelegatingStream.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRDelegatingStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/README.md b/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/class/defaultValue.st b/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/class/defaultValue.st new file mode 100644 index 00000000..3d7f6377 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/class/defaultValue.st @@ -0,0 +1,3 @@ +defaults +defaultValue + ^ nil \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/class/use.during..st b/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/class/use.during..st new file mode 100644 index 00000000..1e03f82f --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/class/use.during..st @@ -0,0 +1,5 @@ +accessing +use: anObject during: aBlock + ^ self + value: anObject + during: aBlock \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/instance/default.st b/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/instance/default.st new file mode 100644 index 00000000..59cb6f1b --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/instance/default.st @@ -0,0 +1,3 @@ +accessing +default + ^ self class defaultValue \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/properties.json b/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/properties.json new file mode 100644 index 00000000..30171981 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRDynamicVariable.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "DynamicVariable", + "category" : "Grease-Pharo90-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRDynamicVariable", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPackage.extension/class/greasePharo70Core.st b/repository/Grease-Pharo90-Core.package/GRPackage.extension/class/greasePharo70Core.st new file mode 100644 index 00000000..e17f5237 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPackage.extension/class/greasePharo70Core.st @@ -0,0 +1,7 @@ +*Grease-Pharo90-Core +greasePharo70Core + ^ self new + name: 'Grease-Pharo70-Core'; + addDependency: 'Grease-Core'; + url: #greaseUrl; + yourself \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPackage.extension/properties.json b/repository/Grease-Pharo90-Core.package/GRPackage.extension/properties.json new file mode 100644 index 00000000..ae522a7e --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPackage.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRPackage" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/README.md b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/README.md new file mode 100644 index 00000000..7620280e --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/README.md @@ -0,0 +1,7 @@ +A WAConverterCodecStream is a WACodec stream around a TextConverter. It is always in text mode. + +Instance Variables + converter: + +converter + - the TextConverter used to do the encoding conversion diff --git a/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/class/on.converter..st b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/class/on.converter..st new file mode 100644 index 00000000..de8cd791 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/class/on.converter..st @@ -0,0 +1,3 @@ +instance creation +on: aStream converter: aConverter + ^ self basicNew initializeOn: aStream converter: aConverter \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/greaseNext.putAll.startingAt..st new file mode 100644 index 00000000..8321e299 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/greaseNext.putAll.startingAt..st @@ -0,0 +1,3 @@ +streaming +greaseNext: anInteger putAll: aCollection startingAt: startIndex + self nextPutAll: (aCollection copyFrom: startIndex to: startIndex + anInteger - 1) \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/initializeOn.converter..st b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/initializeOn.converter..st new file mode 100644 index 00000000..c380485d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/initializeOn.converter..st @@ -0,0 +1,4 @@ +initialization +initializeOn: aStream converter: aConverter + self initializeOn: aStream. + converter := aConverter \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/next..st b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/next..st new file mode 100644 index 00000000..ef51837b --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/next..st @@ -0,0 +1,8 @@ +streaming +next: anInteger + | writeStream | + writeStream := WriteStream on: (String new: anInteger). + anInteger timesRepeat: [ + writeStream nextPut: (self next + ifNil: [ ^ writeStream contents ]) ]. + ^ writeStream contents \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/next.st b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/next.st new file mode 100644 index 00000000..eee99a1a --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/next.st @@ -0,0 +1,6 @@ +streaming +next + | character | + character := converter nextFromStream: stream. + ^ character isNil + ifFalse: [ character asCharacter ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/nextPut..st b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/nextPut..st new file mode 100644 index 00000000..e65f56c4 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/nextPut..st @@ -0,0 +1,3 @@ +streaming +nextPut: aCharacter + converter nextPut: aCharacter asCharacter toStream: stream \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/nextPutAll..st b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/nextPutAll..st new file mode 100644 index 00000000..a30c4507 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/instance/nextPutAll..st @@ -0,0 +1,3 @@ +streaming +nextPutAll: aString + aString asString do: [ :each | self nextPut: each ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/properties.json b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/properties.json new file mode 100644 index 00000000..85b80cc6 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoConverterCodecStream.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "pmm 6/25/2012 20:22", + "super" : "GRCodecStream", + "category" : "Grease-Pharo90-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "converter" + ], + "name" : "GRPharoConverterCodecStream", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/README.md b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/basicForEncoding..st b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/basicForEncoding..st new file mode 100644 index 00000000..f6b18bd4 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/basicForEncoding..st @@ -0,0 +1,5 @@ +private +basicForEncoding: aString + (self supportsEncoding: aString) + ifFalse: [ self unsupportedEncoding: aString ]. + ^ self basicNew initializeWithName: aString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/codecs.st b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/codecs.st new file mode 100644 index 00000000..f1293d05 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/codecs.st @@ -0,0 +1,8 @@ +accessing +codecs + ^ (TextConverter allEncodingNames + select: [ :each | + "exclude UFT-8 which is handeled by WAUtf8Codec" + self supportsEncoding: each ]) + collect: [ :each | + self basicForEncoding: each greaseString ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/supportedEncodingNames.st b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/supportedEncodingNames.st new file mode 100644 index 00000000..d1c6d00b --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/supportedEncodingNames.st @@ -0,0 +1,8 @@ +private +supportedEncodingNames + "answers the names of the encodings supported by this class" + + ^ (TextConverter allSubclasses gather: [ :class | class encodingNames ]) asSet asOrderedCollection + removeAllFoundIn: GRPharoLatin1Codec supportedEncodingNames; + removeAllFoundIn: UTF8TextConverter encodingNames; + yourself \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/supportsEncoding..st b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/supportsEncoding..st new file mode 100644 index 00000000..43a27325 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/class/supportsEncoding..st @@ -0,0 +1,4 @@ +testing +supportsEncoding: aString + "Answer whether the the given encoding name is supported." + ^ self supportedEncodingNames includes: aString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/converter.st b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/converter.st new file mode 100644 index 00000000..02b8754b --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/converter.st @@ -0,0 +1,3 @@ +private +converter + ^ TextConverter newForEncoding: self name \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/decoderFor..st b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/decoderFor..st new file mode 100644 index 00000000..be53dfea --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/decoderFor..st @@ -0,0 +1,3 @@ +conversion +decoderFor: aStream + ^ self encoderFor: aStream \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/encoderFor..st b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/encoderFor..st new file mode 100644 index 00000000..94f2fc13 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/encoderFor..st @@ -0,0 +1,5 @@ +conversion +encoderFor: aStream + ^ GRPharoConverterCodecStream + on: aStream + converter: self converter \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/initializeWithName..st b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/initializeWithName..st new file mode 100644 index 00000000..fe95783c --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/initializeWithName..st @@ -0,0 +1,7 @@ +initialization +initializeWithName: aString + self initialize. + name := aString. + urlCodec := (#('iso-8859-15' 'cp-1252') includes: aString) + ifFalse: [ GRCodec forEncoding: 'utf-8' ] + ifTrue: [ self ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/name.st b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/name.st new file mode 100644 index 00000000..22077c20 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ name \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/url.st b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/url.st new file mode 100644 index 00000000..232ad239 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/instance/url.st @@ -0,0 +1,5 @@ +accessing +url + "RFC 3986: When a new URI scheme defines a component that represents textual data consisting of characters from the Universal Character Set [UCS], the data should first be encoded as octets according to the UTF-8 character encoding." + + ^ urlCodec \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/properties.json b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/properties.json new file mode 100644 index 00000000..03988175 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoGenericCodec.class/properties.json @@ -0,0 +1,14 @@ +{ + "commentStamp" : "", + "super" : "GRCodec", + "category" : "Grease-Pharo90-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "name", + "urlCodec" + ], + "name" : "GRPharoGenericCodec", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/README.md b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/README.md new file mode 100644 index 00000000..3f437d62 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/README.md @@ -0,0 +1 @@ +A GRPharoLatin1Codec is a WACodec optimized for ISO-8859-1 (direct byte to character mapping). \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/basicForEncoding..st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/basicForEncoding..st new file mode 100644 index 00000000..f6b18bd4 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/basicForEncoding..st @@ -0,0 +1,5 @@ +private +basicForEncoding: aString + (self supportsEncoding: aString) + ifFalse: [ self unsupportedEncoding: aString ]. + ^ self basicNew initializeWithName: aString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/codecs.st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/codecs.st new file mode 100644 index 00000000..7a96b703 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/codecs.st @@ -0,0 +1,3 @@ +accessing +codecs + ^ Array with: (self basicForEncoding: 'iso-8859-1') \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/supportedEncodingNames.st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/supportedEncodingNames.st new file mode 100644 index 00000000..e5dca068 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/supportedEncodingNames.st @@ -0,0 +1,3 @@ +private +supportedEncodingNames + ^ #('iso-8859-1' 'ISO-8859-1' 'latin-1' 'latin1') \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/supportsEncoding..st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/supportsEncoding..st new file mode 100644 index 00000000..bc591573 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/class/supportsEncoding..st @@ -0,0 +1,4 @@ +private +supportsEncoding: aString + "Answer whether the the given encoding name is supported." + ^ self supportedEncodingNames includes: aString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/decode..st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/decode..st new file mode 100644 index 00000000..5f73b526 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/decode..st @@ -0,0 +1,5 @@ +conversion +decode: aStringOrByteArray + "Overridden for efficencey." + + ^ aStringOrByteArray asString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/decoderFor..st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/decoderFor..st new file mode 100644 index 00000000..256dbac4 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/decoderFor..st @@ -0,0 +1,4 @@ +conversion +decoderFor: aReadStream + "wrap to avoid String vs ByteArray issues" + ^ GRPharoLatin1CodecStream on: aReadStream \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/encoderFor..st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/encoderFor..st new file mode 100644 index 00000000..20102849 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/encoderFor..st @@ -0,0 +1,4 @@ +conversion +encoderFor: aWriteStream + "wrap to avoid String vs ByteArray issues" + ^ GRPharoLatin1CodecStream on: aWriteStream \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/initializeWithName..st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/initializeWithName..st new file mode 100644 index 00000000..b0256973 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/initializeWithName..st @@ -0,0 +1,4 @@ +initialization +initializeWithName: aString + self initialize. + name := aString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/name.st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/name.st new file mode 100644 index 00000000..22077c20 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ name \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/properties.json b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/properties.json new file mode 100644 index 00000000..fd56786b --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1Codec.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "", + "super" : "GRNullCodec", + "category" : "Grease-Pharo90-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "name" + ], + "name" : "GRPharoLatin1Codec", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/README.md b/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/README.md new file mode 100644 index 00000000..e1c2471b --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/README.md @@ -0,0 +1 @@ +A GRPharoLatin1CodecStream is a WACodecStream optimized for ISO-8859-1 (direct byte to character mapping). \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/instance/next..st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/instance/next..st new file mode 100644 index 00000000..a734bc76 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/instance/next..st @@ -0,0 +1,3 @@ +streaming +next: anInteger + ^ (stream next: anInteger) asString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/instance/next.st b/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/instance/next.st new file mode 100644 index 00000000..bf70df58 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/instance/next.st @@ -0,0 +1,3 @@ +streaming +next + ^ Character value: stream next \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/properties.json b/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/properties.json new file mode 100644 index 00000000..c839ca49 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoLatin1CodecStream.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRNullCodecStream", + "category" : "Grease-Pharo90-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRPharoLatin1CodecStream", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/README.md b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/README.md new file mode 100644 index 00000000..f0375aac --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/README.md @@ -0,0 +1 @@ +A WASqueakPlatform is the Squeak implementation of SeasidePlatformSupport, the Seaside class that provides functionality that can not be implemented in a platform independent way. diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/initialize.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/initialize.st new file mode 100644 index 00000000..0c86564c --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/initialize.st @@ -0,0 +1,5 @@ +class initialization +initialize + self initializeXmlTable. + self initializeUrlTable. + self select \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/initializeUrlTable.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/initializeUrlTable.st new file mode 100644 index 00000000..9abf56b7 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/initializeUrlTable.st @@ -0,0 +1,7 @@ +class initialization +initializeUrlTable + UrlTable := ByteArray new: 256. + 1 to: 256 do: [ :index | + ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.~' includes: (Character codePoint: index - 1)) + ifTrue: [ UrlTable at: index put: 0 ] + ifFalse: [ UrlTable at: index put: 1 ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/initializeXmlTable.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/initializeXmlTable.st new file mode 100644 index 00000000..830a5595 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/initializeXmlTable.st @@ -0,0 +1,7 @@ +class initialization +initializeXmlTable + XmlTable := ByteArray new: 256. + 1 to: 256 do: [ :index | + ('"<&>' includes: (Character codePoint: index - 1)) + ifTrue: [ XmlTable at: index put: 1 ] + ifFalse: [ XmlTable at: index put: 0 ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/unload.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/unload.st new file mode 100644 index 00000000..4c8dd650 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/class/unload.st @@ -0,0 +1,3 @@ +class initialization +unload + self unselect \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/addToShutDownList..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/addToShutDownList..st new file mode 100644 index 00000000..f8d3ad5f --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/addToShutDownList..st @@ -0,0 +1,5 @@ +startup +addToShutDownList: anObject + "Add anObject to the shutdown-list of the system. On shutdown the message #shutDown will be sent to anObject." + + Smalltalk addToShutDownList: anObject \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/addToStartUpList..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/addToStartUpList..st new file mode 100644 index 00000000..c4ab1dea --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/addToStartUpList..st @@ -0,0 +1,5 @@ +startup +addToStartUpList: aClass + "Add anObject to the startup-list of the system. On startup the message #startUp will be sent to anObject." + + SessionManager default registerUserClassNamed: aClass name. \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArray.named..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArray.named..st new file mode 100644 index 00000000..ba4a0727 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArray.named..st @@ -0,0 +1,6 @@ +file library +asMethodReturningByteArray: aByteArrayOrString named: aSymbol + "Generates the source of a method named aSymbol that returns aByteArrayOrString as a ByteArray" + ^ self useByteArrayLiterals + ifTrue: [ self asMethodReturningByteArrayLiteral: aByteArrayOrString named: aSymbol ] + ifFalse: [ self asMethodReturningByteArrayWithCache: aByteArrayOrString named: aSymbol ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArrayLiteral.named..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArrayLiteral.named..st new file mode 100644 index 00000000..90bb405c --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArrayLiteral.named..st @@ -0,0 +1,10 @@ +private-file library +asMethodReturningByteArrayLiteral: aByteArrayOrString named: aSymbol + "Generates the source of a method named aSymbol that returns aByteArrayOrString as a byte array using VW/NewCompiler byte array literal syntax." + ^ String streamContents: [ :stream | + stream nextPutAll: aSymbol; nextPut: Character cr. + stream tab; nextPutAll: '^ #['. + aByteArrayOrString asByteArray + do: [ :each | each printOn: stream ] + separatedBy: [ stream space ]. + stream nextPutAll: ']' ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArrayWithCache.named..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArrayWithCache.named..st new file mode 100644 index 00000000..a1f9fe07 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArrayWithCache.named..st @@ -0,0 +1,10 @@ +private-file library +asMethodReturningByteArrayWithCache: aByteArrayOrString named: aSymbol + "Generates the source of a method named aSymbol that returns aByteArrayOrString as a byte array and caching this array in a literal array of size 1." + ^ String streamContents: [ :stream | + stream nextPutAll: aSymbol; nextPut: Character cr. + stream tab; nextPutAll: '^ #('. + aByteArrayOrString asByteArray + do: [ :each | each printOn: stream ] + separatedBy: [ stream space ]. + stream nextPutAll: ') asByteArray' ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/base64Decode..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/base64Decode..st new file mode 100644 index 00000000..3fb71b1a --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/base64Decode..st @@ -0,0 +1,3 @@ +encoding +base64Decode: aString + ^ aString base64Decoded asString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/bindingOf..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/bindingOf..st new file mode 100644 index 00000000..e878c01b --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/bindingOf..st @@ -0,0 +1,4 @@ +bindings +bindingOf: aClass + + ^ Smalltalk globals associationAt: aClass name \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/compile.into.classified..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/compile.into.classified..st new file mode 100644 index 00000000..45c37a45 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/compile.into.classified..st @@ -0,0 +1,3 @@ +file library +compile: aString into: aClass classified: aSymbol + aClass compile: aString classified: aSymbol \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/contentsOfFile.binary..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/contentsOfFile.binary..st new file mode 100644 index 00000000..119ba39b --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/contentsOfFile.binary..st @@ -0,0 +1,3 @@ +file library +contentsOfFile: aString binary: aBoolean + ^ self fileStreamOn: aString do: [ :stream | stream contents ] binary: aBoolean \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/directoriesIn..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/directoriesIn..st new file mode 100644 index 00000000..c5beee09 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/directoriesIn..st @@ -0,0 +1,8 @@ +file library +directoriesIn: aPathString + "Answer a collection of absolute paths for all the directories (no files) in the directory given by aPathString + must not include directory names that start with ." + ^ Array streamContents: [ :stream | + FileSystem disk directoriesAt: aPathString do: [ :each | + each basename first = $. ifFalse: [ + stream nextPut: each asFileReference fullName ] ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/doSilently..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/doSilently..st new file mode 100644 index 00000000..9ea296ff --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/doSilently..st @@ -0,0 +1,3 @@ +private +doSilently: aBlock + ^ SystemAnnouncer uniqueInstance suspendAllWhile: aBlock \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/ensureExistenceOfFolder..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/ensureExistenceOfFolder..st new file mode 100644 index 00000000..907e0168 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/ensureExistenceOfFolder..st @@ -0,0 +1,4 @@ +file library +ensureExistenceOfFolder: aString + "creates a folder named aString in the image directory" + FileSystem disk ensureCreateDirectory: aString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/fileExists..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/fileExists..st new file mode 100644 index 00000000..2a02cc3f --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/fileExists..st @@ -0,0 +1,3 @@ +file library +fileExists: aString + ^ aString asFileReference exists \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/fileStreamOn.do.binary..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/fileStreamOn.do.binary..st new file mode 100644 index 00000000..2fd81137 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/fileStreamOn.do.binary..st @@ -0,0 +1,13 @@ +file library +fileStreamOn: aString do: aBlock binary: aBoolean + ^ aBoolean + ifTrue: [ + FileStream fileNamed: aString do: [ :stream | + stream binary. + aBlock value: stream ] ] + ifFalse: [ + MultiByteFileStream fileNamed: aString do: [ :stream | + stream + ascii; + wantsLineEndConversion: true. + aBlock value: stream ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/filesIn..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/filesIn..st new file mode 100644 index 00000000..e3b9a6b0 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/filesIn..st @@ -0,0 +1,8 @@ +file library +filesIn: aPathString + "Return a collection of absolute paths for all the files (no directories) in the directory given by aPathString + must not include file names that start with ." + ^ Array streamContents: [ :stream | + FileSystem disk filesAt: aPathString do: [ :each | + each basename first = $. ifFalse: [ + stream nextPut: each asFileReference fullName ] ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/isProcessTerminated..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/isProcessTerminated..st new file mode 100644 index 00000000..03b50778 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/isProcessTerminated..st @@ -0,0 +1,4 @@ +processes +isProcessTerminated: aProcess + "Return a boolean indicating whether aProcess has been terminated." + ^ aProcess isTerminated \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/label.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/label.st new file mode 100644 index 00000000..f3b036e2 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/label.st @@ -0,0 +1,3 @@ +version info +label + ^ 'Pharo' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/localNameOf..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/localNameOf..st new file mode 100644 index 00000000..8f4efb85 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/localNameOf..st @@ -0,0 +1,3 @@ +file library +localNameOf: aFilename + ^ (FileSystem disk resolveString: aFilename) basename \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/newRandom.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/newRandom.st new file mode 100644 index 00000000..9d90824d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/newRandom.st @@ -0,0 +1,10 @@ +factory +newRandom + "Answers the random number generator to be used to create session and continuation keys. Make sure it is seeded. They only methods that will be sent to it are: + #nextInt: - should answer a random integer in the interval [1, anInteger] + #randomFrom: - should answer a random element from the given collection + + Make sure that both methods are safe under heavy concurrent load. + + Used by Gemstone/S traditional Randoms which cannot be persisted.." + ^ GRPharoRandomProvider \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/newline.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/newline.st new file mode 100644 index 00000000..1219045d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/newline.st @@ -0,0 +1,3 @@ +file library +newline + ^ String cr \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/openDebuggerOn..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/openDebuggerOn..st new file mode 100644 index 00000000..b98446f9 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/openDebuggerOn..st @@ -0,0 +1,18 @@ +exceptions +openDebuggerOn: anError + | process | + process := Processor activeProcess. + "If we are running in the UI process, we don't want to suspend the active process. The + error was presumably triggered while stepping in the Debugger. If we simply immediately + signal an UnhandledError, the debugger will catch this and display the signaling context. + It isn't perfect or pretty but it works." + (ProcessBrowser isUIProcess: process) + ifTrue: [ + UnhandledError signalForException: anError ] + ifFalse: [ + WorldState addDeferredUIMessage: [ + process + debug: anError signalerContext + title: anError description + full: true ]. + process suspend ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/pathSeparator.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/pathSeparator.st new file mode 100644 index 00000000..10f88300 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/pathSeparator.st @@ -0,0 +1,3 @@ +file library +pathSeparator + ^ String with: FileSystem disk delimiter \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/readWriteByteStream.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/readWriteByteStream.st new file mode 100644 index 00000000..db9518ee --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/readWriteByteStream.st @@ -0,0 +1,5 @@ +factory +readWriteByteStream + "ByteArray based read write stream" + + ^ ReadWriteStream on: (ByteArray new: 4096) \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/readWriteCharacterStream.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/readWriteCharacterStream.st new file mode 100644 index 00000000..3f94c5af --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/readWriteCharacterStream.st @@ -0,0 +1,5 @@ +factory +readWriteCharacterStream + "String based read write stream" + + ^ ReadWriteStream on: (String new: 4096) \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/removeFromShutDownList..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/removeFromShutDownList..st new file mode 100644 index 00000000..58137e33 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/removeFromShutDownList..st @@ -0,0 +1,5 @@ +startup +removeFromShutDownList: aClass + "Remove aClass from the shutdown list in the system." + + SessionManager default unregisterClassNamed: aClass name \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/removeFromStartUpList..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/removeFromStartUpList..st new file mode 100644 index 00000000..76918209 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/removeFromStartUpList..st @@ -0,0 +1,5 @@ +startup +removeFromStartUpList: aClass + "Remove aClass from the startup list in the system." + + SessionManager default unregisterClassNamed: aClass name \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/removeSelector.from..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/removeSelector.from..st new file mode 100644 index 00000000..92cbd7ff --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/removeSelector.from..st @@ -0,0 +1,3 @@ +file library +removeSelector: aSymbol from: aClass + aClass removeSelector: aSymbol \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/secureHashFor..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/secureHashFor..st new file mode 100644 index 00000000..46b9e2d2 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/secureHashFor..st @@ -0,0 +1,3 @@ +cryptography +secureHashFor: aString + ^ SHA1 new hashMessage: aString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/semaphoreClass.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/semaphoreClass.st new file mode 100644 index 00000000..ceccf9e3 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/semaphoreClass.st @@ -0,0 +1,4 @@ +factory +semaphoreClass + "used by Gemstone/S traditional Semaphores which cannot be persisted" + ^ Semaphore \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/stackDepth.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/stackDepth.st new file mode 100644 index 00000000..d7e6feab --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/stackDepth.st @@ -0,0 +1,10 @@ +exceptions +stackDepth + + | depth current | + depth := 0. + current := thisContext. + [ current isNil ] whileFalse: [ + current := current sender. + depth := depth + 1 ]. + ^ depth - 1 \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/terminateProcess..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/terminateProcess..st new file mode 100644 index 00000000..a09b96e1 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/terminateProcess..st @@ -0,0 +1,4 @@ +processes +terminateProcess: aProcess + "Permanently terminate the process, unwinding first to execute #ensure: and #ifCurtailed: blocks." + aProcess terminate \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/thisContext.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/thisContext.st new file mode 100644 index 00000000..c936ecad --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/thisContext.st @@ -0,0 +1,4 @@ +processes +thisContext + + ^ thisContext sender \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/useByteArrayLiterals.st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/useByteArrayLiterals.st new file mode 100644 index 00000000..71b0f2cf --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/useByteArrayLiterals.st @@ -0,0 +1,4 @@ +private-file library +useByteArrayLiterals + "whether ByteArray literals can/should be used" + ^ true \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/weakDictionaryOfSize..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/weakDictionaryOfSize..st new file mode 100644 index 00000000..b0ca3d82 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/weakDictionaryOfSize..st @@ -0,0 +1,3 @@ +factory +weakDictionaryOfSize: aNumber + ^ IdentityDictionary new: aNumber \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/write.toFile.inFolder..st b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/write.toFile.inFolder..st new file mode 100644 index 00000000..e77ae8c1 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/instance/write.toFile.inFolder..st @@ -0,0 +1,15 @@ +file library +write: aStringOrByteArray toFile: aFileNameString inFolder: aFolderString + "writes aStringOrByteArray to a file named aFilenameString in the folder aFolderString" + | folder stream fullFilePath | + folder := FileSystem disk resolveString: aFolderString. + fullFilePath := (folder / aFileNameString) asFileReference. + stream := aStringOrByteArray isString + ifTrue: [ + (MultiByteFileStream forceNewFileNamed: fullFilePath fullName) + ascii; + wantsLineEndConversion: true; + yourself ] + ifFalse: [ (FileStream forceNewFileNamed: fullFilePath fullName) binary ]. + [ stream nextPutAll: aStringOrByteArray ] + ensure: [ stream close ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/properties.json b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/properties.json new file mode 100644 index 00000000..5cbbf647 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoPlatform.class/properties.json @@ -0,0 +1,14 @@ +{ + "commentStamp" : "pmm 6/1/2008 01:03", + "super" : "GRPlatform", + "category" : "Grease-Pharo90-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ + "UrlTable", + "XmlTable" + ], + "instvars" : [ ], + "name" : "GRPharoPlatform", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/README.md b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/initialize.st b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/initialize.st new file mode 100644 index 00000000..04ca54c3 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/initialize.st @@ -0,0 +1,4 @@ +private +initialize + Smalltalk addToStartUpList: self. + self startUp \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/nextInt..st b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/nextInt..st new file mode 100644 index 00000000..593aee36 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/nextInt..st @@ -0,0 +1,5 @@ +public +nextInt: anInteger + "Answer a random integer in the interval [1, anInteger]" + + ^ mutex critical: [ generator nextInt: anInteger ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/randomClass.st b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/randomClass.st new file mode 100644 index 00000000..85a2db91 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/randomClass.st @@ -0,0 +1,3 @@ +private +randomClass + ^ Random \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/randomFrom..st b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/randomFrom..st new file mode 100644 index 00000000..a5fe470c --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/randomFrom..st @@ -0,0 +1,11 @@ +public +randomFrom: aCollection + | random count | + random := self nextInt: aCollection size. + ^ aCollection isSequenceable + ifTrue: [ aCollection at: random ] + ifFalse: [ + count := 1. + aCollection do: [ :ea | + count = random ifTrue: [ ^ ea ]. + count := count + 1 ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/startUp.st b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/startUp.st new file mode 100644 index 00000000..663a5243 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/startUp.st @@ -0,0 +1,4 @@ +class initialization +startUp + generator := self randomClass new. + mutex := Semaphore forMutualExclusion \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/unload.st b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/unload.st new file mode 100644 index 00000000..fd4cb930 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/class/unload.st @@ -0,0 +1,3 @@ +private +unload + GRPlatform current removeFromStartUpList: self \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/properties.json b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/properties.json new file mode 100644 index 00000000..ad9c865d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoRandomProvider.class/properties.json @@ -0,0 +1,14 @@ +{ + "commentStamp" : "", + "super" : "GRObject", + "category" : "Grease-Pharo90-Core", + "classinstvars" : [ + "mutex", + "generator" + ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRPharoRandomProvider", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/README.md b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/README.md new file mode 100644 index 00000000..c6047951 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/README.md @@ -0,0 +1 @@ +A WAUtf8Codec is a WACodec optimized for UTF-8. \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/class/basicForEncoding..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/class/basicForEncoding..st new file mode 100644 index 00000000..d4c4a74b --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/class/basicForEncoding..st @@ -0,0 +1,3 @@ +private +basicForEncoding: aString + ^ self new \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/class/codecs.st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/class/codecs.st new file mode 100644 index 00000000..632b84fb --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/class/codecs.st @@ -0,0 +1,3 @@ +accessing +codecs + ^ Array with: self new \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/class/supportsEncoding..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/class/supportsEncoding..st new file mode 100644 index 00000000..dc3a8ade --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/class/supportsEncoding..st @@ -0,0 +1,3 @@ +testing +supportsEncoding: aString + ^ (#('utf-8' 'UTF-8') includes: aString) or: [ UTF8TextConverter encodingNames includes: aString ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/decode..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/decode..st new file mode 100644 index 00000000..b625727d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/decode..st @@ -0,0 +1,36 @@ +decoding +decode: aString + "Convert the given string from UTF-8 using the fast path if converting to Latin-1" + | outStream byte1 byte2 byte3 byte4 unicode stream | + stream := aString readStream. + outStream := WriteStream on: (String new: aString size). + [ stream atEnd not ] whileTrue: [ + byte1 := stream next asInteger. + unicode := byte1. + (byte1 bitAnd: 16rE0) = 192 ifTrue: [ "two bytes" + byte2 := stream next asInteger. + (byte2 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + unicode := ((byte1 bitAnd: 31) bitShift: 6) + (byte2 bitAnd: 63) ]. + (byte1 bitAnd: 16rF0) = 224 ifTrue: [ "three bytes" + byte2 := stream next asInteger. + (byte2 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + byte3 := stream next asInteger. + (byte3 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + unicode := ((byte1 bitAnd: 15) bitShift: 12) + ((byte2 bitAnd: 63) bitShift: 6) + + (byte3 bitAnd: 63) ]. + (byte1 bitAnd: 16rF8) = 240 ifTrue: [ "four bytes" + byte2 := stream next asInteger. + (byte2 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + byte3 := stream next asInteger. + (byte3 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + byte4 := stream next asInteger. + (byte4 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + unicode := ((byte1 bitAnd: 16r7) bitShift: 18) + + ((byte2 bitAnd: 63) bitShift: 12) + + ((byte3 bitAnd: 63) bitShift: 6) + + (byte4 bitAnd: 63) ]. + unicode ifNil: [ self invalidUtf8 ]. + unicode = 16rFEFF "ignore BOM" ifFalse: [ + outStream nextPut: (Character codePoint: unicode) ]. + unicode := nil ]. + ^ outStream contents \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/decoderFor..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/decoderFor..st new file mode 100644 index 00000000..203b901f --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/decoderFor..st @@ -0,0 +1,5 @@ +conversion +decoderFor: aStream + ^ GRPharoUtf8CodecStream + on: aStream + converter: UTF8TextConverter new \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/encoderFor..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/encoderFor..st new file mode 100644 index 00000000..d77ab435 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/encoderFor..st @@ -0,0 +1,5 @@ +conversion +encoderFor: aStream + ^ GRPharoUtf8CodecStream + on: aStream + converter: UTF8TextConverter new \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/invalidUtf8.st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/invalidUtf8.st new file mode 100644 index 00000000..e4481c22 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/invalidUtf8.st @@ -0,0 +1,3 @@ +private +invalidUtf8 + ^ GRInvalidUtf8Error signal: 'Invalid UTF-8 input' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/name.st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/name.st new file mode 100644 index 00000000..7886c830 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'utf-8' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/url.st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/url.st new file mode 100644 index 00000000..4696d714 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/instance/url.st @@ -0,0 +1,3 @@ +accessing +url + ^ self \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/properties.json b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/properties.json new file mode 100644 index 00000000..7076077d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8Codec.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "pmm 2/20/2009 12:51", + "super" : "GRCodec", + "category" : "Grease-Pharo90-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRPharoUtf8Codec", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/README.md b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/README.md new file mode 100644 index 00000000..08323f18 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/README.md @@ -0,0 +1 @@ +A WAUtf8CodecStream is a WACodecStream optimized for UTF-8 performance in the case where most of the characters are ASCII. diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/class/initialize.st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/class/initialize.st new file mode 100644 index 00000000..b8d03990 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/class/initialize.st @@ -0,0 +1,17 @@ +class initialization +initialize + (Smalltalk hasClassNamed: #UTF8TextConverter) "guard for Squeak 37" + ifFalse: [ ^ self ]. + + Latin1ToUtf8Map := ByteArray new: 256. + Latin1ToUtf8Encodings := Array new: 256. + 0 to: 255 do:[ :index | + | latin1 utf8 | + latin1 := String with: (Character codePoint: index). + utf8 := latin1 convertToWithConverter: UTF8TextConverter new. + latin1 = utf8 + ifTrue:[ + Latin1ToUtf8Map at: index + 1 put: 0 ] "no translation needed" + ifFalse:[ + Latin1ToUtf8Map at: index + 1 put: 1. "no translation needed" + Latin1ToUtf8Encodings at: index + 1 put: utf8 ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/crlf.st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/crlf.st new file mode 100644 index 00000000..ba607092 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/crlf.st @@ -0,0 +1,4 @@ +streaming +crlf + stream nextPut: Character cr. + stream nextPut: Character lf \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/encodeDefault..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/encodeDefault..st new file mode 100644 index 00000000..cdd58a41 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/encodeDefault..st @@ -0,0 +1,5 @@ +private +encodeDefault: aString + "Convert the given string from UTF-8 using the fast path if converting to Latin-1" + 1 to: aString size by: 1 do: [ :index | + converter nextPut: (aString at: index) toStream: stream ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/encodeFast..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/encodeFast..st new file mode 100644 index 00000000..9a8a0dc3 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/encodeFast..st @@ -0,0 +1,14 @@ +private +encodeFast: aByteString + "Convert the given string from UTF-8 using the fast path if converting to Latin-1" + | lastIndex nextIndex | + lastIndex := 1. + nextIndex := ByteString findFirstInString: aByteString inSet: Latin1ToUtf8Map startingAt: lastIndex. + nextIndex = 0 ifTrue: [ ^ stream nextPutAll: aByteString ]. + [ nextIndex > lastIndex ifTrue: [ + stream greaseNext: nextIndex - lastIndex putAll: aByteString startingAt: lastIndex ]. + stream nextPutAll: (Latin1ToUtf8Encodings at: (aByteString byteAt: nextIndex) + 1). + lastIndex := nextIndex + 1. + nextIndex := ByteString findFirstInString: aByteString inSet: Latin1ToUtf8Map startingAt: lastIndex. + nextIndex = 0 ] whileFalse. + stream greaseNext: aByteString size - lastIndex + 1 putAll: aByteString startingAt: lastIndex \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/greaseNext.putAll.startingAt..st new file mode 100644 index 00000000..cd78fbe0 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/greaseNext.putAll.startingAt..st @@ -0,0 +1,5 @@ +streaming +greaseNext: anInteger putAll: aCollection startingAt: startIndex + aCollection isByteString + ifTrue: [ self greaseNext: anInteger putAllFast: aCollection startingAt: startIndex ] + ifFalse: [ super greaseNext: anInteger putAll: aCollection startingAt: startIndex ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/greaseNext.putAllFast.startingAt..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/greaseNext.putAllFast.startingAt..st new file mode 100644 index 00000000..a4c114cb --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/greaseNext.putAllFast.startingAt..st @@ -0,0 +1,17 @@ +private +greaseNext: anInteger putAllFast: aByteString startingAt: startIndex + | lastIndex nextIndex | + lastIndex := startIndex. + nextIndex := ByteString findFirstInString: aByteString inSet: Latin1ToUtf8Map startingAt: lastIndex. + nextIndex = 0 ifTrue: [ ^ stream greaseNext: anInteger putAll: aByteString startingAt: startIndex ]. + [ + nextIndex >= (startIndex + anInteger) ifTrue: [ + ^ stream greaseNext: startIndex + anInteger - lastIndex putAll: aByteString startingAt: lastIndex ]. + nextIndex > lastIndex ifTrue: [ + stream greaseNext: nextIndex - lastIndex putAll: aByteString startingAt: lastIndex ]. + stream nextPutAll: (Latin1ToUtf8Encodings at: (aByteString byteAt: nextIndex) + 1). + lastIndex := nextIndex + 1. + nextIndex := ByteString findFirstInString: aByteString inSet: Latin1ToUtf8Map startingAt: lastIndex. + (nextIndex = 0 or: [ nextIndex >= (startIndex + anInteger) ]) ] whileFalse. + lastIndex >= (startIndex + anInteger) ifFalse: [ + stream greaseNext: startIndex + anInteger - lastIndex putAll: aByteString startingAt: lastIndex ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/invalidUtf8.st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/invalidUtf8.st new file mode 100644 index 00000000..e4481c22 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/invalidUtf8.st @@ -0,0 +1,3 @@ +private +invalidUtf8 + ^ GRInvalidUtf8Error signal: 'Invalid UTF-8 input' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/next..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/next..st new file mode 100644 index 00000000..116f524d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/next..st @@ -0,0 +1,46 @@ +streaming +next: anInteger + "Convert the given string from UTF-8 using the fast path if converting to Latin-1" + | output byte1 byte2 byte3 byte4 unicode count alreadyWide | + output := ByteString new: anInteger. + count := 0. + alreadyWide := false. + [ count < anInteger and: [ stream atEnd not ] ] whileTrue: [ + byte1 := stream next. + unicode := byte1. + (byte1 bitAnd: 16rE0) = 192 ifTrue: [ "two bytes" + byte2 := stream next. + (byte2 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + unicode := ((byte1 bitAnd: 31) bitShift: 6) + (byte2 bitAnd: 63) ]. + (byte1 bitAnd: 16rF0) = 224 ifTrue: [ "three bytes" + byte2 := stream next. + (byte2 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + byte3 := stream next. + (byte3 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + unicode := ((byte1 bitAnd: 15) bitShift: 12) + ((byte2 bitAnd: 63) bitShift: 6) + + (byte3 bitAnd: 63). + alreadyWide ifFalse: [ + output := WideString withAll: output. + alreadyWide := true ] ]. + (byte1 bitAnd: 16rF8) = 240 ifTrue: [ "four bytes" + byte2 := stream next. + (byte2 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + byte3 := stream next. + (byte3 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + byte4 := stream next. + (byte4 bitAnd: 16rC0) = 16r80 ifFalse: [ self invalidUtf8 ]. + unicode := ((byte1 bitAnd: 16r7) bitShift: 18) + + ((byte2 bitAnd: 63) bitShift: 12) + + ((byte3 bitAnd: 63) bitShift: 6) + + (byte4 bitAnd: 63). + alreadyWide ifFalse: [ + output := WideString withAll: output. + alreadyWide := true ] ]. + unicode ifNil: [ self invalidUtf8 ]. + unicode = 16rFEFF "ignore BOM" ifFalse: [ + count := count + 1. + output at: count put: (Character codePoint: unicode) ]. + unicode := nil ]. + ^ count < anInteger + ifTrue: [ output first: count ] + ifFalse: [ output ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/next.st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/next.st new file mode 100644 index 00000000..4363f086 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/next.st @@ -0,0 +1,3 @@ +streaming +next + ^ (self next: 1) first \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/nextPut..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/nextPut..st new file mode 100644 index 00000000..ad2d94ab --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/nextPut..st @@ -0,0 +1,11 @@ +streaming +nextPut: aCharacter + | codePoint shouldEncode | + codePoint := aCharacter codePoint. + codePoint > 255 + ifTrue: [ ^ self nextPutAll: (String with: aCharacter) ]. + shouldEncode := Latin1ToUtf8Map at: codePoint + 1. + shouldEncode = 1 + ifTrue: [ stream nextPutAll: (Latin1ToUtf8Encodings at: codePoint + 1) ] + ifFalse: [ stream nextPut: aCharacter ] + \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/nextPutAll..st b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/nextPutAll..st new file mode 100644 index 00000000..b9136110 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/instance/nextPutAll..st @@ -0,0 +1,5 @@ +streaming +nextPutAll: aString + aString isByteString + ifTrue: [ self encodeFast: aString ] + ifFalse: [ self encodeDefault: aString ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/properties.json b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/properties.json new file mode 100644 index 00000000..837ace13 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRPharoUtf8CodecStream.class/properties.json @@ -0,0 +1,14 @@ +{ + "commentStamp" : "pmm 2/20/2009 12:27", + "super" : "GRPharoConverterCodecStream", + "category" : "Grease-Pharo90-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ + "Latin1ToUtf8Encodings", + "Latin1ToUtf8Map" + ], + "instvars" : [ ], + "name" : "GRPharoUtf8CodecStream", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/instance/customizeExplorerContents.st b/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/instance/customizeExplorerContents.st new file mode 100644 index 00000000..c92b49af --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/instance/customizeExplorerContents.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +customizeExplorerContents + ^ true \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/instance/explorerContents.st b/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/instance/explorerContents.st new file mode 100644 index 00000000..a7f93368 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/instance/explorerContents.st @@ -0,0 +1,10 @@ +*Grease-Pharo90-Core +explorerContents + | contents | + contents := OrderedCollection new. + self keysAndValuesDo: [ :key :value | + contents add: (ObjectExplorerWrapper + with: value + name: (key printString contractTo: 32) + model: self) ]. + ^ contents \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/instance/hasContentsInExplorer.st b/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/instance/hasContentsInExplorer.st new file mode 100644 index 00000000..f045a959 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/instance/hasContentsInExplorer.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +hasContentsInExplorer + ^ true \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/properties.json b/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/properties.json new file mode 100644 index 00000000..0d78b749 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/GRSmallDictionary.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRSmallDictionary" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Interval.extension/instance/any.st b/repository/Grease-Pharo90-Core.package/Interval.extension/instance/any.st new file mode 100644 index 00000000..eb927449 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Interval.extension/instance/any.st @@ -0,0 +1,6 @@ +*Grease-Pharo90-Core +any + "#first (used by SequenceableCollection>>anyOne) is an accessor of + Interval and does not error on an empty Interval." + + ^ self at: 1 \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Interval.extension/properties.json b/repository/Grease-Pharo90-Core.package/Interval.extension/properties.json new file mode 100644 index 00000000..534eb553 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Interval.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Interval" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/MessageSend.extension/instance/argumentCount.st b/repository/Grease-Pharo90-Core.package/MessageSend.extension/instance/argumentCount.st new file mode 100644 index 00000000..026b36ca --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/MessageSend.extension/instance/argumentCount.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +argumentCount + ^ selector numArgs - self arguments size \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/MessageSend.extension/instance/valueWithPossibleArguments..st b/repository/Grease-Pharo90-Core.package/MessageSend.extension/instance/valueWithPossibleArguments..st new file mode 100644 index 00000000..fce285bb --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/MessageSend.extension/instance/valueWithPossibleArguments..st @@ -0,0 +1,7 @@ +*Grease-Pharo90-Core +valueWithPossibleArguments: anArray + "Evaluate the block represented by the receiver. + If the block requires one argument, use anArg, if it requires more than one, + fill up the rest with nils." + + ^ self valueWithEnoughArguments: anArray \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/MessageSend.extension/properties.json b/repository/Grease-Pharo90-Core.package/MessageSend.extension/properties.json new file mode 100644 index 00000000..00669b90 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/MessageSend.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "MessageSend" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Number.extension/instance/milliseconds.st b/repository/Grease-Pharo90-Core.package/Number.extension/instance/milliseconds.st new file mode 100644 index 00000000..64fb2d91 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Number.extension/instance/milliseconds.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +milliseconds + ^ self milliSeconds \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Number.extension/properties.json b/repository/Grease-Pharo90-Core.package/Number.extension/properties.json new file mode 100644 index 00000000..71dace88 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Number.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Number" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Object.extension/instance/greaseString.st b/repository/Grease-Pharo90-Core.package/Object.extension/instance/greaseString.st new file mode 100644 index 00000000..2c101b63 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Object.extension/instance/greaseString.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +greaseString + ^ self asString \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Object.extension/properties.json b/repository/Grease-Pharo90-Core.package/Object.extension/properties.json new file mode 100644 index 00000000..f30a86e1 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Object.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Object" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Point.extension/instance/greaseString.st b/repository/Grease-Pharo90-Core.package/Point.extension/instance/greaseString.st new file mode 100644 index 00000000..edb0278e --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Point.extension/instance/greaseString.st @@ -0,0 +1,13 @@ +*Grease-Pharo90-Core +greaseString + "Reimplemented because in Pharo 1.4 + (4 @ 2) greaseString + ansers '(4@2)'" + ^ String streamContents: [ :stream | + x printOn: stream. + stream nextPut: $@. + (y notNil and: [ y negative ]) + ifTrue: [ + "Avoid ambiguous @- construct" + stream space ]. + y printOn: stream ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Point.extension/properties.json b/repository/Grease-Pharo90-Core.package/Point.extension/properties.json new file mode 100644 index 00000000..c6cf8dd5 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Point.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Point" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/PositionableStream.extension/instance/greaseUpToAll..st b/repository/Grease-Pharo90-Core.package/PositionableStream.extension/instance/greaseUpToAll..st new file mode 100644 index 00000000..ccd50371 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/PositionableStream.extension/instance/greaseUpToAll..st @@ -0,0 +1,5 @@ +*Grease-Pharo90-Core +greaseUpToAll: aCollection + "Needed for Seaside ports to other dialects where #upToAll: may have + different semantics" + ^ self upToAll: aCollection \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/PositionableStream.extension/properties.json b/repository/Grease-Pharo90-Core.package/PositionableStream.extension/properties.json new file mode 100644 index 00000000..8e090ee3 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/PositionableStream.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "PositionableStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/ScaledDecimal.extension/instance/encodeOn..st b/repository/Grease-Pharo90-Core.package/ScaledDecimal.extension/instance/encodeOn..st new file mode 100644 index 00000000..96fb1174 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/ScaledDecimal.extension/instance/encodeOn..st @@ -0,0 +1,5 @@ +*Grease-Pharo90-Core +encodeOn: aDocument + | converter | + converter := GRSignPrinter new, (GRNumberPrinter new precision: self scale). + converter print: self on: aDocument \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/ScaledDecimal.extension/instance/greaseString.st b/repository/Grease-Pharo90-Core.package/ScaledDecimal.extension/instance/greaseString.st new file mode 100644 index 00000000..c2f03064 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/ScaledDecimal.extension/instance/greaseString.st @@ -0,0 +1,5 @@ +*Grease-Pharo90-Core +greaseString + | converter | + converter := GRSignPrinter new, (GRNumberPrinter new precision: self scale). + ^ converter print: self \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/ScaledDecimal.extension/properties.json b/repository/Grease-Pharo90-Core.package/ScaledDecimal.extension/properties.json new file mode 100644 index 00000000..75f85f87 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/ScaledDecimal.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "ScaledDecimal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/instance/beginsWithSubCollection..st b/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/instance/beginsWithSubCollection..st new file mode 100644 index 00000000..7d00507d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/instance/beginsWithSubCollection..st @@ -0,0 +1,4 @@ +*Grease-Pharo90-Core +beginsWithSubCollection: aSequenceableCollection + "Some platforms implement #beginsWith: to answer true for an empty argument." + ^ self beginsWith: aSequenceableCollection \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/instance/endsWithSubCollection..st b/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/instance/endsWithSubCollection..st new file mode 100644 index 00000000..1fe4f069 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/instance/endsWithSubCollection..st @@ -0,0 +1,4 @@ +*Grease-Pharo90-Core +endsWithSubCollection: aSequenceableCollection + "Some platforms implement #endsWith: to answer true for an empty argument." + ^ self endsWith: aSequenceableCollection \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/instance/sorted.st b/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/instance/sorted.st new file mode 100644 index 00000000..0836e77c --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/instance/sorted.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +sorted + ^ self sorted: [ :a :b | a <= b ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/properties.json b/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/properties.json new file mode 100644 index 00000000..a68b7db6 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/SequenceableCollection.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "SequenceableCollection" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/SocketStream.extension/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo90-Core.package/SocketStream.extension/instance/greaseNext.putAll.startingAt..st new file mode 100644 index 00000000..90f61e5f --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/SocketStream.extension/instance/greaseNext.putAll.startingAt..st @@ -0,0 +1,13 @@ +*Grease-Pharo90-Core +greaseNext: anInteger putAll: aCollection startingAt: startIndex + "Put a String or a ByteArray onto the stream starting at the given position. + Currently a large collection will allocate a large buffer." + + | toPut | + anInteger = 0 ifTrue: [ + ^ aCollection ]. + toPut := binary ifTrue: [ aCollection asByteArray ] ifFalse: [ aCollection asString ]. + self adjustOutBuffer: anInteger. + outBuffer replaceFrom: outNextToWrite to: outNextToWrite + anInteger - 1 with: toPut startingAt: startIndex. + outNextToWrite := outNextToWrite + anInteger. + self checkFlush \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/SocketStream.extension/properties.json b/repository/Grease-Pharo90-Core.package/SocketStream.extension/properties.json new file mode 100644 index 00000000..797e09e5 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/SocketStream.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "SocketStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Symbol.extension/instance/greaseAsMutator.st b/repository/Grease-Pharo90-Core.package/Symbol.extension/instance/greaseAsMutator.st new file mode 100644 index 00000000..5bdc9f07 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Symbol.extension/instance/greaseAsMutator.st @@ -0,0 +1,3 @@ +*Grease-Pharo90-Core +greaseAsMutator + ^ self asMutator \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/Symbol.extension/properties.json b/repository/Grease-Pharo90-Core.package/Symbol.extension/properties.json new file mode 100644 index 00000000..8c6bce81 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/Symbol.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Symbol" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/WriteStream.extension/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo90-Core.package/WriteStream.extension/instance/greaseNext.putAll.startingAt..st new file mode 100644 index 00000000..167d1d13 --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/WriteStream.extension/instance/greaseNext.putAll.startingAt..st @@ -0,0 +1,4 @@ +*Grease-Pharo90-Core +greaseNext: anInteger putAll: aCollection startingAt: startIndex + "Store the next anInteger elements from the given collection." + ^ self next: anInteger putAll: aCollection startingAt: startIndex \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/WriteStream.extension/properties.json b/repository/Grease-Pharo90-Core.package/WriteStream.extension/properties.json new file mode 100644 index 00000000..8688e80d --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/WriteStream.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "WriteStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/monticello.meta/categories.st b/repository/Grease-Pharo90-Core.package/monticello.meta/categories.st new file mode 100644 index 00000000..f0069bbb --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Grease-Pharo90-Core'! diff --git a/repository/Grease-Pharo90-Core.package/monticello.meta/initializers.st b/repository/Grease-Pharo90-Core.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Core.package/monticello.meta/package b/repository/Grease-Pharo90-Core.package/monticello.meta/package new file mode 100644 index 00000000..9b275a6c --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Grease-Pharo90-Core') \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/properties.json b/repository/Grease-Pharo90-Core.package/properties.json new file mode 100644 index 00000000..6f31cf5a --- /dev/null +++ b/repository/Grease-Pharo90-Core.package/properties.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/.filetree b/repository/Grease-Pharo90-Slime.package/.filetree new file mode 100644 index 00000000..57a67973 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/.filetree @@ -0,0 +1,5 @@ +{ + "separateMethodMetaAndSource" : false, + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'ANSI Compatibility' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/initialize.st new file mode 100644 index 00000000..a39505e1 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/initialize.st @@ -0,0 +1,18 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: '``@expr1 and: [ | `@temp2 | ``@expr2 ] and: [ | `@temp3 | ``@expr3 ]' + with: '``@expr1 and: [ | `@temp2 | ``@expr2 and: [ | `@temp3 | ``@expr3 ] ]'; + replace: '``@expr1 and: [ | `@temp2 | ``@expr2 ] and: [ | `@temp3 | ``@expr3 ] and: [ | `@temp4 | ``@expr4 ]' + with: '``@expr1 and: [ | `@temp2 | ``@expr2 and: [ | `@temp3 | ``@expr3 and: [ | `@temp4 | ``@expr4 ] ] ]'; + replace: '``@expr1 and: [ | `@temp2 | ``@expr2 ] and: [ | `@temp3 | ``@expr3 ] and: [ | `@temp4 | ``@expr4 ] and: [ | `@temp5 | ``@expr5 ]' + with: '``@expr1 and: [ | `@temp2 | ``@expr2 and: [ | `@temp3 | ``@expr3 and: [ | `@temp4 | ``@expr4 and: [ | `@temp5 | ``@expr5 ] ] ] ]'; + replace: '``@expr1 or: [ | `@temp2 | ``@expr2 ] or: [ | `@temp3 | ``@expr3 ]' + with: '``@expr1 or: [ | `@temp2 | ``@expr2 or: [ | `@temp3 | ``@expr3 ] ]'; + replace: '``@expr1 or: [ | `@temp2 | ``@expr2 ] or: [ | `@temp3 | ``@expr3 ] or: [ | `@temp4 | ``@expr4 ]' + with: '``@expr1 or: [ | `@temp2 | ``@expr2 or: [ | `@temp3 | ``@expr3 or: [ | `@temp4 | ``@expr4 ] ] ]'; + replace: '``@expr1 or: [ | `@temp2 | ``@expr2 ] or: [ | `@temp3 | ``@expr3 ] or: [ | `@temp4 | ``@expr4 ] or: [ | `@temp5 | ``@expr5 ]' + with: '``@expr1 or: [ | `@temp2 | ``@expr2 or: [ | `@temp3 | ``@expr3 or: [ | `@temp4 | ``@expr4 or: [ | `@temp5 | ``@expr5 ] ] ] ]'; + replace: '``@expr1 or: [ | `@temp2 | ``@expr2 ] or: [ | `@temp3 | ``@expr3 ] or: [ | `@temp4 | ``@expr4 ] or: [ | `@temp5 | ``@expr5 ] or: [ | `@temp6 | ``@expr6 ]' + with: '``@expr1 or: [ | `@temp2 | ``@expr2 or: [ | `@temp3 | ``@expr3 or: [ | `@temp4 | ``@expr4 or: [ | `@temp5 | ``@expr5 or: [ | `@temp6 | ``@expr6 ] ] ] ] ]' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/name.st new file mode 100644 index 00000000..5964bd28 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Booleans' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/rationale.st new file mode 100644 index 00000000..1f109f56 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ '#and:and: and #or:or: are not ANSI compatible.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/properties.json new file mode 100644 index 00000000..85e5b292 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiBooleansRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiBooleansRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'ANSI Compatibility' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/initialize.st new file mode 100644 index 00000000..2742a93f --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/initialize.st @@ -0,0 +1,13 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: 'Character value: ``@expr' with: 'Character codePoint: ``@expr'; + replace: '`#source to: `#target' + withValueFrom: [ :node | + RBLiteralNode value: (String streamContents: [ :stream | + node receiver value codePoint to: node arguments first value codePoint do: [ :code | + stream nextPut: (Character codePoint: code) ] ]) ] + when: [ :node | + node receiver value isCharacter + and: [ node arguments first value isCharacter ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/name.st new file mode 100644 index 00000000..a1b3f88e --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Characters' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/rationale.st new file mode 100644 index 00000000..e061dd71 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Character value: 64 and $a to: $b is not ANSI compatible.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/properties.json new file mode 100644 index 00000000..eecce1fa --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiCharactersRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiCharactersRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'ANSI Compatibility' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/initialize.st new file mode 100644 index 00000000..1e93cbc8 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/initialize.st @@ -0,0 +1,30 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: '``@collection withIndexDo: [ :`each :`index | | `@temps | ``@.body ]' + with: '``@collection keysAndValuesDo: [ :`index :`each | | `@temps | ``@.body ]'; + replace: '``@collection doWithIndex: [ :`each :`index | | `@temps | ``@.body ]' + with: '``@collection keysAndValuesDo: [ :`index :`each | | `@temps | ``@.body ]'; + replace: '``@collection collect: ``@block1 thenDo: ``@block2' + with: '(``@collection collect: ``@block1) do: ``@block2'; + replace: '``@collection collect: ``@block1 thenSelect: ``@block2' + with: '(``@collection collect: ``@block1) select: ``@block2'; + replace: '``@collection pairsDo: [ :`t1 :`t2 | ``@.statements ]' + with: '1 to: ``@collection size by: 2 do: [ :index | | `t1 `t2 | `t1 := ``@collection at: index. `t2 := ``@collection at: index + 1. ``@.statements ]'; + replace: '``@collection reject: ``@block1 thenDo: ``@block2' + with: '(``@collection reject: ``@block1) do: ``@block2'; + replace: '``@collection select: ``@block1 thenCollect: ``@block2' + with: '(``@collection select: ``@block1) collect: ``@block2'; + replace: '``@collection select: ``@block1 thenDo: ``@block2' + with: '(``@collection select: ``@block1) do: ``@block2'; + replace: '``@collection detectSum: [ :`t1 | ``@.statements. `.last ]' + with: '``@collection inject: 0 into: [ :sum :`t1 | ``@.statements. sum + (`.last) ]'; + replace: '``@collection valuesDo: ``@block' + with: '``@collection do: ``@block'; + replace: '``@collection reversed' + with: '``@collection reverse'; + replace: '``@dictionary keysSortedSafely' + with: '``@dictionary keys asSortedCollection'; + replace: '``@collectionClass new: ``@size withAll: ``@character' + with: '(``@collectionClass new: ``@size) atAllPut: ``@character' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/name.st new file mode 100644 index 00000000..fba52990 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Collections' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/rationale.st new file mode 100644 index 00000000..8470c14b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Some collection methods are not ANSI compatible: #pairsDo:, #collect:thenDo:, #reject:thenDo:, #detectSum:, #valuesDo:, #keysSortedSafely, #new:withAll:, etc.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/properties.json new file mode 100644 index 00000000..467f20f9 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiCollectionsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiCollectionsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'ANSI Compatibility' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/initialize.st new file mode 100644 index 00000000..fe291c53 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/initialize.st @@ -0,0 +1,16 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: '``@boolean ifNotNilDo: ``@block' + with: '``@boolean ifNotNil: ``@block'; + replace: '``@boolean ifNotNilDo: ``@block1 ifNil: ``@block2' + with: '``@boolean ifNotNil: ``@block1 ifNil: ``@block2'; + replace: '``@boolean ifNil: ``@block1 ifNotNilDo: ``@block2' + with: '``@boolean ifNil: ``@block1 ifNotNil: ``@block2'; + replace: '``@boolean ifNotNil: [ | `@temps | ``@.body ]' + with: '``@boolean ifNotNil: [ :arg | | `@temps | ``@.body ]'; + replace: '``@boolean ifNotNil: [ | `@temps | ``@.body ] ifNil: ``@block ' + with: '``@boolean ifNotNil: [ :arg | | `@temps | ``@.body ] ifNil: ``@block'; + replace: '``@boolean ifNil: ``@block ifNotNil: [ | `@temps | ``@.body ]' + with: '``@boolean ifNil: ``@block ifNotNil: [ :arg | | `@temps | ``@.body ]' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/name.st new file mode 100644 index 00000000..4693610d --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Conditionals' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/rationale.st new file mode 100644 index 00000000..42b2134b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Conditionals like #ifNotNilDo: are not ANSI compatible.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/properties.json new file mode 100644 index 00000000..98442b11 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiConditionalsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiConditionalsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'ANSI Compatibility' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/initialize.st new file mode 100644 index 00000000..bcd5fbac --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/initialize.st @@ -0,0 +1,6 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: '``@object asString' with: '``@object greaseString'; + replace: '``@object asInteger' with: '``@object greaseInteger' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/name.st new file mode 100644 index 00000000..f3dd2a4d --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Convertors' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/rationale.st new file mode 100644 index 00000000..fa9200b0 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'The ANSI standard does not support #asInteger and #asString on Object.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/properties.json new file mode 100644 index 00000000..8bd5e6cf --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiConvertorRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiConvertorRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'ANSI Compatibility' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/initialize.st new file mode 100644 index 00000000..f0aadb85 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/initialize.st @@ -0,0 +1,6 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: '``@block on: `class do: [ | `@temps | ``@.body ]' + with: '``@block on: `class do: [ :err | | `@temps | ``@.body ]' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/name.st new file mode 100644 index 00000000..e86669e1 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Exceptions' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/rationale.st new file mode 100644 index 00000000..392fdedd --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Exception handlers expect exactly one argument in ANSI.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/properties.json new file mode 100644 index 00000000..dfe03407 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiExceptionsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiExceptionsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'ANSI Compatibility' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/initialize.st new file mode 100644 index 00000000..826e1af2 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/initialize.st @@ -0,0 +1,12 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: '`{ :node :context | node isVariable and: [ (Smalltalk includesKey: node name asSymbol) not and: [ context at: ''`receiver'' ifAbsentPut: [ node ]. true ] ] } cr' + with: '`{ :context | context at: ''`receiver'' } nextPut: Character cr'; + replace: '`{ :node :context | node isVariable and: [ (Smalltalk includesKey: node name asSymbol) not and: [ context at: ''`receiver'' ifAbsentPut: [ node ]. true ] ] } lf' + with: '`{ :context | context at: ''`receiver'' } nextPut: Character lf'; + replace: '``@stream nextPut: Character cr; nextPut: Character lf' + with: '``@stream crlf'; + replace: '``@collection writeStream' + with: 'WriteStream on: ``@collection' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/name.st new file mode 100644 index 00000000..aa09ac20 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Streams' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/rationale.st new file mode 100644 index 00000000..57a15ba8 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ '#cr and #lf are not part of the ANSI stream protocol.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/properties.json new file mode 100644 index 00000000..9bb495b2 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiStreamsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiStreamsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'ANSI Compatibility' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/initialize.st new file mode 100644 index 00000000..af1892f0 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/initialize.st @@ -0,0 +1,24 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: 'String tab' with: '(String with: Character tab)'; + replace: 'String cr' with: '(String with: Character cr)'; + replace: 'String lf' with: '(String with: Character lf)'; + replace: 'String crlf' with: '(String with: Character cr with: Character lf)'; + replace: 'String space' with: '(String with: Character space)'; + replace: '`@string includesSubString: `@subString' + with: '(`@string indexOfSubCollection: `@subString startingAt: 0) ~= 0'; + replace: '`@string includesSubstring: `@subString' + with: '(`@string indexOfSubCollection: `@subString startingAt: 0) ~= 0'; + replace: '``@string findTokens: ``@arg' withValueFrom: [ :node | + | argument | + argument := node arguments first. + argument isLiteralNode ifTrue: [ + argument value isArray + ifTrue: [ argument replaceWith: (RBLiteralNode value: (String withAll: argument value)) ]. + argument value isCharacter + ifTrue: [ argument replaceWith: (RBLiteralNode value: (String with: argument value)) ] ]. + node + selector: #subStrings:; + yourself ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/name.st new file mode 100644 index 00000000..cdc89723 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Strings' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/rationale.st new file mode 100644 index 00000000..a42a193e --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ '#cr, #crlf, #lf, #space, #tab, #findTokens:, ... are not part of the ANSI string protocol.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/properties.json new file mode 100644 index 00000000..bcfa99fc --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRAnsiStringsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiStringsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/checkClass..st b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/checkClass..st new file mode 100644 index 00000000..b5489e28 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/checkClass..st @@ -0,0 +1,13 @@ +running +checkClass: aContext + (aContext isMeta not + and: [ (aContext includesSelector: #initialize) + and: [ (#(GRObject GRNotification GRNotification GRError RBLintRule RBTransformationRule) noneSatisfy: [ :each | + aContext includesBehavior: (Smalltalk globals at: each) ]) + and: [ aContext class methodDictionary noneSatisfy: [ :each | + matcher + executeTree: each parseTree + initialAnswer: false ] ] ] ]) ifTrue: [ + result + addClass: aContext + selector: #initialize ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/initialize.st new file mode 100644 index 00000000..10faf254 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/initialize.st @@ -0,0 +1,7 @@ +initialization +initialize + super initialize. + matcher := RBParseTreeSearcher new. + matcher + matches: 'self basicNew initialize' + do: [ :node :answer | true ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/name.st new file mode 100644 index 00000000..5e0a6113 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ '#basicNew initialize is missing' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/rationale.st new file mode 100644 index 00000000..996d9872 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ '#initialize is not called implicitely when sending #new to an object in other Smalltalk dialects. Consider subclassing GRObject.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/properties.json new file mode 100644 index 00000000..26feb6d9 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBasicNewInitializeMissingRule.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "matcher" + ], + "name" : "GRBasicNewInitializeMissingRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Formatting' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/initialize.st new file mode 100644 index 00000000..c9bda0fc --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/initialize.st @@ -0,0 +1,23 @@ +initialization +initialize + super initialize. + self matcher + matches: '[ :`@args | | `@temps | ``@.stmts ]' + do: [ :node :answer | + answer isNil + ifFalse: [ answer ] + ifTrue: [ + | source | + source := node source. + (source notNil and: [ node left notNil and: [ node right notNil ] ]) ifTrue: [ + | before after | + before := source at: node left + 1 ifAbsent: [ $ ]. + after := source at: node right - 1 ifAbsent: [ $ ]. + (before isSeparator and: [ after isSeparator ]) + ifFalse: [ node ] + ifTrue: [ + node bar notNil ifTrue: [ + before := source at: node bar - 1 ifAbsent: [ $ ]. + after := source at: node bar + 1 ifAbsent: [ $ ]. + (before isSeparator and: [ after isSeparator ]) + ifFalse: [ node ] ] ] ] ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/name.st new file mode 100644 index 00000000..4c9c6708 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Block formatting' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/rationale.st new file mode 100644 index 00000000..3c042a50 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'There should spaces at the beginning and end of block.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/properties.json new file mode 100644 index 00000000..67dc7eb8 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRBlockFormattingRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRBlockFormattingRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/checkMethod..st b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/checkMethod..st new file mode 100644 index 00000000..bec7aeb7 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/checkMethod..st @@ -0,0 +1,20 @@ +running +checkMethod: aContext + | matches | + matches := matcher + executeTree: aContext parseTree + initialAnswer: OrderedCollection new. + matches do: [ :node | + " This ensures that the description is of the form ClassName>>#selector:" + (node arguments first isLiteralNode + and: [ node arguments first value isString + and: [ aContext methodClass name greaseString , '>>#' , aContext selector greaseString ~= node arguments first value ] ]) ifTrue: [ + result addClass: aContext methodClass selector: aContext selector. + result addSearchString: node arguments first value ]. + " This ensures that the description is a string and ends with a dot." + (node arguments size > 1 + and: [ node arguments second isLiteralNode + and: [ node arguments second value isString + and: [ (node arguments second value endsWithSubCollection: '.') not ] ] ]) ifTrue: [ + result addClass: aContext methodClass selector: aContext selector. + result addSearchString: node arguments second value ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Formatting' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/initialize.st new file mode 100644 index 00000000..64cfada8 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/initialize.st @@ -0,0 +1,9 @@ +initialization +initialize + super initialize. + matcher := RBParseTreeSearcher new. + matcher + matchesAnyOf: #( + '``@receiver greaseDeprecatedApi: ``@arg1' + '``@receiver greaseDeprecatedApi: ``@arg1 details: ``@arg2' ) + do: [ :node :answer | answer add: node; yourself ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/name.st new file mode 100644 index 00000000..516849b7 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Invalid use of deprecated API protocol.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/rationale.st new file mode 100644 index 00000000..9bff5427 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Make sure to follow the following pattern: self greaseDeprecatedApi: ''Class>>#selector'' details: ''Some description''.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/properties.json new file mode 100644 index 00000000..e5708071 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRDeprecatedApiProtocolRule.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "matcher" + ], + "name" : "GRDeprecatedApiProtocolRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/checkMethod..st b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/checkMethod..st new file mode 100644 index 00000000..0bc1862a --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/checkMethod..st @@ -0,0 +1,12 @@ +running +checkMethod: aContext + | periods position | + aContext parseTree nodesDo: [ :node | + (node isSequence and: [ node periods notEmpty ]) ifTrue: [ + periods := OrderedCollection withAll: node periods. + 1 to: node statements size - 1 do: [ :index | + position := periods removeFirst. + ((node statements at: index) stop < position and: [ position < (node statements at: index + 1) start ]) + ifFalse: [ ^ result addClass: aContext methodClass selector: aContext selector ] ]. + (periods isEmpty or: [ periods size = 1 and: [ node statements notEmpty and: [ node statements last stop < periods first ] ] ]) + ifFalse: [ ^ result addClass: aContext methodClass selector: aContext selector ] ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/name.st new file mode 100644 index 00000000..3f4db678 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Empty Statements' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/rationale.st new file mode 100644 index 00000000..252dd280 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Empty statements are not supported by most Smalltalk implementations.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/resetResult.st b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/resetResult.st new file mode 100644 index 00000000..5b87472b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/instance/resetResult.st @@ -0,0 +1,4 @@ +running +resetResult + super resetResult. + result addSearchString: '..'; addSearchString: '.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/properties.json new file mode 100644 index 00000000..c03ba912 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GREmptyStatementsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GREmptyStatementsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/checkMethod..st b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/checkMethod..st new file mode 100644 index 00000000..63c04fdc --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/checkMethod..st @@ -0,0 +1,10 @@ +running +checkMethod: aContext + (aContext methodClass isMeta not + and: [ (aContext selector beginsWithSubCollection: #initialize) + and: [ aContext selector numArgs > 0 + and: [ aContext methodClass ~= GRObject + and: [ (aContext methodClass includesBehavior: GRObject) + and: [ (aContext superMessages includes: aContext selector) not + and: [ aContext selfMessages noneSatisfy: [ :each | each beginsWithSubCollection: #initialize ] ] ] ] ] ] ]) + ifTrue: [ result addClass: aContext methodClass selector: aContext selector ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/name.st new file mode 100644 index 00000000..d814b293 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Invalid object initialization' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/rationale.st new file mode 100644 index 00000000..7b2fed07 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Initialize methods are required to call the designated initializer or its super implementation.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/properties.json new file mode 100644 index 00000000..39c115bc --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRInvalidObjectInitializationRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRInvalidObjectInitializationRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/checkClass..st b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/checkClass..st new file mode 100644 index 00000000..4c871460 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/checkClass..st @@ -0,0 +1,12 @@ +running +checkClass: aContext + | selectors | + selectors := self methodNames + inject: Set new + into: [ :set :each | + set + addAll: (aContext whichSelectorsReferTo: each); + yourself ]. + selectors do: [ :each | result addClass: aContext selector: each ]. + selectors isEmpty + ifFalse: [ result searchStrings: self methodNames ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/methodNames.st b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/methodNames.st new file mode 100644 index 00000000..7bfd5f10 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/methodNames.st @@ -0,0 +1,3 @@ +private +methodNames + ^ #( anyOne withIndexCollect: ) \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/name.st new file mode 100644 index 00000000..77664e0e --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Uses non portable message' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/rationale.st new file mode 100644 index 00000000..4de4dc3f --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Some methods are not portable accross different Smalltalk dialects.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/properties.json new file mode 100644 index 00000000..f94b5725 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableMessageRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRNonPortableMessageRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkClass..st b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkClass..st new file mode 100644 index 00000000..dc83677f --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkClass..st @@ -0,0 +1,8 @@ +running +checkClass: aContext + | comment | + aContext isMeta + ifTrue: [ ^ self ]. + comment := aContext organization classComment asString. + comment isWideString ifTrue: [ + result addClass: aContext ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkMethod..st b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkMethod..st new file mode 100644 index 00000000..8d1ad057 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkMethod..st @@ -0,0 +1,17 @@ +running +checkMethod: aContext + | foundLiteral | + foundLiteral := false. + "check individual literals first" + aContext literals do: [ :each | + (each isString and: [ each isWideString ]) ifTrue: [ + result + addClass: aContext methodClass + selector: aContext selector. + result addSearchString: each. + foundLiteral := true ] ]. + + "now check the whole method, could be in comments" + foundLiteral ifFalse: [ + aContext sourceCode asString isWideString ifTrue: [ + result addClass: aContext methodClass selector: aContext selector ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/name.st new file mode 100644 index 00000000..3469916d --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Non portable source format' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/rationale.st new file mode 100644 index 00000000..7306a747 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'The method source is required to be a plain string, for portability reasons a wide-string is not supported.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/properties.json new file mode 100644 index 00000000..c940a9de --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNonPortableSourceFormatRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRNonPortableSourceFormatRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/initialize.st new file mode 100644 index 00000000..643668f1 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/initialize.st @@ -0,0 +1,8 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: '`@collection beginsWith: `@subCollection' + with: '`@collection beginsWithSubCollection: `@subCollection'; + replace: '`@collection endsWith: `@subCollection' + with: '`@collection endsWithSubCollection: `@subCollection' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/name.st new file mode 100644 index 00000000..fba52990 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Collections' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/rationale.st new file mode 100644 index 00000000..908ce1c0 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ '#beginsWith: and #endsWith: are not portable.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/properties.json new file mode 100644 index 00000000..d32b9c06 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRNotPortableCollectionsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRNotPortableCollectionsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/README.md new file mode 100644 index 00000000..bca4d093 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/README.md @@ -0,0 +1 @@ +I detect senders of Object >> #in: diff --git a/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/initialize.st new file mode 100644 index 00000000..38aa19b0 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/initialize.st @@ -0,0 +1,6 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: '``@object in: [ :`var | | `@temps | `@.statements ]' + with: '[ :`var | | `@temps | `@.statements ] value: ``@object' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/name.st new file mode 100644 index 00000000..65dd49f6 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Object>>#in:' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/rationale.st new file mode 100644 index 00000000..c3b2c41b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Object>>#in: has different semantics on different Smalltalk dialects.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/properties.json new file mode 100644 index 00000000..cc910d3f --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRObjectInRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "pmm 9/12/2009 10:37", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRObjectInRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRPackage.extension/class/greaseSlime.st b/repository/Grease-Pharo90-Slime.package/GRPackage.extension/class/greaseSlime.st new file mode 100644 index 00000000..24d29849 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRPackage.extension/class/greaseSlime.st @@ -0,0 +1,8 @@ +*Grease-Pharo90-Slime +greaseSlime + ^ self new + name: 'Grease-Pharo40-Slime'; + description: 'Code critis for Grease. Detects common types of bugs and non-portable code.'; + addDependency: 'Grease-Core'; + url: #seasideUrl; + yourself \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRPackage.extension/properties.json b/repository/Grease-Pharo90-Slime.package/GRPackage.extension/properties.json new file mode 100644 index 00000000..ae522a7e --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRPackage.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRPackage" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Formatting' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/initialize.st new file mode 100644 index 00000000..a9bf5bdb --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/initialize.st @@ -0,0 +1,20 @@ +initialization +initialize + super initialize. + self matcher + matches: '`{ :node | node isValue and: [ node hasParentheses ] }' + do: [ :node :answer | + answer isNil + ifFalse: [ answer ] + ifTrue: [ + | found start stop | + found := false. + start := node startWithoutParentheses. + stop := node stopWithoutParentheses. + node parentheses reverseDo: [ :interval | + found := found + or: [ start - 1 ~= interval first + or: [ stop + 1 ~= interval last ] ]. + start := interval first. + stop := interval last ]. + found ifTrue: [ node ] ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/name.st new file mode 100644 index 00000000..48e67c85 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Parentheses formatting' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/rationale.st new file mode 100644 index 00000000..298a86b2 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'There should be no spaces inside parentheses.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/properties.json new file mode 100644 index 00000000..dee328d6 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRParensFormattingRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRParensFormattingRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Formatting' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/initialize.st new file mode 100644 index 00000000..a488a67f --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/initialize.st @@ -0,0 +1,11 @@ +initialization +initialize + super initialize. + self matcher + matches: '^ ``@expr' + do: [ :node :answer | + answer isNil + ifFalse: [ answer ] + ifTrue: [ + node start + 2 ~= node value start + ifTrue: [ node ] ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/name.st new file mode 100644 index 00000000..ed235f80 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Return formatting' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/rationale.st new file mode 100644 index 00000000..904d4922 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'There should be a single space between the ^ and the following expression.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/properties.json new file mode 100644 index 00000000..de40fc2b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRReturnFormattingRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRReturnFormattingRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/class/isVisible.st b/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/class/isVisible.st new file mode 100644 index 00000000..43f102e1 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/class/isVisible.st @@ -0,0 +1,3 @@ +testing +isVisible + ^ self name ~= #GRSlimeBlockLintRule \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/instance/category.st b/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/instance/category.st new file mode 100644 index 00000000..af69ca36 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/instance/category.st @@ -0,0 +1,3 @@ +accessing +category + ^ self group \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/properties.json new file mode 100644 index 00000000..fe4136b6 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRSlimeBlockLintRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "RBBlockLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRSlimeBlockLintRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/class/isVisible.st b/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/class/isVisible.st new file mode 100644 index 00000000..fa02a17b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/class/isVisible.st @@ -0,0 +1,3 @@ +testing +isVisible + ^ self name ~= #GRSlimeParseTreeLintRule \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/instance/category.st b/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/instance/category.st new file mode 100644 index 00000000..af69ca36 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/instance/category.st @@ -0,0 +1,3 @@ +accessing +category + ^ self group \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/properties.json new file mode 100644 index 00000000..3496a9d3 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRSlimeParseTreeLintRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "RBParseTreeLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRSlimeParseTreeLintRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeTransformationRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRSlimeTransformationRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeTransformationRule.class/class/isVisible.st b/repository/Grease-Pharo90-Slime.package/GRSlimeTransformationRule.class/class/isVisible.st new file mode 100644 index 00000000..1bdda3d8 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRSlimeTransformationRule.class/class/isVisible.st @@ -0,0 +1,3 @@ +testing +isVisible + ^ self name ~= #GRSlimeTransformationRule \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRSlimeTransformationRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRSlimeTransformationRule.class/properties.json new file mode 100644 index 00000000..59ba3260 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRSlimeTransformationRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "RBTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRSlimeTransformationRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Formatting' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/initialize.st new file mode 100644 index 00000000..447c54de --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/initialize.st @@ -0,0 +1,18 @@ +initialization +initialize + super initialize. + self matcher + matches: '| `temp `@temps | ``@.stmts' + do: [ :node :answer | + answer isNil + ifFalse: [ answer ] + ifTrue: [ + (node leftBar notNil and: [ node rightBar notNil ]) ifTrue: [ + | found position | + found := false. + position := node leftBar. + node temporaries do: [ :each | + found := found or: [ position + 2 ~= each start ]. + position := each stop ]. + found := found or: [ position + 2 ~= node rightBar ]. + found ifTrue: [ node ] ] ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/name.st new file mode 100644 index 00000000..770e86d9 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Temporaries formatting' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/rationale.st new file mode 100644 index 00000000..49cb65dd --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'There should be a single space between the | and the individual temps.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/properties.json new file mode 100644 index 00000000..f5bfa60b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTempsFormattingRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRTempsFormattingRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/README.md new file mode 100644 index 00000000..6f3d9062 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/README.md @@ -0,0 +1 @@ +I check for TestCase >> #fail. \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/checkMethod..st b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/checkMethod..st new file mode 100644 index 00000000..cd33b84b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/checkMethod..st @@ -0,0 +1,7 @@ +running +checkMethod: aContext + aContext methodClass isMeta + ifTrue: [ ^ self ]. + (aContext methodClass allSuperclasses includes:(Smalltalk at: #TestCase)) + ifFalse: [ ^ self ]. + ^ super checkMethod: aContext \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/group.st new file mode 100644 index 00000000..5a189b4d --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'SUnit Compatibility' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/initialize.st new file mode 100644 index 00000000..d9d6784f --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/initialize.st @@ -0,0 +1,6 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: 'self fail' + with: 'self assert: false' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/name.st new file mode 100644 index 00000000..cb37341d --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'TestCase >> #fail' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/rationale.st new file mode 100644 index 00000000..0a6ddcf6 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'TestCase >> #fail is not portable.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/properties.json new file mode 100644 index 00000000..82a9cffc --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRTestAssertionsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "pmm 8/17/2014 11:24", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRTestAssertionsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/checkMethod..st b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/checkMethod..st new file mode 100644 index 00000000..5fc9a25b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/checkMethod..st @@ -0,0 +1,7 @@ +running +checkMethod: aContext + aContext parseTree nodesDo: [ :node | + node isSequence ifTrue: [ + (node statements notEmpty and: [ node periods notEmpty ]) ifTrue: [ + node periods last > node statements last stop ifTrue: [ + ^ result addClass: aContext methodClass selector: aContext selector ] ] ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Formatting' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/name.st new file mode 100644 index 00000000..5873f52c --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Unnecessary Last Period' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/rationale.st new file mode 100644 index 00000000..ccbe48b6 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Periods are not needed after the last satement.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/resetResult.st b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/resetResult.st new file mode 100644 index 00000000..5b87472b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/resetResult.st @@ -0,0 +1,4 @@ +running +resetResult + super resetResult. + result addSearchString: '..'; addSearchString: '.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/properties.json new file mode 100644 index 00000000..0147b08b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUnnecessaryLastPeriodRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUnnecessaryLastPeriodRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/initialize.st new file mode 100644 index 00000000..7923fa99 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/initialize.st @@ -0,0 +1,8 @@ +initialization +initialize + super initialize. + self matcher + matchesAnyOf: #( + '`@receiver canPerform: `@selector' + '`@receiver canUnderstand: `@selector' ) + do: [ :node :answer | answer isNil ifTrue: [ node ] ifFalse: [ answer ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/name.st new file mode 100644 index 00000000..b9ce70ca --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Sends #canPerform: or #canUnderstand:' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/rationale.st new file mode 100644 index 00000000..7e3a24ab --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ '#canPerform: or #canUnderstand: are not portable.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/properties.json new file mode 100644 index 00000000..55e65987 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesCanPerformOrUnderstandRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesCanPerformOrUnderstandRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/checkMethod..st b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/checkMethod..st new file mode 100644 index 00000000..2fdbe101 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/checkMethod..st @@ -0,0 +1,4 @@ +running +checkMethod: aContext + aContext parseTree selector = #hash + ifTrue: [ super checkMethod: aContext ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/initialize.st new file mode 100644 index 00000000..c56d728f --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/initialize.st @@ -0,0 +1,6 @@ +initialization +initialize + super initialize. + self matcher + matches: '`@receiver class hash' + do: [ :node :answer | answer isNil ifTrue: [ node ] ifFalse: [ answer ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/name.st new file mode 100644 index 00000000..5bdd2ee0 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Uses its class for hash' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/rationale.st new file mode 100644 index 00000000..84eba400 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'The hash of an object should not depend on the hash of its class as some Smalltalk have non-constant class hashes.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/properties.json new file mode 100644 index 00000000..e5c083e1 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesClassForHashRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesClassForHashRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/initialize.st new file mode 100644 index 00000000..ffa7a3bd --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/initialize.st @@ -0,0 +1,6 @@ +initialization +initialize + super initialize. + self matcher + matches: '{ `@.stmts }' + do: [ :node :answer | answer isNil ifTrue: [ node ] ifFalse: [ answer ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/name.st new file mode 100644 index 00000000..1228c96a --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Uses curly brace arrays' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/rationale.st new file mode 100644 index 00000000..c8668119 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Curly brace expressions are not portable accross different Smalltalk dialects.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/properties.json new file mode 100644 index 00000000..ec167193 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesCurlyBraceArraysRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesCurlyBraceArraysRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/initialize.st b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/initialize.st new file mode 100644 index 00000000..c7605206 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/initialize.st @@ -0,0 +1,6 @@ +initialization +initialize + super initialize. + self matcher + matches: '`#literal `{ :node | node isLiteralArray and: [ node isForByteArray ] }' + do: [ :node :answer | answer isNil ifTrue: [ node ] ifFalse: [ answer ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/name.st new file mode 100644 index 00000000..fbcd5729 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Uses literal byte arrays' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/rationale.st new file mode 100644 index 00000000..269ea76d --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Literal byte arrays are not portable accross different Smalltalk dialects.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/properties.json new file mode 100644 index 00000000..8c5b7a18 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesLiteralByteArraysRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesLiteralByteArraysRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/checkMethod..st b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/checkMethod..st new file mode 100644 index 00000000..0821ec7a --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/checkMethod..st @@ -0,0 +1,8 @@ +running +checkMethod: aContext + (self shouldExclude: aContext) ifFalse: [ + aContext pragmas do: [ :each | + result + addClass: aContext methodClass + selector: aContext selector. + result addSearchString: each selector ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/name.st new file mode 100644 index 00000000..dce9f95b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Uses method annotations' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/rationale.st new file mode 100644 index 00000000..33162ca3 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'As of now, it is unclear if method-annotations/pragmas are compatible across all supported platforms. Likely this rule will soon be removed.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/shouldExclude..st b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/shouldExclude..st new file mode 100644 index 00000000..331fa027 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/instance/shouldExclude..st @@ -0,0 +1,9 @@ +running +shouldExclude: aContext + "The REST and OmniBrowser related packages are OK to have pragmas" + + | classCategory | + classCategory := aContext methodClass instanceSide category. + ^ #(#'-REST-' 'OmniBrowser') + anySatisfy: + [ :each | (classCategory indexOfSubCollection: each startingAt: 1) ~= 0 ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/properties.json new file mode 100644 index 00000000..07e34e71 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesMethodAnnotationsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesMethodAnnotationsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/README.md b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/checkClass..st b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/checkClass..st new file mode 100644 index 00000000..c90a5576 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/checkClass..st @@ -0,0 +1,6 @@ +running +checkClass: aContext + aContext allSuperclassesDo: [ :each | + (self classNames includes: each name) ifTrue: [ + result addClass: aContext. + result addSearchString: each name ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/checkMethod..st b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/checkMethod..st new file mode 100644 index 00000000..a40fba21 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/checkMethod..st @@ -0,0 +1,12 @@ +running +checkMethod: aContext + (aContext methodClass instanceSide category + indexOfSubCollection: #'-Pharo-' + startingAt: 1) ~= 0 + ifTrue: + [ "classes in a -Pharo- package are per definition not portable and therefore allowed to use non-portable classes" ^ self ]. + aContext literals + do: [ :each | + (each isVariableBinding and: [ self classNames includes: each key ]) + ifTrue: [ result addClass: aContext methodClass selector: aContext selector. + result addSearchString: each key ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/classNames.st b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/classNames.st new file mode 100644 index 00000000..f3d5db68 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/classNames.st @@ -0,0 +1,3 @@ +private +classNames + ^ #( Delay MIMEDocument Monitor Mutex MutexSet Random Semaphore TimeStamp Timestamp MessageSend ) \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/group.st b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/group.st @@ -0,0 +1,3 @@ +accessing +group + ^ 'Grease Portability' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/name.st b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/name.st new file mode 100644 index 00000000..ba0b2df9 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ 'Uses not portable class' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/rationale.st b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/rationale.st new file mode 100644 index 00000000..e0f12e97 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/instance/rationale.st @@ -0,0 +1,3 @@ +accessing +rationale + ^ 'Some classes are not portable accross different Smalltalk dialects.' \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/properties.json b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/properties.json new file mode 100644 index 00000000..4d85da34 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/GRUsesNotPortableClassRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo90-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesNotPortableClassRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/monticello.meta/categories.st b/repository/Grease-Pharo90-Slime.package/monticello.meta/categories.st new file mode 100644 index 00000000..c906a39a --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Grease-Pharo90-Slime'! diff --git a/repository/Grease-Pharo90-Slime.package/monticello.meta/initializers.st b/repository/Grease-Pharo90-Slime.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo90-Slime.package/monticello.meta/package b/repository/Grease-Pharo90-Slime.package/monticello.meta/package new file mode 100644 index 00000000..0b4dab28 --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Grease-Pharo90-Slime') \ No newline at end of file diff --git a/repository/Grease-Pharo90-Slime.package/properties.json b/repository/Grease-Pharo90-Slime.package/properties.json new file mode 100644 index 00000000..6f31cf5a --- /dev/null +++ b/repository/Grease-Pharo90-Slime.package/properties.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/repository/Grease-Squeak5-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st b/repository/Grease-Squeak5-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st deleted file mode 100644 index e22afa1b..00000000 --- a/repository/Grease-Squeak5-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,2 +0,0 @@ -*grease-squeak5-core -fixCallbackTemps \ No newline at end of file diff --git a/repository/Grease-Squeak5-Core.package/BlockContext.extension/instance/fixCallbackTemps.st b/repository/Grease-Squeak5-Core.package/BlockContext.extension/instance/fixCallbackTemps.st deleted file mode 100644 index 113990d1..00000000 --- a/repository/Grease-Squeak5-Core.package/BlockContext.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,17 +0,0 @@ -*grease-squeak5-core -fixCallbackTemps - "Fix the values of the temporary variables used in the block that are - ordinarily shared with the method in which the block is defined. - - This is needed because Squeak is a crappy Smalltalk implementation - that does not have full blcck closures." - - | temps | - home := home copy. - home swapSender: nil. - home isMethodContext - ifFalse: [ ^ self ]. - temps := self tempVarRefs. - 1 to: home size do: [ :index | - (temps includes: index) - ifFalse: [ home tempAt: index put: nil ] ] \ No newline at end of file diff --git a/repository/Grease-Squeak5-Core.package/MessageSend.extension/instance/fixCallbackTemps.st b/repository/Grease-Squeak5-Core.package/MessageSend.extension/instance/fixCallbackTemps.st deleted file mode 100644 index 575f0180..00000000 --- a/repository/Grease-Squeak5-Core.package/MessageSend.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,3 +0,0 @@ -*grease-squeak5-core -fixCallbackTemps - "for polymorphism with BlockContext >> #fixCallbackTemps" \ No newline at end of file diff --git a/repository/Grease-Squeak5-Core.package/Symbol.extension/instance/greaseAsMutator.st b/repository/Grease-Squeak5-Core.package/Symbol.extension/instance/greaseAsMutator.st new file mode 100644 index 00000000..936381d3 --- /dev/null +++ b/repository/Grease-Squeak5-Core.package/Symbol.extension/instance/greaseAsMutator.st @@ -0,0 +1,3 @@ +*grease-squeak5-core +greaseAsMutator + ^ self asSimpleSetter \ No newline at end of file diff --git a/repository/Grease-Squeak5-Core.package/Symbol.extension/properties.json b/repository/Grease-Squeak5-Core.package/Symbol.extension/properties.json new file mode 100644 index 00000000..565e67b0 --- /dev/null +++ b/repository/Grease-Squeak5-Core.package/Symbol.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "Symbol" } diff --git a/repository/Grease-Squeak6-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st b/repository/Grease-Squeak6-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st deleted file mode 100644 index f4a0f6b1..00000000 --- a/repository/Grease-Squeak6-Core.package/BlockClosure.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,2 +0,0 @@ -*grease-squeak6-core -fixCallbackTemps \ No newline at end of file diff --git a/repository/Grease-Squeak6-Core.package/MessageSend.extension/instance/fixCallbackTemps.st b/repository/Grease-Squeak6-Core.package/MessageSend.extension/instance/fixCallbackTemps.st deleted file mode 100644 index 2903c4c3..00000000 --- a/repository/Grease-Squeak6-Core.package/MessageSend.extension/instance/fixCallbackTemps.st +++ /dev/null @@ -1,3 +0,0 @@ -*grease-squeak6-core -fixCallbackTemps - "for polymorphism with BlockContext >> #fixCallbackTemps" \ No newline at end of file diff --git a/repository/Grease-Tests-Core.package/GRCollectionTest.class/instance/assert.validSequencedResponseFrom..st b/repository/Grease-Tests-Core.package/GRCollectionTest.class/instance/assert.validSequencedResponseFrom..st new file mode 100644 index 00000000..98b858fd --- /dev/null +++ b/repository/Grease-Tests-Core.package/GRCollectionTest.class/instance/assert.validSequencedResponseFrom..st @@ -0,0 +1,5 @@ +asserting +assert: responseCollection validSequencedResponseFrom: receiverCollection + "Assert that the returned object is of a valid response class for the tested collection." + + self assert: (self isValidNewSequencedResponseClass: responseCollection class) \ No newline at end of file diff --git a/repository/Grease-Tests-Core.package/GRDelayedSendTest.class/instance/testFixCallbackTemps.st b/repository/Grease-Tests-Core.package/GRDelayedSendTest.class/instance/testFixCallbackTemps.st deleted file mode 100644 index 876c2e8e..00000000 --- a/repository/Grease-Tests-Core.package/GRDelayedSendTest.class/instance/testFixCallbackTemps.st +++ /dev/null @@ -1,12 +0,0 @@ -tests-evaluating -testFixCallbackTemps - | send | - send := GRDelayedSend - receiver: 1 - selector: #+. - self assert: send fixCallbackTemps == send. - send := GRDelayedSend - receiver: 1 - selector: #+ - argument: 2. - self assert: send fixCallbackTemps == send \ No newline at end of file diff --git a/repository/Grease-Tests-Core.package/GRIntervalTest.class/instance/testSorted.st b/repository/Grease-Tests-Core.package/GRIntervalTest.class/instance/testSorted.st new file mode 100644 index 00000000..b7b0ada5 --- /dev/null +++ b/repository/Grease-Tests-Core.package/GRIntervalTest.class/instance/testSorted.st @@ -0,0 +1,12 @@ +tests +testSorted + "Unlike super implementation do not assume Interval >> #sorted returns a new object" + | sorted collection | + collection := self arbitraryCollection. + sorted := collection sorted. + self assert: sorted validSequencedResponseFrom: collection. + self assert: sorted sortedWith: [ :a :b | a <= b ]. + + sorted := collection sorted: [ :a :b | a > b ]. + self assert: sorted validSequencedNewResponseFrom: collection. + self assert: sorted sortedWith: [ :a :b | a > b ] \ No newline at end of file diff --git a/repository/Grease-Tests-Core.package/GRNumberTest.class/instance/testToDoClosures.st b/repository/Grease-Tests-Core.package/GRNumberTest.class/instance/testToDoClosures.st index 78af5425..0d989b13 100644 --- a/repository/Grease-Tests-Core.package/GRNumberTest.class/instance/testToDoClosures.st +++ b/repository/Grease-Tests-Core.package/GRNumberTest.class/instance/testToDoClosures.st @@ -7,5 +7,5 @@ testToDoClosures | collection | collection := OrderedCollection new. - 1 to: 5 do: [ :each | collection add: [ each ] fixCallbackTemps ]. + 1 to: 5 do: [ :each | collection add: [ each ] ]. self assert: (collection collect: [ :each | each value ]) asArray = #(1 2 3 4 5) \ No newline at end of file diff --git a/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testBlockValuableProtocol.st b/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testBlockValuableProtocol.st index 4fc7e2c0..89d324a4 100644 --- a/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testBlockValuableProtocol.st +++ b/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testBlockValuableProtocol.st @@ -4,11 +4,11 @@ testBlockValuableProtocol self assert: [ :x | x ] argumentCount = 1. self assert: [ :a :b | a + b ] argumentCount = 2. self - shouldnt: [ [ nil ] fixCallbackTemps ] + shouldnt: [ [ nil ] ] raise: Error. self - shouldnt: [ [ :x | x ] fixCallbackTemps ] + shouldnt: [ [ :x | x ] ] raise: Error. self - shouldnt: [ [ :a :b | a + b ] fixCallbackTemps ] + shouldnt: [ [ :a :b | a + b ] ] raise: Error \ No newline at end of file diff --git a/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testFixCallbackTemps.st b/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testFixCallbackTemps.st deleted file mode 100644 index ae08b4f2..00000000 --- a/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testFixCallbackTemps.st +++ /dev/null @@ -1,9 +0,0 @@ -tests -testFixCallbackTemps - "Make sure that #fixCallbackTemps is properly understood by block-contexts. Make sure that this is either a nop for Smalltalks with true block closures, or it properly fixes the context otherwise." - - | array blocks values | - array := #(1 2 3). - blocks := array collect: [ :each | [ each ] fixCallbackTemps ]. - values := blocks collect: [ :each | each value ]. - self assert: values = array \ No newline at end of file diff --git a/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testSymbolAsMutator.st b/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testSymbolAsMutator.st index 9d7fa7e6..5fc4744b 100644 --- a/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testSymbolAsMutator.st +++ b/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testSymbolAsMutator.st @@ -3,4 +3,4 @@ testSymbolAsMutator "test for: Symbol >> #asMutator ^ (self copyWith: $:) asSymbol" - self assert: #name asMutator = #name: \ No newline at end of file + self assert: #name greaseAsMutator = #name: \ No newline at end of file diff --git a/repository/Grease-Tests-Pharo-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st b/repository/Grease-Tests-Pharo-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st index d2d7a808..b1c2016e 100644 --- a/repository/Grease-Tests-Pharo-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st +++ b/repository/Grease-Tests-Pharo-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st @@ -24,12 +24,10 @@ testMessageSendValueWithPossibleArguments selector: #+. self assert: send argumentCount = 1. self assert: send arguments size = 0. - self assert: send fixCallbackTemps == send. send := MessageSend receiver: 1 selector: #+ argument: 2. self assert: send argumentCount isZero. - self assert: send arguments size = 1. - self assert: send fixCallbackTemps == send \ No newline at end of file + self assert: send arguments size = 1 \ No newline at end of file diff --git a/repository/Grease-Tests-Squeak-Core.package/GRSqueakPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st b/repository/Grease-Tests-Squeak-Core.package/GRSqueakPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st index d2d7a808..1f1bb911 100644 --- a/repository/Grease-Tests-Squeak-Core.package/GRSqueakPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st +++ b/repository/Grease-Tests-Squeak-Core.package/GRSqueakPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st @@ -24,12 +24,10 @@ testMessageSendValueWithPossibleArguments selector: #+. self assert: send argumentCount = 1. self assert: send arguments size = 0. - self assert: send fixCallbackTemps == send. send := MessageSend receiver: 1 selector: #+ argument: 2. self assert: send argumentCount isZero. - self assert: send arguments size = 1. - self assert: send fixCallbackTemps == send \ No newline at end of file + self assert: send arguments size = 1 diff --git a/repository/Grease-Tests-Squeak5-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st b/repository/Grease-Tests-Squeak5-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st index d2d7a808..1f1bb911 100644 --- a/repository/Grease-Tests-Squeak5-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st +++ b/repository/Grease-Tests-Squeak5-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st @@ -24,12 +24,10 @@ testMessageSendValueWithPossibleArguments selector: #+. self assert: send argumentCount = 1. self assert: send arguments size = 0. - self assert: send fixCallbackTemps == send. send := MessageSend receiver: 1 selector: #+ argument: 2. self assert: send argumentCount isZero. - self assert: send arguments size = 1. - self assert: send fixCallbackTemps == send \ No newline at end of file + self assert: send arguments size = 1 diff --git a/repository/Grease-Tests-Squeak6-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st b/repository/Grease-Tests-Squeak6-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st index d2d7a808..1f1bb911 100644 --- a/repository/Grease-Tests-Squeak6-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st +++ b/repository/Grease-Tests-Squeak6-Core.package/GRPharoPlatformTest.class/instance/testMessageSendValueWithPossibleArguments.st @@ -24,12 +24,10 @@ testMessageSendValueWithPossibleArguments selector: #+. self assert: send argumentCount = 1. self assert: send arguments size = 0. - self assert: send fixCallbackTemps == send. send := MessageSend receiver: 1 selector: #+ argument: 2. self assert: send argumentCount isZero. - self assert: send arguments size = 1. - self assert: send fixCallbackTemps == send \ No newline at end of file + self assert: send arguments size = 1