#FEATURE by cg
class: InlineObject class
added:
#slotNamesAndValues:mutable:
#slotNamesAndValuesFromDictionary:mutable:
changed:
#slotNamesAndValues:
#slotNamesAndValuesFromDictionary:
--- a/InlineObject.st Tue Jun 25 16:44:05 2019 +0200
+++ b/InlineObject.st Tue Jun 25 16:55:29 2019 +0200
@@ -157,20 +157,52 @@
"return a new inline object given slot names and slot values as alternating elements
in the argument, namesAndValues"
- ^ self slotNames:(namesAndValues keysAndValuesSelect:[:idx :val | idx odd])
- values:(namesAndValues keysAndValuesSelect:[:idx :val | idx even])
+ ^ self
+ slotNames:(namesAndValues keysAndValuesSelect:[:idx :val | idx odd])
+ values:(namesAndValues keysAndValuesSelect:[:idx :val | idx even])
+ mutable:true
"
InlineObject slotNamesAndValues:#('foo' 10 'bar' 20 'baz' 30)
"
"Created: / 21-01-2019 / 13:15:46 / Claus Gittinger"
+ "Modified: / 25-06-2019 / 16:55:02 / Claus Gittinger"
+!
+
+slotNamesAndValues:namesAndValues mutable:beMutable
+ "return a new inline object given slot names and slot values as alternating elements
+ in the argument, namesAndValues"
+
+ ^ self
+ slotNames:(namesAndValues keysAndValuesSelect:[:idx :val | idx odd])
+ values:(namesAndValues keysAndValuesSelect:[:idx :val | idx even])
+ mutable:beMutable
+
+ "
+ InlineObject slotNamesAndValues:#('foo' 10 'bar' 20 'baz' 30)
+ "
+
+ "Created: / 25-06-2019 / 16:54:47 / Claus Gittinger"
!
slotNamesAndValuesFromDictionary:namesAndValuesDict
"return a new inline object given slot names and slot values as elements
in the argument, namesAndValuesDict"
+ ^ self slotNamesAndValuesFromDictionary:namesAndValuesDict mutable:true
+
+ "
+ InlineObject slotNamesAndValuesFromDictionary:(Dictionary withKeyValuePairs:#(('foo' 10) ('bar' 20) ('baz' 30)))
+ "
+
+ "Created: / 25-06-2019 / 16:31:38 / Claus Gittinger"
+!
+
+slotNamesAndValuesFromDictionary:namesAndValuesDict mutable:beMutable
+ "return a new inline object given slot names and slot values as elements
+ in the argument, namesAndValuesDict"
+
|sz keys values idx|
sz := namesAndValuesDict size.
@@ -182,13 +214,13 @@
values at:idx put:v.
idx := idx + 1.
].
- ^ self slotNames:keys values:values
+ ^ self slotNames:keys values:values mutable:beMutable
"
InlineObject slotNamesAndValuesFromDictionary:(Dictionary withKeyValuePairs:#(('foo' 10) ('bar' 20) ('baz' 30)))
"
- "Created: / 25-06-2019 / 16:31:38 / Claus Gittinger"
+ "Created: / 25-06-2019 / 16:53:50 / Claus Gittinger"
! !
!InlineObject class methodsFor:'prototype access'!