resin 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/amber/images/amber.svg +706 -0
- data/amber/js/Canvas.deploy.js +1311 -400
- data/amber/js/Canvas.js +1750 -424
- data/amber/js/Compiler.deploy.js +615 -615
- data/amber/js/Compiler.js +1367 -1367
- data/amber/js/IDE.deploy.js +1381 -1345
- data/amber/js/IDE.js +1949 -1903
- data/amber/js/Kernel-Announcements.deploy.js +37 -37
- data/amber/js/Kernel-Announcements.js +52 -52
- data/amber/js/Kernel-Collections.deploy.js +961 -950
- data/amber/js/Kernel-Collections.js +2064 -2053
- data/amber/js/Kernel-Methods.deploy.js +323 -260
- data/amber/js/Kernel-Methods.js +395 -327
- data/amber/js/Kernel-Objects.deploy.js +1846 -1104
- data/amber/js/Kernel-Objects.js +2142 -1194
- data/amber/js/boot.js +44 -29
- data/amber/js/parser.js +234 -17
- data/amber/js/parser.pegjs +9 -6
- data/amber/st/Canvas.st +474 -146
- data/amber/st/Compiler.st +418 -417
- data/amber/st/IDE.st +803 -772
- data/amber/st/Kernel-Announcements.st +27 -27
- data/amber/st/Kernel-Collections.st +289 -268
- data/amber/st/Kernel-Methods.st +104 -100
- data/amber/st/Kernel-Objects.st +277 -80
- metadata +18 -17
@@ -1,31 +1,4 @@
|
|
1
1
|
Smalltalk current createPackage: 'Kernel-Announcements' properties: #{}!
|
2
|
-
Object subclass: #Announcer
|
3
|
-
instanceVariableNames: 'registry subscriptions'
|
4
|
-
category: 'Kernel-Announcements'!
|
5
|
-
|
6
|
-
!Announcer methodsFor: 'announcing'!
|
7
|
-
|
8
|
-
announce: anAnnouncement
|
9
|
-
subscriptions do: [:each |
|
10
|
-
each deliver: anAnnouncement]
|
11
|
-
! !
|
12
|
-
|
13
|
-
!Announcer methodsFor: 'initialization'!
|
14
|
-
|
15
|
-
initialize
|
16
|
-
super initialize.
|
17
|
-
subscriptions := OrderedCollection new
|
18
|
-
! !
|
19
|
-
|
20
|
-
!Announcer methodsFor: 'subscribing'!
|
21
|
-
|
22
|
-
on: aClass do: aBlock
|
23
|
-
subscriptions add: (AnnouncementSubscription new
|
24
|
-
block: aBlock;
|
25
|
-
announcementClass: aClass;
|
26
|
-
yourself)
|
27
|
-
! !
|
28
|
-
|
29
2
|
Object subclass: #AnnouncementSubscription
|
30
3
|
instanceVariableNames: 'block announcementClass'
|
31
4
|
category: 'Kernel-Announcements'!
|
@@ -59,3 +32,30 @@ handlesAnnouncement: anAnnouncement
|
|
59
32
|
^anAnnouncement isKindOf: self announcementClass
|
60
33
|
! !
|
61
34
|
|
35
|
+
Object subclass: #Announcer
|
36
|
+
instanceVariableNames: 'registry subscriptions'
|
37
|
+
category: 'Kernel-Announcements'!
|
38
|
+
|
39
|
+
!Announcer methodsFor: 'announcing'!
|
40
|
+
|
41
|
+
announce: anAnnouncement
|
42
|
+
subscriptions do: [:each |
|
43
|
+
each deliver: anAnnouncement]
|
44
|
+
! !
|
45
|
+
|
46
|
+
!Announcer methodsFor: 'initialization'!
|
47
|
+
|
48
|
+
initialize
|
49
|
+
super initialize.
|
50
|
+
subscriptions := Array new
|
51
|
+
! !
|
52
|
+
|
53
|
+
!Announcer methodsFor: 'subscribing'!
|
54
|
+
|
55
|
+
on: aClass do: aBlock
|
56
|
+
subscriptions add: (AnnouncementSubscription new
|
57
|
+
block: aBlock;
|
58
|
+
announcementClass: aClass;
|
59
|
+
yourself)
|
60
|
+
! !
|
61
|
+
|
@@ -1,4 +1,214 @@
|
|
1
1
|
Smalltalk current createPackage: 'Kernel-Collections' properties: #{}!
|
2
|
+
Object subclass: #Stream
|
3
|
+
instanceVariableNames: 'collection position streamSize'
|
4
|
+
category: 'Kernel-Collections'!
|
5
|
+
|
6
|
+
!Stream methodsFor: 'accessing'!
|
7
|
+
|
8
|
+
collection
|
9
|
+
^collection
|
10
|
+
!
|
11
|
+
|
12
|
+
setCollection: aCollection
|
13
|
+
collection := aCollection
|
14
|
+
!
|
15
|
+
|
16
|
+
position
|
17
|
+
^position ifNil: [position := 0]
|
18
|
+
!
|
19
|
+
|
20
|
+
position: anInteger
|
21
|
+
position := anInteger
|
22
|
+
!
|
23
|
+
|
24
|
+
streamSize
|
25
|
+
^streamSize
|
26
|
+
!
|
27
|
+
|
28
|
+
setStreamSize: anInteger
|
29
|
+
streamSize := anInteger
|
30
|
+
!
|
31
|
+
|
32
|
+
contents
|
33
|
+
^self collection
|
34
|
+
copyFrom: 1
|
35
|
+
to: self streamSize
|
36
|
+
!
|
37
|
+
|
38
|
+
size
|
39
|
+
^self streamSize
|
40
|
+
! !
|
41
|
+
|
42
|
+
!Stream methodsFor: 'actions'!
|
43
|
+
|
44
|
+
reset
|
45
|
+
self position: 0
|
46
|
+
!
|
47
|
+
|
48
|
+
close
|
49
|
+
!
|
50
|
+
|
51
|
+
flush
|
52
|
+
!
|
53
|
+
|
54
|
+
resetContents
|
55
|
+
self reset.
|
56
|
+
self setStreamSize: 0
|
57
|
+
! !
|
58
|
+
|
59
|
+
!Stream methodsFor: 'enumerating'!
|
60
|
+
|
61
|
+
do: aBlock
|
62
|
+
[self atEnd] whileFalse: [aBlock value: self next]
|
63
|
+
! !
|
64
|
+
|
65
|
+
!Stream methodsFor: 'positioning'!
|
66
|
+
|
67
|
+
setToEnd
|
68
|
+
self position: self size
|
69
|
+
!
|
70
|
+
|
71
|
+
skip: anInteger
|
72
|
+
self position: ((self position + anInteger) min: self size max: 0)
|
73
|
+
! !
|
74
|
+
|
75
|
+
!Stream methodsFor: 'reading'!
|
76
|
+
|
77
|
+
next
|
78
|
+
^self atEnd
|
79
|
+
ifTrue: [nil]
|
80
|
+
ifFalse: [
|
81
|
+
self position: self position + 1.
|
82
|
+
collection at: self position]
|
83
|
+
!
|
84
|
+
|
85
|
+
next: anInteger
|
86
|
+
| tempCollection |
|
87
|
+
tempCollection := self collection class new.
|
88
|
+
anInteger timesRepeat: [
|
89
|
+
self atEnd ifFalse: [
|
90
|
+
tempCollection add: self next]].
|
91
|
+
^tempCollection
|
92
|
+
!
|
93
|
+
|
94
|
+
peek
|
95
|
+
^self atEnd ifFalse: [
|
96
|
+
self collection at: self position + 1]
|
97
|
+
! !
|
98
|
+
|
99
|
+
!Stream methodsFor: 'testing'!
|
100
|
+
|
101
|
+
atEnd
|
102
|
+
^self position = self size
|
103
|
+
!
|
104
|
+
|
105
|
+
atStart
|
106
|
+
^self position = 0
|
107
|
+
!
|
108
|
+
|
109
|
+
isEmpty
|
110
|
+
^self size = 0
|
111
|
+
! !
|
112
|
+
|
113
|
+
!Stream methodsFor: 'writing'!
|
114
|
+
|
115
|
+
nextPut: anObject
|
116
|
+
self position: self position + 1.
|
117
|
+
self collection at: self position put: anObject.
|
118
|
+
self setStreamSize: (self streamSize max: self position)
|
119
|
+
!
|
120
|
+
|
121
|
+
nextPutAll: aCollection
|
122
|
+
aCollection do: [:each |
|
123
|
+
self nextPut: each]
|
124
|
+
! !
|
125
|
+
|
126
|
+
!Stream class methodsFor: 'instance creation'!
|
127
|
+
|
128
|
+
on: aCollection
|
129
|
+
^self new
|
130
|
+
setCollection: aCollection;
|
131
|
+
setStreamSize: aCollection size;
|
132
|
+
yourself
|
133
|
+
! !
|
134
|
+
|
135
|
+
Object subclass: #Association
|
136
|
+
instanceVariableNames: 'key value'
|
137
|
+
category: 'Kernel-Collections'!
|
138
|
+
|
139
|
+
!Association methodsFor: 'accessing'!
|
140
|
+
|
141
|
+
key: aKey
|
142
|
+
key := aKey
|
143
|
+
!
|
144
|
+
|
145
|
+
key
|
146
|
+
^key
|
147
|
+
!
|
148
|
+
|
149
|
+
value: aValue
|
150
|
+
value := aValue
|
151
|
+
!
|
152
|
+
|
153
|
+
value
|
154
|
+
^value
|
155
|
+
! !
|
156
|
+
|
157
|
+
!Association methodsFor: 'comparing'!
|
158
|
+
|
159
|
+
= anAssociation
|
160
|
+
^self class = anAssociation class and: [
|
161
|
+
self key = anAssociation key and: [
|
162
|
+
self value = anAssociation value]]
|
163
|
+
!
|
164
|
+
|
165
|
+
storeOn: aStream
|
166
|
+
"Store in the format (key->value)"
|
167
|
+
|
168
|
+
"aStream nextPutAll: '('."
|
169
|
+
key storeOn: aStream.
|
170
|
+
aStream nextPutAll: '->'.
|
171
|
+
value storeOn: aStream.
|
172
|
+
"aStream nextPutAll: ')'"
|
173
|
+
! !
|
174
|
+
|
175
|
+
!Association class methodsFor: 'instance creation'!
|
176
|
+
|
177
|
+
key: aKey value: aValue
|
178
|
+
^self new
|
179
|
+
key: aKey;
|
180
|
+
value: aValue;
|
181
|
+
yourself
|
182
|
+
! !
|
183
|
+
|
184
|
+
Object subclass: #RegularExpression
|
185
|
+
instanceVariableNames: ''
|
186
|
+
category: 'Kernel-Collections'!
|
187
|
+
|
188
|
+
!RegularExpression methodsFor: 'evaluating'!
|
189
|
+
|
190
|
+
compile: aString
|
191
|
+
<return self.compile(aString)>
|
192
|
+
!
|
193
|
+
|
194
|
+
exec: aString
|
195
|
+
<return self.exec(aString) || nil>
|
196
|
+
!
|
197
|
+
|
198
|
+
test: aString
|
199
|
+
<return self.test(aString)>
|
200
|
+
! !
|
201
|
+
|
202
|
+
!RegularExpression class methodsFor: 'instance creation'!
|
203
|
+
|
204
|
+
fromString: aString flag: anotherString
|
205
|
+
<return new RegExp(aString, anotherString)>
|
206
|
+
!
|
207
|
+
|
208
|
+
fromString: aString
|
209
|
+
^self fromString: aString flag: ''
|
210
|
+
! !
|
211
|
+
|
2
212
|
Object subclass: #Collection
|
3
213
|
instanceVariableNames: ''
|
4
214
|
category: 'Kernel-Collections'!
|
@@ -60,7 +270,7 @@ asJSONString
|
|
60
270
|
!
|
61
271
|
|
62
272
|
asOrderedCollection
|
63
|
-
^
|
273
|
+
^self asArray
|
64
274
|
! !
|
65
275
|
|
66
276
|
!Collection methodsFor: 'copying'!
|
@@ -329,8 +539,8 @@ copyFrom: anIndex to: anotherIndex
|
|
329
539
|
| range newCollection |
|
330
540
|
range := anIndex to: anotherIndex.
|
331
541
|
newCollection := self class new: range size.
|
332
|
-
range
|
333
|
-
newCollection at:
|
542
|
+
range withIndexDo: [:each :i |
|
543
|
+
newCollection at: i put: (self at: each)].
|
334
544
|
^newCollection
|
335
545
|
!
|
336
546
|
|
@@ -953,214 +1163,121 @@ withAll: aCollection
|
|
953
1163
|
^instance
|
954
1164
|
! !
|
955
1165
|
|
956
|
-
|
1166
|
+
SequenceableCollection subclass: #Array
|
957
1167
|
instanceVariableNames: ''
|
958
1168
|
category: 'Kernel-Collections'!
|
959
1169
|
|
960
|
-
!
|
1170
|
+
!Array methodsFor: 'accessing'!
|
961
1171
|
|
962
|
-
|
963
|
-
<return self.
|
1172
|
+
size
|
1173
|
+
<return self.length>
|
964
1174
|
!
|
965
1175
|
|
966
|
-
|
967
|
-
<return self
|
1176
|
+
at: anIndex put: anObject
|
1177
|
+
<return self[anIndex - 1] = anObject>
|
968
1178
|
!
|
969
1179
|
|
970
|
-
|
971
|
-
<
|
1180
|
+
at: anIndex ifAbsent: aBlock
|
1181
|
+
<
|
1182
|
+
var value = self[anIndex - 1];
|
1183
|
+
if(value === undefined) {
|
1184
|
+
return aBlock();
|
1185
|
+
} else {
|
1186
|
+
return value;
|
1187
|
+
}
|
1188
|
+
>
|
972
1189
|
! !
|
973
1190
|
|
974
|
-
!
|
1191
|
+
!Array methodsFor: 'adding/removing'!
|
975
1192
|
|
976
|
-
|
977
|
-
<return
|
1193
|
+
add: anObject
|
1194
|
+
<self.push(anObject); return anObject;>
|
978
1195
|
!
|
979
1196
|
|
980
|
-
|
981
|
-
|
1197
|
+
remove: anObject
|
1198
|
+
<
|
1199
|
+
for(var i=0;i<self.length;i++) {
|
1200
|
+
if(self[i] == anObject) {
|
1201
|
+
self.splice(i,1);
|
1202
|
+
break;
|
1203
|
+
}
|
1204
|
+
}
|
1205
|
+
>
|
1206
|
+
!
|
1207
|
+
|
1208
|
+
removeFrom: aNumber to: anotherNumber
|
1209
|
+
<self.splice(aNumber - 1,anotherNumber - 1)>
|
982
1210
|
! !
|
983
1211
|
|
984
|
-
|
985
|
-
instanceVariableNames: 'key value'
|
986
|
-
category: 'Kernel-Collections'!
|
987
|
-
|
988
|
-
!Association methodsFor: 'accessing'!
|
989
|
-
|
990
|
-
key: aKey
|
991
|
-
key := aKey
|
992
|
-
!
|
993
|
-
|
994
|
-
key
|
995
|
-
^key
|
996
|
-
!
|
997
|
-
|
998
|
-
value: aValue
|
999
|
-
value := aValue
|
1000
|
-
!
|
1001
|
-
|
1002
|
-
value
|
1003
|
-
^value
|
1004
|
-
! !
|
1005
|
-
|
1006
|
-
!Association methodsFor: 'comparing'!
|
1007
|
-
|
1008
|
-
= anAssociation
|
1009
|
-
^self class = anAssociation class and: [
|
1010
|
-
self key = anAssociation key and: [
|
1011
|
-
self value = anAssociation value]]
|
1012
|
-
!
|
1013
|
-
|
1014
|
-
storeOn: aStream
|
1015
|
-
"Store in the format (key->value)"
|
1016
|
-
|
1017
|
-
"aStream nextPutAll: '('."
|
1018
|
-
key storeOn: aStream.
|
1019
|
-
aStream nextPutAll: '->'.
|
1020
|
-
value storeOn: aStream.
|
1021
|
-
"aStream nextPutAll: ')'"
|
1022
|
-
! !
|
1023
|
-
|
1024
|
-
!Association class methodsFor: 'instance creation'!
|
1025
|
-
|
1026
|
-
key: aKey value: aValue
|
1027
|
-
^self new
|
1028
|
-
key: aKey;
|
1029
|
-
value: aValue;
|
1030
|
-
yourself
|
1031
|
-
! !
|
1032
|
-
|
1033
|
-
Object subclass: #Stream
|
1034
|
-
instanceVariableNames: 'collection position streamSize'
|
1035
|
-
category: 'Kernel-Collections'!
|
1036
|
-
|
1037
|
-
!Stream methodsFor: 'accessing'!
|
1038
|
-
|
1039
|
-
collection
|
1040
|
-
^collection
|
1041
|
-
!
|
1042
|
-
|
1043
|
-
setCollection: aCollection
|
1044
|
-
collection := aCollection
|
1045
|
-
!
|
1046
|
-
|
1047
|
-
position
|
1048
|
-
^position ifNil: [position := 0]
|
1049
|
-
!
|
1050
|
-
|
1051
|
-
position: anInteger
|
1052
|
-
position := anInteger
|
1053
|
-
!
|
1054
|
-
|
1055
|
-
streamSize
|
1056
|
-
^streamSize
|
1057
|
-
!
|
1058
|
-
|
1059
|
-
setStreamSize: anInteger
|
1060
|
-
streamSize := anInteger
|
1061
|
-
!
|
1212
|
+
!Array methodsFor: 'converting'!
|
1062
1213
|
|
1063
|
-
|
1064
|
-
^self
|
1065
|
-
copyFrom: 1
|
1066
|
-
to: self streamSize
|
1214
|
+
asJavascript
|
1215
|
+
^'[', ((self collect: [:each | each asJavascript]) join: ', '), ']'
|
1067
1216
|
!
|
1068
1217
|
|
1069
|
-
|
1070
|
-
|
1218
|
+
reversed
|
1219
|
+
<return self._copy().reverse()>
|
1071
1220
|
! !
|
1072
1221
|
|
1073
|
-
!
|
1222
|
+
!Array methodsFor: 'enumerating'!
|
1074
1223
|
|
1075
|
-
|
1076
|
-
self
|
1224
|
+
join: aString
|
1225
|
+
<return self.join(aString)>
|
1077
1226
|
!
|
1078
1227
|
|
1079
|
-
|
1228
|
+
sort
|
1229
|
+
^self basicPerform: 'sort'
|
1080
1230
|
!
|
1081
1231
|
|
1082
|
-
|
1232
|
+
sort: aBlock
|
1233
|
+
<
|
1234
|
+
return self.sort(function(a, b) {
|
1235
|
+
if(aBlock(a,b)) {return -1} else {return 1}
|
1236
|
+
})
|
1237
|
+
>
|
1083
1238
|
!
|
1084
1239
|
|
1085
|
-
|
1086
|
-
self
|
1087
|
-
self setStreamSize: 0
|
1088
|
-
! !
|
1089
|
-
|
1090
|
-
!Stream methodsFor: 'enumerating'!
|
1091
|
-
|
1092
|
-
do: aBlock
|
1093
|
-
[self atEnd] whileFalse: [aBlock value: self next]
|
1094
|
-
! !
|
1095
|
-
|
1096
|
-
!Stream methodsFor: 'positioning'!
|
1097
|
-
|
1098
|
-
setToEnd
|
1099
|
-
self position: self size
|
1240
|
+
sorted
|
1241
|
+
^self copy sort
|
1100
1242
|
!
|
1101
1243
|
|
1102
|
-
|
1103
|
-
self
|
1244
|
+
sorted: aBlock
|
1245
|
+
^self copy sort: aBlock
|
1104
1246
|
! !
|
1105
1247
|
|
1106
|
-
!
|
1107
|
-
|
1108
|
-
next
|
1109
|
-
^self atEnd
|
1110
|
-
ifTrue: [nil]
|
1111
|
-
ifFalse: [
|
1112
|
-
self position: self position + 1.
|
1113
|
-
collection at: self position]
|
1114
|
-
!
|
1248
|
+
!Array class methodsFor: 'instance creation'!
|
1115
1249
|
|
1116
|
-
|
1117
|
-
|
1118
|
-
tempCollection := self collection class new.
|
1119
|
-
anInteger timesRepeat: [
|
1120
|
-
self atEnd ifFalse: [
|
1121
|
-
tempCollection add: self next]].
|
1122
|
-
^tempCollection
|
1250
|
+
new: anInteger
|
1251
|
+
<return new Array(anInteger)>
|
1123
1252
|
!
|
1124
1253
|
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1129
|
-
|
1130
|
-
!Stream methodsFor: 'testing'!
|
1131
|
-
|
1132
|
-
atEnd
|
1133
|
-
^self position = self size
|
1254
|
+
with: anObject
|
1255
|
+
^(self new: 1)
|
1256
|
+
at: 1 put: anObject;
|
1257
|
+
yourself
|
1134
1258
|
!
|
1135
1259
|
|
1136
|
-
|
1137
|
-
|
1260
|
+
with: anObject with: anObject2
|
1261
|
+
^(self new: 2)
|
1262
|
+
at: 1 put: anObject;
|
1263
|
+
at: 2 put: anObject2;
|
1264
|
+
yourself
|
1138
1265
|
!
|
1139
1266
|
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
1146
|
-
nextPut: anObject
|
1147
|
-
self position: self position + 1.
|
1148
|
-
self collection at: self position put: anObject.
|
1149
|
-
self setStreamSize: (self streamSize max: self position)
|
1267
|
+
with: anObject with: anObject2 with: anObject3
|
1268
|
+
^(self new: 3)
|
1269
|
+
at: 1 put: anObject;
|
1270
|
+
at: 2 put: anObject2;
|
1271
|
+
at: 3 put: anObject3;
|
1272
|
+
yourself
|
1150
1273
|
!
|
1151
1274
|
|
1152
|
-
|
1153
|
-
|
1154
|
-
|
1155
|
-
|
1156
|
-
|
1157
|
-
|
1158
|
-
|
1159
|
-
on: aCollection
|
1160
|
-
^self new
|
1161
|
-
setCollection: aCollection;
|
1162
|
-
setStreamSize: aCollection size;
|
1163
|
-
yourself
|
1275
|
+
withAll: aCollection
|
1276
|
+
| instance |
|
1277
|
+
instance := self new: aCollection size.
|
1278
|
+
aCollection withIndexDo: [:index :each |
|
1279
|
+
instance at: index put: each].
|
1280
|
+
^instance
|
1164
1281
|
! !
|
1165
1282
|
|
1166
1283
|
Stream subclass: #StringStream
|
@@ -1224,7 +1341,7 @@ size
|
|
1224
1341
|
add: anObject
|
1225
1342
|
<
|
1226
1343
|
var found;
|
1227
|
-
for(var i
|
1344
|
+
for(var i=0; i < self['@elements'].length; i++) {
|
1228
1345
|
if(anObject == self['@elements'][i]) {
|
1229
1346
|
found = true;
|
1230
1347
|
break;
|
@@ -1575,99 +1692,3 @@ includesKey: aKey
|
|
1575
1692
|
^keys includes: aKey
|
1576
1693
|
! !
|
1577
1694
|
|
1578
|
-
SequenceableCollection subclass: #OrderedCollection
|
1579
|
-
instanceVariableNames: 'elements'
|
1580
|
-
category: 'Kernel-Collections'!
|
1581
|
-
|
1582
|
-
!OrderedCollection methodsFor: 'accessing'!
|
1583
|
-
|
1584
|
-
size
|
1585
|
-
^elements size
|
1586
|
-
!
|
1587
|
-
|
1588
|
-
at: anIndex put: anObject
|
1589
|
-
<return self['@elements'][anIndex - 1] = anObject>
|
1590
|
-
!
|
1591
|
-
|
1592
|
-
at: anIndex ifAbsent: aBlock
|
1593
|
-
^elements at: anIndex ifAbsent: aBlock
|
1594
|
-
! !
|
1595
|
-
|
1596
|
-
!OrderedCollection methodsFor: 'adding/removing'!
|
1597
|
-
|
1598
|
-
add: anObject
|
1599
|
-
<self['@elements'].push(anObject); return anObject;>
|
1600
|
-
!
|
1601
|
-
|
1602
|
-
remove: anObject
|
1603
|
-
<
|
1604
|
-
for(var i=0;i<self['@elements'].length;i++) {
|
1605
|
-
if(self['@elements'][i] == anObject) {
|
1606
|
-
self['@elements'].splice(i,1);
|
1607
|
-
break;
|
1608
|
-
}
|
1609
|
-
}
|
1610
|
-
>
|
1611
|
-
!
|
1612
|
-
|
1613
|
-
removeFrom: aNumber to: anotherNumber
|
1614
|
-
<self['@elements'].splice(aNumber - 1,anotherNumber - 1)>
|
1615
|
-
! !
|
1616
|
-
|
1617
|
-
!OrderedCollection methodsFor: 'converting'!
|
1618
|
-
|
1619
|
-
reversed
|
1620
|
-
^self asArray reversed asOrderedCollection
|
1621
|
-
!
|
1622
|
-
|
1623
|
-
asOrderedCollection
|
1624
|
-
^self
|
1625
|
-
!
|
1626
|
-
|
1627
|
-
asArray
|
1628
|
-
^elements copy
|
1629
|
-
! !
|
1630
|
-
|
1631
|
-
!OrderedCollection methodsFor: 'enumerating'!
|
1632
|
-
|
1633
|
-
join: aString
|
1634
|
-
^elements join: aString
|
1635
|
-
!
|
1636
|
-
|
1637
|
-
sort
|
1638
|
-
elements sort.
|
1639
|
-
^self
|
1640
|
-
!
|
1641
|
-
|
1642
|
-
sort: aBlock
|
1643
|
-
elements sort: aBlock.
|
1644
|
-
^self
|
1645
|
-
!
|
1646
|
-
|
1647
|
-
sorted
|
1648
|
-
^self copy sort
|
1649
|
-
!
|
1650
|
-
|
1651
|
-
sorted: aBlock
|
1652
|
-
^self copy sort: aBlock
|
1653
|
-
!
|
1654
|
-
|
1655
|
-
withIndexDo: aBlock
|
1656
|
-
elements withIndexDo: aBlock
|
1657
|
-
!
|
1658
|
-
|
1659
|
-
detect: aBlock ifNone: anotherBlock
|
1660
|
-
^elements detect: aBlock ifNone: anotherBlock
|
1661
|
-
!
|
1662
|
-
|
1663
|
-
do: aBlock
|
1664
|
-
elements do: aBlock
|
1665
|
-
! !
|
1666
|
-
|
1667
|
-
!OrderedCollection methodsFor: 'initialization'!
|
1668
|
-
|
1669
|
-
initialize
|
1670
|
-
super initialize.
|
1671
|
-
elements := #()
|
1672
|
-
! !
|
1673
|
-
|