|
@@ -19,10 +19,6 @@ var self=this,$self=this;
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
|
|
|
var $1;
|
|
|
-$recv($globals.SmalltalkImage)._initialize();
|
|
|
-
|
|
|
-$ctx1.sendIdx["initialize"]=1;
|
|
|
-
|
|
|
$recv($recv($globals.Smalltalk)._classes())._do_((function(each){
|
|
|
|
|
|
return $core.withContext(function($ctx2) {
|
|
@@ -42,10 +38,10 @@ return self;
|
|
|
},
|
|
|
|
|
|
args: [],
|
|
|
-source: "initializeClasses\x0a\x09SmalltalkImage initialize.\x0a\x09Smalltalk classes do: [ :each |\x0a\x09\x09each = SmalltalkImage ifFalse: [ each initialize ] ]",
|
|
|
-referencedClasses: ["SmalltalkImage", "Smalltalk"],
|
|
|
+source: "initializeClasses\x0a\x09Smalltalk classes do: [ :each |\x0a\x09\x09each = SmalltalkImage ifFalse: [ each initialize ] ]",
|
|
|
+referencedClasses: ["Smalltalk", "SmalltalkImage"],
|
|
|
|
|
|
-messageSends: ["initialize", "do:", "classes", "ifFalse:", "="]
|
|
|
+messageSends: ["do:", "classes", "ifFalse:", "=", "initialize"]
|
|
|
}),
|
|
|
$globals.AmberBootstrapInitialization.a$cls);
|
|
|
|
|
@@ -58,6 +54,8 @@ var self=this,$self=this;
|
|
|
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
|
|
|
+$recv($globals.SmalltalkImage)._initialize();
|
|
|
+$recv($globals.Smalltalk)._adoptPackageDictionary();
|
|
|
$self._initializeClasses();
|
|
|
return self;
|
|
|
|
|
@@ -66,10 +64,10 @@ return self;
|
|
|
},
|
|
|
|
|
|
args: [],
|
|
|
-source: "run\x0a\x09self initializeClasses",
|
|
|
-referencedClasses: [],
|
|
|
+source: "run\x0a\x09SmalltalkImage initialize.\x0a\x09Smalltalk adoptPackageDictionary.\x0a\x09self initializeClasses",
|
|
|
+referencedClasses: ["SmalltalkImage", "Smalltalk"],
|
|
|
|
|
|
-messageSends: ["initializeClasses"]
|
|
|
+messageSends: ["initialize", "adoptPackageDictionary", "initializeClasses"]
|
|
|
}),
|
|
|
$globals.AmberBootstrapInitialization.a$cls);
|
|
|
|
|
@@ -2633,6 +2631,30 @@ messageSends: ["add:", "globalJsVariables"]
|
|
|
}),
|
|
|
$globals.SmalltalkImage);
|
|
|
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "adoptPackageDictionary",
|
|
|
+protocol: "private",
|
|
|
+fn: function (){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+$core.packages=self._readJSObject_($core.packages)._asHashedCollection();
|
|
|
+return self;
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"adoptPackageDictionary",{},$globals.SmalltalkImage)});
|
|
|
+
|
|
|
+},
|
|
|
+
|
|
|
+args: [],
|
|
|
+source: "adoptPackageDictionary\x0a\x09<inlineJS: '$core.packages=self._readJSObject_($core.packages)._asHashedCollection()'>",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+messageSends: []
|
|
|
+}),
|
|
|
+$globals.SmalltalkImage);
|
|
|
+
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "amdRequire",
|
|
@@ -2740,30 +2762,6 @@ messageSends: ["parse:"]
|
|
|
}),
|
|
|
$globals.SmalltalkImage);
|
|
|
|
|
|
-$core.addMethod(
|
|
|
-$core.method({
|
|
|
-selector: "basicRegisterPackage:",
|
|
|
-protocol: "private",
|
|
|
-fn: function (aPackage){
|
|
|
-var self=this,$self=this;
|
|
|
-
|
|
|
-return $core.withContext(function($ctx1) {
|
|
|
-
|
|
|
-$core.packages[aPackage.pkgName]=aPackage;
|
|
|
-return self;
|
|
|
-
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"basicRegisterPackage:",{aPackage:aPackage},$globals.SmalltalkImage)});
|
|
|
-
|
|
|
-},
|
|
|
-
|
|
|
-args: ["aPackage"],
|
|
|
-source: "basicRegisterPackage: aPackage\x0a\x09\x22Put aPackage in $core.packages object.\x22\x0a\x09<inlineJS: '$core.packages[aPackage.pkgName]=aPackage'>",
|
|
|
-referencedClasses: [],
|
|
|
-
|
|
|
-messageSends: []
|
|
|
-}),
|
|
|
-$globals.SmalltalkImage);
|
|
|
-
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "cancelOptOut:",
|
|
@@ -2963,30 +2961,6 @@ messageSends: ["remove:ifAbsent:", "globalJsVariables"]
|
|
|
}),
|
|
|
$globals.SmalltalkImage);
|
|
|
|
|
|
-$core.addMethod(
|
|
|
-$core.method({
|
|
|
-selector: "deletePackage:",
|
|
|
-protocol: "private",
|
|
|
-fn: function (packageName){
|
|
|
-var self=this,$self=this;
|
|
|
-
|
|
|
-return $core.withContext(function($ctx1) {
|
|
|
-
|
|
|
-delete $core.packages[packageName];
|
|
|
-return self;
|
|
|
-
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"deletePackage:",{packageName:packageName},$globals.SmalltalkImage)});
|
|
|
-
|
|
|
-},
|
|
|
-
|
|
|
-args: ["packageName"],
|
|
|
-source: "deletePackage: packageName\x0a\x09\x22Deletes a package by deleting its binding, but does not check if it contains classes etc.\x0a\x09To remove a package, use #removePackage instead.\x22\x0a\x0a\x09<inlineJS: 'delete $core.packages[packageName]'>",
|
|
|
-referencedClasses: [],
|
|
|
-
|
|
|
-messageSends: []
|
|
|
-}),
|
|
|
-$globals.SmalltalkImage);
|
|
|
-
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "existsJsGlobal:",
|
|
@@ -3175,18 +3149,19 @@ var self=this,$self=this;
|
|
|
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
|
|
|
-return $core.packages[packageName];
|
|
|
-return self;
|
|
|
+return $self._packageAt_ifAbsent_(packageName,(function(){
|
|
|
+
|
|
|
+}));
|
|
|
|
|
|
}, function($ctx1) {$ctx1.fill(self,"packageAt:",{packageName:packageName},$globals.SmalltalkImage)});
|
|
|
|
|
|
},
|
|
|
|
|
|
args: ["packageName"],
|
|
|
-source: "packageAt: packageName\x0a\x09<inlineJS: 'return $core.packages[packageName]'>",
|
|
|
+source: "packageAt: packageName\x0a\x09^ self packageAt: packageName ifAbsent: []",
|
|
|
referencedClasses: [],
|
|
|
|
|
|
-messageSends: []
|
|
|
+messageSends: ["packageAt:ifAbsent:"]
|
|
|
}),
|
|
|
$globals.SmalltalkImage);
|
|
|
|
|
@@ -3199,50 +3174,67 @@ var self=this,$self=this;
|
|
|
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
|
|
|
-var $1;
|
|
|
-$1=$self._packageAt_(packageName);
|
|
|
-return $recv($1)._ifNil_(aBlock);
|
|
|
+return $recv($self._packageDictionary())._at_ifAbsent_(packageName,aBlock);
|
|
|
|
|
|
}, function($ctx1) {$ctx1.fill(self,"packageAt:ifAbsent:",{packageName:packageName,aBlock:aBlock},$globals.SmalltalkImage)});
|
|
|
|
|
|
},
|
|
|
|
|
|
args: ["packageName", "aBlock"],
|
|
|
-source: "packageAt: packageName ifAbsent: aBlock\x0a\x09^ (self packageAt: packageName) ifNil: aBlock",
|
|
|
+source: "packageAt: packageName ifAbsent: aBlock\x0a\x09^ self packageDictionary at: packageName ifAbsent: aBlock",
|
|
|
referencedClasses: [],
|
|
|
|
|
|
-messageSends: ["ifNil:", "packageAt:"]
|
|
|
+messageSends: ["at:ifAbsent:", "packageDictionary"]
|
|
|
}),
|
|
|
$globals.SmalltalkImage);
|
|
|
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
-selector: "packages",
|
|
|
+selector: "packageDictionary",
|
|
|
protocol: "packages",
|
|
|
fn: function (){
|
|
|
var self=this,$self=this;
|
|
|
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
|
|
|
-
|
|
|
- return Object.keys($core.packages).map(function(k) {
|
|
|
- return $core.packages[k];
|
|
|
- })
|
|
|
- ;
|
|
|
+return $core.packages;
|
|
|
return self;
|
|
|
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"packages",{},$globals.SmalltalkImage)});
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"packageDictionary",{},$globals.SmalltalkImage)});
|
|
|
|
|
|
},
|
|
|
|
|
|
args: [],
|
|
|
-source: "packages\x0a\x09\x22Return all Package instances in the system.\x22\x0a\x0a\x09<inlineJS: '\x0a\x09\x09return Object.keys($core.packages).map(function(k) {\x0a\x09\x09\x09return $core.packages[k];\x0a\x09\x09})\x0a\x09'>",
|
|
|
+source: "packageDictionary\x0a\x09<inlineJS: 'return $core.packages'>",
|
|
|
referencedClasses: [],
|
|
|
|
|
|
messageSends: []
|
|
|
}),
|
|
|
$globals.SmalltalkImage);
|
|
|
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "packages",
|
|
|
+protocol: "packages",
|
|
|
+fn: function (){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+return $recv($recv($self._packageDictionary())._values())._copy();
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"packages",{},$globals.SmalltalkImage)});
|
|
|
+
|
|
|
+},
|
|
|
+
|
|
|
+args: [],
|
|
|
+source: "packages\x0a\x09\x22Return all Package instances in the system.\x22\x0a\x0a\x09^ self packageDictionary values copy",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+messageSends: ["copy", "values", "packageDictionary"]
|
|
|
+}),
|
|
|
+$globals.SmalltalkImage);
|
|
|
+
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "parse:",
|
|
@@ -3488,7 +3480,7 @@ return $self._removeClass_(each);
|
|
|
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)});
|
|
|
|
|
|
}));
|
|
|
-$self._deletePackage_(packageName);
|
|
|
+$recv($self._packageDictionary())._removeKey_(packageName);
|
|
|
return self;
|
|
|
|
|
|
}, function($ctx1) {$ctx1.fill(self,"removePackage:",{packageName:packageName,pkg:pkg},$globals.SmalltalkImage)});
|
|
@@ -3496,10 +3488,10 @@ return self;
|
|
|
},
|
|
|
|
|
|
args: ["packageName"],
|
|
|
-source: "removePackage: packageName\x0a\x09\x22Removes a package and all its classes.\x22\x0a\x0a\x09| pkg |\x0a\x09pkg := self packageAt: packageName ifAbsent: [ self error: 'Missing package: ', packageName ].\x0a\x09pkg classes do: [ :each |\x0a\x09\x09\x09self removeClass: each ].\x0a\x09self deletePackage: packageName",
|
|
|
+source: "removePackage: packageName\x0a\x09\x22Removes a package and all its classes.\x22\x0a\x0a\x09| pkg |\x0a\x09pkg := self packageAt: packageName ifAbsent: [ self error: 'Missing package: ', packageName ].\x0a\x09pkg classes do: [ :each |\x0a\x09\x09\x09self removeClass: each ].\x0a\x09self packageDictionary removeKey: packageName",
|
|
|
referencedClasses: [],
|
|
|
|
|
|
-messageSends: ["packageAt:ifAbsent:", "error:", ",", "do:", "classes", "removeClass:", "deletePackage:"]
|
|
|
+messageSends: ["packageAt:ifAbsent:", "error:", ",", "do:", "classes", "removeClass:", "removeKey:", "packageDictionary"]
|
|
|
}),
|
|
|
$globals.SmalltalkImage);
|
|
|
|
|
@@ -3513,7 +3505,7 @@ var pkg;
|
|
|
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
|
|
|
-var $1,$2,$receiver;
|
|
|
+var $1,$2,$3,$receiver;
|
|
|
pkg=$self._packageAt_ifAbsent_(packageName,(function(){
|
|
|
|
|
|
return $core.withContext(function($ctx2) {
|
|
@@ -3537,8 +3529,9 @@ $2;
|
|
|
$self._error_("Already exists a package called: ".__comma(newName));
|
|
|
}
|
|
|
$recv(pkg)._name_(newName);
|
|
|
-$self._basicRegisterPackage_(pkg);
|
|
|
-$self._deletePackage_(packageName);
|
|
|
+$3=$self._packageDictionary();
|
|
|
+$recv($3)._at_put_(newName,pkg);
|
|
|
+$recv($3)._removeKey_(packageName);
|
|
|
return self;
|
|
|
|
|
|
}, function($ctx1) {$ctx1.fill(self,"renamePackage:to:",{packageName:packageName,newName:newName,pkg:pkg},$globals.SmalltalkImage)});
|
|
@@ -3546,10 +3539,10 @@ return self;
|
|
|
},
|
|
|
|
|
|
args: ["packageName", "newName"],
|
|
|
-source: "renamePackage: packageName to: newName\x0a\x09\x22Rename a package.\x22\x0a\x0a\x09| pkg |\x0a\x09pkg := self packageAt: packageName ifAbsent: [ self error: 'Missing package: ', packageName ].\x0a\x09(self packageAt: newName) ifNotNil: [ self error: 'Already exists a package called: ', newName ].\x0a\x09pkg name: newName.\x0a\x09self basicRegisterPackage: pkg.\x0a\x09self deletePackage: packageName.",
|
|
|
+source: "renamePackage: packageName to: newName\x0a\x09\x22Rename a package.\x22\x0a\x0a\x09| pkg |\x0a\x09pkg := self packageAt: packageName ifAbsent: [ self error: 'Missing package: ', packageName ].\x0a\x09(self packageAt: newName) ifNotNil: [ self error: 'Already exists a package called: ', newName ].\x0a\x09pkg name: newName.\x0a\x09self packageDictionary\x0a\x09\x09at: newName put: pkg;\x0a\x09\x09removeKey: packageName",
|
|
|
referencedClasses: [],
|
|
|
|
|
|
-messageSends: ["packageAt:ifAbsent:", "error:", ",", "ifNotNil:", "packageAt:", "name:", "basicRegisterPackage:", "deletePackage:"]
|
|
|
+messageSends: ["packageAt:ifAbsent:", "error:", ",", "ifNotNil:", "packageAt:", "name:", "at:put:", "packageDictionary", "removeKey:"]
|
|
|
}),
|
|
|
$globals.SmalltalkImage);
|
|
|
|