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 3b845c9a..05943d3d 100644 --- a/repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baselinePharo..st +++ b/repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baselinePharo..st @@ -52,7 +52,7 @@ baselinePharo: spec group: 'Slime Tests' with: #('Grease-Tests-Slime') ]. spec - for: #(#'pharo10.x' #'pharo11.x' #'pharo12.x') + for: #(#'pharo10.x' #'pharo11.x') do: [ spec package: 'Grease-Core' with: [ spec includes: #('Grease-Pharo100-Core') ]; @@ -67,4 +67,22 @@ baselinePharo: spec spec group: 'Slime' with: #('Grease-Pharo90-Slime'); - group: 'Slime Tests' with: #('Grease-Tests-Slime') ] + group: 'Slime Tests' with: #('Grease-Tests-Slime') ]. + + spec + for: #(#'pharo12.x') + do: [ + spec + package: 'Grease-Core' with: [ spec includes: #('Grease-Pharo120-Core') ]; + package: 'Grease-Tests-Pharo-Core' with: [ spec requires: #('Grease-Tests-Core') ]; + package: 'Grease-Tests-Core' + with: [ spec + requires: #('Grease-Pharo120-Core'); + includes: #('Grease-Tests-Pharo-Core') ]; + package: 'Grease-Pharo120-Core' with: [ spec requires: #('Grease-Core') ]; + package: 'Grease-Pharo120-Slime' with: [ spec requires: #('Grease-Core') ]; + package: 'Grease-Tests-Slime' with: [ spec requires: #('Grease-Pharo120-Slime') ]. + + spec + group: 'Slime' with: #('Grease-Pharo120-Slime'); + group: 'Slime Tests' with: #('Grease-Tests-Slime') ] \ No newline at end of file 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 4a7c5b2b..8bbfdbd4 100644 --- a/repository/BaselineOfGrease.package/monticello.meta/categories.st +++ b/repository/BaselineOfGrease.package/monticello.meta/categories.st @@ -1,2 +1 @@ -SystemOrganization addCategory: #BaselineOfGrease! -SystemOrganization addCategory: #'BaselineOfGrease-Manifest'! +self packageOrganizer ensurePackage: #BaselineOfGrease withTags: #('Manifest' 'Manifest-BaselineOfGrease')! 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/GRPlatform.class/instance/classSideOf..st b/repository/Grease-Core.package/GRPlatform.class/instance/classSideOf..st new file mode 100644 index 00000000..27da6f3f --- /dev/null +++ b/repository/Grease-Core.package/GRPlatform.class/instance/classSideOf..st @@ -0,0 +1,3 @@ +tests +classSideOf: aClass + ^ aClass theMetaClass \ No newline at end of file diff --git a/repository/Grease-Core.package/GRPlatform.class/instance/defineClass.superclassName.category.forRBModel..st b/repository/Grease-Core.package/GRPlatform.class/instance/defineClass.superclassName.category.forRBModel..st new file mode 100644 index 00000000..e929ee36 --- /dev/null +++ b/repository/Grease-Core.package/GRPlatform.class/instance/defineClass.superclassName.category.forRBModel..st @@ -0,0 +1,7 @@ +tests +defineClass: aClassSymbol superclassName: aSuperSymbol category: aString forRBModel: aModel + ^ aModel defineClass: aSuperSymbol , ' subclass: #' , aClassSymbol , ' + instanceVariableNames: '''' + classVariableNames: '''' + poolDictionaries: '''' + category: ''' , aString , '''' \ No newline at end of file diff --git a/repository/Grease-Core.package/GRPlatform.class/instance/removeCategory..st b/repository/Grease-Core.package/GRPlatform.class/instance/removeCategory..st new file mode 100644 index 00000000..90b90b16 --- /dev/null +++ b/repository/Grease-Core.package/GRPlatform.class/instance/removeCategory..st @@ -0,0 +1,6 @@ +tests +removeCategory: aString + (Smalltalk organization listAtCategoryNamed: aString) do:[ :e | + SmalltalkImage current removeClassNamed: e ]. + Smalltalk organization + removeCategory: aString \ No newline at end of file diff --git a/repository/Grease-Core.package/GRPlatform.class/instance/selectorsInProtocol.ofClass..st b/repository/Grease-Core.package/GRPlatform.class/instance/selectorsInProtocol.ofClass..st new file mode 100644 index 00000000..c99c117c --- /dev/null +++ b/repository/Grease-Core.package/GRPlatform.class/instance/selectorsInProtocol.ofClass..st @@ -0,0 +1,3 @@ +tests +selectorsInProtocol: aString ofClass: aClass + ^ aClass organization listAtCategoryNamed: aString \ 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 d33d6435..c80ee06e 100644 --- a/repository/Grease-Core.package/monticello.meta/categories.st +++ b/repository/Grease-Core.package/monticello.meta/categories.st @@ -1,5 +1 @@ -SystemOrganization addCategory: #'Grease-Core'! -SystemOrganization addCategory: #'Grease-Core-Collections'! -SystemOrganization addCategory: #'Grease-Core-Exceptions'! -SystemOrganization addCategory: #'Grease-Core-Text'! -SystemOrganization addCategory: #'Grease-Core-Utilities'! +self packageOrganizer ensurePackage: #'Grease-Core' withTags: #(#Collections #Exceptions #Text #Utilities)! diff --git a/repository/Grease-Pharo120-Core.package/.filetree b/repository/Grease-Pharo120-Core.package/.filetree new file mode 100644 index 00000000..57a67973 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/.filetree @@ -0,0 +1,5 @@ +{ + "separateMethodMetaAndSource" : false, + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Behavior.extension/instance/fullName.st b/repository/Grease-Pharo120-Core.package/Behavior.extension/instance/fullName.st new file mode 100644 index 00000000..041153c0 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Behavior.extension/instance/fullName.st @@ -0,0 +1,5 @@ +*Grease-Pharo120-Core +fullName + "In VW, will include the namespace" + + ^ self name \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Behavior.extension/properties.json b/repository/Grease-Pharo120-Core.package/Behavior.extension/properties.json new file mode 100644 index 00000000..c4116c4c --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Behavior.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Behavior" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/BlockClosure.extension/instance/valueWithPossibleArguments..st b/repository/Grease-Pharo120-Core.package/BlockClosure.extension/instance/valueWithPossibleArguments..st new file mode 100644 index 00000000..ae1c0615 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/BlockClosure.extension/instance/valueWithPossibleArguments..st @@ -0,0 +1,11 @@ +*Grease-Pharo120-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-Pharo120-Core.package/BlockClosure.extension/properties.json b/repository/Grease-Pharo120-Core.package/BlockClosure.extension/properties.json new file mode 100644 index 00000000..2190e5e2 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/BlockClosure.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "BlockClosure" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/ByteArray.extension/instance/greaseString.st b/repository/Grease-Pharo120-Core.package/ByteArray.extension/instance/greaseString.st new file mode 100644 index 00000000..06913cba --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/ByteArray.extension/instance/greaseString.st @@ -0,0 +1,4 @@ +*Grease-Pharo120-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-Pharo120-Core.package/ByteArray.extension/properties.json b/repository/Grease-Pharo120-Core.package/ByteArray.extension/properties.json new file mode 100644 index 00000000..f81bcb8d --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/ByteArray.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "ByteArray" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Character.extension/instance/greaseInteger.st b/repository/Grease-Pharo120-Core.package/Character.extension/instance/greaseInteger.st new file mode 100644 index 00000000..b6063b12 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Character.extension/instance/greaseInteger.st @@ -0,0 +1,4 @@ +*Grease-Pharo120-Core +greaseInteger + "Answer an unicode code point of the receiver." + ^ self charCode \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Character.extension/properties.json b/repository/Grease-Pharo120-Core.package/Character.extension/properties.json new file mode 100644 index 00000000..5219281d --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Character.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Character" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Collection.extension/instance/any.st b/repository/Grease-Pharo120-Core.package/Collection.extension/instance/any.st new file mode 100644 index 00000000..1727f348 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Collection.extension/instance/any.st @@ -0,0 +1,3 @@ +*Grease-Pharo120-Core +any + ^ self anyOne \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Collection.extension/properties.json b/repository/Grease-Pharo120-Core.package/Collection.extension/properties.json new file mode 100644 index 00000000..48f9f8d9 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Collection.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Collection" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Color.extension/instance/asHTMLColor.st b/repository/Grease-Pharo120-Core.package/Color.extension/instance/asHTMLColor.st new file mode 100644 index 00000000..b181f889 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Color.extension/instance/asHTMLColor.st @@ -0,0 +1,3 @@ +*Grease-Pharo120-Core +asHTMLColor + ^'#', self asHexString \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Color.extension/properties.json b/repository/Grease-Pharo120-Core.package/Color.extension/properties.json new file mode 100644 index 00000000..8b86fc95 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Color.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Color" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Duration.extension/class/milliseconds..st b/repository/Grease-Pharo120-Core.package/Duration.extension/class/milliseconds..st new file mode 100644 index 00000000..cd98ace9 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Duration.extension/class/milliseconds..st @@ -0,0 +1,3 @@ +*Grease-Pharo120-Core +milliseconds: anInteger + ^ self milliSeconds: anInteger \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Duration.extension/instance/asMilliseconds.st b/repository/Grease-Pharo120-Core.package/Duration.extension/instance/asMilliseconds.st new file mode 100644 index 00000000..49553a0e --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Duration.extension/instance/asMilliseconds.st @@ -0,0 +1,3 @@ +*Grease-Pharo120-Core +asMilliseconds + ^ self asMilliSeconds \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Duration.extension/instance/milliseconds.st b/repository/Grease-Pharo120-Core.package/Duration.extension/instance/milliseconds.st new file mode 100644 index 00000000..111ded15 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Duration.extension/instance/milliseconds.st @@ -0,0 +1,3 @@ +*Grease-Pharo120-Core +milliseconds + ^ nanos quo: NanosInMillisecond \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Duration.extension/properties.json b/repository/Grease-Pharo120-Core.package/Duration.extension/properties.json new file mode 100644 index 00000000..d141a092 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Duration.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Duration" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo120-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st new file mode 100644 index 00000000..01eb1f7a --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st @@ -0,0 +1,3 @@ +*Grease-Pharo120-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-Pharo120-Core.package/GRDelegatingStream.extension/properties.json b/repository/Grease-Pharo120-Core.package/GRDelegatingStream.extension/properties.json new file mode 100644 index 00000000..5ec29ea0 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRDelegatingStream.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRDelegatingStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRDynamicVariable.class/README.md b/repository/Grease-Pharo120-Core.package/GRDynamicVariable.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Core.package/GRDynamicVariable.class/class/defaultValue.st b/repository/Grease-Pharo120-Core.package/GRDynamicVariable.class/class/defaultValue.st new file mode 100644 index 00000000..3d7f6377 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRDynamicVariable.class/class/use.during..st b/repository/Grease-Pharo120-Core.package/GRDynamicVariable.class/class/use.during..st new file mode 100644 index 00000000..1e03f82f --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRDynamicVariable.class/instance/default.st b/repository/Grease-Pharo120-Core.package/GRDynamicVariable.class/instance/default.st new file mode 100644 index 00000000..59cb6f1b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRDynamicVariable.class/properties.json b/repository/Grease-Pharo120-Core.package/GRDynamicVariable.class/properties.json new file mode 100644 index 00000000..ebf47dc1 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRDynamicVariable.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "DynamicVariable", + "category" : "Grease-Pharo120-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRDynamicVariable", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPackage.extension/class/greasePharo100Core.st b/repository/Grease-Pharo120-Core.package/GRPackage.extension/class/greasePharo100Core.st new file mode 100644 index 00000000..742ae11e --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPackage.extension/class/greasePharo100Core.st @@ -0,0 +1,7 @@ +*Grease-Pharo120-Core +greasePharo100Core + ^ self new + name: 'Grease-Pharo100-Core'; + addDependency: 'Grease-Core'; + url: #greaseUrl; + yourself \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPackage.extension/properties.json b/repository/Grease-Pharo120-Core.package/GRPackage.extension/properties.json new file mode 100644 index 00000000..ae522a7e --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPackage.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRPackage" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/README.md b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/README.md new file mode 100644 index 00000000..3f437d62 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1Codec.class/class/basicForEncoding..st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/class/basicForEncoding..st new file mode 100644 index 00000000..f6b18bd4 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1Codec.class/class/codecs.st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/class/codecs.st new file mode 100644 index 00000000..7a96b703 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1Codec.class/class/supportedEncodingNames.st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/class/supportedEncodingNames.st new file mode 100644 index 00000000..e5dca068 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1Codec.class/class/supportsEncoding..st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/class/supportsEncoding..st new file mode 100644 index 00000000..bc591573 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1Codec.class/instance/decode..st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/instance/decode..st new file mode 100644 index 00000000..5f73b526 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1Codec.class/instance/decoderFor..st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/instance/decoderFor..st new file mode 100644 index 00000000..5bce5556 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1Codec.class/instance/encoderFor..st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/instance/encoderFor..st new file mode 100644 index 00000000..1f770ac9 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1Codec.class/instance/initializeWithName..st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/instance/initializeWithName..st new file mode 100644 index 00000000..03133d93 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1Codec.class/instance/name.st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/instance/name.st new file mode 100644 index 00000000..22077c20 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1Codec.class/properties.json b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/properties.json new file mode 100644 index 00000000..50d2034f --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoLatin1Codec.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "", + "super" : "GRNullCodec", + "category" : "Grease-Pharo120-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "name" + ], + "name" : "GRPharoLatin1Codec", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoLatin1CodecStream.class/README.md b/repository/Grease-Pharo120-Core.package/GRPharoLatin1CodecStream.class/README.md new file mode 100644 index 00000000..e1c2471b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1CodecStream.class/instance/next..st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1CodecStream.class/instance/next..st new file mode 100644 index 00000000..a734bc76 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1CodecStream.class/instance/next.st b/repository/Grease-Pharo120-Core.package/GRPharoLatin1CodecStream.class/instance/next.st new file mode 100644 index 00000000..bf70df58 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoLatin1CodecStream.class/properties.json b/repository/Grease-Pharo120-Core.package/GRPharoLatin1CodecStream.class/properties.json new file mode 100644 index 00000000..9481f57a --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoLatin1CodecStream.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRNullCodecStream", + "category" : "Grease-Pharo120-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRPharoLatin1CodecStream", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/README.md b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/README.md new file mode 100644 index 00000000..f0375aac --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/class/initialize.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/class/initialize.st new file mode 100644 index 00000000..0c86564c --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/class/initializeUrlTable.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/class/initializeUrlTable.st new file mode 100644 index 00000000..9abf56b7 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/class/initializeXmlTable.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/class/initializeXmlTable.st new file mode 100644 index 00000000..830a5595 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/class/unload.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/class/unload.st new file mode 100644 index 00000000..4c8dd650 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/addToShutDownList..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/addToShutDownList..st new file mode 100644 index 00000000..f8d3ad5f --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/addToStartUpList..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/addToStartUpList..st new file mode 100644 index 00000000..8721690e --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArray.named..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArray.named..st new file mode 100644 index 00000000..ba4a0727 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArrayLiteral.named..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArrayLiteral.named..st new file mode 100644 index 00000000..90bb405c --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArrayWithCache.named..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/asMethodReturningByteArrayWithCache.named..st new file mode 100644 index 00000000..a1f9fe07 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/base64Decode..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/base64Decode..st new file mode 100644 index 00000000..3fb71b1a --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/base64Encode..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/base64Encode..st new file mode 100644 index 00000000..4cb93d20 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/base64Encode..st @@ -0,0 +1,3 @@ +encoding +base64Encode: aByteArray + ^ aByteArray base64Encoded \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/bindingOf..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/bindingOf..st new file mode 100644 index 00000000..f121b44b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/classSideOf..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/classSideOf..st new file mode 100644 index 00000000..5fc3e696 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/classSideOf..st @@ -0,0 +1,3 @@ +tests +classSideOf: aClass + ^ aClass classSide \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/compile.into.classified..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/compile.into.classified..st new file mode 100644 index 00000000..c64d0bc2 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/contentsOfFile.binary..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/contentsOfFile.binary..st new file mode 100644 index 00000000..01aff905 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/contentsOfFile.binary..st @@ -0,0 +1,3 @@ +files +contentsOfFile: aString binary: aBoolean + ^ self readFileStreamOn: aString do: [ :stream | stream contents ] binary: aBoolean \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/defineClass.superclassName.category.forRBModel..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/defineClass.superclassName.category.forRBModel..st new file mode 100644 index 00000000..7165c10a --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/defineClass.superclassName.category.forRBModel..st @@ -0,0 +1,7 @@ +tests +defineClass: aClassSymbol superclassName: aSuperSymbol category: aString forRBModel: aModel + ^ aModel defineClass: [ :builder | + builder + name: aClassSymbol; + superclassName: aSuperSymbol; + category: aString ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/deleteFile..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/deleteFile..st new file mode 100644 index 00000000..69d63003 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/deleteFile..st @@ -0,0 +1,3 @@ +files +deleteFile: aPathString + aPathString asFileReference delete \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/directoriesIn..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/directoriesIn..st new file mode 100644 index 00000000..81b4dce9 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/directoriesIn..st @@ -0,0 +1,8 @@ +files +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-Pharo120-Core.package/GRPharoPlatform.class/instance/doSilently..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/doSilently..st new file mode 100644 index 00000000..9ea296ff --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/ensureExistenceOfFolder..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/ensureExistenceOfFolder..st new file mode 100644 index 00000000..ef505d70 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/ensureExistenceOfFolder..st @@ -0,0 +1,4 @@ +files +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-Pharo120-Core.package/GRPharoPlatform.class/instance/fileExists..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/fileExists..st new file mode 100644 index 00000000..1fc0dddf --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/fileExists..st @@ -0,0 +1,3 @@ +files +fileExists: aString + ^ aString asFileReference exists \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/filesIn..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/filesIn..st new file mode 100644 index 00000000..4b9fcd27 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/filesIn..st @@ -0,0 +1,8 @@ +files +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-Pharo120-Core.package/GRPharoPlatform.class/instance/isProcessTerminated..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/isProcessTerminated..st new file mode 100644 index 00000000..03b50778 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/label.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/label.st new file mode 100644 index 00000000..f3b036e2 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/localNameOf..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/localNameOf..st new file mode 100644 index 00000000..64db9825 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/localNameOf..st @@ -0,0 +1,3 @@ +files +localNameOf: aFilename + ^ (FileSystem disk resolveString: aFilename) basename \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/newRandom.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/newRandom.st new file mode 100644 index 00000000..eb03a167 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/newTemporaryFileReference.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/newTemporaryFileReference.st new file mode 100644 index 00000000..cd503715 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/newTemporaryFileReference.st @@ -0,0 +1,8 @@ +files +newTemporaryFileReference + "Create a new temporary file in the systems temp directory + and answer a reference to it. + It is the users responsibility to delete or move the file, + it will not be cleaned up automatically (unless the host system + has a policy for it)." + ^ self newTemporaryFileReferenceNamed: UUID new asString \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/newTemporaryFileReferenceNamed..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/newTemporaryFileReferenceNamed..st new file mode 100644 index 00000000..5f4d0602 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/newTemporaryFileReferenceNamed..st @@ -0,0 +1,8 @@ +files +newTemporaryFileReferenceNamed: aName + "Create a new temporary file in the systems temp directory + and answer a reference to it. + It is the users responsibility to delete or move the file, + it will not be cleaned up automatically (unless the host system + has a policy for it)." + ^ FileLocator temp / aName \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/newline.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/newline.st new file mode 100644 index 00000000..1219045d --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/openDebuggerOn..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/openDebuggerOn..st new file mode 100644 index 00000000..d417abb1 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/openDebuggerOn..st @@ -0,0 +1,3 @@ +exceptions +openDebuggerOn: anError + (OupsDebugRequest newForException: anError) submit \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/pathSeparator.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/pathSeparator.st new file mode 100644 index 00000000..2da9f364 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/pathSeparator.st @@ -0,0 +1,3 @@ +files +pathSeparator + ^ String with: FileSystem disk delimiter \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/readFileStreamOn.do.binary..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/readFileStreamOn.do.binary..st new file mode 100644 index 00000000..6324baf5 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/readFileStreamOn.do.binary..st @@ -0,0 +1,6 @@ +files +readFileStreamOn: aString do: aBlock binary: aBoolean + + ^ aBoolean + ifTrue: [ aString asFileReference binaryReadStreamDo: aBlock ] + ifFalse: [ aString asFileReference readStreamEncoded: 'utf-8' do: aBlock ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/readWriteByteStream.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/readWriteByteStream.st new file mode 100644 index 00000000..142efa0f --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/readWriteCharacterStream.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/readWriteCharacterStream.st new file mode 100644 index 00000000..3f94c5af --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/removeCategory..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/removeCategory..st new file mode 100644 index 00000000..c4b6d610 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/removeCategory..st @@ -0,0 +1,5 @@ +tests +removeCategory: aString + (Smalltalk organization packageMatchingExtensionName: aString) + ifNotNil: [ :package | + package removeTag: (package toTagName: aString) ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/removeFromShutDownList..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/removeFromShutDownList..st new file mode 100644 index 00000000..58137e33 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/removeFromStartUpList..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/removeFromStartUpList..st new file mode 100644 index 00000000..76918209 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/removeSelector.from..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/removeSelector.from..st new file mode 100644 index 00000000..92cbd7ff --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/secureHashFor..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/secureHashFor..st new file mode 100644 index 00000000..46b9e2d2 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/selectorsInProtocol.ofClass..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/selectorsInProtocol.ofClass..st new file mode 100644 index 00000000..c5896b78 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/selectorsInProtocol.ofClass..st @@ -0,0 +1,3 @@ +tests +selectorsInProtocol: aString ofClass: aClass + ^ aClass selectorsInProtocol: aString \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/semaphoreClass.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/semaphoreClass.st new file mode 100644 index 00000000..ceccf9e3 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/stackDepth.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/stackDepth.st new file mode 100644 index 00000000..7b994393 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/terminateProcess..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/terminateProcess..st new file mode 100644 index 00000000..a09b96e1 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/thisContext.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/thisContext.st new file mode 100644 index 00000000..97018fc5 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/useByteArrayLiterals.st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/useByteArrayLiterals.st new file mode 100644 index 00000000..71b0f2cf --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/weakDictionaryOfSize..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/weakDictionaryOfSize..st new file mode 100644 index 00000000..b0ca3d82 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoPlatform.class/instance/write.toFile.inFolder..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/write.toFile.inFolder..st new file mode 100644 index 00000000..6a1bd7a0 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/write.toFile.inFolder..st @@ -0,0 +1,7 @@ +files +write: aStringOrByteArray toFile: aFileNameString inFolder: aFolderString + "writes aStringOrByteArray to a file named aFilenameString in the folder aFolderString" + ^ self + writeFileStreamOn: (aFolderString asFileReference / aFileNameString) ensureDelete pathString + do: [ :stream | stream nextPutAll: aStringOrByteArray ] + binary: aStringOrByteArray isString not \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/writeFileStreamOn.do.binary..st b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/writeFileStreamOn.do.binary..st new file mode 100644 index 00000000..43d33949 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/instance/writeFileStreamOn.do.binary..st @@ -0,0 +1,5 @@ +files +writeFileStreamOn: aString do: aBlock binary: aBoolean + ^ aBoolean + ifTrue: [ aString asFileReference binaryWriteStreamDo: aBlock ] + ifFalse: [ aString asFileReference writeStreamEncoded: 'utf-8' do: [ :str | aBlock value: (ZnNewLineWriterStream on: str) ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/properties.json b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/properties.json new file mode 100644 index 00000000..8736f9b1 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoPlatform.class/properties.json @@ -0,0 +1,14 @@ +{ + "commentStamp" : "pmm 6/1/2008 01:03", + "super" : "GRPlatform", + "category" : "Grease-Pharo120-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ + "UrlTable", + "XmlTable" + ], + "instvars" : [ ], + "name" : "GRPharoPlatform", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/README.md b/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/class/initialize.st b/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/class/initialize.st new file mode 100644 index 00000000..04ca54c3 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoRandomProvider.class/class/nextInt..st b/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/class/nextInt..st new file mode 100644 index 00000000..1036c2f7 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/class/nextInt..st @@ -0,0 +1,6 @@ +public +nextInt: anInteger + + "Answer a random integer in the interval [1, anInteger]" + + ^ mutex critical: [ generator nextInteger: anInteger ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/class/randomClass.st b/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/class/randomClass.st new file mode 100644 index 00000000..85a2db91 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoRandomProvider.class/class/randomFrom..st b/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/class/randomFrom..st new file mode 100644 index 00000000..a5fe470c --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoRandomProvider.class/class/startUp.st b/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/class/startUp.st new file mode 100644 index 00000000..663a5243 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoRandomProvider.class/class/unload.st b/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/class/unload.st new file mode 100644 index 00000000..fd4cb930 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Core.package/GRPharoRandomProvider.class/properties.json b/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/properties.json new file mode 100644 index 00000000..ce2db9d8 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoRandomProvider.class/properties.json @@ -0,0 +1,14 @@ +{ + "commentStamp" : "", + "super" : "GRObject", + "category" : "Grease-Pharo120-Core", + "classinstvars" : [ + "mutex", + "generator" + ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRPharoRandomProvider", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/README.md b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/class/basicForEncoding..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/class/basicForEncoding..st new file mode 100644 index 00000000..f6b18bd4 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.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-Pharo120-Core.package/GRPharoZnCodec.class/class/codecs.st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/class/codecs.st new file mode 100644 index 00000000..068914b5 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/class/codecs.st @@ -0,0 +1,4 @@ +accessing +codecs + ^ self supportedEncodingNames + collect: [ :each | self basicForEncoding: each greaseString ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/class/supportedEncodingNames.st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/class/supportedEncodingNames.st new file mode 100644 index 00000000..706f7f53 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/class/supportedEncodingNames.st @@ -0,0 +1,16 @@ +accessing +supportedEncodingNames + "answers the names of the encodings supported by this class" + + | all | + all := ZnCharacterEncoder knownEncodingIdentifiers asOrderedCollection. + "We include some (but not all) alternative names for encodings, providing some backwards compatibility with TextConverter encoding names. Make a PR if you need more." + (all includes: 'utf8') + ifTrue:[ all addAll: #('utf-8' 'UTF-8') ]. + (all includes: 'utf16') + ifTrue:[ all addAll: #('utf-16' 'UTF-16') ]. + (all includes: 'macroman') + ifTrue:[ all add: 'mac-roman' ]. + (all includes: 'cp1252') + ifTrue:[ all add: 'cp-1252' ]. + ^ all \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/class/supportsEncoding..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/class/supportsEncoding..st new file mode 100644 index 00000000..d50a4862 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/class/supportsEncoding..st @@ -0,0 +1,3 @@ +accessing +supportsEncoding: aName + ^ self supportedEncodingNames includes: aName \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/decode..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/decode..st new file mode 100644 index 00000000..e9869000 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/decode..st @@ -0,0 +1,3 @@ +convenience +decode: aStringOrByteArray + ^ super decode: aStringOrByteArray asByteArray \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/decoderFor..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/decoderFor..st new file mode 100644 index 00000000..be53dfea --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.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-Pharo120-Core.package/GRPharoZnCodec.class/instance/encodedStringClass.st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/encodedStringClass.st new file mode 100644 index 00000000..6e5de896 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/encodedStringClass.st @@ -0,0 +1,3 @@ +conversion +encodedStringClass + ^ ByteArray \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/encoderFor..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/encoderFor..st new file mode 100644 index 00000000..83482e43 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/encoderFor..st @@ -0,0 +1,5 @@ +conversion +encoderFor: aStream + ^ GRPharoZnCodecStream + on: aStream + withEncoder: (ZnCharacterEncoder newForEncoding: self name) \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/initializeWithName..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/initializeWithName..st new file mode 100644 index 00000000..e7c86042 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/initializeWithName..st @@ -0,0 +1,7 @@ +initialization +initializeWithName: aString + self initialize. + name := aString. + urlCodec := (#('iso-8859-15' 'cp-1252' 'utf8' 'utf-8' 'UTF-8') includes: aString) + ifFalse: [ GRCodec forEncoding: 'utf8' ] + ifTrue: [ self ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/name.st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/name.st new file mode 100644 index 00000000..22077c20 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ name \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/url.st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/instance/url.st new file mode 100644 index 00000000..232ad239 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.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-Pharo120-Core.package/GRPharoZnCodec.class/properties.json b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/properties.json new file mode 100644 index 00000000..c1810f30 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodec.class/properties.json @@ -0,0 +1,14 @@ +{ + "commentStamp" : "", + "super" : "GRCodec", + "category" : "Grease-Pharo120-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "name", + "urlCodec" + ], + "name" : "GRPharoZnCodec", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/README.md b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/class/on.withEncoder..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/class/on.withEncoder..st new file mode 100644 index 00000000..a91977ca --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/class/on.withEncoder..st @@ -0,0 +1,3 @@ +instance creation +on: aStream withEncoder: aZnEncoder + ^ self basicNew initializeOn: aStream withEncoder: aZnEncoder \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/greaseNext.putAll.startingAt..st new file mode 100644 index 00000000..365093e2 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/greaseNext.putAll.startingAt..st @@ -0,0 +1,3 @@ +accessing +greaseNext: anInteger putAll: aCollection startingAt: startIndex + encoder next: anInteger putAll: aCollection startingAt: startIndex toStream: stream \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/initializeOn.withEncoder..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/initializeOn.withEncoder..st new file mode 100644 index 00000000..8fc52caa --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/initializeOn.withEncoder..st @@ -0,0 +1,5 @@ +initialization +initializeOn: aStream withEncoder: aZnEncoder + self initialize. + stream := aStream. + encoder := aZnEncoder \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/next..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/next..st new file mode 100644 index 00000000..b5f1ff9a --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/next..st @@ -0,0 +1,8 @@ +accessing +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-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/next.st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/next.st new file mode 100644 index 00000000..ccde08f3 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/next.st @@ -0,0 +1,6 @@ +accessing +next + | character | + stream atEnd ifTrue: [ ^ nil ]. + character := encoder nextFromStream: stream. + ^ character ifNotNil: [ character asCharacter ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/nextPut..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/nextPut..st new file mode 100644 index 00000000..30014e3d --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/nextPut..st @@ -0,0 +1,3 @@ +accessing +nextPut: aCharacter + encoder nextPut: aCharacter asCharacter toStream: stream \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st new file mode 100644 index 00000000..bd42bba5 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st @@ -0,0 +1,5 @@ +streaming +nextPutAll: aString + | string | + string := aString asString. + encoder next: string size putAll: string startingAt: 1 toStream: stream \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/properties.json b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/properties.json new file mode 100644 index 00000000..b01b90ad --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRPharoZnCodecStream.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "", + "super" : "GRCodecStream", + "category" : "Grease-Pharo120-Core", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "encoder" + ], + "name" : "GRPharoZnCodecStream", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRSmallDictionary.extension/instance/inspectionItems..st b/repository/Grease-Pharo120-Core.package/GRSmallDictionary.extension/instance/inspectionItems..st new file mode 100644 index 00000000..48aeb710 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRSmallDictionary.extension/instance/inspectionItems..st @@ -0,0 +1,15 @@ +*Grease-Pharo120-Core +inspectionItems: aBuilder + + + ^ aBuilder newTable + addColumn: (SpStringTableColumn + title: 'Key' + evaluated: [ :each | StObjectPrinter asTruncatedTextFrom: each key ]) + beSortable; + addColumn: (SpStringTableColumn + title: 'Value' + evaluated: [ :each | StObjectPrinter asTruncatedTextFrom: each value ]) + beSortable; + items: self associations; + yourself \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRSmallDictionary.extension/properties.json b/repository/Grease-Pharo120-Core.package/GRSmallDictionary.extension/properties.json new file mode 100644 index 00000000..0d78b749 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRSmallDictionary.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRSmallDictionary" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRSmallDictionary2.extension/instance/inspectionItems..st b/repository/Grease-Pharo120-Core.package/GRSmallDictionary2.extension/instance/inspectionItems..st new file mode 100644 index 00000000..48aeb710 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRSmallDictionary2.extension/instance/inspectionItems..st @@ -0,0 +1,15 @@ +*Grease-Pharo120-Core +inspectionItems: aBuilder + + + ^ aBuilder newTable + addColumn: (SpStringTableColumn + title: 'Key' + evaluated: [ :each | StObjectPrinter asTruncatedTextFrom: each key ]) + beSortable; + addColumn: (SpStringTableColumn + title: 'Value' + evaluated: [ :each | StObjectPrinter asTruncatedTextFrom: each value ]) + beSortable; + items: self associations; + yourself \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/GRSmallDictionary2.extension/properties.json b/repository/Grease-Pharo120-Core.package/GRSmallDictionary2.extension/properties.json new file mode 100644 index 00000000..c5c0f1c8 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/GRSmallDictionary2.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRSmallDictionary2" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Interval.extension/instance/any.st b/repository/Grease-Pharo120-Core.package/Interval.extension/instance/any.st new file mode 100644 index 00000000..10b9b9a7 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Interval.extension/instance/any.st @@ -0,0 +1,6 @@ +*Grease-Pharo120-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-Pharo120-Core.package/Interval.extension/properties.json b/repository/Grease-Pharo120-Core.package/Interval.extension/properties.json new file mode 100644 index 00000000..534eb553 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Interval.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Interval" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/MessageSend.extension/instance/argumentCount.st b/repository/Grease-Pharo120-Core.package/MessageSend.extension/instance/argumentCount.st new file mode 100644 index 00000000..2afca013 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/MessageSend.extension/instance/argumentCount.st @@ -0,0 +1,3 @@ +*Grease-Pharo120-Core +argumentCount + ^ selector numArgs - self arguments size \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/MessageSend.extension/instance/valueWithPossibleArguments..st b/repository/Grease-Pharo120-Core.package/MessageSend.extension/instance/valueWithPossibleArguments..st new file mode 100644 index 00000000..100effed --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/MessageSend.extension/instance/valueWithPossibleArguments..st @@ -0,0 +1,7 @@ +*Grease-Pharo120-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-Pharo120-Core.package/MessageSend.extension/properties.json b/repository/Grease-Pharo120-Core.package/MessageSend.extension/properties.json new file mode 100644 index 00000000..00669b90 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/MessageSend.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "MessageSend" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Number.extension/instance/milliseconds.st b/repository/Grease-Pharo120-Core.package/Number.extension/instance/milliseconds.st new file mode 100644 index 00000000..8f44e406 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Number.extension/instance/milliseconds.st @@ -0,0 +1,3 @@ +*Grease-Pharo120-Core +milliseconds + ^ self milliSeconds \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Number.extension/properties.json b/repository/Grease-Pharo120-Core.package/Number.extension/properties.json new file mode 100644 index 00000000..71dace88 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Number.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Number" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Object.extension/instance/greaseString.st b/repository/Grease-Pharo120-Core.package/Object.extension/instance/greaseString.st new file mode 100644 index 00000000..241e0053 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Object.extension/instance/greaseString.st @@ -0,0 +1,3 @@ +*Grease-Pharo120-Core +greaseString + ^ self asString \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Object.extension/properties.json b/repository/Grease-Pharo120-Core.package/Object.extension/properties.json new file mode 100644 index 00000000..f30a86e1 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Object.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Object" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Point.extension/instance/greaseString.st b/repository/Grease-Pharo120-Core.package/Point.extension/instance/greaseString.st new file mode 100644 index 00000000..9d755209 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Point.extension/instance/greaseString.st @@ -0,0 +1,13 @@ +*Grease-Pharo120-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-Pharo120-Core.package/Point.extension/properties.json b/repository/Grease-Pharo120-Core.package/Point.extension/properties.json new file mode 100644 index 00000000..c6cf8dd5 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Point.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Point" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/PositionableStream.extension/instance/greaseUpToAll..st b/repository/Grease-Pharo120-Core.package/PositionableStream.extension/instance/greaseUpToAll..st new file mode 100644 index 00000000..137575f5 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/PositionableStream.extension/instance/greaseUpToAll..st @@ -0,0 +1,5 @@ +*Grease-Pharo120-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-Pharo120-Core.package/PositionableStream.extension/properties.json b/repository/Grease-Pharo120-Core.package/PositionableStream.extension/properties.json new file mode 100644 index 00000000..8e090ee3 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/PositionableStream.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "PositionableStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/ScaledDecimal.extension/instance/encodeOn..st b/repository/Grease-Pharo120-Core.package/ScaledDecimal.extension/instance/encodeOn..st new file mode 100644 index 00000000..d2f07221 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/ScaledDecimal.extension/instance/encodeOn..st @@ -0,0 +1,5 @@ +*Grease-Pharo120-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-Pharo120-Core.package/ScaledDecimal.extension/instance/greaseString.st b/repository/Grease-Pharo120-Core.package/ScaledDecimal.extension/instance/greaseString.st new file mode 100644 index 00000000..e87ff94b --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/ScaledDecimal.extension/instance/greaseString.st @@ -0,0 +1,5 @@ +*Grease-Pharo120-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-Pharo120-Core.package/ScaledDecimal.extension/properties.json b/repository/Grease-Pharo120-Core.package/ScaledDecimal.extension/properties.json new file mode 100644 index 00000000..75f85f87 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/ScaledDecimal.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "ScaledDecimal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/beginsWithSubCollection..st b/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/beginsWithSubCollection..st new file mode 100644 index 00000000..cb07c800 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/beginsWithSubCollection..st @@ -0,0 +1,8 @@ +*Grease-Pharo120-Core +beginsWithSubCollection: aSequenceableCollection + "Some platforms implement #beginsWith: to answer true for an empty argument." + self + greaseDeprecatedApi: 'SequenceableCollection>>#beginsWithSubCollection:' + details: 'Use SequenceableCollection>>#greaseBegins:'. + aSequenceableCollection isEmpty ifTrue: [ ^ false ]. + ^ self beginsWith: aSequenceableCollection \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/endsWithSubCollection..st b/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/endsWithSubCollection..st new file mode 100644 index 00000000..1b839713 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/endsWithSubCollection..st @@ -0,0 +1,8 @@ +*Grease-Pharo120-Core +endsWithSubCollection: aSequenceableCollection + "Some platforms implement #endsWith: to answer true for an empty argument." + self + greaseDeprecatedApi: 'SequenceableCollection>>#endsWithSubCollection:' + details: 'Use SequenceableCollection>>#greaseEndsWith:'. + aSequenceableCollection isEmpty ifTrue: [ ^ false ]. + ^ self endsWith: aSequenceableCollection \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/greaseBeginsWith..st b/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/greaseBeginsWith..st new file mode 100644 index 00000000..706735ee --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/greaseBeginsWith..st @@ -0,0 +1,5 @@ +*Grease-Pharo120-Core +greaseBeginsWith: aSequenceableCollection + + aSequenceableCollection isEmpty ifTrue: [ ^ true ]. + ^ self beginsWith: aSequenceableCollection \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/greaseEndsWith..st b/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/greaseEndsWith..st new file mode 100644 index 00000000..f1421260 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/instance/greaseEndsWith..st @@ -0,0 +1,5 @@ +*Grease-Pharo120-Core +greaseEndsWith: aSequenceableCollection + + aSequenceableCollection isEmpty ifTrue: [ ^ true ]. + ^ self endsWith: aSequenceableCollection \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/properties.json b/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/properties.json new file mode 100644 index 00000000..a68b7db6 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/SequenceableCollection.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "SequenceableCollection" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/SocketStream.extension/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo120-Core.package/SocketStream.extension/instance/greaseNext.putAll.startingAt..st new file mode 100644 index 00000000..56d8146b --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/SocketStream.extension/instance/greaseNext.putAll.startingAt..st @@ -0,0 +1,13 @@ +*Grease-Pharo120-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-Pharo120-Core.package/SocketStream.extension/properties.json b/repository/Grease-Pharo120-Core.package/SocketStream.extension/properties.json new file mode 100644 index 00000000..797e09e5 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/SocketStream.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "SocketStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Symbol.extension/instance/greaseAsMutator.st b/repository/Grease-Pharo120-Core.package/Symbol.extension/instance/greaseAsMutator.st new file mode 100644 index 00000000..f1194ea6 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Symbol.extension/instance/greaseAsMutator.st @@ -0,0 +1,3 @@ +*Grease-Pharo120-Core +greaseAsMutator + ^ self asMutator \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/Symbol.extension/properties.json b/repository/Grease-Pharo120-Core.package/Symbol.extension/properties.json new file mode 100644 index 00000000..8c6bce81 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/Symbol.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Symbol" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/WriteStream.extension/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo120-Core.package/WriteStream.extension/instance/greaseNext.putAll.startingAt..st new file mode 100644 index 00000000..1709b9af --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/WriteStream.extension/instance/greaseNext.putAll.startingAt..st @@ -0,0 +1,4 @@ +*Grease-Pharo120-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-Pharo120-Core.package/WriteStream.extension/properties.json b/repository/Grease-Pharo120-Core.package/WriteStream.extension/properties.json new file mode 100644 index 00000000..8688e80d --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/WriteStream.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "WriteStream" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/monticello.meta/categories.st b/repository/Grease-Pharo120-Core.package/monticello.meta/categories.st new file mode 100644 index 00000000..68ce4bcc --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/monticello.meta/categories.st @@ -0,0 +1 @@ +self packageOrganizer ensurePackage: #'Grease-Pharo120-Core' withTags: #()! diff --git a/repository/Grease-Pharo120-Core.package/monticello.meta/initializers.st b/repository/Grease-Pharo120-Core.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Core.package/monticello.meta/package b/repository/Grease-Pharo120-Core.package/monticello.meta/package new file mode 100644 index 00000000..361c6d94 --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Grease-Pharo120-Core') \ No newline at end of file diff --git a/repository/Grease-Pharo120-Core.package/properties.json b/repository/Grease-Pharo120-Core.package/properties.json new file mode 100644 index 00000000..6f31cf5a --- /dev/null +++ b/repository/Grease-Pharo120-Core.package/properties.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/.filetree b/repository/Grease-Pharo120-Slime.package/.filetree new file mode 100644 index 00000000..57a67973 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/.filetree @@ -0,0 +1,5 @@ +{ + "separateMethodMetaAndSource" : false, + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiBooleansRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRAnsiBooleansRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiBooleansRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRAnsiBooleansRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiBooleansRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRAnsiBooleansRule.class/instance/initialize.st new file mode 100644 index 00000000..a39505e1 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiBooleansRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRAnsiBooleansRule.class/instance/name.st new file mode 100644 index 00000000..5964bd28 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiBooleansRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRAnsiBooleansRule.class/instance/rationale.st new file mode 100644 index 00000000..1f109f56 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiBooleansRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRAnsiBooleansRule.class/properties.json new file mode 100644 index 00000000..dc8cedf6 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRAnsiBooleansRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiBooleansRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiCharactersRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRAnsiCharactersRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiCharactersRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRAnsiCharactersRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiCharactersRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRAnsiCharactersRule.class/instance/initialize.st new file mode 100644 index 00000000..2742a93f --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiCharactersRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRAnsiCharactersRule.class/instance/name.st new file mode 100644 index 00000000..a1b3f88e --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiCharactersRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRAnsiCharactersRule.class/instance/rationale.st new file mode 100644 index 00000000..e061dd71 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiCharactersRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRAnsiCharactersRule.class/properties.json new file mode 100644 index 00000000..050be170 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRAnsiCharactersRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiCharactersRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiCollectionsRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRAnsiCollectionsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiCollectionsRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRAnsiCollectionsRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiCollectionsRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRAnsiCollectionsRule.class/instance/initialize.st new file mode 100644 index 00000000..1e93cbc8 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiCollectionsRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRAnsiCollectionsRule.class/instance/name.st new file mode 100644 index 00000000..fba52990 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiCollectionsRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRAnsiCollectionsRule.class/instance/rationale.st new file mode 100644 index 00000000..8470c14b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiCollectionsRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRAnsiCollectionsRule.class/properties.json new file mode 100644 index 00000000..959dad7d --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRAnsiCollectionsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiCollectionsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiConditionalsRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRAnsiConditionalsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiConditionalsRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRAnsiConditionalsRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiConditionalsRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRAnsiConditionalsRule.class/instance/initialize.st new file mode 100644 index 00000000..fe291c53 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiConditionalsRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRAnsiConditionalsRule.class/instance/name.st new file mode 100644 index 00000000..4693610d --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiConditionalsRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRAnsiConditionalsRule.class/instance/rationale.st new file mode 100644 index 00000000..42b2134b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiConditionalsRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRAnsiConditionalsRule.class/properties.json new file mode 100644 index 00000000..5f0fdc7e --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRAnsiConditionalsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiConditionalsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiConvertorRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRAnsiConvertorRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiConvertorRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRAnsiConvertorRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiConvertorRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRAnsiConvertorRule.class/instance/initialize.st new file mode 100644 index 00000000..bcd5fbac --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiConvertorRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRAnsiConvertorRule.class/instance/name.st new file mode 100644 index 00000000..f3dd2a4d --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiConvertorRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRAnsiConvertorRule.class/instance/rationale.st new file mode 100644 index 00000000..fa9200b0 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiConvertorRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRAnsiConvertorRule.class/properties.json new file mode 100644 index 00000000..b1afa58d --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRAnsiConvertorRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiConvertorRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiExceptionsRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRAnsiExceptionsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiExceptionsRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRAnsiExceptionsRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiExceptionsRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRAnsiExceptionsRule.class/instance/initialize.st new file mode 100644 index 00000000..f0aadb85 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiExceptionsRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRAnsiExceptionsRule.class/instance/name.st new file mode 100644 index 00000000..e86669e1 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiExceptionsRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRAnsiExceptionsRule.class/instance/rationale.st new file mode 100644 index 00000000..392fdedd --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiExceptionsRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRAnsiExceptionsRule.class/properties.json new file mode 100644 index 00000000..e9f1b7c8 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRAnsiExceptionsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiExceptionsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiStreamsRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRAnsiStreamsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiStreamsRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRAnsiStreamsRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiStreamsRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRAnsiStreamsRule.class/instance/initialize.st new file mode 100644 index 00000000..826e1af2 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiStreamsRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRAnsiStreamsRule.class/instance/name.st new file mode 100644 index 00000000..aa09ac20 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiStreamsRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRAnsiStreamsRule.class/instance/rationale.st new file mode 100644 index 00000000..57a15ba8 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiStreamsRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRAnsiStreamsRule.class/properties.json new file mode 100644 index 00000000..ace33041 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRAnsiStreamsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiStreamsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiStringsRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRAnsiStringsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRAnsiStringsRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRAnsiStringsRule.class/instance/group.st new file mode 100644 index 00000000..011762ad --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiStringsRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRAnsiStringsRule.class/instance/initialize.st new file mode 100644 index 00000000..af1892f0 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiStringsRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRAnsiStringsRule.class/instance/name.st new file mode 100644 index 00000000..cdc89723 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiStringsRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRAnsiStringsRule.class/instance/rationale.st new file mode 100644 index 00000000..a42a193e --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRAnsiStringsRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRAnsiStringsRule.class/properties.json new file mode 100644 index 00000000..0a6ba23e --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRAnsiStringsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRAnsiStringsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/checkClass..st b/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/checkClass..st new file mode 100644 index 00000000..2c8e00ae --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/checkClass..st @@ -0,0 +1,13 @@ +running +checkClass: aClass + (aClass isMeta not + and: [ (aClass includesSelector: #initialize) + and: [ (#(GRObject GRNotification GRNotification GRError RBLintRule RBTransformationRule) noneSatisfy: [ :each | + aClass includesBehavior: (Smalltalk globals at: each) ]) + and: [ aClass class methodDictionary noneSatisfy: [ :each | + matcher + executeTree: each parseTree + initialAnswer: false ] ] ] ]) ifTrue: [ + result + addClass: aClass + selector: #initialize ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/initialize.st new file mode 100644 index 00000000..10faf254 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/name.st new file mode 100644 index 00000000..5e0a6113 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/instance/rationale.st new file mode 100644 index 00000000..996d9872 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/properties.json new file mode 100644 index 00000000..dad983f8 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRBasicNewInitializeMissingRule.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "matcher" + ], + "name" : "GRBasicNewInitializeMissingRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRBlockFormattingRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRBlockFormattingRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRBlockFormattingRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRBlockFormattingRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRBlockFormattingRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRBlockFormattingRule.class/instance/initialize.st new file mode 100644 index 00000000..c9bda0fc --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRBlockFormattingRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRBlockFormattingRule.class/instance/name.st new file mode 100644 index 00000000..4c9c6708 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRBlockFormattingRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRBlockFormattingRule.class/instance/rationale.st new file mode 100644 index 00000000..3c042a50 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRBlockFormattingRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRBlockFormattingRule.class/properties.json new file mode 100644 index 00000000..6ec4d759 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRBlockFormattingRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRBlockFormattingRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/checkMethod..st b/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/checkMethod..st new file mode 100644 index 00000000..669d87a5 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/checkMethod..st @@ -0,0 +1,15 @@ +running +checkMethod: aMethod + | matches | + matches := matcher + executeTree: aMethod ast + 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: [ aMethod methodClass name greaseString , '>>#' , aMethod selector greaseString ~= node arguments first value ] ]) ifTrue: [ + result addClass: aMethod methodClass selector: aMethod 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: aMethod methodClass selector: aMethod selector. + result addSearchString: node arguments second value ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/initialize.st new file mode 100644 index 00000000..64cfada8 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/name.st new file mode 100644 index 00000000..516849b7 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/instance/rationale.st new file mode 100644 index 00000000..9bff5427 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/properties.json new file mode 100644 index 00000000..7ff2ea37 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRDeprecatedApiProtocolRule.class/properties.json @@ -0,0 +1,13 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "matcher" + ], + "name" : "GRDeprecatedApiProtocolRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/checkMethod..st b/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/checkMethod..st new file mode 100644 index 00000000..3ba22d0a --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/checkMethod..st @@ -0,0 +1,12 @@ +running +checkMethod: aMethod + | periods position | + aMethod ast 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: aMethod methodClass selector: aMethod selector ] ]. + (periods isEmpty or: [ periods size = 1 and: [ node statements notEmpty and: [ node statements last stop < periods first ] ] ]) + ifFalse: [ ^ result addClass: aMethod methodClass selector: aMethod selector ] ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/name.st new file mode 100644 index 00000000..3f4db678 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/rationale.st new file mode 100644 index 00000000..252dd280 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/resetResult.st b/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/instance/resetResult.st new file mode 100644 index 00000000..5b87472b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GREmptyStatementsRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/properties.json new file mode 100644 index 00000000..282b93ea --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GREmptyStatementsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GREmptyStatementsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/instance/checkMethod..st b/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/instance/checkMethod..st new file mode 100644 index 00000000..d8becbe3 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/instance/checkMethod..st @@ -0,0 +1,10 @@ +running +checkMethod: aMethod + (aMethod methodClass isMeta not + and: [ (aMethod selector beginsWithSubCollection: #initialize) + and: [ aMethod numArgs > 0 + and: [ aMethod class ~= GRObject + and: [ (aMethod methodClass includesBehavior: GRObject) + and: [ (aMethod superMessages includes: aMethod selector) not + and: [ aMethod selfMessages noneSatisfy: [ :each | each beginsWithSubCollection: #initialize ] ] ] ] ] ] ]) + ifTrue: [ result addClass: aMethod methodClass selector: aMethod selector ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/instance/name.st new file mode 100644 index 00000000..d814b293 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/instance/rationale.st new file mode 100644 index 00000000..7b2fed07 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/properties.json new file mode 100644 index 00000000..f6c86b30 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRInvalidObjectInitializationRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRInvalidObjectInitializationRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/checkClass..st b/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/checkClass..st new file mode 100644 index 00000000..48baa7fd --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/checkClass..st @@ -0,0 +1,12 @@ +running +checkClass: aClass + | selectors | + selectors := self methodNames + inject: Set new + into: [ :set :each | + set + addAll: (aClass whichSelectorsReferTo: each); + yourself ]. + selectors do: [ :each | result addClass: aClass selector: each ]. + selectors isEmpty + ifFalse: [ result searchStrings: self methodNames ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/methodNames.st b/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/methodNames.st new file mode 100644 index 00000000..7bfd5f10 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/name.st new file mode 100644 index 00000000..77664e0e --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/instance/rationale.st new file mode 100644 index 00000000..4de4dc3f --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRNonPortableMessageRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/properties.json new file mode 100644 index 00000000..0785818c --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRNonPortableMessageRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRNonPortableMessageRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkClass..st b/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkClass..st new file mode 100644 index 00000000..992680d0 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkClass..st @@ -0,0 +1,7 @@ +running +checkClass: aClass + + | comment | + aClass isMeta ifTrue: [ ^ self ]. + comment := aClass comment asString. + comment isWideString ifTrue: [ result addClass: aClass ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkMethod..st b/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkMethod..st new file mode 100644 index 00000000..3e248461 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/checkMethod..st @@ -0,0 +1,17 @@ +running +checkMethod: aMethod + | foundLiteral | + foundLiteral := false. + "check individual literals first" + aMethod literals do: [ :each | + (each isString and: [ each isWideString ]) ifTrue: [ + result + addClass: aMethod methodClass + selector: aMethod selector. + result addSearchString: each. + foundLiteral := true ] ]. + + "now check the whole method, could be in comments" + foundLiteral ifFalse: [ + aMethod sourceCode asString isWideString ifTrue: [ + result addClass: aMethod methodClass selector: aMethod selector ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/name.st new file mode 100644 index 00000000..3469916d --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/instance/rationale.st new file mode 100644 index 00000000..7306a747 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/properties.json new file mode 100644 index 00000000..280cb3fe --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRNonPortableSourceFormatRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRNonPortableSourceFormatRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/instance/initialize.st new file mode 100644 index 00000000..776d58af --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/instance/initialize.st @@ -0,0 +1,8 @@ +initialization +initialize + super initialize. + self rewriteRule + replace: '`@collection beginsWith: `@subCollection' + with: '`@collection greaseBeginsWith: `@subCollection'; + replace: '`@collection endsWith: `@subCollection' + with: '`@collection greaseEndsWith: `@subCollection' \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/instance/name.st new file mode 100644 index 00000000..fba52990 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/instance/rationale.st new file mode 100644 index 00000000..908ce1c0 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/properties.json new file mode 100644 index 00000000..6f700e93 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRNotPortableCollectionsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRNotPortableCollectionsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRObjectInRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRObjectInRule.class/README.md new file mode 100644 index 00000000..bca4d093 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRObjectInRule.class/README.md @@ -0,0 +1 @@ +I detect senders of Object >> #in: diff --git a/repository/Grease-Pharo120-Slime.package/GRObjectInRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRObjectInRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRObjectInRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRObjectInRule.class/instance/initialize.st new file mode 100644 index 00000000..38aa19b0 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRObjectInRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRObjectInRule.class/instance/name.st new file mode 100644 index 00000000..65dd49f6 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRObjectInRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRObjectInRule.class/instance/rationale.st new file mode 100644 index 00000000..c3b2c41b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRObjectInRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRObjectInRule.class/properties.json new file mode 100644 index 00000000..05e9835d --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRObjectInRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "pmm 9/12/2009 10:37", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRObjectInRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRPackage.extension/class/greaseSlime.st b/repository/Grease-Pharo120-Slime.package/GRPackage.extension/class/greaseSlime.st new file mode 100644 index 00000000..32b3732e --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRPackage.extension/class/greaseSlime.st @@ -0,0 +1,8 @@ +*Grease-Pharo120-Slime +greaseSlime + ^ self new + name: 'Grease-Pharo90-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-Pharo120-Slime.package/GRPackage.extension/properties.json b/repository/Grease-Pharo120-Slime.package/GRPackage.extension/properties.json new file mode 100644 index 00000000..ae522a7e --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRPackage.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRPackage" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRParensFormattingRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRParensFormattingRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRParensFormattingRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRParensFormattingRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRParensFormattingRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRParensFormattingRule.class/instance/initialize.st new file mode 100644 index 00000000..a9bf5bdb --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRParensFormattingRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRParensFormattingRule.class/instance/name.st new file mode 100644 index 00000000..48e67c85 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRParensFormattingRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRParensFormattingRule.class/instance/rationale.st new file mode 100644 index 00000000..298a86b2 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRParensFormattingRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRParensFormattingRule.class/properties.json new file mode 100644 index 00000000..bbc659af --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRParensFormattingRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRParensFormattingRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRReturnFormattingRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRReturnFormattingRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRReturnFormattingRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRReturnFormattingRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRReturnFormattingRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRReturnFormattingRule.class/instance/initialize.st new file mode 100644 index 00000000..a488a67f --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRReturnFormattingRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRReturnFormattingRule.class/instance/name.st new file mode 100644 index 00000000..ed235f80 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRReturnFormattingRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRReturnFormattingRule.class/instance/rationale.st new file mode 100644 index 00000000..904d4922 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRReturnFormattingRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRReturnFormattingRule.class/properties.json new file mode 100644 index 00000000..b04b428d --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRReturnFormattingRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRReturnFormattingRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRSlimeBlockLintRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRSlimeBlockLintRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRSlimeBlockLintRule.class/class/isVisible.st b/repository/Grease-Pharo120-Slime.package/GRSlimeBlockLintRule.class/class/isVisible.st new file mode 100644 index 00000000..43f102e1 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRSlimeBlockLintRule.class/instance/category.st b/repository/Grease-Pharo120-Slime.package/GRSlimeBlockLintRule.class/instance/category.st new file mode 100644 index 00000000..af69ca36 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRSlimeBlockLintRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRSlimeBlockLintRule.class/properties.json new file mode 100644 index 00000000..e29b9430 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRSlimeBlockLintRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "RBBlockLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRSlimeBlockLintRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRSlimeParseTreeLintRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRSlimeParseTreeLintRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRSlimeParseTreeLintRule.class/class/isVisible.st b/repository/Grease-Pharo120-Slime.package/GRSlimeParseTreeLintRule.class/class/isVisible.st new file mode 100644 index 00000000..fa02a17b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRSlimeParseTreeLintRule.class/instance/category.st b/repository/Grease-Pharo120-Slime.package/GRSlimeParseTreeLintRule.class/instance/category.st new file mode 100644 index 00000000..af69ca36 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRSlimeParseTreeLintRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRSlimeParseTreeLintRule.class/properties.json new file mode 100644 index 00000000..a0f12d5d --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRSlimeParseTreeLintRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "RBParseTreeLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRSlimeParseTreeLintRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRSlimeTransformationRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRSlimeTransformationRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRSlimeTransformationRule.class/class/isVisible.st b/repository/Grease-Pharo120-Slime.package/GRSlimeTransformationRule.class/class/isVisible.st new file mode 100644 index 00000000..1bdda3d8 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRSlimeTransformationRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRSlimeTransformationRule.class/properties.json new file mode 100644 index 00000000..740c0f41 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRSlimeTransformationRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "RBTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRSlimeTransformationRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRTempsFormattingRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRTempsFormattingRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRTempsFormattingRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRTempsFormattingRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRTempsFormattingRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRTempsFormattingRule.class/instance/initialize.st new file mode 100644 index 00000000..447c54de --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRTempsFormattingRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRTempsFormattingRule.class/instance/name.st new file mode 100644 index 00000000..770e86d9 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRTempsFormattingRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRTempsFormattingRule.class/instance/rationale.st new file mode 100644 index 00000000..49cb65dd --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRTempsFormattingRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRTempsFormattingRule.class/properties.json new file mode 100644 index 00000000..4a94c532 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRTempsFormattingRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRTempsFormattingRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/README.md new file mode 100644 index 00000000..6f3d9062 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/checkMethod..st b/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/checkMethod..st new file mode 100644 index 00000000..6e56db40 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/checkMethod..st @@ -0,0 +1,7 @@ +running +checkMethod: aMethod + aMethod methodClass isMeta + ifTrue: [ ^ self ]. + (aMethod methodClass inheritsFrom: (Smalltalk classNamed: #TestCase)) + ifFalse: [ ^ self ]. + ^ super checkMethod: aMethod \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/group.st new file mode 100644 index 00000000..5a189b4d --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/initialize.st new file mode 100644 index 00000000..d9d6784f --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/name.st new file mode 100644 index 00000000..cb37341d --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/instance/rationale.st new file mode 100644 index 00000000..0a6ddcf6 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRTestAssertionsRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/properties.json new file mode 100644 index 00000000..de17f2fb --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRTestAssertionsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "pmm 8/17/2014 11:24", + "super" : "GRSlimeTransformationRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRTestAssertionsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/checkMethod..st b/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/checkMethod..st new file mode 100644 index 00000000..a8818a5e --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/checkMethod..st @@ -0,0 +1,7 @@ +running +checkMethod: aMethod + aMethod ast nodesDo: [ :node | + node isSequence ifTrue: [ + (node statements notEmpty and: [ node periods notEmpty ]) ifTrue: [ + node periods last > node statements last stop ifTrue: [ + ^ result addClass: aMethod methodClass selector: aMethod selector ] ] ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/group.st new file mode 100644 index 00000000..303be069 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/name.st new file mode 100644 index 00000000..5873f52c --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/rationale.st new file mode 100644 index 00000000..ccbe48b6 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/resetResult.st b/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/instance/resetResult.st new file mode 100644 index 00000000..5b87472b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/properties.json new file mode 100644 index 00000000..21639807 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUnnecessaryLastPeriodRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUnnecessaryLastPeriodRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/initialize.st new file mode 100644 index 00000000..7923fa99 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/name.st new file mode 100644 index 00000000..b9ce70ca --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/instance/rationale.st new file mode 100644 index 00000000..7e3a24ab --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/properties.json new file mode 100644 index 00000000..37f89b57 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUsesCanPerformOrUnderstandRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesCanPerformOrUnderstandRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesClassForHashRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRUsesClassForHashRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesClassForHashRule.class/instance/checkMethod..st b/repository/Grease-Pharo120-Slime.package/GRUsesClassForHashRule.class/instance/checkMethod..st new file mode 100644 index 00000000..2fdbe101 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesClassForHashRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRUsesClassForHashRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesClassForHashRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRUsesClassForHashRule.class/instance/initialize.st new file mode 100644 index 00000000..c56d728f --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesClassForHashRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRUsesClassForHashRule.class/instance/name.st new file mode 100644 index 00000000..5bdd2ee0 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesClassForHashRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRUsesClassForHashRule.class/instance/rationale.st new file mode 100644 index 00000000..84eba400 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesClassForHashRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRUsesClassForHashRule.class/properties.json new file mode 100644 index 00000000..b14e1f4a --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUsesClassForHashRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesClassForHashRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/initialize.st new file mode 100644 index 00000000..ffa7a3bd --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/name.st new file mode 100644 index 00000000..1228c96a --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/instance/rationale.st new file mode 100644 index 00000000..c8668119 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/properties.json new file mode 100644 index 00000000..6e1dfd70 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUsesCurlyBraceArraysRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesCurlyBraceArraysRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/instance/initialize.st b/repository/Grease-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/instance/initialize.st new file mode 100644 index 00000000..c7605206 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/instance/name.st new file mode 100644 index 00000000..fbcd5729 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/instance/rationale.st new file mode 100644 index 00000000..269ea76d --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/properties.json new file mode 100644 index 00000000..be180fd9 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUsesLiteralByteArraysRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeParseTreeLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesLiteralByteArraysRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/checkMethod..st b/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/checkMethod..st new file mode 100644 index 00000000..ead7db23 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/checkMethod..st @@ -0,0 +1,8 @@ +running +checkMethod: aMethod + (self shouldExclude: aMethod) ifFalse: [ + aMethod pragmas do: [ :each | + result + addClass: aMethod methodClass + selector: aMethod selector. + result addSearchString: each keyword ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/name.st new file mode 100644 index 00000000..dce9f95b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/rationale.st new file mode 100644 index 00000000..33162ca3 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/shouldExclude..st b/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/shouldExclude..st new file mode 100644 index 00000000..547670d5 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/instance/shouldExclude..st @@ -0,0 +1,8 @@ +running +shouldExclude: aMethod + "The REST and OmniBrowser related packages are OK to have pragmas" + + | classCategory | + classCategory := aMethod methodClass instanceSide category. + ^ #( #'-REST-' 'OmniBrowser' ) anySatisfy: [ :each | + (classCategory indexOfSubCollection: each startingAt: 1) ~= 0 ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/properties.json new file mode 100644 index 00000000..1bb2d9ae --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUsesMethodAnnotationsRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesMethodAnnotationsRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/README.md b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/checkClass..st b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/checkClass..st new file mode 100644 index 00000000..1341f7e4 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/checkClass..st @@ -0,0 +1,6 @@ +running +checkClass: aClass + aClass allSuperclassesDo: [ :each | + (self classNames includes: each name) ifTrue: [ + result addClass: aClass. + result addSearchString: each name ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/checkMethod..st b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/checkMethod..st new file mode 100644 index 00000000..e0ce697a --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/checkMethod..st @@ -0,0 +1,12 @@ +running +checkMethod: aMethod + + (aMethod 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 ]. + aMethod literals do: [ :each | + (each isVariableBinding and: [ self classNames includes: each key ]) + ifTrue: [ + result addClass: aMethod methodClass selector: aMethod selector. + result addSearchString: each key ] ] \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/classNames.st b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/classNames.st new file mode 100644 index 00000000..f3d5db68 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/group.st b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/group.st new file mode 100644 index 00000000..7e52dd3b --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/name.st b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/name.st new file mode 100644 index 00000000..ba0b2df9 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/rationale.st b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/instance/rationale.st new file mode 100644 index 00000000..e0f12e97 --- /dev/null +++ b/repository/Grease-Pharo120-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-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/properties.json b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/properties.json new file mode 100644 index 00000000..e8e59ceb --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/GRUsesNotPortableClassRule.class/properties.json @@ -0,0 +1,11 @@ +{ + "commentStamp" : "", + "super" : "GRSlimeBlockLintRule", + "category" : "Grease-Pharo120-Slime", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "GRUsesNotPortableClassRule", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/monticello.meta/categories.st b/repository/Grease-Pharo120-Slime.package/monticello.meta/categories.st new file mode 100644 index 00000000..19d06575 --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/monticello.meta/categories.st @@ -0,0 +1 @@ +self packageOrganizer ensurePackage: #'Grease-Pharo120-Slime' withTags: #()! diff --git a/repository/Grease-Pharo120-Slime.package/monticello.meta/initializers.st b/repository/Grease-Pharo120-Slime.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/repository/Grease-Pharo120-Slime.package/monticello.meta/package b/repository/Grease-Pharo120-Slime.package/monticello.meta/package new file mode 100644 index 00000000..1e55ed7f --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Grease-Pharo120-Slime') \ No newline at end of file diff --git a/repository/Grease-Pharo120-Slime.package/properties.json b/repository/Grease-Pharo120-Slime.package/properties.json new file mode 100644 index 00000000..6f31cf5a --- /dev/null +++ b/repository/Grease-Pharo120-Slime.package/properties.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/repository/Grease-Tests-Pharo-Core.package/GRPharoPlatformTest.class/instance/testCompileIntoClassified.st b/repository/Grease-Tests-Pharo-Core.package/GRPharoPlatformTest.class/instance/testCompileIntoClassified.st index 112d896b..a55c304b 100644 --- a/repository/Grease-Tests-Pharo-Core.package/GRPharoPlatformTest.class/instance/testCompileIntoClassified.st +++ b/repository/Grease-Tests-Pharo-Core.package/GRPharoPlatformTest.class/instance/testCompileIntoClassified.st @@ -1,15 +1,20 @@ tests testCompileIntoClassified + | source protocol selectors selector | source := 'aMethod ^ ''a result'''. protocol := 'a-protocol'. selector := #aMethod. - GRPlatform current + GRPlatform current compile: source into: self class classified: protocol. - - [ self assert: (self class selectors includes: selector). - selectors := self class organization listAtCategoryNamed: protocol. - self assert: selectors = (Array with: selector) ] ensure: [ self class removeSelector: selector ] \ No newline at end of file + + [ + self assert: (self class selectors includes: selector). + selectors := GRPlatform current + selectorsInProtocol: protocol + ofClass: self class. + self assert: selectors equals: (Array with: selector) ] ensure: [ + self class removeSelector: selector ] \ No newline at end of file diff --git a/repository/Grease-Tests-Slime.package/GRSlimeTest.class/instance/defineClass.superclass..st b/repository/Grease-Tests-Slime.package/GRSlimeTest.class/instance/defineClass.superclass..st index 17204f23..e016f7f0 100644 --- a/repository/Grease-Tests-Slime.package/GRSlimeTest.class/instance/defineClass.superclass..st +++ b/repository/Grease-Tests-Slime.package/GRSlimeTest.class/instance/defineClass.superclass..st @@ -1,13 +1,14 @@ accessing-code defineClass: aClassSymbol superclass: aSuperSymbol + | class | - model defineClass: aSuperSymbol , ' subclass: #' , aClassSymbol , ' - instanceVariableNames: '''' - classVariableNames: '''' - poolDictionaries: '''' - category: ''' , self category , ''''. + GRPlatform current + defineClass: aClassSymbol + superclassName: aSuperSymbol + category: self category + forRBModel: model. class := model classNamed: aClassSymbol. - environment + environment addClass: class; - addClass: class theMetaClass. + addClass: (GRPlatform current classSideOf: class). ^ class \ No newline at end of file diff --git a/repository/Grease-Tests-Slime.package/GRSlimeTest.class/instance/tearDown.st b/repository/Grease-Tests-Slime.package/GRSlimeTest.class/instance/tearDown.st index f0cb9be4..855bb2a3 100644 --- a/repository/Grease-Tests-Slime.package/GRSlimeTest.class/instance/tearDown.st +++ b/repository/Grease-Tests-Slime.package/GRSlimeTest.class/instance/tearDown.st @@ -1,7 +1,5 @@ running tearDown super tearDown. - (Smalltalk organization listAtCategoryNamed: self category) do:[ :e | - SmalltalkImage current removeClassNamed: e ]. - Smalltalk organization - removeCategory: self category \ No newline at end of file + + GRPlatform current removeCategory: self category \ No newline at end of file diff --git a/repository/Grease-Tests-Slime.package/monticello.meta/categories.st b/repository/Grease-Tests-Slime.package/monticello.meta/categories.st index d34cfb4a..a49916c2 100644 --- a/repository/Grease-Tests-Slime.package/monticello.meta/categories.st +++ b/repository/Grease-Tests-Slime.package/monticello.meta/categories.st @@ -1 +1 @@ -SystemOrganization addCategory: #'Grease-Tests-Slime'! +self packageOrganizer ensurePackage: #'Grease-Tests-Slime' withTags: #()!