1
0
Jelajahi Sumber

adds amd related properties to Smalltalk

Nicolas Petton 11 tahun lalu
induk
melakukan
7811f14d76

+ 15 - 40
js/Importer-Exporter.deploy.js

@@ -1187,58 +1187,33 @@ fn: function (aString){
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
-var $1,$2;
-$1=_st(_st($Smalltalk())._current())._at_("_amd_require");
-if(($receiver = $1) == nil || $receiver == undefined){
-self._error_("AMD loader not present");
+var $2,$1;
+$2=_st(_st($Smalltalk())._current())._amdRequire();
+if(($receiver = $2) == nil || $receiver == undefined){
+$1=self._error_("AMD loader not present");
 } else {
 var require;
 require=$receiver;
-$2=_st(_st(require)._basicAt_("toUrl"))._value_(aString);
-return $2;
+$1=_st(_st(require)._basicAt_("toUrl"))._value_(aString);
 };
-return self}, function($ctx1) {$ctx1.fill(self,"toUrl:",{aString:aString},smalltalk.AmdPackageHandler)})},
-messageSends: ["ifNil:ifNotNil:", "error:", "value:", "basicAt:", "at:", "current"]}),
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"toUrl:",{aString:aString},smalltalk.AmdPackageHandler)})},
+messageSends: ["ifNil:ifNotNil:", "error:", "value:", "basicAt:", "amdRequire", "current"]}),
 smalltalk.AmdPackageHandler);
 
 
-smalltalk.AmdPackageHandler.klass.iVarNames = ['defaultNamespace'];
 smalltalk.addMethod(
 smalltalk.method({
-selector: "commitPathsFromLoader",
+selector: "defaultNamespace",
 fn: function (){
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st($Smalltalk())._current())._at_("_amd_defaultNamespace");
-if(($receiver = $1) == nil || $receiver == undefined){
-$1;
-} else {
-var namespace;
-namespace=$receiver;
-self._defaultNamespace_(namespace);
-};
-return self}, function($ctx1) {$ctx1.fill(self,"commitPathsFromLoader",{},smalltalk.AmdPackageHandler.klass)})},
-messageSends: ["ifNotNil:", "defaultNamespace:", "at:", "current"]}),
-smalltalk.AmdPackageHandler.klass);
-
-smalltalk.addMethod(
-smalltalk.method({
-selector: "defaultNamespace",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
-var $2,$1;
-$2=self["@defaultNamespace"];
-if(($receiver = $2) == nil || $receiver == undefined){
-$1=self._error_("AMD default namespace not set.");
-} else {
-$1=$2;
-};
+$1=_st(_st($Smalltalk())._current())._defaultAMDNamespace();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultNamespace",{},smalltalk.AmdPackageHandler.klass)})},
-messageSends: ["ifNil:", "error:"]}),
+messageSends: ["defaultAMDNamespace", "current"]}),
 smalltalk.AmdPackageHandler.klass);
 
 smalltalk.addMethod(
@@ -1246,10 +1221,11 @@ smalltalk.method({
 selector: "defaultNamespace:",
 fn: function (aString){
 var self=this;
+function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
-self["@defaultNamespace"]=aString;
+_st(_st($Smalltalk())._current())._defaultAMDNamespace_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"defaultNamespace:",{aString:aString},smalltalk.AmdPackageHandler.klass)})},
-messageSends: []}),
+messageSends: ["defaultAMDNamespace:", "current"]}),
 smalltalk.AmdPackageHandler.klass);
 
 smalltalk.addMethod(
@@ -1260,9 +1236,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.AmdPackageHandler.klass.superclass.fn.prototype._initialize.apply(_st(self), []);
 self._registerFor_("amd");
-self._commitPathsFromLoader();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.AmdPackageHandler.klass)})},
-messageSends: ["initialize", "registerFor:", "commitPathsFromLoader"]}),
+messageSends: ["initialize", "registerFor:"]}),
 smalltalk.AmdPackageHandler.klass);
 
 smalltalk.addMethod(

+ 22 - 52
js/Importer-Exporter.js

@@ -1479,7 +1479,7 @@ $1=$2;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"namespaceFor:",{aPackage:aPackage},smalltalk.AmdPackageHandler)})},
 args: ["aPackage"],
-source: "namespaceFor: aPackage\x0a\x09^aPackage amdNamespace\x0a\x09\x09ifNil: [ aPackage amdNamespace: self class defaultNamespace; amdNamespace ]",
+source: "namespaceFor: aPackage\x0a\x09^ aPackage amdNamespace\x0a\x09\x09ifNil: [ aPackage amdNamespace: self class defaultNamespace; amdNamespace ]",
 messageSends: ["ifNil:", "amdNamespace:", "defaultNamespace", "class", "amdNamespace"],
 referencedClasses: []
 }),
@@ -1493,71 +1493,41 @@ fn: function (aString){
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
-var $1,$2;
-$1=_st(_st($Smalltalk())._current())._at_("_amd_require");
-if(($receiver = $1) == nil || $receiver == undefined){
-self._error_("AMD loader not present");
+var $2,$1;
+$2=_st(_st($Smalltalk())._current())._amdRequire();
+if(($receiver = $2) == nil || $receiver == undefined){
+$1=self._error_("AMD loader not present");
 } else {
 var require;
 require=$receiver;
-$2=_st(_st(require)._basicAt_("toUrl"))._value_(aString);
-return $2;
+$1=_st(_st(require)._basicAt_("toUrl"))._value_(aString);
 };
-return self}, function($ctx1) {$ctx1.fill(self,"toUrl:",{aString:aString},smalltalk.AmdPackageHandler)})},
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"toUrl:",{aString:aString},smalltalk.AmdPackageHandler)})},
 args: ["aString"],
-source: "toUrl: aString\x0a\x09(Smalltalk current at: '_amd_require')\x0a\x09\x09ifNil: [ self error: 'AMD loader not present' ]\x0a\x09\x09ifNotNil: [ :require | ^(require basicAt: 'toUrl') value: aString ]",
-messageSends: ["ifNil:ifNotNil:", "error:", "value:", "basicAt:", "at:", "current"],
+source: "toUrl: aString\x0a\x09^ Smalltalk current amdRequire\x0a\x09\x09ifNil: [ self error: 'AMD loader not present' ]\x0a\x09\x09ifNotNil: [ :require | (require basicAt: 'toUrl') value: aString ]",
+messageSends: ["ifNil:ifNotNil:", "error:", "value:", "basicAt:", "amdRequire", "current"],
 referencedClasses: ["Smalltalk"]
 }),
 smalltalk.AmdPackageHandler);
 
 
-smalltalk.AmdPackageHandler.klass.iVarNames = ['defaultNamespace'];
 smalltalk.addMethod(
 smalltalk.method({
-selector: "commitPathsFromLoader",
+selector: "defaultNamespace",
 category: 'commit paths',
 fn: function (){
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st($Smalltalk())._current())._at_("_amd_defaultNamespace");
-if(($receiver = $1) == nil || $receiver == undefined){
-$1;
-} else {
-var namespace;
-namespace=$receiver;
-self._defaultNamespace_(namespace);
-};
-return self}, function($ctx1) {$ctx1.fill(self,"commitPathsFromLoader",{},smalltalk.AmdPackageHandler.klass)})},
-args: [],
-source: "commitPathsFromLoader\x0a\x09(Smalltalk current at: '_amd_defaultNamespace')\x0a\x09\x09ifNotNil: [ :namespace | self defaultNamespace: namespace ]",
-messageSends: ["ifNotNil:", "defaultNamespace:", "at:", "current"],
-referencedClasses: ["Smalltalk"]
-}),
-smalltalk.AmdPackageHandler.klass);
-
-smalltalk.addMethod(
-smalltalk.method({
-selector: "defaultNamespace",
-category: 'commit paths',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
-var $2,$1;
-$2=self["@defaultNamespace"];
-if(($receiver = $2) == nil || $receiver == undefined){
-$1=self._error_("AMD default namespace not set.");
-} else {
-$1=$2;
-};
+$1=_st(_st($Smalltalk())._current())._defaultAMDNamespace();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultNamespace",{},smalltalk.AmdPackageHandler.klass)})},
 args: [],
-source: "defaultNamespace\x0a\x09^ defaultNamespace ifNil: [ self error: 'AMD default namespace not set.' ]",
-messageSends: ["ifNil:", "error:"],
-referencedClasses: []
+source: "defaultNamespace\x0a\x09^ Smalltalk current defaultAMDNamespace",
+messageSends: ["defaultAMDNamespace", "current"],
+referencedClasses: ["Smalltalk"]
 }),
 smalltalk.AmdPackageHandler.klass);
 
@@ -1567,13 +1537,14 @@ selector: "defaultNamespace:",
 category: 'commit paths',
 fn: function (aString){
 var self=this;
+function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
-self["@defaultNamespace"]=aString;
+_st(_st($Smalltalk())._current())._defaultAMDNamespace_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"defaultNamespace:",{aString:aString},smalltalk.AmdPackageHandler.klass)})},
 args: ["aString"],
-source: "defaultNamespace: aString\x0a\x09defaultNamespace := aString",
-messageSends: [],
-referencedClasses: []
+source: "defaultNamespace: aString\x0a\x09Smalltalk current defaultAMDNamespace: aString",
+messageSends: ["defaultAMDNamespace:", "current"],
+referencedClasses: ["Smalltalk"]
 }),
 smalltalk.AmdPackageHandler.klass);
 
@@ -1586,11 +1557,10 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.AmdPackageHandler.klass.superclass.fn.prototype._initialize.apply(_st(self), []);
 self._registerFor_("amd");
-self._commitPathsFromLoader();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.AmdPackageHandler.klass)})},
 args: [],
-source: "initialize\x0a\x09super initialize.\x0a\x09self registerFor: 'amd'.\x0a\x09self commitPathsFromLoader",
-messageSends: ["initialize", "registerFor:", "commitPathsFromLoader"],
+source: "initialize\x0a\x09super initialize.\x0a\x09self registerFor: 'amd'",
+messageSends: ["initialize", "registerFor:"],
 referencedClasses: []
 }),
 smalltalk.AmdPackageHandler.klass);

+ 37 - 0
js/Kernel-Infrastructure.deploy.js

@@ -1389,6 +1389,19 @@ return self}, function($ctx1) {$ctx1.fill(self,"addGlobalJsVariable:",{aString:a
 messageSends: ["add:", "globalJsVariables"]}),
 smalltalk.Smalltalk);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "amdRequire",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st(self._basicAt_("getAMDRequire"))._value();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"amdRequire",{},smalltalk.Smalltalk)})},
+messageSends: ["value", "basicAt:"]}),
+smalltalk.Smalltalk);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "asSmalltalkException:",
@@ -1487,6 +1500,30 @@ return $2;
 messageSends: ["deprecatedAPI", "ifFalse:", "error:", "isEmpty", "createPackage:"]}),
 smalltalk.Smalltalk);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "defaultAMDNamespace",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st(self._basicAt_("getDefaultAMDNamespace"))._value();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"defaultAMDNamespace",{},smalltalk.Smalltalk)})},
+messageSends: ["value", "basicAt:"]}),
+smalltalk.Smalltalk);
+
+smalltalk.addMethod(
+smalltalk.method({
+selector: "defaultAMDNamespace:",
+fn: function (aString){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+_st(self._basicAt_("getDefaultAMDNamespace"))._value_(aString);
+return self}, function($ctx1) {$ctx1.fill(self,"defaultAMDNamespace:",{aString:aString},smalltalk.Smalltalk)})},
+messageSends: ["value:", "basicAt:"]}),
+smalltalk.Smalltalk);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "deleteClass:",

+ 52 - 0
js/Kernel-Infrastructure.js

@@ -1840,6 +1840,24 @@ referencedClasses: []
 }),
 smalltalk.Smalltalk);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "amdRequire",
+category: 'accessing amd',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st(self._basicAt_("getAMDRequire"))._value();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"amdRequire",{},smalltalk.Smalltalk)})},
+args: [],
+source: "amdRequire\x0a\x09^ (self basicAt: 'getAMDRequire') value",
+messageSends: ["value", "basicAt:"],
+referencedClasses: []
+}),
+smalltalk.Smalltalk);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "asSmalltalkException:",
@@ -1973,6 +1991,40 @@ referencedClasses: []
 }),
 smalltalk.Smalltalk);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "defaultAMDNamespace",
+category: 'accessing amd',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st(self._basicAt_("getDefaultAMDNamespace"))._value();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"defaultAMDNamespace",{},smalltalk.Smalltalk)})},
+args: [],
+source: "defaultAMDNamespace\x0a\x09^ (self basicAt: 'getDefaultAMDNamespace') value",
+messageSends: ["value", "basicAt:"],
+referencedClasses: []
+}),
+smalltalk.Smalltalk);
+
+smalltalk.addMethod(
+smalltalk.method({
+selector: "defaultAMDNamespace:",
+category: 'accessing amd',
+fn: function (aString){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+_st(self._basicAt_("getDefaultAMDNamespace"))._value_(aString);
+return self}, function($ctx1) {$ctx1.fill(self,"defaultAMDNamespace:",{aString:aString},smalltalk.Smalltalk)})},
+args: ["aString"],
+source: "defaultAMDNamespace: aString\x0a\x09(self basicAt: 'getDefaultAMDNamespace') value: aString",
+messageSends: ["value:", "basicAt:"],
+referencedClasses: []
+}),
+smalltalk.Smalltalk);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "deleteClass:",

+ 6 - 14
st/Importer-Exporter.st

@@ -696,33 +696,26 @@ commitPathStFor: aPackage
 !
 
 namespaceFor: aPackage
-	^aPackage amdNamespace
+	^ aPackage amdNamespace
 		ifNil: [ aPackage amdNamespace: self class defaultNamespace; amdNamespace ]
 ! !
 
 !AmdPackageHandler methodsFor: 'private'!
 
 toUrl: aString
-	(Smalltalk current at: '_amd_require')
+	^ Smalltalk current amdRequire
 		ifNil: [ self error: 'AMD loader not present' ]
-		ifNotNil: [ :require | ^(require basicAt: 'toUrl') value: aString ]
+		ifNotNil: [ :require | (require basicAt: 'toUrl') value: aString ]
 ! !
 
-AmdPackageHandler class instanceVariableNames: 'defaultNamespace'!
-
 !AmdPackageHandler class methodsFor: 'commit paths'!
 
-commitPathsFromLoader
-	(Smalltalk current at: '_amd_defaultNamespace')
-		ifNotNil: [ :namespace | self defaultNamespace: namespace ]
-!
-
 defaultNamespace
-	^ defaultNamespace ifNil: [ self error: 'AMD default namespace not set.' ]
+	^ Smalltalk current defaultAMDNamespace
 !
 
 defaultNamespace: aString
-	defaultNamespace := aString
+	Smalltalk current defaultAMDNamespace: aString
 !
 
 resetCommitPaths
@@ -733,8 +726,7 @@ resetCommitPaths
 
 initialize
 	super initialize.
-	self registerFor: 'amd'.
-	self commitPathsFromLoader
+	self registerFor: 'amd'
 ! !
 
 PackageHandler subclass: #LegacyPackageHandler

+ 14 - 0
st/Kernel-Infrastructure.st

@@ -780,6 +780,20 @@ version
 	^ '0.11.0'
 ! !
 
+!Smalltalk methodsFor: 'accessing amd'!
+
+amdRequire
+	^ (self basicAt: 'getAMDRequire') value
+!
+
+defaultAMDNamespace
+	^ (self basicAt: 'getDefaultAMDNamespace') value
+!
+
+defaultAMDNamespace: aString
+	(self basicAt: 'getDefaultAMDNamespace') value: aString
+! !
+
 !Smalltalk methodsFor: 'classes'!
 
 classes