The Trunk: System-mt.1121.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: System-mt.1121.mcz

commits-2
Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1121.mcz

==================== Summary ====================

Name: System-mt.1121
Author: mt
Time: 18 November 2019, 2:11:39.331051 pm
UUID: 123c20e2-fc1d-124a-af13-7b41a75bcab3
Ancestors: System-mt.1120

Adds #asSimpleGetter and #isSimpleGetter. Harmonize implementations considering #asSimpleSetter and #isSimpleSetter.

See:
http://forum.world.st/The-Inbox-Collections-ct-853-mcz-td5104261.html

I hope I did not mess up any performance considerations...

=============== Diff against System-mt.1120 ===============

Item was added:
+ ----- Method: String>>asSimpleGetter (in category '*System-Support') -----
+ asSimpleGetter
+ "Return a getter message from a setter message. For example, #name: asSimpleGetter returns #name"
+
+ self size > 0 ifTrue: [
+ self last = $:
+ ifTrue: [ self numArgs = 1 ifTrue: [ ^ self allButLast asSymbol ] ]
+ ifFalse: [ self numArgs = 0 ifTrue: [ ^ self asSymbol ] ] ].
+
+ self error: 'Only simple setters and getters can be converted to simple getters!!'.!

Item was changed:
  ----- Method: String>>asSimpleSetter (in category '*System-Support') -----
  asSimpleSetter
+ "Return a setter message from a getter message. For example, #name asSimpleSetter returns #name:"
+
+ self size > 0 ifTrue: [
+ self last = $:
+ ifTrue: [ self numArgs = 1 ifTrue: [ ^ self asSymbol ] ]
+ ifFalse: [ self numArgs = 0 ifTrue: [ ^ (self copyWith: $:) asSymbol ] ] ].
+
+ self error: 'Only simple setters and getters can be converted to simple setters!!'.!
- "Return a setter message from a getter message. For example, #name asMutator returns #name:"
- ^ self last = $:
- ifTrue: [ self asSymbol ]
- ifFalse: [ (self copyWith: $:) asSymbol ]!

Item was added:
+ ----- Method: String>>isSimpleGetter (in category '*System-Support') -----
+ isSimpleGetter
+ "Only symbols can be simple getters."
+
+ ^ false!

Item was changed:
  ----- Method: String>>isSimpleSetter (in category '*System-Support') -----
  isSimpleSetter
+ "Only symbols can be simple setters."
 
+ ^ false!
- ^ self isKeyword and: [self numArgs = 1]!

Item was added:
+ ----- Method: Symbol>>asSimpleGetter (in category '*System-Support') -----
+ asSimpleGetter
+
+ self precedence
+ caseOf: {
+ [ 1 ] -> [ self numArgs = 0 ifTrue: [ ^ self ] ].
+ [ 3 ] -> [ self numArgs = 1 ifTrue: [ ^ self allButLast asSymbol ] ] }
+ otherwise: [].
+
+ self error: 'Only simple setters and getters can be converted to simple getters!!'.!

Item was changed:
  ----- Method: Symbol>>asSimpleSetter (in category '*System-Support') -----
  asSimpleSetter
 
+ self precedence
+ caseOf: {
+ [ 1 ] -> [ self numArgs = 0 ifTrue: [ ^ (self copyWith: $:) asSymbol ] ].
+ [ 3 ] -> [ self numArgs = 1 ifTrue: [ ^ self ] ] }
+ otherwise: [].
+
+ self error: 'Only simple setters and getters can be converted to simple setters!!'.!
- ^ self last = $:
- ifTrue: [ self ]
- ifFalse: [ (self copyWith: $:) asSymbol ]!

Item was added:
+ ----- Method: Symbol>>isSimpleGetter (in category '*System-Support') -----
+ isSimpleGetter
+
+ ^ self precedence = 1!

Item was added:
+ ----- Method: Symbol>>isSimpleSetter (in category '*System-Support') -----
+ isSimpleSetter
+
+ ^ self isKeyword and: [self numArgs = 1]!