|
@@ -7753,29 +7753,29 @@ selector: "remove:ifAbsent:",
|
|
|
protocol: "adding/removing",
|
|
|
|
|
|
args: ["anObject", "aBlock"],
|
|
|
-source: "remove: anObject ifAbsent: aBlock\x0a\x09| bucket |\x0a\x09bucket := self bucketsOfElement: anObject.\x0a\x09^ bucket second\x0a\x09\x09ifNil: [ bucket third remove: bucket first ifAbsent: [ ^aBlock value ]. size := size - 1 ]\x0a\x09\x09ifNotNil: [ :primitiveBucket | self remove: bucket first in: primitiveBucket ifAbsent: aBlock ]",
|
|
|
+source: "remove: anObject ifAbsent: aBlock\x0a\x09| bucket |\x0a\x09bucket := self bucketsOfElement: anObject.\x0a\x09^ bucket second\x0a\x09\x09ifNil: [ | obj | obj := bucket first. bucket third remove: obj ifAbsent: [ ^aBlock value ]. size := size - 1. obj ]\x0a\x09\x09ifNotNil: [ :primitiveBucket | self remove: bucket first in: primitiveBucket ifAbsent: aBlock ]",
|
|
|
referencedClasses: [],
|
|
|
|
|
|
pragmas: [],
|
|
|
-messageSends: ["bucketsOfElement:", "ifNil:ifNotNil:", "second", "remove:ifAbsent:", "third", "first", "value", "-", "remove:in:ifAbsent:"]
|
|
|
+messageSends: ["bucketsOfElement:", "ifNil:ifNotNil:", "second", "first", "remove:ifAbsent:", "third", "value", "-", "remove:in:ifAbsent:"]
|
|
|
}, function ($methodClass){ return function (anObject,aBlock){
|
|
|
var self=this,$self=this;
|
|
|
var bucket;
|
|
|
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
|
|
|
-var $1,$2,$3,$receiver;
|
|
|
+var $1,$receiver;
|
|
|
var $early={};
|
|
|
try {
|
|
|
bucket=$self._bucketsOfElement_(anObject);
|
|
|
$1=$recv(bucket)._second();
|
|
|
if(($receiver = $1) == null || $receiver.a$nil){
|
|
|
-$2=$recv(bucket)._third();
|
|
|
-$3=$recv(bucket)._first();
|
|
|
+var obj;
|
|
|
+obj=$recv(bucket)._first();
|
|
|
|
|
|
$ctx1.sendIdx["first"]=1;
|
|
|
|
|
|
-$recv($2)._remove_ifAbsent_($3,(function(){
|
|
|
+$recv($recv(bucket)._third())._remove_ifAbsent_(obj,(function(){
|
|
|
|
|
|
return $core.withContext(function($ctx2) {
|
|
|
|
|
@@ -7785,7 +7785,7 @@ throw $early=[$recv(aBlock)._value()];
|
|
|
|
|
|
}));
|
|
|
$self.size=$recv($self.size).__minus((1));
|
|
|
-return $self.size;
|
|
|
+return obj;
|
|
|
} else {
|
|
|
var primitiveBucket;
|
|
|
primitiveBucket=$receiver;
|