resin 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|