resin 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/amber/bin/amberc +4 -3
- data/amber/js/IDE.deploy.js +147 -45
- data/amber/js/IDE.js +155 -53
- data/amber/js/Kernel-Classes.deploy.js +20 -14
- data/amber/js/Kernel-Classes.js +29 -18
- data/amber/js/Kernel-Collections.deploy.js +82 -0
- data/amber/js/Kernel-Collections.js +102 -0
- data/amber/js/Kernel-Methods.deploy.js +374 -261
- data/amber/js/Kernel-Methods.js +417 -269
- data/amber/js/Kernel-Objects.deploy.js +90 -28
- data/amber/js/Kernel-Objects.js +121 -34
- data/amber/js/Kernel-Tests.deploy.js +35 -0
- data/amber/js/Kernel-Tests.js +45 -0
- data/amber/js/SUnit.deploy.js +175 -17
- data/amber/js/SUnit.js +237 -24
- data/amber/js/amber.js +2 -1
- data/amber/js/boot.js +74 -18
- data/amber/js/lib/es5-shim-2.0.2/CHANGES +93 -0
- data/amber/js/lib/es5-shim-2.0.2/CONTRIBUTORS.md +25 -0
- data/amber/js/lib/es5-shim-2.0.2/LICENSE +19 -0
- data/amber/js/lib/es5-shim-2.0.2/README.md +161 -0
- data/amber/js/lib/es5-shim-2.0.2/es5-sham.js +348 -0
- data/amber/js/lib/es5-shim-2.0.2/es5-sham.min.js +6 -0
- data/amber/js/lib/es5-shim-2.0.2/es5-shim.js +963 -0
- data/amber/js/lib/es5-shim-2.0.2/es5-shim.min.js +16 -0
- data/amber/js/lib/es5-shim-2.0.2/minify +2 -0
- data/amber/js/lib/es5-shim-2.0.2/package.json +31 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/helpers/h-kill.js +59 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/helpers/h-matchers.js +34 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/helpers/h.js +3 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/index.html +62 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/lib/jasmine-html.js +190 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/lib/jasmine.css +166 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/lib/jasmine.js +2477 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/lib/jasmine_favicon.png +0 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/lib/json2.js +478 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/spec/s-array.js +1138 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/spec/s-date.js +117 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/spec/s-function.js +147 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/spec/s-object.js +84 -0
- data/amber/js/lib/es5-shim-2.0.2/tests/spec/s-string.js +24 -0
- data/amber/st/IDE.st +15 -16
- data/amber/st/Kernel-Classes.st +9 -9
- data/amber/st/Kernel-Collections.st +37 -0
- data/amber/st/Kernel-Methods.st +63 -8
- data/amber/st/Kernel-Objects.st +34 -7
- data/amber/st/Kernel-Tests.st +10 -0
- data/amber/st/SUnit.st +86 -9
- metadata +44 -21
- data/amber/js/compat.js +0 -22
@@ -339,23 +339,28 @@ return $1;
|
|
339
339
|
}),
|
340
340
|
smalltalk.Behavior);
|
341
341
|
|
342
|
+
smalltalk.addMethod(
|
343
|
+
"_organization",
|
344
|
+
smalltalk.method({
|
345
|
+
selector: "organization",
|
346
|
+
fn: function (){
|
347
|
+
var self=this;
|
348
|
+
var $1;
|
349
|
+
$1=smalltalk.send(self,"_basicAt_",["organization"]);
|
350
|
+
return $1;
|
351
|
+
}
|
352
|
+
}),
|
353
|
+
smalltalk.Behavior);
|
354
|
+
|
342
355
|
smalltalk.addMethod(
|
343
356
|
"_protocols",
|
344
357
|
smalltalk.method({
|
345
358
|
selector: "protocols",
|
346
359
|
fn: function (){
|
347
360
|
var self=this;
|
348
|
-
var $1
|
349
|
-
|
350
|
-
|
351
|
-
smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_do_",[(function(each){
|
352
|
-
$1=smalltalk.send(protocols,"_includes_",[smalltalk.send(each,"_category",[])]);
|
353
|
-
if(! smalltalk.assert($1)){
|
354
|
-
return smalltalk.send(protocols,"_add_",[smalltalk.send(each,"_category",[])]);
|
355
|
-
};
|
356
|
-
})]);
|
357
|
-
$2=smalltalk.send(protocols,"_sort",[]);
|
358
|
-
return $2;
|
361
|
+
var $1;
|
362
|
+
$1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_organization",[]),"_elements",[]),"_sorted",[]);
|
363
|
+
return $1;
|
359
364
|
}
|
360
365
|
}),
|
361
366
|
smalltalk.Behavior);
|
@@ -399,9 +404,10 @@ selector: "removeCompiledMethod:",
|
|
399
404
|
fn: function (aMethod){
|
400
405
|
var self=this;
|
401
406
|
var $1,$2;
|
402
|
-
|
403
|
-
|
404
|
-
|
407
|
+
|
408
|
+
smalltalk.removeMethod(aMethod)
|
409
|
+
smalltalk.init(self);
|
410
|
+
;
|
405
411
|
;
|
406
412
|
$1=smalltalk.send((smalltalk.MethodRemoved || MethodRemoved),"_new",[]);
|
407
413
|
smalltalk.send($1,"_theClass_",[self]);
|
data/amber/js/Kernel-Classes.js
CHANGED
@@ -455,6 +455,24 @@ referencedClasses: []
|
|
455
455
|
}),
|
456
456
|
smalltalk.Behavior);
|
457
457
|
|
458
|
+
smalltalk.addMethod(
|
459
|
+
"_organization",
|
460
|
+
smalltalk.method({
|
461
|
+
selector: "organization",
|
462
|
+
category: 'accessing',
|
463
|
+
fn: function (){
|
464
|
+
var self=this;
|
465
|
+
var $1;
|
466
|
+
$1=smalltalk.send(self,"_basicAt_",["organization"]);
|
467
|
+
return $1;
|
468
|
+
},
|
469
|
+
args: [],
|
470
|
+
source: "organization\x0a\x09^ self basicAt: 'organization'",
|
471
|
+
messageSends: ["basicAt:"],
|
472
|
+
referencedClasses: []
|
473
|
+
}),
|
474
|
+
smalltalk.Behavior);
|
475
|
+
|
458
476
|
smalltalk.addMethod(
|
459
477
|
"_protocols",
|
460
478
|
smalltalk.method({
|
@@ -462,22 +480,14 @@ selector: "protocols",
|
|
462
480
|
category: 'accessing',
|
463
481
|
fn: function (){
|
464
482
|
var self=this;
|
465
|
-
var $1
|
466
|
-
|
467
|
-
|
468
|
-
smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_do_",[(function(each){
|
469
|
-
$1=smalltalk.send(protocols,"_includes_",[smalltalk.send(each,"_category",[])]);
|
470
|
-
if(! smalltalk.assert($1)){
|
471
|
-
return smalltalk.send(protocols,"_add_",[smalltalk.send(each,"_category",[])]);
|
472
|
-
};
|
473
|
-
})]);
|
474
|
-
$2=smalltalk.send(protocols,"_sort",[]);
|
475
|
-
return $2;
|
483
|
+
var $1;
|
484
|
+
$1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_organization",[]),"_elements",[]),"_sorted",[]);
|
485
|
+
return $1;
|
476
486
|
},
|
477
487
|
args: [],
|
478
|
-
source: "protocols\x0a
|
479
|
-
messageSends: ["
|
480
|
-
referencedClasses: [
|
488
|
+
source: "protocols\x0a ^ self organization elements sorted",
|
489
|
+
messageSends: ["sorted", "elements", "organization"],
|
490
|
+
referencedClasses: []
|
481
491
|
}),
|
482
492
|
smalltalk.Behavior);
|
483
493
|
|
@@ -531,9 +541,10 @@ category: 'compiling',
|
|
531
541
|
fn: function (aMethod){
|
532
542
|
var self=this;
|
533
543
|
var $1,$2;
|
534
|
-
|
535
|
-
|
536
|
-
|
544
|
+
|
545
|
+
smalltalk.removeMethod(aMethod)
|
546
|
+
smalltalk.init(self);
|
547
|
+
;
|
537
548
|
;
|
538
549
|
$1=smalltalk.send((smalltalk.MethodRemoved || MethodRemoved),"_new",[]);
|
539
550
|
smalltalk.send($1,"_theClass_",[self]);
|
@@ -542,7 +553,7 @@ $2=smalltalk.send($1,"_yourself",[]);
|
|
542
553
|
smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$2]);
|
543
554
|
return self},
|
544
555
|
args: ["aMethod"],
|
545
|
-
source: "removeCompiledMethod: aMethod\x0a\x09
|
556
|
+
source: "removeCompiledMethod: aMethod\x0a\x09<\x0a \x09smalltalk.removeMethod(aMethod)\x0a\x09\x09smalltalk.init(self);\x0a >.\x0a \x0a SystemAnnouncer current\x0a \x09\x09announce: (MethodRemoved new\x0a \x09theClass: self;\x0a method: aMethod;\x0a yourself)",
|
546
557
|
messageSends: ["announce:", "theClass:", "new", "method:", "yourself", "current"],
|
547
558
|
referencedClasses: ["MethodRemoved", "SystemAnnouncer"]
|
548
559
|
}),
|
@@ -3426,6 +3426,88 @@ smalltalk.Set);
|
|
3426
3426
|
|
3427
3427
|
|
3428
3428
|
|
3429
|
+
smalltalk.addClass('Queue', smalltalk.Object, ['read', 'readIndex', 'write'], 'Kernel-Collections');
|
3430
|
+
smalltalk.addMethod(
|
3431
|
+
"_back_",
|
3432
|
+
smalltalk.method({
|
3433
|
+
selector: "back:",
|
3434
|
+
fn: function (anObject){
|
3435
|
+
var self=this;
|
3436
|
+
smalltalk.send(self["@write"],"_add_",[anObject]);
|
3437
|
+
return self}
|
3438
|
+
}),
|
3439
|
+
smalltalk.Queue);
|
3440
|
+
|
3441
|
+
smalltalk.addMethod(
|
3442
|
+
"_front",
|
3443
|
+
smalltalk.method({
|
3444
|
+
selector: "front",
|
3445
|
+
fn: function (){
|
3446
|
+
var self=this;
|
3447
|
+
var $1;
|
3448
|
+
$1=smalltalk.send(self,"_frontIfAbsent_",[(function(){
|
3449
|
+
return smalltalk.send(self,"_error_",["Cannot read from empty Queue."]);
|
3450
|
+
})]);
|
3451
|
+
return $1;
|
3452
|
+
}
|
3453
|
+
}),
|
3454
|
+
smalltalk.Queue);
|
3455
|
+
|
3456
|
+
smalltalk.addMethod(
|
3457
|
+
"_frontIfAbsent_",
|
3458
|
+
smalltalk.method({
|
3459
|
+
selector: "frontIfAbsent:",
|
3460
|
+
fn: function (aBlock){
|
3461
|
+
var self=this;
|
3462
|
+
var $1,$2,$3;
|
3463
|
+
var $early={};
|
3464
|
+
try {
|
3465
|
+
var result;
|
3466
|
+
result=smalltalk.send(self["@read"],"_at_ifAbsent_",[self["@readIndex"],(function(){
|
3467
|
+
$1=smalltalk.send(self["@write"],"_isEmpty",[]);
|
3468
|
+
if(smalltalk.assert($1)){
|
3469
|
+
$2=smalltalk.send(self["@readIndex"],"__gt",[(1)]);
|
3470
|
+
if(smalltalk.assert($2)){
|
3471
|
+
self["@read"]=[];
|
3472
|
+
self["@read"];
|
3473
|
+
self["@readIndex"]=(1);
|
3474
|
+
self["@readIndex"];
|
3475
|
+
};
|
3476
|
+
$3=smalltalk.send(aBlock,"_value",[]);
|
3477
|
+
throw $early=[$3];
|
3478
|
+
};
|
3479
|
+
self["@read"]=self["@write"];
|
3480
|
+
self["@read"];
|
3481
|
+
self["@readIndex"]=(1);
|
3482
|
+
self["@readIndex"];
|
3483
|
+
self["@write"]=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection),"_new",[]);
|
3484
|
+
self["@write"];
|
3485
|
+
return smalltalk.send(self["@read"],"_first",[]);
|
3486
|
+
})]);
|
3487
|
+
smalltalk.send(self["@read"],"_at_put_",[self["@readIndex"],nil]);
|
3488
|
+
self["@readIndex"]=smalltalk.send(self["@readIndex"],"__plus",[(1)]);
|
3489
|
+
return result;
|
3490
|
+
}
|
3491
|
+
catch(e) {if(e===$early)return e[0]; throw e}
|
3492
|
+
}
|
3493
|
+
}),
|
3494
|
+
smalltalk.Queue);
|
3495
|
+
|
3496
|
+
smalltalk.addMethod(
|
3497
|
+
"_initialize",
|
3498
|
+
smalltalk.method({
|
3499
|
+
selector: "initialize",
|
3500
|
+
fn: function (){
|
3501
|
+
var self=this;
|
3502
|
+
self["@read"]=[];
|
3503
|
+
self["@readIndex"]=(1);
|
3504
|
+
self["@write"]=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection),"_new",[]);
|
3505
|
+
return self}
|
3506
|
+
}),
|
3507
|
+
smalltalk.Queue);
|
3508
|
+
|
3509
|
+
|
3510
|
+
|
3429
3511
|
smalltalk.addClass('RegularExpression', smalltalk.Object, [], 'Kernel-Collections');
|
3430
3512
|
smalltalk.addMethod(
|
3431
3513
|
"_compile_",
|
@@ -4622,6 +4622,108 @@ smalltalk.Set);
|
|
4622
4622
|
|
4623
4623
|
|
4624
4624
|
|
4625
|
+
smalltalk.addClass('Queue', smalltalk.Object, ['read', 'readIndex', 'write'], 'Kernel-Collections');
|
4626
|
+
smalltalk.addMethod(
|
4627
|
+
"_back_",
|
4628
|
+
smalltalk.method({
|
4629
|
+
selector: "back:",
|
4630
|
+
category: 'accessing',
|
4631
|
+
fn: function (anObject){
|
4632
|
+
var self=this;
|
4633
|
+
smalltalk.send(self["@write"],"_add_",[anObject]);
|
4634
|
+
return self},
|
4635
|
+
args: ["anObject"],
|
4636
|
+
source: "back: anObject\x0a\x09write add: anObject\x0a",
|
4637
|
+
messageSends: ["add:"],
|
4638
|
+
referencedClasses: []
|
4639
|
+
}),
|
4640
|
+
smalltalk.Queue);
|
4641
|
+
|
4642
|
+
smalltalk.addMethod(
|
4643
|
+
"_front",
|
4644
|
+
smalltalk.method({
|
4645
|
+
selector: "front",
|
4646
|
+
category: 'accessing',
|
4647
|
+
fn: function (){
|
4648
|
+
var self=this;
|
4649
|
+
var $1;
|
4650
|
+
$1=smalltalk.send(self,"_frontIfAbsent_",[(function(){
|
4651
|
+
return smalltalk.send(self,"_error_",["Cannot read from empty Queue."]);
|
4652
|
+
})]);
|
4653
|
+
return $1;
|
4654
|
+
},
|
4655
|
+
args: [],
|
4656
|
+
source: "front\x0a ^self frontIfAbsent: [ self error: 'Cannot read from empty Queue.']\x0a",
|
4657
|
+
messageSends: ["frontIfAbsent:", "error:"],
|
4658
|
+
referencedClasses: []
|
4659
|
+
}),
|
4660
|
+
smalltalk.Queue);
|
4661
|
+
|
4662
|
+
smalltalk.addMethod(
|
4663
|
+
"_frontIfAbsent_",
|
4664
|
+
smalltalk.method({
|
4665
|
+
selector: "frontIfAbsent:",
|
4666
|
+
category: 'accessing',
|
4667
|
+
fn: function (aBlock){
|
4668
|
+
var self=this;
|
4669
|
+
var $1,$2,$3;
|
4670
|
+
var $early={};
|
4671
|
+
try {
|
4672
|
+
var result;
|
4673
|
+
result=smalltalk.send(self["@read"],"_at_ifAbsent_",[self["@readIndex"],(function(){
|
4674
|
+
$1=smalltalk.send(self["@write"],"_isEmpty",[]);
|
4675
|
+
if(smalltalk.assert($1)){
|
4676
|
+
$2=smalltalk.send(self["@readIndex"],"__gt",[(1)]);
|
4677
|
+
if(smalltalk.assert($2)){
|
4678
|
+
self["@read"]=[];
|
4679
|
+
self["@read"];
|
4680
|
+
self["@readIndex"]=(1);
|
4681
|
+
self["@readIndex"];
|
4682
|
+
};
|
4683
|
+
$3=smalltalk.send(aBlock,"_value",[]);
|
4684
|
+
throw $early=[$3];
|
4685
|
+
};
|
4686
|
+
self["@read"]=self["@write"];
|
4687
|
+
self["@read"];
|
4688
|
+
self["@readIndex"]=(1);
|
4689
|
+
self["@readIndex"];
|
4690
|
+
self["@write"]=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection),"_new",[]);
|
4691
|
+
self["@write"];
|
4692
|
+
return smalltalk.send(self["@read"],"_first",[]);
|
4693
|
+
})]);
|
4694
|
+
smalltalk.send(self["@read"],"_at_put_",[self["@readIndex"],nil]);
|
4695
|
+
self["@readIndex"]=smalltalk.send(self["@readIndex"],"__plus",[(1)]);
|
4696
|
+
return result;
|
4697
|
+
}
|
4698
|
+
catch(e) {if(e===$early)return e[0]; throw e}
|
4699
|
+
},
|
4700
|
+
args: ["aBlock"],
|
4701
|
+
source: "frontIfAbsent: aBlock\x0a\x09| result |\x0a\x09result := read at: readIndex ifAbsent: [\x0a\x09\x09write isEmpty ifTrue: [\x0a\x09\x09\x09readIndex > 1 ifTrue: [ read := #(). readIndex := 1 ].\x0a\x09\x09\x09^aBlock value ].\x0a \x09read := write.\x0a \x09readIndex := 1.\x0a \x09write := OrderedCollection new.\x0a \x09read first ].\x0a read at: readIndex put: nil.\x0a readIndex := readIndex + 1.\x0a ^result\x0a",
|
4702
|
+
messageSends: ["at:ifAbsent:", "ifTrue:", ">", "value", "isEmpty", "new", "first", "at:put:", "+"],
|
4703
|
+
referencedClasses: ["OrderedCollection"]
|
4704
|
+
}),
|
4705
|
+
smalltalk.Queue);
|
4706
|
+
|
4707
|
+
smalltalk.addMethod(
|
4708
|
+
"_initialize",
|
4709
|
+
smalltalk.method({
|
4710
|
+
selector: "initialize",
|
4711
|
+
category: 'initialization',
|
4712
|
+
fn: function (){
|
4713
|
+
var self=this;
|
4714
|
+
self["@read"]=[];
|
4715
|
+
self["@readIndex"]=(1);
|
4716
|
+
self["@write"]=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection),"_new",[]);
|
4717
|
+
return self},
|
4718
|
+
args: [],
|
4719
|
+
source: "initialize\x0a\x09read := #().\x0a readIndex := 1.\x0a write := OrderedCollection new",
|
4720
|
+
messageSends: ["new"],
|
4721
|
+
referencedClasses: ["OrderedCollection"]
|
4722
|
+
}),
|
4723
|
+
smalltalk.Queue);
|
4724
|
+
|
4725
|
+
|
4726
|
+
|
4625
4727
|
smalltalk.addClass('RegularExpression', smalltalk.Object, [], 'Kernel-Collections');
|
4626
4728
|
smalltalk.addMethod(
|
4627
4729
|
"_compile_",
|
@@ -4,11 +4,11 @@ smalltalk.addMethod(
|
|
4
4
|
"_applyTo_arguments_",
|
5
5
|
smalltalk.method({
|
6
6
|
selector: "applyTo:arguments:",
|
7
|
-
fn: function (anObject,aCollection){
|
8
|
-
var self=this;
|
9
|
-
return self.apply(anObject, aCollection);
|
10
|
-
;
|
11
|
-
|
7
|
+
fn: function (anObject, aCollection) {
|
8
|
+
var self = this;
|
9
|
+
return self.apply(anObject, aCollection);
|
10
|
+
return self;
|
11
|
+
}
|
12
12
|
}),
|
13
13
|
smalltalk.BlockClosure);
|
14
14
|
|
@@ -16,11 +16,11 @@ smalltalk.addMethod(
|
|
16
16
|
"_compiledSource",
|
17
17
|
smalltalk.method({
|
18
18
|
selector: "compiledSource",
|
19
|
-
fn: function (){
|
20
|
-
var self=this;
|
21
|
-
return self.toString();
|
22
|
-
;
|
23
|
-
|
19
|
+
fn: function () {
|
20
|
+
var self = this;
|
21
|
+
return self.toString();
|
22
|
+
return self;
|
23
|
+
}
|
24
24
|
}),
|
25
25
|
smalltalk.BlockClosure);
|
26
26
|
|
@@ -30,46 +30,44 @@ smalltalk.method({
|
|
30
30
|
selector: "ensure:",
|
31
31
|
fn: function (aBlock){
|
32
32
|
var self=this;
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
$1=smalltalk.send((function(){
|
37
|
-
smalltalk.send(self,"_value",[]);
|
38
|
-
success=true;
|
39
|
-
success;
|
40
|
-
return smalltalk.send(aBlock,"_value",[]);
|
41
|
-
}),"_on_do_",[(smalltalk.Error || Error),(function(ex){
|
42
|
-
if(! smalltalk.assert(success)){
|
43
|
-
smalltalk.send(aBlock,"_value",[]);
|
44
|
-
};
|
45
|
-
return smalltalk.send(ex,"_signal",[]);
|
46
|
-
})]);
|
47
|
-
return $1;
|
48
|
-
}
|
33
|
+
try{self()}finally{return aBlock._value()};
|
34
|
+
;
|
35
|
+
return self}
|
49
36
|
}),
|
50
37
|
smalltalk.BlockClosure);
|
51
38
|
|
52
39
|
smalltalk.addMethod(
|
53
|
-
"
|
40
|
+
"_fork",
|
54
41
|
smalltalk.method({
|
55
|
-
selector: "
|
42
|
+
selector: "fork",
|
56
43
|
fn: function (){
|
57
44
|
var self=this;
|
58
|
-
|
59
|
-
;
|
45
|
+
smalltalk.send(smalltalk.send((smalltalk.ForkPool || ForkPool),"_default",[]),"_fork_",[self]);
|
60
46
|
return self}
|
61
47
|
}),
|
62
48
|
smalltalk.BlockClosure);
|
63
49
|
|
50
|
+
smalltalk.addMethod(
|
51
|
+
"_new",
|
52
|
+
smalltalk.method({
|
53
|
+
selector: "new",
|
54
|
+
fn: function () {
|
55
|
+
var self = this;
|
56
|
+
return new self;
|
57
|
+
return self;
|
58
|
+
}
|
59
|
+
}),
|
60
|
+
smalltalk.BlockClosure);
|
61
|
+
|
64
62
|
smalltalk.addMethod(
|
65
63
|
"_newValue_",
|
66
64
|
smalltalk.method({
|
67
65
|
selector: "newValue:",
|
68
|
-
fn: function (anObject){
|
69
|
-
var self=this;
|
70
|
-
return new self(anObject);
|
71
|
-
;
|
72
|
-
|
66
|
+
fn: function (anObject) {
|
67
|
+
var self = this;
|
68
|
+
return new self(anObject);
|
69
|
+
return self;
|
70
|
+
}
|
73
71
|
}),
|
74
72
|
smalltalk.BlockClosure);
|
75
73
|
|
@@ -77,11 +75,11 @@ smalltalk.addMethod(
|
|
77
75
|
"_newValue_value_",
|
78
76
|
smalltalk.method({
|
79
77
|
selector: "newValue:value:",
|
80
|
-
fn: function (anObject,anObject2){
|
81
|
-
var self=this;
|
82
|
-
return new self(anObject, anObject2);
|
83
|
-
;
|
84
|
-
|
78
|
+
fn: function (anObject, anObject2) {
|
79
|
+
var self = this;
|
80
|
+
return new self(anObject, anObject2);
|
81
|
+
return self;
|
82
|
+
}
|
85
83
|
}),
|
86
84
|
smalltalk.BlockClosure);
|
87
85
|
|
@@ -89,11 +87,11 @@ smalltalk.addMethod(
|
|
89
87
|
"_newValue_value_value_",
|
90
88
|
smalltalk.method({
|
91
89
|
selector: "newValue:value:value:",
|
92
|
-
fn: function (anObject,anObject2,anObject3){
|
93
|
-
var self=this;
|
94
|
-
return new self(anObject, anObject2);
|
95
|
-
;
|
96
|
-
|
90
|
+
fn: function (anObject, anObject2, anObject3) {
|
91
|
+
var self = this;
|
92
|
+
return new self(anObject, anObject2);
|
93
|
+
return self;
|
94
|
+
}
|
97
95
|
}),
|
98
96
|
smalltalk.BlockClosure);
|
99
97
|
|
@@ -101,11 +99,11 @@ smalltalk.addMethod(
|
|
101
99
|
"_numArgs",
|
102
100
|
smalltalk.method({
|
103
101
|
selector: "numArgs",
|
104
|
-
fn: function (){
|
105
|
-
var self=this;
|
106
|
-
return self.length;
|
107
|
-
;
|
108
|
-
|
102
|
+
fn: function () {
|
103
|
+
var self = this;
|
104
|
+
return self.length;
|
105
|
+
return self;
|
106
|
+
}
|
109
107
|
}),
|
110
108
|
smalltalk.BlockClosure);
|
111
109
|
|
@@ -113,18 +111,11 @@ smalltalk.addMethod(
|
|
113
111
|
"_on_do_",
|
114
112
|
smalltalk.method({
|
115
113
|
selector: "on:do:",
|
116
|
-
fn: function (anErrorClass,aBlock){
|
117
|
-
var self=this;
|
118
|
-
var $2
|
119
|
-
$1=smalltalk.send(self,"_try_catch_",[self,
|
120
|
-
$
|
121
|
-
if(smalltalk.assert($2)){
|
122
|
-
return smalltalk.send(aBlock,"_value_",[error]);
|
123
|
-
} else {
|
124
|
-
return smalltalk.send(error,"_signal",[]);
|
125
|
-
};
|
126
|
-
})]);
|
127
|
-
return $1;
|
114
|
+
fn: function (anErrorClass, aBlock) {
|
115
|
+
var self = this;
|
116
|
+
var $2, $1;
|
117
|
+
$1 = smalltalk.send(self, "_try_catch_", [self, function (error) {$2 = smalltalk.send(error, "_isKindOf_", [anErrorClass]);if (smalltalk.assert($2)) {return smalltalk.send(aBlock, "_value_", [error]);} else {return smalltalk.send(error, "_signal", []);}}]);
|
118
|
+
return $1;
|
128
119
|
}
|
129
120
|
}),
|
130
121
|
smalltalk.BlockClosure);
|
@@ -133,11 +124,11 @@ smalltalk.addMethod(
|
|
133
124
|
"_timeToRun",
|
134
125
|
smalltalk.method({
|
135
126
|
selector: "timeToRun",
|
136
|
-
fn: function (){
|
137
|
-
var self=this;
|
138
|
-
var $1;
|
139
|
-
$1=smalltalk.send(
|
140
|
-
return $1;
|
127
|
+
fn: function () {
|
128
|
+
var self = this;
|
129
|
+
var $1;
|
130
|
+
$1 = smalltalk.send(smalltalk.Date || Date, "_millisecondsToRun_", [self]);
|
131
|
+
return $1;
|
141
132
|
}
|
142
133
|
}),
|
143
134
|
smalltalk.BlockClosure);
|
@@ -146,11 +137,11 @@ smalltalk.addMethod(
|
|
146
137
|
"_value",
|
147
138
|
smalltalk.method({
|
148
139
|
selector: "value",
|
149
|
-
fn: function (){
|
150
|
-
var self=this;
|
151
|
-
return self()
|
152
|
-
;
|
153
|
-
|
140
|
+
fn: function () {
|
141
|
+
var self = this;
|
142
|
+
return self();
|
143
|
+
return self;
|
144
|
+
}
|
154
145
|
}),
|
155
146
|
smalltalk.BlockClosure);
|
156
147
|
|
@@ -158,11 +149,11 @@ smalltalk.addMethod(
|
|
158
149
|
"_value_",
|
159
150
|
smalltalk.method({
|
160
151
|
selector: "value:",
|
161
|
-
fn: function (anArg){
|
162
|
-
var self=this;
|
163
|
-
return self(anArg)
|
164
|
-
;
|
165
|
-
|
152
|
+
fn: function (anArg) {
|
153
|
+
var self = this;
|
154
|
+
return self(anArg);
|
155
|
+
return self;
|
156
|
+
}
|
166
157
|
}),
|
167
158
|
smalltalk.BlockClosure);
|
168
159
|
|
@@ -170,11 +161,11 @@ smalltalk.addMethod(
|
|
170
161
|
"_value_value_",
|
171
162
|
smalltalk.method({
|
172
163
|
selector: "value:value:",
|
173
|
-
fn: function (firstArg,secondArg){
|
174
|
-
var self=this;
|
175
|
-
return self(firstArg, secondArg)
|
176
|
-
;
|
177
|
-
|
164
|
+
fn: function (firstArg, secondArg) {
|
165
|
+
var self = this;
|
166
|
+
return self(firstArg, secondArg);
|
167
|
+
return self;
|
168
|
+
}
|
178
169
|
}),
|
179
170
|
smalltalk.BlockClosure);
|
180
171
|
|
@@ -182,11 +173,11 @@ smalltalk.addMethod(
|
|
182
173
|
"_value_value_value_",
|
183
174
|
smalltalk.method({
|
184
175
|
selector: "value:value:value:",
|
185
|
-
fn: function (firstArg,secondArg,thirdArg){
|
186
|
-
var self=this;
|
187
|
-
return self(firstArg, secondArg, thirdArg)
|
188
|
-
;
|
189
|
-
|
176
|
+
fn: function (firstArg, secondArg, thirdArg) {
|
177
|
+
var self = this;
|
178
|
+
return self(firstArg, secondArg, thirdArg);
|
179
|
+
return self;
|
180
|
+
}
|
190
181
|
}),
|
191
182
|
smalltalk.BlockClosure);
|
192
183
|
|
@@ -194,11 +185,11 @@ smalltalk.addMethod(
|
|
194
185
|
"_valueWithInterval_",
|
195
186
|
smalltalk.method({
|
196
187
|
selector: "valueWithInterval:",
|
197
|
-
fn: function (aNumber){
|
198
|
-
var self=this;
|
199
|
-
return setInterval(self, aNumber);
|
200
|
-
;
|
201
|
-
|
188
|
+
fn: function (aNumber) {
|
189
|
+
var self = this;
|
190
|
+
return setInterval(self, aNumber);
|
191
|
+
return self;
|
192
|
+
}
|
202
193
|
}),
|
203
194
|
smalltalk.BlockClosure);
|
204
195
|
|
@@ -206,11 +197,11 @@ smalltalk.addMethod(
|
|
206
197
|
"_valueWithPossibleArguments_",
|
207
198
|
smalltalk.method({
|
208
199
|
selector: "valueWithPossibleArguments:",
|
209
|
-
fn: function (aCollection){
|
210
|
-
var self=this;
|
211
|
-
return self.apply(null, aCollection)
|
212
|
-
;
|
213
|
-
|
200
|
+
fn: function (aCollection) {
|
201
|
+
var self = this;
|
202
|
+
return self.apply(null, aCollection);
|
203
|
+
return self;
|
204
|
+
}
|
214
205
|
}),
|
215
206
|
smalltalk.BlockClosure);
|
216
207
|
|
@@ -218,11 +209,11 @@ smalltalk.addMethod(
|
|
218
209
|
"_valueWithTimeout_",
|
219
210
|
smalltalk.method({
|
220
211
|
selector: "valueWithTimeout:",
|
221
|
-
fn: function (aNumber){
|
222
|
-
var self=this;
|
223
|
-
return setTimeout(self, aNumber);
|
224
|
-
;
|
225
|
-
|
212
|
+
fn: function (aNumber) {
|
213
|
+
var self = this;
|
214
|
+
return setTimeout(self, aNumber);
|
215
|
+
return self;
|
216
|
+
}
|
226
217
|
}),
|
227
218
|
smalltalk.BlockClosure);
|
228
219
|
|
@@ -230,11 +221,11 @@ smalltalk.addMethod(
|
|
230
221
|
"_whileFalse",
|
231
222
|
smalltalk.method({
|
232
223
|
selector: "whileFalse",
|
233
|
-
fn: function (){
|
234
|
-
var self=this;
|
235
|
-
smalltalk.send(self,"_whileFalse_",[
|
236
|
-
|
237
|
-
|
224
|
+
fn: function () {
|
225
|
+
var self = this;
|
226
|
+
smalltalk.send(self, "_whileFalse_", [function () {}]);
|
227
|
+
return self;
|
228
|
+
}
|
238
229
|
}),
|
239
230
|
smalltalk.BlockClosure);
|
240
231
|
|
@@ -242,11 +233,13 @@ smalltalk.addMethod(
|
|
242
233
|
"_whileFalse_",
|
243
234
|
smalltalk.method({
|
244
235
|
selector: "whileFalse:",
|
245
|
-
fn: function (aBlock){
|
246
|
-
var self=this;
|
247
|
-
while(!self()) {
|
248
|
-
;
|
249
|
-
|
236
|
+
fn: function (aBlock) {
|
237
|
+
var self = this;
|
238
|
+
while (!self()) {
|
239
|
+
aBlock();
|
240
|
+
}
|
241
|
+
return self;
|
242
|
+
}
|
250
243
|
}),
|
251
244
|
smalltalk.BlockClosure);
|
252
245
|
|
@@ -254,11 +247,11 @@ smalltalk.addMethod(
|
|
254
247
|
"_whileTrue",
|
255
248
|
smalltalk.method({
|
256
249
|
selector: "whileTrue",
|
257
|
-
fn: function (){
|
258
|
-
var self=this;
|
259
|
-
smalltalk.send(self,"_whileTrue_",[
|
260
|
-
|
261
|
-
|
250
|
+
fn: function () {
|
251
|
+
var self = this;
|
252
|
+
smalltalk.send(self, "_whileTrue_", [function () {}]);
|
253
|
+
return self;
|
254
|
+
}
|
262
255
|
}),
|
263
256
|
smalltalk.BlockClosure);
|
264
257
|
|
@@ -266,11 +259,13 @@ smalltalk.addMethod(
|
|
266
259
|
"_whileTrue_",
|
267
260
|
smalltalk.method({
|
268
261
|
selector: "whileTrue:",
|
269
|
-
fn: function (aBlock){
|
270
|
-
var self=this;
|
271
|
-
while(self()) {
|
272
|
-
;
|
273
|
-
|
262
|
+
fn: function (aBlock) {
|
263
|
+
var self = this;
|
264
|
+
while (self()) {
|
265
|
+
aBlock();
|
266
|
+
}
|
267
|
+
return self;
|
268
|
+
}
|
274
269
|
}),
|
275
270
|
smalltalk.BlockClosure);
|
276
271
|
|
@@ -281,11 +276,11 @@ smalltalk.addMethod(
|
|
281
276
|
"_arguments",
|
282
277
|
smalltalk.method({
|
283
278
|
selector: "arguments",
|
284
|
-
fn: function (){
|
285
|
-
var self=this;
|
286
|
-
return self.args || [];
|
287
|
-
;
|
288
|
-
|
279
|
+
fn: function () {
|
280
|
+
var self = this;
|
281
|
+
return self.args || [];
|
282
|
+
return self;
|
283
|
+
}
|
289
284
|
}),
|
290
285
|
smalltalk.CompiledMethod);
|
291
286
|
|
@@ -293,16 +288,16 @@ smalltalk.addMethod(
|
|
293
288
|
"_category",
|
294
289
|
smalltalk.method({
|
295
290
|
selector: "category",
|
296
|
-
fn: function (){
|
297
|
-
var self=this;
|
298
|
-
var $2
|
299
|
-
$2=smalltalk.send(self,"_basicAt_",["category"]);
|
300
|
-
if(($receiver = $2) == nil || $receiver == undefined){
|
301
|
-
$1="";
|
302
|
-
} else {
|
303
|
-
$1
|
304
|
-
}
|
305
|
-
return $1;
|
291
|
+
fn: function () {
|
292
|
+
var self = this;
|
293
|
+
var $2, $1;
|
294
|
+
$2 = smalltalk.send(self, "_basicAt_", ["category"]);
|
295
|
+
if (($receiver = $2) == nil || $receiver == undefined) {
|
296
|
+
$1 = "";
|
297
|
+
} else {
|
298
|
+
$1 = $2;
|
299
|
+
}
|
300
|
+
return $1;
|
306
301
|
}
|
307
302
|
}),
|
308
303
|
smalltalk.CompiledMethod);
|
@@ -313,7 +308,21 @@ smalltalk.method({
|
|
313
308
|
selector: "category:",
|
314
309
|
fn: function (aString){
|
315
310
|
var self=this;
|
311
|
+
var $1;
|
312
|
+
var oldCategory;
|
313
|
+
oldCategory=smalltalk.send(self,"_category",[]);
|
316
314
|
smalltalk.send(self,"_basicAt_put_",["category",aString]);
|
315
|
+
$1=smalltalk.send(self,"_methodClass",[]);
|
316
|
+
if(($receiver = $1) == nil || $receiver == undefined){
|
317
|
+
$1;
|
318
|
+
} else {
|
319
|
+
smalltalk.send(smalltalk.send(smalltalk.send(self,"_methodClass",[]),"_organization",[]),"_addElement_",[aString]);
|
320
|
+
smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self,"_methodClass",[]),"_methods",[]),"_select_",[(function(each){
|
321
|
+
return smalltalk.send(smalltalk.send(each,"_category",[]),"__eq",[oldCategory]);
|
322
|
+
})]),"_ifEmpty_",[(function(){
|
323
|
+
return smalltalk.send(smalltalk.send(smalltalk.send(self,"_methodClass",[]),"_organization",[]),"_removeElement_",[oldCategory]);
|
324
|
+
})]);
|
325
|
+
};
|
317
326
|
return self}
|
318
327
|
}),
|
319
328
|
smalltalk.CompiledMethod);
|
@@ -322,11 +331,11 @@ smalltalk.addMethod(
|
|
322
331
|
"_fn",
|
323
332
|
smalltalk.method({
|
324
333
|
selector: "fn",
|
325
|
-
fn: function (){
|
326
|
-
var self=this;
|
327
|
-
var $1;
|
328
|
-
$1=smalltalk.send(self,"_basicAt_",["fn"]);
|
329
|
-
return $1;
|
334
|
+
fn: function () {
|
335
|
+
var self = this;
|
336
|
+
var $1;
|
337
|
+
$1 = smalltalk.send(self, "_basicAt_", ["fn"]);
|
338
|
+
return $1;
|
330
339
|
}
|
331
340
|
}),
|
332
341
|
smalltalk.CompiledMethod);
|
@@ -335,10 +344,11 @@ smalltalk.addMethod(
|
|
335
344
|
"_fn_",
|
336
345
|
smalltalk.method({
|
337
346
|
selector: "fn:",
|
338
|
-
fn: function (aBlock){
|
339
|
-
var self=this;
|
340
|
-
smalltalk.send(self,"_basicAt_put_",["fn",aBlock]);
|
341
|
-
return self
|
347
|
+
fn: function (aBlock) {
|
348
|
+
var self = this;
|
349
|
+
smalltalk.send(self, "_basicAt_put_", ["fn", aBlock]);
|
350
|
+
return self;
|
351
|
+
}
|
342
352
|
}),
|
343
353
|
smalltalk.CompiledMethod);
|
344
354
|
|
@@ -346,11 +356,11 @@ smalltalk.addMethod(
|
|
346
356
|
"_messageSends",
|
347
357
|
smalltalk.method({
|
348
358
|
selector: "messageSends",
|
349
|
-
fn: function (){
|
350
|
-
var self=this;
|
351
|
-
var $1;
|
352
|
-
$1=smalltalk.send(self,"_basicAt_",["messageSends"]);
|
353
|
-
return $1;
|
359
|
+
fn: function () {
|
360
|
+
var self = this;
|
361
|
+
var $1;
|
362
|
+
$1 = smalltalk.send(self, "_basicAt_", ["messageSends"]);
|
363
|
+
return $1;
|
354
364
|
}
|
355
365
|
}),
|
356
366
|
smalltalk.CompiledMethod);
|
@@ -359,11 +369,11 @@ smalltalk.addMethod(
|
|
359
369
|
"_methodClass",
|
360
370
|
smalltalk.method({
|
361
371
|
selector: "methodClass",
|
362
|
-
fn: function (){
|
363
|
-
var self=this;
|
364
|
-
var $1;
|
365
|
-
$1=smalltalk.send(self,"_basicAt_",["methodClass"]);
|
366
|
-
return $1;
|
372
|
+
fn: function () {
|
373
|
+
var self = this;
|
374
|
+
var $1;
|
375
|
+
$1 = smalltalk.send(self, "_basicAt_", ["methodClass"]);
|
376
|
+
return $1;
|
367
377
|
}
|
368
378
|
}),
|
369
379
|
smalltalk.CompiledMethod);
|
@@ -372,11 +382,11 @@ smalltalk.addMethod(
|
|
372
382
|
"_protocol",
|
373
383
|
smalltalk.method({
|
374
384
|
selector: "protocol",
|
375
|
-
fn: function (){
|
376
|
-
var self=this;
|
377
|
-
var $1;
|
378
|
-
$1=smalltalk.send(self,"_category",[]);
|
379
|
-
return $1;
|
385
|
+
fn: function () {
|
386
|
+
var self = this;
|
387
|
+
var $1;
|
388
|
+
$1 = smalltalk.send(self, "_category", []);
|
389
|
+
return $1;
|
380
390
|
}
|
381
391
|
}),
|
382
392
|
smalltalk.CompiledMethod);
|
@@ -385,11 +395,11 @@ smalltalk.addMethod(
|
|
385
395
|
"_referencedClasses",
|
386
396
|
smalltalk.method({
|
387
397
|
selector: "referencedClasses",
|
388
|
-
fn: function (){
|
389
|
-
var self=this;
|
390
|
-
var $1;
|
391
|
-
$1=smalltalk.send(self,"_basicAt_",["referencedClasses"]);
|
392
|
-
return $1;
|
398
|
+
fn: function () {
|
399
|
+
var self = this;
|
400
|
+
var $1;
|
401
|
+
$1 = smalltalk.send(self, "_basicAt_", ["referencedClasses"]);
|
402
|
+
return $1;
|
393
403
|
}
|
394
404
|
}),
|
395
405
|
smalltalk.CompiledMethod);
|
@@ -398,11 +408,11 @@ smalltalk.addMethod(
|
|
398
408
|
"_selector",
|
399
409
|
smalltalk.method({
|
400
410
|
selector: "selector",
|
401
|
-
fn: function (){
|
402
|
-
var self=this;
|
403
|
-
var $1;
|
404
|
-
$1=smalltalk.send(self,"_basicAt_",["selector"]);
|
405
|
-
return $1;
|
411
|
+
fn: function () {
|
412
|
+
var self = this;
|
413
|
+
var $1;
|
414
|
+
$1 = smalltalk.send(self, "_basicAt_", ["selector"]);
|
415
|
+
return $1;
|
406
416
|
}
|
407
417
|
}),
|
408
418
|
smalltalk.CompiledMethod);
|
@@ -411,10 +421,11 @@ smalltalk.addMethod(
|
|
411
421
|
"_selector_",
|
412
422
|
smalltalk.method({
|
413
423
|
selector: "selector:",
|
414
|
-
fn: function (aString){
|
415
|
-
var self=this;
|
416
|
-
smalltalk.send(self,"_basicAt_put_",["selector",aString]);
|
417
|
-
return self
|
424
|
+
fn: function (aString) {
|
425
|
+
var self = this;
|
426
|
+
smalltalk.send(self, "_basicAt_put_", ["selector", aString]);
|
427
|
+
return self;
|
428
|
+
}
|
418
429
|
}),
|
419
430
|
smalltalk.CompiledMethod);
|
420
431
|
|
@@ -422,31 +433,137 @@ smalltalk.addMethod(
|
|
422
433
|
"_source",
|
423
434
|
smalltalk.method({
|
424
435
|
selector: "source",
|
436
|
+
fn: function () {
|
437
|
+
var self = this;
|
438
|
+
var $2, $1;
|
439
|
+
$2 = smalltalk.send(self, "_basicAt_", ["source"]);
|
440
|
+
if (($receiver = $2) == nil || $receiver == undefined) {
|
441
|
+
$1 = "";
|
442
|
+
} else {
|
443
|
+
$1 = $2;
|
444
|
+
}
|
445
|
+
return $1;
|
446
|
+
}
|
447
|
+
}),
|
448
|
+
smalltalk.CompiledMethod);
|
449
|
+
|
450
|
+
smalltalk.addMethod(
|
451
|
+
"_source_",
|
452
|
+
smalltalk.method({
|
453
|
+
selector: "source:",
|
454
|
+
fn: function (aString) {
|
455
|
+
var self = this;
|
456
|
+
smalltalk.send(self, "_basicAt_put_", ["source", aString]);
|
457
|
+
return self;
|
458
|
+
}
|
459
|
+
}),
|
460
|
+
smalltalk.CompiledMethod);
|
461
|
+
|
462
|
+
|
463
|
+
|
464
|
+
smalltalk.addClass('ForkPool', smalltalk.Object, ['poolSize', 'maxPoolSize', 'queue', 'worker'], 'Kernel-Methods');
|
465
|
+
smalltalk.addMethod(
|
466
|
+
"_addWorker",
|
467
|
+
smalltalk.method({
|
468
|
+
selector: "addWorker",
|
469
|
+
fn: function (){
|
470
|
+
var self=this;
|
471
|
+
smalltalk.send(self["@worker"],"_valueWithTimeout_",[(0)]);
|
472
|
+
self["@poolSize"]=smalltalk.send(self["@poolSize"],"__plus",[(1)]);
|
473
|
+
return self}
|
474
|
+
}),
|
475
|
+
smalltalk.ForkPool);
|
476
|
+
|
477
|
+
smalltalk.addMethod(
|
478
|
+
"_fork_",
|
479
|
+
smalltalk.method({
|
480
|
+
selector: "fork:",
|
481
|
+
fn: function (aBlock){
|
482
|
+
var self=this;
|
483
|
+
var $1;
|
484
|
+
$1=smalltalk.send(self["@poolSize"],"__lt",[self["@maxPoolSize"]]);
|
485
|
+
if(smalltalk.assert($1)){
|
486
|
+
smalltalk.send(self,"_addWorker",[]);
|
487
|
+
};
|
488
|
+
smalltalk.send(self["@queue"],"_back_",[aBlock]);
|
489
|
+
return self}
|
490
|
+
}),
|
491
|
+
smalltalk.ForkPool);
|
492
|
+
|
493
|
+
smalltalk.addMethod(
|
494
|
+
"_initialize",
|
495
|
+
smalltalk.method({
|
496
|
+
selector: "initialize",
|
497
|
+
fn: function (){
|
498
|
+
var self=this;
|
499
|
+
var $1;
|
500
|
+
var sentinel;
|
501
|
+
self["@poolSize"]=(0);
|
502
|
+
self["@maxPoolSize"]=smalltalk.send(smalltalk.send(self,"_class",[]),"_defaultMaxPoolSize",[]);
|
503
|
+
self["@queue"]=smalltalk.send((smalltalk.Queue || Queue),"_new",[]);
|
504
|
+
sentinel=smalltalk.send((smalltalk.Object || Object),"_new",[]);
|
505
|
+
self["@worker"]=(function(){
|
506
|
+
var block;
|
507
|
+
self["@poolSize"]=smalltalk.send(self["@poolSize"],"__minus",[(1)]);
|
508
|
+
self["@poolSize"];
|
509
|
+
block=smalltalk.send(self["@queue"],"_frontIfAbsent_",[(function(){
|
510
|
+
return sentinel;
|
511
|
+
})]);
|
512
|
+
block;
|
513
|
+
$1=smalltalk.send(block,"__eq_eq",[sentinel]);
|
514
|
+
if(! smalltalk.assert($1)){
|
515
|
+
return smalltalk.send((function(){
|
516
|
+
return smalltalk.send(block,"_value",[]);
|
517
|
+
}),"_ensure_",[(function(){
|
518
|
+
return smalltalk.send(self,"_addWorker",[]);
|
519
|
+
})]);
|
520
|
+
};
|
521
|
+
});
|
522
|
+
return self}
|
523
|
+
}),
|
524
|
+
smalltalk.ForkPool);
|
525
|
+
|
526
|
+
|
527
|
+
smalltalk.ForkPool.klass.iVarNames = ['default'];
|
528
|
+
smalltalk.addMethod(
|
529
|
+
"_default",
|
530
|
+
smalltalk.method({
|
531
|
+
selector: "default",
|
425
532
|
fn: function (){
|
426
533
|
var self=this;
|
427
|
-
var $
|
428
|
-
$
|
429
|
-
|
430
|
-
$1="";
|
534
|
+
var $1;
|
535
|
+
if(($receiver = self["@default"]) == nil || $receiver == undefined){
|
536
|
+
self["@default"]=smalltalk.send(self,"_new",[]);
|
537
|
+
$1=self["@default"];
|
431
538
|
} else {
|
432
|
-
$1
|
539
|
+
$1=self["@default"];
|
433
540
|
};
|
434
541
|
return $1;
|
435
542
|
}
|
436
543
|
}),
|
437
|
-
smalltalk.
|
544
|
+
smalltalk.ForkPool.klass);
|
438
545
|
|
439
546
|
smalltalk.addMethod(
|
440
|
-
"
|
547
|
+
"_defaultMaxPoolSize",
|
441
548
|
smalltalk.method({
|
442
|
-
selector: "
|
443
|
-
fn: function (
|
549
|
+
selector: "defaultMaxPoolSize",
|
550
|
+
fn: function (){
|
444
551
|
var self=this;
|
445
|
-
|
446
|
-
|
552
|
+
return (100);
|
553
|
+
}
|
447
554
|
}),
|
448
|
-
smalltalk.
|
555
|
+
smalltalk.ForkPool.klass);
|
449
556
|
|
557
|
+
smalltalk.addMethod(
|
558
|
+
"_resetDefault",
|
559
|
+
smalltalk.method({
|
560
|
+
selector: "resetDefault",
|
561
|
+
fn: function (){
|
562
|
+
var self=this;
|
563
|
+
self["@default"]=nil;
|
564
|
+
return self}
|
565
|
+
}),
|
566
|
+
smalltalk.ForkPool.klass);
|
450
567
|
|
451
568
|
|
452
569
|
smalltalk.addClass('Message', smalltalk.Object, ['selector', 'arguments'], 'Kernel-Methods');
|
@@ -454,9 +571,9 @@ smalltalk.addMethod(
|
|
454
571
|
"_arguments",
|
455
572
|
smalltalk.method({
|
456
573
|
selector: "arguments",
|
457
|
-
fn: function (){
|
458
|
-
var self=this;
|
459
|
-
return self[
|
574
|
+
fn: function () {
|
575
|
+
var self = this;
|
576
|
+
return self['@arguments'];
|
460
577
|
}
|
461
578
|
}),
|
462
579
|
smalltalk.Message);
|
@@ -465,10 +582,11 @@ smalltalk.addMethod(
|
|
465
582
|
"_arguments_",
|
466
583
|
smalltalk.method({
|
467
584
|
selector: "arguments:",
|
468
|
-
fn: function (anArray){
|
469
|
-
var self=this;
|
470
|
-
self[
|
471
|
-
return self
|
585
|
+
fn: function (anArray) {
|
586
|
+
var self = this;
|
587
|
+
self['@arguments'] = anArray;
|
588
|
+
return self;
|
589
|
+
}
|
472
590
|
}),
|
473
591
|
smalltalk.Message);
|
474
592
|
|
@@ -476,17 +594,11 @@ smalltalk.addMethod(
|
|
476
594
|
"_printString",
|
477
595
|
smalltalk.method({
|
478
596
|
selector: "printString",
|
479
|
-
fn: function (){
|
480
|
-
var self=this;
|
481
|
-
var $2
|
482
|
-
$1=smalltalk.send(
|
483
|
-
|
484
|
-
smalltalk.send(aStream,"_nextPutAll_",["("]);
|
485
|
-
smalltalk.send(aStream,"_nextPutAll_",[self["@selector"]]);
|
486
|
-
$2=smalltalk.send(aStream,"_nextPutAll_",[")"]);
|
487
|
-
return $2;
|
488
|
-
})]);
|
489
|
-
return $1;
|
597
|
+
fn: function () {
|
598
|
+
var self = this;
|
599
|
+
var $2, $1;
|
600
|
+
$1 = smalltalk.send(smalltalk.String || String, "_streamContents_", [function (aStream) {smalltalk.send(aStream, "_nextPutAll_", [smalltalk.send(self, "_printString", [], smalltalk.Object)]);smalltalk.send(aStream, "_nextPutAll_", ["("]);smalltalk.send(aStream, "_nextPutAll_", [self['@selector']]);$2 = smalltalk.send(aStream, "_nextPutAll_", [")"]);return $2;}]);
|
601
|
+
return $1;
|
490
602
|
}
|
491
603
|
}),
|
492
604
|
smalltalk.Message);
|
@@ -495,9 +607,9 @@ smalltalk.addMethod(
|
|
495
607
|
"_selector",
|
496
608
|
smalltalk.method({
|
497
609
|
selector: "selector",
|
498
|
-
fn: function (){
|
499
|
-
var self=this;
|
500
|
-
return self[
|
610
|
+
fn: function () {
|
611
|
+
var self = this;
|
612
|
+
return self['@selector'];
|
501
613
|
}
|
502
614
|
}),
|
503
615
|
smalltalk.Message);
|
@@ -506,10 +618,11 @@ smalltalk.addMethod(
|
|
506
618
|
"_selector_",
|
507
619
|
smalltalk.method({
|
508
620
|
selector: "selector:",
|
509
|
-
fn: function (aString){
|
510
|
-
var self=this;
|
511
|
-
self[
|
512
|
-
return self
|
621
|
+
fn: function (aString) {
|
622
|
+
var self = this;
|
623
|
+
self['@selector'] = aString;
|
624
|
+
return self;
|
625
|
+
}
|
513
626
|
}),
|
514
627
|
smalltalk.Message);
|
515
628
|
|
@@ -517,11 +630,11 @@ smalltalk.addMethod(
|
|
517
630
|
"_sendTo_",
|
518
631
|
smalltalk.method({
|
519
632
|
selector: "sendTo:",
|
520
|
-
fn: function (anObject){
|
521
|
-
var self=this;
|
522
|
-
var $1;
|
523
|
-
$1=smalltalk.send(smalltalk.send(
|
524
|
-
return $1;
|
633
|
+
fn: function (anObject) {
|
634
|
+
var self = this;
|
635
|
+
var $1;
|
636
|
+
$1 = smalltalk.send(smalltalk.send(smalltalk.Smalltalk || Smalltalk, "_current", []), "_send_to_arguments_", [smalltalk.send(self, "_selector", []), anObject, smalltalk.send(self, "_arguments", [])]);
|
637
|
+
return $1;
|
525
638
|
}
|
526
639
|
}),
|
527
640
|
smalltalk.Message);
|
@@ -531,15 +644,15 @@ smalltalk.addMethod(
|
|
531
644
|
"_selector_arguments_",
|
532
645
|
smalltalk.method({
|
533
646
|
selector: "selector:arguments:",
|
534
|
-
fn: function (aString,anArray){
|
535
|
-
var self=this;
|
536
|
-
var $2
|
537
|
-
$2=smalltalk.send(self,"_new",[]);
|
538
|
-
smalltalk.send($2,"_selector_",[aString]);
|
539
|
-
smalltalk.send($2,"_arguments_",[anArray]);
|
540
|
-
$3=smalltalk.send($2,"_yourself",[]);
|
541
|
-
$1
|
542
|
-
return $1;
|
647
|
+
fn: function (aString, anArray) {
|
648
|
+
var self = this;
|
649
|
+
var $2, $3, $1;
|
650
|
+
$2 = smalltalk.send(self, "_new", []);
|
651
|
+
smalltalk.send($2, "_selector_", [aString]);
|
652
|
+
smalltalk.send($2, "_arguments_", [anArray]);
|
653
|
+
$3 = smalltalk.send($2, "_yourself", []);
|
654
|
+
$1 = $3;
|
655
|
+
return $1;
|
543
656
|
}
|
544
657
|
}),
|
545
658
|
smalltalk.Message.klass);
|
@@ -550,11 +663,11 @@ smalltalk.addMethod(
|
|
550
663
|
"_asString",
|
551
664
|
smalltalk.method({
|
552
665
|
selector: "asString",
|
553
|
-
fn: function (){
|
554
|
-
var self=this;
|
555
|
-
var $1;
|
556
|
-
$1=smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self,"_receiver",[]),"_class",[]),"_printString",[]),"__comma",[" >> "]),"__comma",[smalltalk.send(self,"_selector",[])]);
|
557
|
-
return $1;
|
666
|
+
fn: function () {
|
667
|
+
var self = this;
|
668
|
+
var $1;
|
669
|
+
$1 = smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_receiver", []), "_class", []), "_printString", []), "__comma", [" >> "]), "__comma", [smalltalk.send(self, "_selector", [])]);
|
670
|
+
return $1;
|
558
671
|
}
|
559
672
|
}),
|
560
673
|
smalltalk.MethodContext);
|
@@ -563,11 +676,11 @@ smalltalk.addMethod(
|
|
563
676
|
"_home",
|
564
677
|
smalltalk.method({
|
565
678
|
selector: "home",
|
566
|
-
fn: function (){
|
567
|
-
var self=this;
|
568
|
-
return self.homeContext;
|
569
|
-
;
|
570
|
-
|
679
|
+
fn: function () {
|
680
|
+
var self = this;
|
681
|
+
return self.homeContext;
|
682
|
+
return self;
|
683
|
+
}
|
571
684
|
}),
|
572
685
|
smalltalk.MethodContext);
|
573
686
|
|
@@ -575,11 +688,11 @@ smalltalk.addMethod(
|
|
575
688
|
"_pc",
|
576
689
|
smalltalk.method({
|
577
690
|
selector: "pc",
|
578
|
-
fn: function (){
|
579
|
-
var self=this;
|
580
|
-
return self.pc;
|
581
|
-
;
|
582
|
-
|
691
|
+
fn: function () {
|
692
|
+
var self = this;
|
693
|
+
return self.pc;
|
694
|
+
return self;
|
695
|
+
}
|
583
696
|
}),
|
584
697
|
smalltalk.MethodContext);
|
585
698
|
|
@@ -587,11 +700,11 @@ smalltalk.addMethod(
|
|
587
700
|
"_printString",
|
588
701
|
smalltalk.method({
|
589
702
|
selector: "printString",
|
590
|
-
fn: function (){
|
591
|
-
var self=this;
|
592
|
-
var $1;
|
593
|
-
$1=smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self,"_printString",[],smalltalk.Object),"__comma",["("]),"__comma",[smalltalk.send(self,"_asString",[])]),"__comma",[")"]);
|
594
|
-
return $1;
|
703
|
+
fn: function () {
|
704
|
+
var self = this;
|
705
|
+
var $1;
|
706
|
+
$1 = smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_printString", [], smalltalk.Object), "__comma", ["("]), "__comma", [smalltalk.send(self, "_asString", [])]), "__comma", [")"]);
|
707
|
+
return $1;
|
595
708
|
}
|
596
709
|
}),
|
597
710
|
smalltalk.MethodContext);
|
@@ -600,11 +713,11 @@ smalltalk.addMethod(
|
|
600
713
|
"_receiver",
|
601
714
|
smalltalk.method({
|
602
715
|
selector: "receiver",
|
603
|
-
fn: function (){
|
604
|
-
var self=this;
|
605
|
-
return self.receiver;
|
606
|
-
;
|
607
|
-
|
716
|
+
fn: function () {
|
717
|
+
var self = this;
|
718
|
+
return self.receiver;
|
719
|
+
return self;
|
720
|
+
}
|
608
721
|
}),
|
609
722
|
smalltalk.MethodContext);
|
610
723
|
|
@@ -612,11 +725,11 @@ smalltalk.addMethod(
|
|
612
725
|
"_selector",
|
613
726
|
smalltalk.method({
|
614
727
|
selector: "selector",
|
615
|
-
fn: function (){
|
616
|
-
var self=this;
|
617
|
-
return smalltalk.convertSelector(self.selector);
|
618
|
-
;
|
619
|
-
|
728
|
+
fn: function () {
|
729
|
+
var self = this;
|
730
|
+
return smalltalk.convertSelector(self.selector);
|
731
|
+
return self;
|
732
|
+
}
|
620
733
|
}),
|
621
734
|
smalltalk.MethodContext);
|
622
735
|
|
@@ -624,11 +737,11 @@ smalltalk.addMethod(
|
|
624
737
|
"_temps",
|
625
738
|
smalltalk.method({
|
626
739
|
selector: "temps",
|
627
|
-
fn: function (){
|
628
|
-
var self=this;
|
629
|
-
return self.temps;
|
630
|
-
;
|
631
|
-
|
740
|
+
fn: function () {
|
741
|
+
var self = this;
|
742
|
+
return self.temps;
|
743
|
+
return self;
|
744
|
+
}
|
632
745
|
}),
|
633
746
|
smalltalk.MethodContext);
|
634
747
|
|