Browse Source

#asJSON,#asJavascript => #asJavaScript{Object,Source}

Herbert Vojčík 7 years ago
parent
commit
8885bc0feb

+ 2 - 0
API-CHANGES.txt

@@ -5,6 +5,8 @@
   * Represents named holder of methods; hierarchy and instantiation left to Behavior.
 * Add class Trait as subclass of BehaviorBody.
 * Add class TraitTransformation.
+* Deprecate #asJSON in favour of #asJavaScriptObject.
+* Deprecate #asJavascript in favour of #asJavaScriptSource.
 
 + BehaviorBody >>
   + setTraitComposition:

+ 25 - 25
src/Compiler-IR.js

@@ -4011,7 +4011,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-$recv(self._stream())._nextPutAll_($recv($recv(anIRValue)._value())._asJavascript());
+$recv(self._stream())._nextPutAll_($recv($recv(anIRValue)._value())._asJavaScriptSource());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"visitIRValue:",{anIRValue:anIRValue},$globals.IRJSTranslator)});
@@ -4019,10 +4019,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anIRValue"],
-source: "visitIRValue: anIRValue\x0a\x09self stream nextPutAll: anIRValue value asJavascript",
+source: "visitIRValue: anIRValue\x0a\x09self stream nextPutAll: anIRValue value asJavaScriptSource",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["nextPutAll:", "stream", "asJavascript", "value"]
+messageSends: ["nextPutAll:", "stream", "asJavaScriptSource", "value"]
 }),
 $globals.IRJSTranslator);
 
@@ -4284,7 +4284,7 @@ $recv($1)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=4;
 //>>excludeEnd("ctx");
-$5="(".__comma($recv(self._currentClass())._asJavascript());
+$5="(".__comma($recv(self._currentClass())._asJavaScriptSource());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx[","]=2;
 //>>excludeEnd("ctx");
@@ -4339,10 +4339,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anIRSend"],
-source: "visitSuperSend: anIRSend\x0a\x09self stream\x0a\x09\x09nextPutAll: '('; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = true,'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'; lf;\x0a\x09\x09nextPutAll: '(', self currentClass asJavascript;\x0a\x09\x09nextPutAll: '.superclass||$boot.nilAsClass).fn.prototype.';\x0a\x09\x09nextPutAll: anIRSend selector asJavaScriptMethodName, '.apply(';\x0a\x09\x09nextPutAll: '$recv(self), '.\x0a\x09self\x0a\x09\x09visitInstructionList: anIRSend arguments\x0a\x09\x09enclosedBetween: '[' and: ']'.\x0a\x09self stream \x0a\x09\x09nextPutAll: '));'; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = false;'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'",
+source: "visitSuperSend: anIRSend\x0a\x09self stream\x0a\x09\x09nextPutAll: '('; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = true,'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'; lf;\x0a\x09\x09nextPutAll: '(', self currentClass asJavaScriptSource;\x0a\x09\x09nextPutAll: '.superclass||$boot.nilAsClass).fn.prototype.';\x0a\x09\x09nextPutAll: anIRSend selector asJavaScriptMethodName, '.apply(';\x0a\x09\x09nextPutAll: '$recv(self), '.\x0a\x09self\x0a\x09\x09visitInstructionList: anIRSend arguments\x0a\x09\x09enclosedBetween: '[' and: ']'.\x0a\x09self stream \x0a\x09\x09nextPutAll: '));'; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = false;'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["nextPutAll:", "stream", "lf", ",", "alias", "scope", "asJavascript", "currentClass", "asJavaScriptMethodName", "selector", "visitInstructionList:enclosedBetween:and:", "arguments"]
+messageSends: ["nextPutAll:", "stream", "lf", ",", "alias", "scope", "asJavaScriptSource", "currentClass", "asJavaScriptMethodName", "selector", "visitInstructionList:enclosedBetween:and:", "arguments"]
 }),
 $globals.IRJSTranslator);
 
@@ -4835,9 +4835,9 @@ self._nextPutAll_($8);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["nextPutAll:"]=5;
 //>>excludeEnd("ctx");
-$16=$recv($recv(aMethod)._selector())._asJavascript();
+$16=$recv($recv(aMethod)._selector())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=1;
+$ctx1.sendIdx["asJavaScriptSource"]=1;
 //>>excludeEnd("ctx");
 $15=".fill(self,".__comma($16);
 $14=$recv($15).__comma(",{");
@@ -4888,7 +4888,7 @@ self._nextPutAll_("},");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["nextPutAll:"]=11;
 //>>excludeEnd("ctx");
-self._nextPutAll_($recv($recv(aMethod)._theClass())._asJavascript());
+self._nextPutAll_($recv($recv(aMethod)._theClass())._asJavaScriptSource());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["nextPutAll:"]=12;
 //>>excludeEnd("ctx");
@@ -4905,10 +4905,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aMethod", "aBlock"],
-source: "nextPutContextFor: aMethod during: aBlock\x0a\x09aMethod requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: 'return $core.withContext(function(', aMethod scope alias, ') {';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);';\x0a\x09\x09lf.\x0a\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;\x0a\x09\x09nextPutAll: '.fill(self,', aMethod selector asJavascript, ',{'.\x0a\x0a\x09aMethod locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: aMethod theClass asJavascript;\x0a\x09\x09nextPutAll: ')});';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'",
+source: "nextPutContextFor: aMethod during: aBlock\x0a\x09aMethod requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: 'return $core.withContext(function(', aMethod scope alias, ') {';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);';\x0a\x09\x09lf.\x0a\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;\x0a\x09\x09nextPutAll: '.fill(self,', aMethod selector asJavaScriptSource, ',{'.\x0a\x0a\x09aMethod locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: aMethod theClass asJavaScriptSource;\x0a\x09\x09nextPutAll: ')});';\x0a\x09\x09lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["ifFalse:", "requiresSmalltalkContext", "value", "nextPutAll:", "lf", ",", "alias", "scope", "asJavascript", "selector", "do:separatedBy:", "locals", "asVariableName", "theClass"]
+messageSends: ["ifFalse:", "requiresSmalltalkContext", "value", "nextPutAll:", "lf", ",", "alias", "scope", "asJavaScriptSource", "selector", "do:separatedBy:", "locals", "asVariableName", "theClass"]
 }),
 $globals.JSStream);
 
@@ -5096,9 +5096,9 @@ $recv($1)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=1;
 //>>excludeEnd("ctx");
-$4=$recv($recv(aMethod)._selector())._asJavascript();
+$4=$recv($recv(aMethod)._selector())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=1;
+$ctx1.sendIdx["asJavaScriptSource"]=1;
 //>>excludeEnd("ctx");
 $3="selector: ".__comma($4);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -5116,9 +5116,9 @@ $recv($1)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=2;
 //>>excludeEnd("ctx");
-$7=$recv($recv(aMethod)._source())._asJavascript();
+$7=$recv($recv(aMethod)._source())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=2;
+$ctx1.sendIdx["asJavaScriptSource"]=2;
 //>>excludeEnd("ctx");
 $6="source: ".__comma($7);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -5161,9 +5161,9 @@ $15=$recv($recv(aMethod)._messageSends())._asArray();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["asArray"]=1;
 //>>excludeEnd("ctx");
-$14=$recv($15)._asJavascript();
+$14=$recv($15)._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=3;
+$ctx1.sendIdx["asJavaScriptSource"]=3;
 //>>excludeEnd("ctx");
 $13=$recv($14).__comma(",");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -5185,9 +5185,9 @@ return $recv(each)._value();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 //>>excludeEnd("ctx");
-})))._asArray())._asJavascript();
+})))._asArray())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=4;
+$ctx1.sendIdx["asJavaScriptSource"]=4;
 //>>excludeEnd("ctx");
 $17="args: ".__comma($18);
 $16=$recv($17).__comma(",");
@@ -5207,7 +5207,7 @@ $recv($recv(aMethod)._classReferences())._do_separatedBy_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-return $recv(self["@stream"])._nextPutAll_($recv(each)._asJavascript());
+return $recv(self["@stream"])._nextPutAll_($recv(each)._asJavaScriptSource());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx["nextPutAll:"]=8;
 //>>excludeEnd("ctx");
@@ -5239,10 +5239,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aMethod", "aBlock"],
-source: "nextPutMethodDeclaration: aMethod with: aBlock\x0a\x09stream\x0a\x09\x09nextPutAll: '$core.method({'; lf;\x0a\x09\x09nextPutAll: 'selector: ', aMethod selector asJavascript, ','; lf;\x0a\x09\x09nextPutAll: 'source: ', aMethod source asJavascript, ',';lf.\x0a\x09aBlock value.\x0a\x09stream\x0a\x09\x09nextPutAll: ',', String lf, 'messageSends: ';\x0a\x09\x09nextPutAll: aMethod messageSends asArray asJavascript, ','; lf;\x0a\x09\x09nextPutAll: 'args: ', (aMethod arguments collect: [ :each | each value ]) asArray asJavascript, ','; lf;\x0a\x09\x09nextPutAll: 'referencedClasses: ['.\x0a\x09aMethod classReferences\x0a\x09\x09do: [ :each | stream nextPutAll: each asJavascript ]\x0a\x09\x09separatedBy: [ stream nextPutAll: ',' ].\x0a\x09stream\x0a\x09\x09nextPutAll: ']';\x0a\x09\x09nextPutAll: '})'",
+source: "nextPutMethodDeclaration: aMethod with: aBlock\x0a\x09stream\x0a\x09\x09nextPutAll: '$core.method({'; lf;\x0a\x09\x09nextPutAll: 'selector: ', aMethod selector asJavaScriptSource, ','; lf;\x0a\x09\x09nextPutAll: 'source: ', aMethod source asJavaScriptSource, ',';lf.\x0a\x09aBlock value.\x0a\x09stream\x0a\x09\x09nextPutAll: ',', String lf, 'messageSends: ';\x0a\x09\x09nextPutAll: aMethod messageSends asArray asJavaScriptSource, ','; lf;\x0a\x09\x09nextPutAll: 'args: ', (aMethod arguments collect: [ :each | each value ]) asArray asJavaScriptSource, ','; lf;\x0a\x09\x09nextPutAll: 'referencedClasses: ['.\x0a\x09aMethod classReferences\x0a\x09\x09do: [ :each | stream nextPutAll: each asJavaScriptSource ]\x0a\x09\x09separatedBy: [ stream nextPutAll: ',' ].\x0a\x09stream\x0a\x09\x09nextPutAll: ']';\x0a\x09\x09nextPutAll: '})'",
 referencedClasses: ["String"],
 //>>excludeEnd("ide");
-messageSends: ["nextPutAll:", "lf", ",", "asJavascript", "selector", "source", "value", "asArray", "messageSends", "collect:", "arguments", "do:separatedBy:", "classReferences"]
+messageSends: ["nextPutAll:", "lf", ",", "asJavaScriptSource", "selector", "source", "value", "asArray", "messageSends", "collect:", "arguments", "do:separatedBy:", "classReferences"]
 }),
 $globals.JSStream);
 
@@ -5386,7 +5386,7 @@ self._nextPutAll_(".sendIdx[");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["nextPutAll:"]=4;
 //>>excludeEnd("ctx");
-self._nextPutAll_($recv($recv(anIRSend)._selector())._asJavascript());
+self._nextPutAll_($recv($recv(anIRSend)._selector())._asJavaScriptSource());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["nextPutAll:"]=5;
 //>>excludeEnd("ctx");
@@ -5411,10 +5411,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anIRSend"],
-source: "nextPutSendIndexFor: anIRSend\x0a\x09self \x0a\x09\x09nextPutAll: ';'; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias;\x0a\x09\x09nextPutAll: '.sendIdx[';\x0a\x09\x09nextPutAll: anIRSend selector asJavascript;\x0a\x09\x09nextPutAll: ']=';\x0a\x09\x09nextPutAll: anIRSend index asString;\x0a\x09\x09nextPutAll: ';'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22)'",
+source: "nextPutSendIndexFor: anIRSend\x0a\x09self \x0a\x09\x09nextPutAll: ';'; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias;\x0a\x09\x09nextPutAll: '.sendIdx[';\x0a\x09\x09nextPutAll: anIRSend selector asJavaScriptSource;\x0a\x09\x09nextPutAll: ']=';\x0a\x09\x09nextPutAll: anIRSend index asString;\x0a\x09\x09nextPutAll: ';'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22)'",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["nextPutAll:", "lf", "alias", "scope", "asJavascript", "selector", "asString", "index"]
+messageSends: ["nextPutAll:", "lf", "alias", "scope", "asJavaScriptSource", "selector", "asString", "index"]
 }),
 $globals.JSStream);
 

+ 10 - 10
src/Compiler-IR.st

@@ -973,7 +973,7 @@ visitIRTempDeclaration: anIRTempDeclaration
 !
 
 visitIRValue: anIRValue
-	self stream nextPutAll: anIRValue value asJavascript
+	self stream nextPutAll: anIRValue value asJavaScriptSource
 !
 
 visitIRVariable: anIRVariable
@@ -1017,7 +1017,7 @@ visitSuperSend: anIRSend
 		nextPutAll: '//>>excludeStart("ctx", pragmas.excludeDebugContexts);'; lf;
 		nextPutAll: anIRSend scope alias, '.supercall = true,'; lf;
 		nextPutAll: '//>>excludeEnd("ctx");'; lf;
-		nextPutAll: '(', self currentClass asJavascript;
+		nextPutAll: '(', self currentClass asJavaScriptSource;
 		nextPutAll: '.superclass||$boot.nilAsClass).fn.prototype.';
 		nextPutAll: anIRSend selector asJavaScriptMethodName, '.apply(';
 		nextPutAll: '$recv(self), '.
@@ -1136,7 +1136,7 @@ nextPutContextFor: aMethod during: aBlock
 		nextPutAll: '//>>excludeStart("ctx", pragmas.excludeDebugContexts);';
 		lf;
 		nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;
-		nextPutAll: '.fill(self,', aMethod selector asJavascript, ',{'.
+		nextPutAll: '.fill(self,', aMethod selector asJavaScriptSource, ',{'.
 
 	aMethod locals
 		do: [ :each |
@@ -1148,7 +1148,7 @@ nextPutContextFor: aMethod during: aBlock
 	
 	self
 		nextPutAll: '},';
-		nextPutAll: aMethod theClass asJavascript;
+		nextPutAll: aMethod theClass asJavaScriptSource;
 		nextPutAll: ')});';
 		lf;
 		nextPutAll: '//>>excludeEnd("ctx");'
@@ -1188,16 +1188,16 @@ nextPutIf: aBlock then: ifBlock else: elseBlock
 nextPutMethodDeclaration: aMethod with: aBlock
 	stream
 		nextPutAll: '$core.method({'; lf;
-		nextPutAll: 'selector: ', aMethod selector asJavascript, ','; lf;
-		nextPutAll: 'source: ', aMethod source asJavascript, ',';lf.
+		nextPutAll: 'selector: ', aMethod selector asJavaScriptSource, ','; lf;
+		nextPutAll: 'source: ', aMethod source asJavaScriptSource, ',';lf.
 	aBlock value.
 	stream
 		nextPutAll: ',', String lf, 'messageSends: ';
-		nextPutAll: aMethod messageSends asArray asJavascript, ','; lf;
-		nextPutAll: 'args: ', (aMethod arguments collect: [ :each | each value ]) asArray asJavascript, ','; lf;
+		nextPutAll: aMethod messageSends asArray asJavaScriptSource, ','; lf;
+		nextPutAll: 'args: ', (aMethod arguments collect: [ :each | each value ]) asArray asJavaScriptSource, ','; lf;
 		nextPutAll: 'referencedClasses: ['.
 	aMethod classReferences
-		do: [ :each | stream nextPutAll: each asJavascript ]
+		do: [ :each | stream nextPutAll: each asJavaScriptSource ]
 		separatedBy: [ stream nextPutAll: ',' ].
 	stream
 		nextPutAll: ']';
@@ -1231,7 +1231,7 @@ nextPutSendIndexFor: anIRSend
 		nextPutAll: '//>>excludeStart("ctx", pragmas.excludeDebugContexts);'; lf;
 		nextPutAll: anIRSend scope alias;
 		nextPutAll: '.sendIdx[';
-		nextPutAll: anIRSend selector asJavascript;
+		nextPutAll: anIRSend selector asJavaScriptSource;
 		nextPutAll: ']=';
 		nextPutAll: anIRSend index asString;
 		nextPutAll: ';'; lf;

+ 21 - 21
src/Kernel-Classes.js

@@ -917,7 +917,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-$core.setTraitComposition(aTraitComposition._asJSON(), self);
+$core.setTraitComposition(aTraitComposition._asJavaScriptObject(), self);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"setTraitComposition:",{aTraitComposition:aTraitComposition},$globals.BehaviorBody)});
@@ -925,7 +925,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aTraitComposition"],
-source: "setTraitComposition: aTraitComposition\x0a\x09<inlineJS: '$core.setTraitComposition(aTraitComposition._asJSON(), self)'>",
+source: "setTraitComposition: aTraitComposition\x0a\x09<inlineJS: '$core.setTraitComposition(aTraitComposition._asJavaScriptObject(), self)'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -1761,7 +1761,7 @@ $globals.Class.comment="I am __the__ class object.\x0a\x0aMy instances are the c
 //>>excludeEnd("ide");
 $core.addMethod(
 $core.method({
-selector: "asJavascript",
+selector: "asJavaScriptSource",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -1770,12 +1770,12 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return "$globals.".__comma(self._name());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},$globals.Class)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{},$globals.Class)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJavascript\x0a\x09^ '$globals.', self name",
+source: "asJavaScriptSource\x0a\x09^ '$globals.', self name",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: [",", "name"]
@@ -2354,7 +2354,7 @@ $globals.Metaclass.comment="I am the root of the class hierarchy.\x0a\x0aMy inst
 //>>excludeEnd("ide");
 $core.addMethod(
 $core.method({
-selector: "asJavascript",
+selector: "asJavaScriptSource",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -2368,12 +2368,12 @@ $ctx1.sendIdx[","]=1;
 //>>excludeEnd("ctx");
 return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},$globals.Metaclass)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{},$globals.Metaclass)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJavascript\x0a\x09^ '$globals.', self instanceClass name, '.klass'",
+source: "asJavaScriptSource\x0a\x09^ '$globals.', self instanceClass name, '.klass'",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: [",", "name", "instanceClass"]
@@ -2694,7 +2694,7 @@ $globals.Trait);
 
 $core.addMethod(
 $core.method({
-selector: "asJavascript",
+selector: "asJavaScriptSource",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -2703,12 +2703,12 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return "$globals.".__comma(self._name());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},$globals.Trait)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{},$globals.Trait)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJavascript\x0a\x09^ '$globals.', self name",
+source: "asJavaScriptSource\x0a\x09^ '$globals.', self name",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: [",", "name"]
@@ -4180,7 +4180,7 @@ $globals.TraitTransformation);
 
 $core.addMethod(
 $core.method({
-selector: "asJSON",
+selector: "asJavaScriptObject",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -4189,12 +4189,12 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $globals.HashedCollection._newFromPairs_(["trait",self._trait(),"aliases",self._aliases(),"exclusions",$recv($recv(self._exclusions())._asArray())._sorted()]);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJSON",{},$globals.TraitTransformation)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptObject",{},$globals.TraitTransformation)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09^ #{\x0a\x09\x09'trait' -> self trait.\x0a\x09\x09'aliases' -> self aliases.\x0a\x09\x09'exclusions' -> self exclusions asArray sorted }",
+source: "asJavaScriptObject\x0a\x09^ #{\x0a\x09\x09'trait' -> self trait.\x0a\x09\x09'aliases' -> self aliases.\x0a\x09\x09'exclusions' -> self exclusions asArray sorted }",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["trait", "aliases", "sorted", "asArray", "exclusions"]
@@ -4203,7 +4203,7 @@ $globals.TraitTransformation);
 
 $core.addMethod(
 $core.method({
-selector: "asJavascript",
+selector: "asJavaScriptSource",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -4215,9 +4215,9 @@ return $recv($globals.String)._streamContents_((function(str){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=$recv(self._trait())._asJavascript();
+$2=$recv(self._trait())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx["asJavascript"]=1;
+$ctx2.sendIdx["asJavaScriptSource"]=1;
 //>>excludeEnd("ctx");
 $3=$recv(self._aliases())._ifNotEmpty_((function(al){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -4235,7 +4235,7 @@ $1=["{trait: ",$2,$3,$recv(self._exclusions())._ifNotEmpty_((function(ex){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-return [", exclusions: ",$recv($recv($recv(ex)._asArray())._sorted())._asJavascript()];
+return [", exclusions: ",$recv($recv($recv(ex)._asArray())._sorted())._asJavaScriptSource()];
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx2,3)});
 //>>excludeEnd("ctx");
@@ -4246,15 +4246,15 @@ return $recv(str)._write_($1);
 //>>excludeEnd("ctx");
 }));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},$globals.TraitTransformation)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{},$globals.TraitTransformation)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJavascript\x0a\x09^ String streamContents: [ :str | str write: {\x0a\x09\x09'{trait: ' . self trait asJavascript.\x0a\x09\x09self aliases ifNotEmpty: [ :al |\x0a\x09\x09\x09{', aliases: '. al asJSONString} ].\x0a\x09\x09self exclusions ifNotEmpty: [ :ex |\x0a\x09\x09\x09{', exclusions: '. ex asArray sorted asJavascript} ].\x0a\x09\x09'}' } ]",
+source: "asJavaScriptSource\x0a\x09^ String streamContents: [ :str | str write: {\x0a\x09\x09'{trait: '. self trait asJavaScriptSource.\x0a\x09\x09self aliases ifNotEmpty: [ :al |\x0a\x09\x09\x09{', aliases: '. al asJSONString} ].\x0a\x09\x09self exclusions ifNotEmpty: [ :ex |\x0a\x09\x09\x09{', exclusions: '. ex asArray sorted asJavaScriptSource} ].\x0a\x09\x09'}' } ]",
 referencedClasses: ["String"],
 //>>excludeEnd("ide");
-messageSends: ["streamContents:", "write:", "asJavascript", "trait", "ifNotEmpty:", "aliases", "asJSONString", "exclusions", "sorted", "asArray"]
+messageSends: ["streamContents:", "write:", "asJavaScriptSource", "trait", "ifNotEmpty:", "aliases", "asJSONString", "exclusions", "sorted", "asArray"]
 }),
 $globals.TraitTransformation);
 

+ 8 - 8
src/Kernel-Classes.st

@@ -212,7 +212,7 @@ removeCompiledMethod: aMethod
 !
 
 setTraitComposition: aTraitComposition
-	<inlineJS: '$core.setTraitComposition(aTraitComposition._asJSON(), self)'>
+	<inlineJS: '$core.setTraitComposition(aTraitComposition._asJavaScriptObject(), self)'>
 ! !
 
 !BehaviorBody methodsFor: 'enumerating'!
@@ -533,7 +533,7 @@ subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aStr
 
 !Class methodsFor: 'converting'!
 
-asJavascript
+asJavaScriptSource
 	^ '$globals.', self name
 ! !
 
@@ -602,7 +602,7 @@ uses: aTraitCompositionDescription instanceVariableNames: aCollection
 
 !Metaclass methodsFor: 'converting'!
 
-asJavascript
+asJavaScriptSource
 	^ '$globals.', self instanceClass name, '.klass'
 ! !
 
@@ -678,7 +678,7 @@ traitUsers
 
 !Trait methodsFor: 'converting'!
 
-asJavascript
+asJavaScriptSource
 	^ '$globals.', self name
 !
 
@@ -1076,20 +1076,20 @@ trait: anObject
 
 !TraitTransformation methodsFor: 'converting'!
 
-asJSON
+asJavaScriptObject
 	^ #{
 		'trait' -> self trait.
 		'aliases' -> self aliases.
 		'exclusions' -> self exclusions asArray sorted }
 !
 
-asJavascript
+asJavaScriptSource
 	^ String streamContents: [ :str | str write: {
-		'{trait: ' . self trait asJavascript.
+		'{trait: '. self trait asJavaScriptSource.
 		self aliases ifNotEmpty: [ :al |
 			{', aliases: '. al asJSONString} ].
 		self exclusions ifNotEmpty: [ :ex |
-			{', exclusions: '. ex asArray sorted asJavascript} ].
+			{', exclusions: '. ex asArray sorted asJavaScriptSource} ].
 		'}' } ]
 !
 

+ 30 - 30
src/Kernel-Collections.js

@@ -651,7 +651,7 @@ $globals.Collection);
 
 $core.addMethod(
 $core.method({
-selector: "asJSON",
+selector: "asJavaScriptObject",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -662,21 +662,21 @@ return $recv(self._asArray())._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-return $recv(each)._asJSON();
+return $recv(each)._asJavaScriptObject();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJSON",{},$globals.Collection)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptObject",{},$globals.Collection)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09^ self asArray collect: [ :each | each asJSON ]",
+source: "asJavaScriptObject\x0a\x09^ self asArray collect: [ :each | each asJavaScriptObject ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["collect:", "asArray", "asJSON"]
+messageSends: ["collect:", "asArray", "asJavaScriptObject"]
 }),
 $globals.Collection);
 
@@ -2309,7 +2309,7 @@ $globals.AssociativeCollection);
 
 $core.addMethod(
 $core.method({
-selector: "asJSON",
+selector: "asJavaScriptObject",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -2322,22 +2322,22 @@ self._keysAndValuesDo_((function(key,value){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-return $recv(hash)._at_put_(key,$recv(value)._asJSON());
+return $recv(hash)._at_put_(key,$recv(value)._asJavaScriptObject());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
 return hash;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJSON",{hash:hash},$globals.AssociativeCollection)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptObject",{hash:hash},$globals.AssociativeCollection)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09| hash |\x0a\x09hash := HashedCollection new.\x0a\x09self keysAndValuesDo: [ :key :value |\x0a\x09\x09hash at: key put: value asJSON ].\x0a\x09^ hash",
+source: "asJavaScriptObject\x0a\x09| hash |\x0a\x09hash := HashedCollection new.\x0a\x09self keysAndValuesDo: [ :key :value |\x0a\x09\x09hash at: key put: value asJavaScriptObject ].\x0a\x09^ hash",
 referencedClasses: ["HashedCollection"],
 //>>excludeEnd("ide");
-messageSends: ["new", "keysAndValuesDo:", "at:put:", "asJSON"]
+messageSends: ["new", "keysAndValuesDo:", "at:put:", "asJavaScriptObject"]
 }),
 $globals.AssociativeCollection);
 
@@ -4888,7 +4888,7 @@ $globals.Array);
 
 $core.addMethod(
 $core.method({
-selector: "asJavascript",
+selector: "asJavaScriptSource",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -4900,7 +4900,7 @@ $1=$recv("[".__comma($recv(self._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-return $recv(each)._asJavascript();
+return $recv(each)._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -4910,15 +4910,15 @@ $ctx1.sendIdx[","]=1;
 //>>excludeEnd("ctx");
 return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},$globals.Array)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{},$globals.Array)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJavascript\x0a\x09^ '[', ((self collect: [:each | each asJavascript ]) join: ', '), ']'",
+source: "asJavaScriptSource\x0a\x09^ '[', ((self collect: [:each | each asJavaScriptSource ]) join: ', '), ']'",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: [",", "join:", "collect:", "asJavascript"]
+messageSends: [",", "join:", "collect:", "asJavaScriptSource"]
 }),
 $globals.Array);
 
@@ -6199,16 +6199,22 @@ $globals.String);
 
 $core.addMethod(
 $core.method({
-selector: "asJSON",
+selector: "asJavaScriptMethodName",
 protocol: "converting",
 fn: function (){
 var self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+return $core.st2js(self);
 return self;
-
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptMethodName",{},$globals.String)});
+//>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09^ self",
+source: "asJavaScriptMethodName\x0a\x09<inlineJS: 'return $core.st2js(self)'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -6217,22 +6223,16 @@ $globals.String);
 
 $core.addMethod(
 $core.method({
-selector: "asJavaScriptMethodName",
+selector: "asJavaScriptObject",
 protocol: "converting",
 fn: function (){
 var self=this;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
-//>>excludeEnd("ctx");
-return $core.st2js(self);
 return self;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJavaScriptMethodName",{},$globals.String)});
-//>>excludeEnd("ctx");
+
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJavaScriptMethodName\x0a\x09<inlineJS: 'return $core.st2js(self)'>",
+source: "asJavaScriptObject\x0a\x09^ self",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -6241,7 +6241,7 @@ $globals.String);
 
 $core.addMethod(
 $core.method({
-selector: "asJavascript",
+selector: "asJavaScriptSource",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -6256,12 +6256,12 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},$globals.String)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{},$globals.String)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJavascript\x0a\x09<inlineJS: '\x0a\x09\x09if(self.search(/^[a-zA-Z0-9_:.$ ]*$/) == -1)\x0a\x09\x09\x09return \x22\x5c\x22\x22 + self.replace(/[\x5cx00-\x5cx1f\x22\x5c\x5c\x5cx7f-\x5cx9f]/g, function(ch){var c=ch.charCodeAt(0);return \x22\x5c\x5cx\x22+(\x220\x22+c.toString(16)).slice(-2)}) + \x22\x5c\x22\x22;\x0a\x09\x09else\x0a\x09\x09\x09return \x22\x5c\x22\x22 + self + \x22\x5c\x22\x22;\x0a\x09'>",
+source: "asJavaScriptSource\x0a\x09<inlineJS: '\x0a\x09\x09if(self.search(/^[a-zA-Z0-9_:.$ ]*$/) == -1)\x0a\x09\x09\x09return \x22\x5c\x22\x22 + self.replace(/[\x5cx00-\x5cx1f\x22\x5c\x5c\x5cx7f-\x5cx9f]/g, function(ch){var c=ch.charCodeAt(0);return \x22\x5c\x5cx\x22+(\x220\x22+c.toString(16)).slice(-2)}) + \x22\x5c\x22\x22;\x0a\x09\x09else\x0a\x09\x09\x09return \x22\x5c\x22\x22 + self + \x22\x5c\x22\x22;\x0a\x09'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []

+ 11 - 11
src/Kernel-Collections.st

@@ -209,8 +209,8 @@ asArray
 	^ Array withAll: self
 !
 
-asJSON
-	^ self asArray collect: [ :each | each asJSON ]
+asJavaScriptObject
+	^ self asArray collect: [ :each | each asJavaScriptObject ]
 !
 
 asOrderedCollection
@@ -642,11 +642,11 @@ asHashedCollection
 	^ HashedCollection from: self associations
 !
 
-asJSON
+asJavaScriptObject
 	| hash |
 	hash := HashedCollection new.
 	self keysAndValuesDo: [ :key :value |
-		hash at: key put: value asJSON ].
+		hash at: key put: value asJavaScriptObject ].
 	^ hash
 ! !
 
@@ -1271,8 +1271,8 @@ removeLast
 
 !Array methodsFor: 'converting'!
 
-asJavascript
-	^ '[', ((self collect: [:each | each asJavascript ]) join: ', '), ']'
+asJavaScriptSource
+	^ '[', ((self collect: [:each | each asJavaScriptSource ]) join: ', '), ']'
 !
 
 reversed
@@ -1542,15 +1542,15 @@ size
 
 !String methodsFor: 'converting'!
 
-asJSON
-	^ self
-!
-
 asJavaScriptMethodName
 	<inlineJS: 'return $core.st2js(self)'>
 !
 
-asJavascript
+asJavaScriptObject
+	^ self
+!
+
+asJavaScriptSource
 	<inlineJS: '
 		if(self.search(/^[a-zA-Z0-9_:.$ ]*$/) == -1)
 			return "\"" + self.replace(/[\x00-\x1f"\\\x7f-\x9f]/g, function(ch){var c=ch.charCodeAt(0);return "\\x"+("0"+c.toString(16)).slice(-2)}) + "\"";

+ 3 - 3
src/Kernel-Infrastructure.js

@@ -44,8 +44,8 @@ $globals.JSObjectProxy);
 
 $core.addMethod(
 $core.method({
-selector: "asJSON",
-protocol: "enumerating",
+selector: "asJavaScriptObject",
+protocol: "converting",
 fn: function (){
 var self=this;
 return self["@jsObject"];
@@ -53,7 +53,7 @@ return self["@jsObject"];
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09\x22Answers the receiver in a stringyfy-friendly fashion\x22\x0a\x0a\x09^ jsObject",
+source: "asJavaScriptObject\x0a\x09\x22Answers the receiver in a stringify-friendly fashion\x22\x0a\x0a\x09^ jsObject",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []

+ 6 - 4
src/Kernel-Infrastructure.st

@@ -77,13 +77,15 @@ jsObject
 	^ JSObjectProxy compareJSObjectOfProxy: self withProxy: anObject
 ! !
 
-!JSObjectProxy methodsFor: 'enumerating'!
+!JSObjectProxy methodsFor: 'converting'!
 
-asJSON
-	"Answers the receiver in a stringyfy-friendly fashion"
+asJavaScriptObject
+	"Answers the receiver in a stringify-friendly fashion"
 
 	^ jsObject
-!
+! !
+
+!JSObjectProxy methodsFor: 'enumerating'!
 
 keysAndValuesDo: aBlock
 	<inlineJS: '

+ 83 - 35
src/Kernel-Objects.js

@@ -57,6 +57,54 @@ messageSends: []
 }),
 $globals.ProtoObject);
 
+$core.addMethod(
+$core.method({
+selector: "asJSON",
+protocol: "converting",
+fn: function (){
+var self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+self._deprecatedAPI_("Use #asJavaScriptObject instead.");
+return self._asJavaScriptObject();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"asJSON",{},$globals.ProtoObject)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "asJSON\x0a\x09self deprecatedAPI: 'Use #asJavaScriptObject instead.'.\x0a\x09^ self asJavaScriptObject",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["deprecatedAPI:", "asJavaScriptObject"]
+}),
+$globals.ProtoObject);
+
+$core.addMethod(
+$core.method({
+selector: "asJavascript",
+protocol: "converting",
+fn: function (){
+var self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+self._deprecatedAPI_("Use #asJavaScriptSource instead.");
+return self._asJavaScriptSource();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},$globals.ProtoObject)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "asJavascript\x0a\x09self deprecatedAPI: 'Use #asJavaScriptSource instead.'.\x0a\x09^ self asJavaScriptSource",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["deprecatedAPI:", "asJavaScriptSource"]
+}),
+$globals.ProtoObject);
+
 $core.addMethod(
 $core.method({
 selector: "asString",
@@ -718,64 +766,64 @@ $globals.Object);
 
 $core.addMethod(
 $core.method({
-selector: "asJSON",
+selector: "asJSONString",
 protocol: "converting",
 fn: function (){
 var self=this;
-var variables;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-variables=$recv($globals.HashedCollection)._new();
-$recv($recv(self._class())._allInstanceVariableNames())._do_((function(each){
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx2) {
-//>>excludeEnd("ctx");
-return $recv(variables)._at_put_(each,$recv(self._instVarAt_(each))._asJSON());
+return $recv($globals.JSON)._stringify_(self._asJavaScriptObject());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
-//>>excludeEnd("ctx");
-}));
-return variables;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJSON",{variables:variables},$globals.Object)});
+}, function($ctx1) {$ctx1.fill(self,"asJSONString",{},$globals.Object)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09| variables |\x0a\x09variables := HashedCollection new.\x0a\x09self class allInstanceVariableNames do: [ :each |\x0a\x09\x09variables at: each put: (self instVarAt: each) asJSON ].\x0a\x09^ variables",
-referencedClasses: ["HashedCollection"],
+source: "asJSONString\x0a\x09^ JSON stringify: self asJavaScriptObject",
+referencedClasses: ["JSON"],
 //>>excludeEnd("ide");
-messageSends: ["new", "do:", "allInstanceVariableNames", "class", "at:put:", "asJSON", "instVarAt:"]
+messageSends: ["stringify:", "asJavaScriptObject"]
 }),
 $globals.Object);
 
 $core.addMethod(
 $core.method({
-selector: "asJSONString",
+selector: "asJavaScriptObject",
 protocol: "converting",
 fn: function (){
 var self=this;
+var variables;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return $recv($globals.JSON)._stringify_(self._asJSON());
+variables=$recv($globals.HashedCollection)._new();
+$recv($recv(self._class())._allInstanceVariableNames())._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJSONString",{},$globals.Object)});
+return $core.withContext(function($ctx2) {
+//>>excludeEnd("ctx");
+return $recv(variables)._at_put_(each,$recv(self._instVarAt_(each))._asJavaScriptObject());
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
+//>>excludeEnd("ctx");
+}));
+return variables;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptObject",{variables:variables},$globals.Object)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSONString\x0a\x09^ JSON stringify: self asJSON",
-referencedClasses: ["JSON"],
+source: "asJavaScriptObject\x0a\x09| variables |\x0a\x09variables := HashedCollection new.\x0a\x09self class allInstanceVariableNames do: [ :each |\x0a\x09\x09variables at: each put: (self instVarAt: each) asJavaScriptObject ].\x0a\x09^ variables",
+referencedClasses: ["HashedCollection"],
 //>>excludeEnd("ide");
-messageSends: ["stringify:", "asJSON"]
+messageSends: ["new", "do:", "allInstanceVariableNames", "class", "at:put:", "asJavaScriptObject", "instVarAt:"]
 }),
 $globals.Object);
 
 $core.addMethod(
 $core.method({
-selector: "asJavascript",
+selector: "asJavaScriptSource",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -784,12 +832,12 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self._asString();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},$globals.Object)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{},$globals.Object)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJavascript\x0a\x09^ self asString",
+source: "asJavaScriptSource\x0a\x09^ self asString",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["asString"]
@@ -1812,7 +1860,7 @@ $globals.Boolean);
 
 $core.addMethod(
 $core.method({
-selector: "asJSON",
+selector: "asJavaScriptObject",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -1821,7 +1869,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09^ self",
+source: "asJavaScriptObject\x0a\x09^ self",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -3596,7 +3644,7 @@ $globals.Number);
 
 $core.addMethod(
 $core.method({
-selector: "asJSON",
+selector: "asJavaScriptObject",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -3605,7 +3653,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09^ self",
+source: "asJavaScriptObject\x0a\x09^ self",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -3614,7 +3662,7 @@ $globals.Number);
 
 $core.addMethod(
 $core.method({
-selector: "asJavascript",
+selector: "asJavaScriptSource",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -3628,12 +3676,12 @@ $ctx1.sendIdx[","]=1;
 //>>excludeEnd("ctx");
 return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},$globals.Number)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{},$globals.Number)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJavascript\x0a\x09^ '(', self printString, ')'",
+source: "asJavaScriptSource\x0a\x09^ '(', self printString, ')'",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: [",", "printString"]
@@ -5506,7 +5554,7 @@ $globals.UndefinedObject.comment="I describe the behavior of my sole instance, `
 //>>excludeEnd("ide");
 $core.addMethod(
 $core.method({
-selector: "asJSON",
+selector: "asJavaScriptObject",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -5515,7 +5563,7 @@ return null;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09^ null",
+source: "asJavaScriptObject\x0a\x09^ null",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []

+ 21 - 11
src/Kernel-Objects.st

@@ -60,6 +60,16 @@ isSameInstanceAs: anObject
 
 !ProtoObject methodsFor: 'converting'!
 
+asJSON
+	self deprecatedAPI: 'Use #asJavaScriptObject instead.'.
+	^ self asJavaScriptObject
+!
+
+asJavascript
+	self deprecatedAPI: 'Use #asJavaScriptSource instead.'.
+	^ self asJavaScriptSource
+!
+
 asString
 	^ self printString
 ! !
@@ -228,19 +238,19 @@ browse
 	^ Association key: self value: anObject
 !
 
-asJSON
+asJSONString
+	^ JSON stringify: self asJavaScriptObject
+!
+
+asJavaScriptObject
 	| variables |
 	variables := HashedCollection new.
 	self class allInstanceVariableNames do: [ :each |
-		variables at: each put: (self instVarAt: each) asJSON ].
+		variables at: each put: (self instVarAt: each) asJavaScriptObject ].
 	^ variables
 !
 
-asJSONString
-	^ JSON stringify: self asJSON
-!
-
-asJavascript
+asJavaScriptSource
 	^ self asString
 ! !
 
@@ -508,7 +518,7 @@ asBit
 	^ self ifTrue: [ 1 ] ifFalse: [ 0 ]
 !
 
-asJSON
+asJavaScriptObject
 	^ self
 !
 
@@ -854,11 +864,11 @@ negated
 	^ Point x: self y: aNumber
 !
 
-asJSON
+asJavaScriptObject
 	^ self
 !
 
-asJavascript
+asJavaScriptSource
 	^ '(', self printString, ')'
 !
 
@@ -1302,7 +1312,7 @@ __note:__ When sending messages to the `undefined` JavaScript object, it will be
 
 !UndefinedObject methodsFor: 'converting'!
 
-asJSON
+asJavaScriptObject
 	^ null
 ! !
 

+ 72 - 72
src/Platform-ImportExport.js

@@ -1102,9 +1102,9 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=1;
 //>>excludeEnd("ctx");
-$3=$recv($recv(aClass)._name())._asJavascript();
+$3=$recv($recv(aClass)._name())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=1;
+$ctx1.sendIdx["asJavaScriptSource"]=1;
 //>>excludeEnd("ctx");
 $5=$recv(aClass)._superclass();
 if(($receiver = $5) == null || $receiver.isNil){
@@ -1112,18 +1112,18 @@ $4="null";
 } else {
 var superclass;
 superclass=$receiver;
-$4=$recv(superclass)._asJavascript();
+$4=$recv(superclass)._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=2;
+$ctx1.sendIdx["asJavaScriptSource"]=2;
 //>>excludeEnd("ctx");
 }
-$6=$recv($recv(aClass)._instanceVariableNames())._asJavascript();
+$6=$recv($recv(aClass)._instanceVariableNames())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=3;
+$ctx1.sendIdx["asJavaScriptSource"]=3;
 //>>excludeEnd("ctx");
-$7=$recv($recv(aClass)._category())._asJavascript();
+$7=$recv($recv(aClass)._category())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=4;
+$ctx1.sendIdx["asJavaScriptSource"]=4;
 //>>excludeEnd("ctx");
 $2=["$core.addClass(",$3,", ",$4,", ",$6,", ",$7,");"];
 $1=$recv(aStream)._write_($2);
@@ -1150,11 +1150,11 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx["lf"]=3;
 //>>excludeEnd("ctx");
-$10=$recv(aClass)._asJavascript();
+$10=$recv(aClass)._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx["asJavascript"]=5;
+$ctx2.sendIdx["asJavaScriptSource"]=5;
 //>>excludeEnd("ctx");
-$9=[$10,".comment=",$recv($recv($recv(aClass)._comment())._crlfSanitized())._asJavascript(),";"];
+$9=[$10,".comment=",$recv($recv($recv(aClass)._comment())._crlfSanitized())._asJavaScriptSource(),";"];
 $recv(aStream)._write_($9);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx["write:"]=3;
@@ -1176,10 +1176,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aClass", "aStream"],
-source: "exportDefinitionOf: aClass on: aStream\x0a\x09aStream\x0a\x09\x09lf;\x0a\x09\x09write: {\x0a\x09\x09\x09'$core.addClass('.\x0a\x09\x09\x09aClass name asJavascript. ', '.\x0a\x09\x09\x09aClass superclass ifNil: [ 'null' ] ifNotNil: [ :superclass | superclass asJavascript ]. ', '.\x0a\x09\x09\x09aClass instanceVariableNames asJavascript. ', '.\x0a\x09\x09\x09aClass category asJavascript.\x0a\x09\x09\x09');' }.\x0a\x09aClass comment ifNotEmpty: [\x0a\x09\x09aStream\x0a\x09\x09\x09lf;\x0a\x09\x09\x09write: '//>>excludeStart(\x22ide\x22, pragmas.excludeIdeData);'; lf;\x0a\x09\x09\x09write: { aClass asJavascript. '.comment='. aClass comment crlfSanitized asJavascript. ';' }; lf;\x0a\x09\x09\x09write: '//>>excludeEnd(\x22ide\x22);' ].\x0a\x09aStream lf",
+source: "exportDefinitionOf: aClass on: aStream\x0a\x09aStream\x0a\x09\x09lf;\x0a\x09\x09write: {\x0a\x09\x09\x09'$core.addClass('.\x0a\x09\x09\x09aClass name asJavaScriptSource. ', '.\x0a\x09\x09\x09aClass superclass ifNil: [ 'null' ] ifNotNil: [ :superclass | superclass asJavaScriptSource ]. ', '.\x0a\x09\x09\x09aClass instanceVariableNames asJavaScriptSource. ', '.\x0a\x09\x09\x09aClass category asJavaScriptSource.\x0a\x09\x09\x09');' }.\x0a\x09aClass comment ifNotEmpty: [\x0a\x09\x09aStream\x0a\x09\x09\x09lf;\x0a\x09\x09\x09write: '//>>excludeStart(\x22ide\x22, pragmas.excludeIdeData);'; lf;\x0a\x09\x09\x09write: { aClass asJavaScriptSource. '.comment='. aClass comment crlfSanitized asJavaScriptSource. ';' }; lf;\x0a\x09\x09\x09write: '//>>excludeEnd(\x22ide\x22);' ].\x0a\x09aStream lf",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["lf", "write:", "asJavascript", "name", "ifNil:ifNotNil:", "superclass", "instanceVariableNames", "category", "ifNotEmpty:", "comment", "crlfSanitized"]
+messageSends: ["lf", "write:", "asJavaScriptSource", "name", "ifNil:ifNotNil:", "superclass", "instanceVariableNames", "category", "ifNotEmpty:", "comment", "crlfSanitized"]
 }),
 $globals.Exporter);
 
@@ -1206,11 +1206,11 @@ $recv($1)._ifNotEmpty_((function(classIvars){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$4=$recv($recv(aClass)._theMetaClass())._asJavascript();
+$4=$recv($recv(aClass)._theMetaClass())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx["asJavascript"]=1;
+$ctx2.sendIdx["asJavaScriptSource"]=1;
 //>>excludeEnd("ctx");
-$3=[$4,".iVarNames = ",$recv(classIvars)._asJavascript(),";"];
+$3=[$4,".iVarNames = ",$recv(classIvars)._asJavaScriptSource(),";"];
 $recv(aStream)._write_($3);
 return $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1224,10 +1224,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aClass", "aStream"],
-source: "exportMetaDefinitionOf: aClass on: aStream\x0a\x09aStream lf.\x0a\x09aClass theMetaClass instanceVariableNames ifNotEmpty: [ :classIvars | aStream\x0a\x09\x09write: { aClass theMetaClass asJavascript. '.iVarNames = '. classIvars asJavascript. ';' };\x0a\x09\x09lf ]",
+source: "exportMetaDefinitionOf: aClass on: aStream\x0a\x09aStream lf.\x0a\x09aClass theMetaClass instanceVariableNames ifNotEmpty: [ :classIvars | aStream\x0a\x09\x09write: { aClass theMetaClass asJavaScriptSource. '.iVarNames = '. classIvars asJavaScriptSource. ';' };\x0a\x09\x09lf ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["lf", "ifNotEmpty:", "instanceVariableNames", "theMetaClass", "write:", "asJavascript"]
+messageSends: ["lf", "ifNotEmpty:", "instanceVariableNames", "theMetaClass", "write:", "asJavaScriptSource"]
 }),
 $globals.Exporter);
 
@@ -1257,9 +1257,9 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=2;
 //>>excludeEnd("ctx");
-$2=$recv($recv(aMethod)._selector())._asJavascript();
+$2=$recv($recv(aMethod)._selector())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=1;
+$ctx1.sendIdx["asJavaScriptSource"]=1;
 //>>excludeEnd("ctx");
 $1=["selector: ",$2,","];
 $recv(aStream)._write_($1);
@@ -1270,9 +1270,9 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=3;
 //>>excludeEnd("ctx");
-$4=$recv($recv(aMethod)._protocol())._asJavascript();
+$4=$recv($recv(aMethod)._protocol())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=2;
+$ctx1.sendIdx["asJavaScriptSource"]=2;
 //>>excludeEnd("ctx");
 $3=["protocol: ",$4,","];
 $recv(aStream)._write_($3);
@@ -1299,9 +1299,9 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=6;
 //>>excludeEnd("ctx");
-$6=$recv($recv(aMethod)._arguments())._asJavascript();
+$6=$recv($recv(aMethod)._arguments())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=3;
+$ctx1.sendIdx["asJavaScriptSource"]=3;
 //>>excludeEnd("ctx");
 $5=["args: ",$6,","];
 $recv(aStream)._write_($5);
@@ -1312,9 +1312,9 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=7;
 //>>excludeEnd("ctx");
-$8=$recv($recv(aMethod)._source())._asJavascript();
+$8=$recv($recv(aMethod)._source())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=4;
+$ctx1.sendIdx["asJavaScriptSource"]=4;
 //>>excludeEnd("ctx");
 $7=["source: ",$8,","];
 $recv(aStream)._write_($7);
@@ -1325,9 +1325,9 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=8;
 //>>excludeEnd("ctx");
-$10=$recv($recv(aMethod)._referencedClasses())._asJavascript();
+$10=$recv($recv(aMethod)._referencedClasses())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=5;
+$ctx1.sendIdx["asJavaScriptSource"]=5;
 //>>excludeEnd("ctx");
 $9=["referencedClasses: ",$10,","];
 $recv(aStream)._write_($9);
@@ -1346,9 +1346,9 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=10;
 //>>excludeEnd("ctx");
-$12=$recv($recv(aMethod)._messageSends())._asJavascript();
+$12=$recv($recv(aMethod)._messageSends())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=6;
+$ctx1.sendIdx["asJavaScriptSource"]=6;
 //>>excludeEnd("ctx");
 $11=["messageSends: ",$12];
 $recv(aStream)._write_($11);
@@ -1367,7 +1367,7 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=12;
 //>>excludeEnd("ctx");
-$recv(aStream)._write_([$recv($recv(aMethod)._methodClass())._asJavascript(),");"]);
+$recv(aStream)._write_([$recv($recv(aMethod)._methodClass())._asJavaScriptSource(),");"]);
 $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=13;
@@ -1380,10 +1380,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aMethod", "aStream"],
-source: "exportMethod: aMethod on: aStream\x0a\x09aStream\x0a\x09\x09write: '$core.addMethod('; lf;\x0a\x09\x09write: '$core.method({'; lf;\x0a\x09\x09write: { 'selector: '. aMethod selector asJavascript. ',' }; lf;\x0a\x09\x09write: { 'protocol: '. aMethod protocol asJavascript. ',' }; lf;\x0a\x09\x09write: { 'fn: '. aMethod fn compiledSource. ',' }; lf;\x0a\x09\x09write: '//>>excludeStart(\x22ide\x22, pragmas.excludeIdeData);'; lf;\x0a\x09\x09write: { 'args: '. aMethod arguments asJavascript. ',' }; lf;\x0a\x09\x09write: { 'source: '. aMethod source asJavascript. ',' }; lf;\x0a\x09\x09write: { 'referencedClasses: '. aMethod referencedClasses asJavascript. ',' }; lf;\x0a\x09\x09write: '//>>excludeEnd(\x22ide\x22);'; lf;\x0a\x09\x09write: { 'messageSends: '. aMethod messageSends asJavascript }; lf;\x0a\x09\x09write: '}),'; lf;\x0a\x09\x09write: { aMethod methodClass asJavascript. ');' }; lf; lf",
+source: "exportMethod: aMethod on: aStream\x0a\x09aStream\x0a\x09\x09write: '$core.addMethod('; lf;\x0a\x09\x09write: '$core.method({'; lf;\x0a\x09\x09write: { 'selector: '. aMethod selector asJavaScriptSource. ',' }; lf;\x0a\x09\x09write: { 'protocol: '. aMethod protocol asJavaScriptSource. ',' }; lf;\x0a\x09\x09write: { 'fn: '. aMethod fn compiledSource. ',' }; lf;\x0a\x09\x09write: '//>>excludeStart(\x22ide\x22, pragmas.excludeIdeData);'; lf;\x0a\x09\x09write: { 'args: '. aMethod arguments asJavaScriptSource. ',' }; lf;\x0a\x09\x09write: { 'source: '. aMethod source asJavaScriptSource. ',' }; lf;\x0a\x09\x09write: { 'referencedClasses: '. aMethod referencedClasses asJavaScriptSource. ',' }; lf;\x0a\x09\x09write: '//>>excludeEnd(\x22ide\x22);'; lf;\x0a\x09\x09write: { 'messageSends: '. aMethod messageSends asJavaScriptSource }; lf;\x0a\x09\x09write: '}),'; lf;\x0a\x09\x09write: { aMethod methodClass asJavaScriptSource. ');' }; lf; lf",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["write:", "lf", "asJavascript", "selector", "protocol", "compiledSource", "fn", "arguments", "source", "referencedClasses", "messageSends", "methodClass"]
+messageSends: ["write:", "lf", "asJavaScriptSource", "selector", "protocol", "compiledSource", "fn", "arguments", "source", "referencedClasses", "messageSends", "methodClass"]
 }),
 $globals.Exporter);
 
@@ -1500,7 +1500,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-$recv(aStream)._write_(["$core.packages[",$recv($recv(aPackage)._name())._asJavascript(),"].innerEval = ","function (expr) { return eval(expr); }",";"]);
+$recv(aStream)._write_(["$core.packages[",$recv($recv(aPackage)._name())._asJavaScriptSource(),"].innerEval = ","function (expr) { return eval(expr); }",";"]);
 $recv(aStream)._lf();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1509,10 +1509,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aPackage", "aStream"],
-source: "exportPackageContextOf: aPackage on: aStream\x0a\x09aStream\x0a\x09\x09write: {\x0a\x09\x09\x09'$core.packages['.\x0a\x09\x09\x09aPackage name asJavascript.\x0a\x09\x09\x09'].innerEval = '.\x0a\x09\x09\x09'function (expr) { return eval(expr); }'.\x0a\x09\x09\x09';' };\x0a\x09\x09lf",
+source: "exportPackageContextOf: aPackage on: aStream\x0a\x09aStream\x0a\x09\x09write: {\x0a\x09\x09\x09'$core.packages['.\x0a\x09\x09\x09aPackage name asJavaScriptSource.\x0a\x09\x09\x09'].innerEval = '.\x0a\x09\x09\x09'function (expr) { return eval(expr); }'.\x0a\x09\x09\x09';' };\x0a\x09\x09lf",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["write:", "asJavascript", "name", "lf"]
+messageSends: ["write:", "asJavaScriptSource", "name", "lf"]
 }),
 $globals.Exporter);
 
@@ -1525,7 +1525,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-$recv(aStream)._write_(["$core.addPackage(",$recv($recv(aPackage)._name())._asJavascript(),");"]);
+$recv(aStream)._write_(["$core.addPackage(",$recv($recv(aPackage)._name())._asJavaScriptSource(),");"]);
 $recv(aStream)._lf();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1534,10 +1534,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aPackage", "aStream"],
-source: "exportPackageDefinitionOf: aPackage on: aStream\x0a\x09aStream\x0a\x09\x09write: { '$core.addPackage('. aPackage name asJavascript. ');' };\x0a\x09\x09lf",
+source: "exportPackageDefinitionOf: aPackage on: aStream\x0a\x09aStream\x0a\x09\x09write: { '$core.addPackage('. aPackage name asJavaScriptSource. ');' };\x0a\x09\x09lf",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["write:", "asJavascript", "name", "lf"]
+messageSends: ["write:", "asJavaScriptSource", "name", "lf"]
 }),
 $globals.Exporter);
 
@@ -1579,11 +1579,11 @@ $recv($recv(aPackage)._importsAsJson())._ifNotEmpty_((function(imports){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=$recv($recv(aPackage)._name())._asJavascript();
+$2=$recv($recv(aPackage)._name())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx["asJavascript"]=1;
+$ctx2.sendIdx["asJavaScriptSource"]=1;
 //>>excludeEnd("ctx");
-$1=["$core.packages[",$2,"].imports = ",$recv(imports)._asJavascript(),";"];
+$1=["$core.packages[",$2,"].imports = ",$recv(imports)._asJavaScriptSource(),";"];
 $recv(aStream)._write_($1);
 return $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1597,10 +1597,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aPackage", "aStream"],
-source: "exportPackageImportsOf: aPackage on: aStream\x0a\x09aPackage importsAsJson ifNotEmpty: [ :imports |\x0a\x09\x09aStream\x0a\x09\x09\x09write: {\x0a\x09\x09\x09\x09'$core.packages['.\x0a\x09\x09\x09\x09aPackage name asJavascript.\x0a\x09\x09\x09\x09'].imports = '.\x0a\x09\x09\x09\x09imports asJavascript.\x0a\x09\x09\x09\x09';' };\x0a\x09\x09\x09lf ]",
+source: "exportPackageImportsOf: aPackage on: aStream\x0a\x09aPackage importsAsJson ifNotEmpty: [ :imports |\x0a\x09\x09aStream\x0a\x09\x09\x09write: {\x0a\x09\x09\x09\x09'$core.packages['.\x0a\x09\x09\x09\x09aPackage name asJavaScriptSource.\x0a\x09\x09\x09\x09'].imports = '.\x0a\x09\x09\x09\x09imports asJavaScriptSource.\x0a\x09\x09\x09\x09';' };\x0a\x09\x09\x09lf ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["ifNotEmpty:", "importsAsJson", "write:", "asJavascript", "name", "lf"]
+messageSends: ["ifNotEmpty:", "importsAsJson", "write:", "asJavaScriptSource", "name", "lf"]
 }),
 $globals.Exporter);
 
@@ -1678,7 +1678,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-$recv(aStream)._write_(["$core.packages[",$recv($recv(aPackage)._name())._asJavascript(),"].transport = ",$recv($recv(aPackage)._transport())._asJSONString(),";"]);
+$recv(aStream)._write_(["$core.packages[",$recv($recv(aPackage)._name())._asJavaScriptSource(),"].transport = ",$recv($recv(aPackage)._transport())._asJSONString(),";"]);
 $recv(aStream)._lf();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1687,10 +1687,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aPackage", "aStream"],
-source: "exportPackageTransportOf: aPackage on: aStream\x0a\x09aStream\x0a\x09\x09write: {\x0a\x09\x09\x09'$core.packages['.\x0a\x09\x09\x09aPackage name asJavascript.\x0a\x09\x09\x09'].transport = '.\x0a\x09\x09\x09aPackage transport asJSONString.\x0a\x09\x09\x09';' };\x0a\x09\x09lf",
+source: "exportPackageTransportOf: aPackage on: aStream\x0a\x09aStream\x0a\x09\x09write: {\x0a\x09\x09\x09'$core.packages['.\x0a\x09\x09\x09aPackage name asJavaScriptSource.\x0a\x09\x09\x09'].transport = '.\x0a\x09\x09\x09aPackage transport asJSONString.\x0a\x09\x09\x09';' };\x0a\x09\x09lf",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["write:", "asJavascript", "name", "asJSONString", "transport", "lf"]
+messageSends: ["write:", "asJavaScriptSource", "name", "asJSONString", "transport", "lf"]
 }),
 $globals.Exporter);
 
@@ -1704,11 +1704,11 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $2,$1;
-$2=$recv(aTraitComposition)._asJavascript();
+$2=$recv(aTraitComposition)._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=1;
+$ctx1.sendIdx["asJavaScriptSource"]=1;
 //>>excludeEnd("ctx");
-$1=["$core.setTraitComposition(",$2,", ",$recv(aBehavior)._asJavascript(),");"];
+$1=["$core.setTraitComposition(",$2,", ",$recv(aBehavior)._asJavaScriptSource(),");"];
 $recv(aStream)._write_($1);
 $recv(aStream)._lf();
 return self;
@@ -1718,10 +1718,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aTraitComposition", "aBehavior", "aStream"],
-source: "exportTraitComposition: aTraitComposition of: aBehavior on: aStream\x0a\x09aStream write: {\x0a\x09\x09'$core.setTraitComposition('.\x0a\x09\x09aTraitComposition asJavascript.\x0a\x09\x09', '.\x0a\x09\x09aBehavior asJavascript.\x0a\x09\x09');' };\x0a\x09lf",
+source: "exportTraitComposition: aTraitComposition of: aBehavior on: aStream\x0a\x09aStream write: {\x0a\x09\x09'$core.setTraitComposition('.\x0a\x09\x09aTraitComposition asJavaScriptSource.\x0a\x09\x09', '.\x0a\x09\x09aBehavior asJavaScriptSource.\x0a\x09\x09');' };\x0a\x09lf",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["write:", "asJavascript", "lf"]
+messageSends: ["write:", "asJavaScriptSource", "lf"]
 }),
 $globals.Exporter);
 
@@ -1739,13 +1739,13 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["lf"]=1;
 //>>excludeEnd("ctx");
-$3=$recv($recv(aClass)._name())._asJavascript();
+$3=$recv($recv(aClass)._name())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=1;
+$ctx1.sendIdx["asJavaScriptSource"]=1;
 //>>excludeEnd("ctx");
-$4=$recv($recv(aClass)._category())._asJavascript();
+$4=$recv($recv(aClass)._category())._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["asJavascript"]=2;
+$ctx1.sendIdx["asJavaScriptSource"]=2;
 //>>excludeEnd("ctx");
 $2=["$core.addTrait(",$3,", ",$4,");"];
 $1=$recv(aStream)._write_($2);
@@ -1772,11 +1772,11 @@ $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx["lf"]=3;
 //>>excludeEnd("ctx");
-$7=$recv(aClass)._asJavascript();
+$7=$recv(aClass)._asJavaScriptSource();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx["asJavascript"]=3;
+$ctx2.sendIdx["asJavaScriptSource"]=3;
 //>>excludeEnd("ctx");
-$6=[$7,".comment=",$recv($recv($recv(aClass)._comment())._crlfSanitized())._asJavascript(),";"];
+$6=[$7,".comment=",$recv($recv($recv(aClass)._comment())._crlfSanitized())._asJavaScriptSource(),";"];
 $recv(aStream)._write_($6);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx["write:"]=3;
@@ -1798,10 +1798,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aClass", "aStream"],
-source: "exportTraitDefinitionOf: aClass on: aStream\x0a\x09aStream\x0a\x09\x09lf;\x0a\x09\x09write: {\x0a\x09\x09\x09'$core.addTrait('.\x0a\x09\x09\x09aClass name asJavascript. ', '.\x0a\x09\x09\x09aClass category asJavascript.\x0a\x09\x09\x09');' }.\x0a\x09aClass comment ifNotEmpty: [\x0a\x09\x09aStream\x0a\x09\x09\x09lf;\x0a\x09\x09\x09write: '//>>excludeStart(\x22ide\x22, pragmas.excludeIdeData);'; lf;\x0a\x09\x09\x09write: { aClass asJavascript. '.comment='. aClass comment crlfSanitized asJavascript. ';' }; lf;\x0a\x09\x09\x09write: '//>>excludeEnd(\x22ide\x22);' ].\x0a\x09aStream lf",
+source: "exportTraitDefinitionOf: aClass on: aStream\x0a\x09aStream\x0a\x09\x09lf;\x0a\x09\x09write: {\x0a\x09\x09\x09'$core.addTrait('.\x0a\x09\x09\x09aClass name asJavaScriptSource. ', '.\x0a\x09\x09\x09aClass category asJavaScriptSource.\x0a\x09\x09\x09');' }.\x0a\x09aClass comment ifNotEmpty: [\x0a\x09\x09aStream\x0a\x09\x09\x09lf;\x0a\x09\x09\x09write: '//>>excludeStart(\x22ide\x22, pragmas.excludeIdeData);'; lf;\x0a\x09\x09\x09write: { aClass asJavaScriptSource. '.comment='. aClass comment crlfSanitized asJavaScriptSource. ';' }; lf;\x0a\x09\x09\x09write: '//>>excludeEnd(\x22ide\x22);' ].\x0a\x09aStream lf",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["lf", "write:", "asJavascript", "name", "category", "ifNotEmpty:", "comment", "crlfSanitized"]
+messageSends: ["lf", "write:", "asJavaScriptSource", "name", "category", "ifNotEmpty:", "comment", "crlfSanitized"]
 }),
 $globals.Exporter);
 
@@ -2057,7 +2057,7 @@ $12=$recv($13).__comma($recv($recv(loadDependencies)._asArray())._sorted());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx[","]=5;
 //>>excludeEnd("ctx");
-$11=$recv($12)._asJavascript();
+$11=$recv($12)._asJavaScriptSource();
 $10=$recv($11)._replace_with_(",\x5cs*[\x22']:1:[\x22']",pragmaStart);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["replace:with:"]=2;
@@ -2087,10 +2087,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aPackage", "aStream"],
-source: "exportPackagePrologueOf: aPackage on: aStream\x0a\x09| importsForOutput loadDependencies pragmaStart pragmaEnd |\x0a\x09pragmaStart := ''.\x0a\x09pragmaEnd := ''.\x0a\x09importsForOutput := self importsForOutput: aPackage.\x0a\x09loadDependencies := self amdNamesOfPackages: aPackage loadDependencies.\x0a\x09importsForOutput value ifNotEmpty: [\x0a\x09\x09pragmaStart := String lf, '//>>excludeStart(\x22imports\x22, pragmas.excludeImports);', String lf.\x0a\x09\x09pragmaEnd := String lf, '//>>excludeEnd(\x22imports\x22);', String lf ].\x0a\x09aStream\x0a\x09\x09write: {\x0a\x09\x09\x09'define('.\x0a\x09\x09\x09((#('amber/boot' ':1:'), importsForOutput value, #(':2:'), loadDependencies asArray sorted) asJavascript\x0a\x09\x09\x09\x09replace: ',\x5cs*[\x22'']:1:[\x22'']' with: pragmaStart)\x0a\x09\x09\x09\x09replace: ',\x5cs*[\x22'']:2:[\x22'']' with: pragmaEnd.\x0a\x09\x09\x09', function('.\x0a\x09\x09\x09((((#('$boot' ':1:'), importsForOutput key, #(':2:')) join: ',') \x0a\x09\x09\x09\x09replace: ',\x5cs*:1:' with: pragmaStart)\x0a\x09\x09\x09\x09replace: ',\x5cs*:2:' with: pragmaEnd).\x0a\x09\x09\x09'){\x22use strict\x22;' };\x0a\x09\x09lf.\x0a\x09self exportPackageBodyBlockPrologueOf: aPackage on: aStream",
+source: "exportPackagePrologueOf: aPackage on: aStream\x0a\x09| importsForOutput loadDependencies pragmaStart pragmaEnd |\x0a\x09pragmaStart := ''.\x0a\x09pragmaEnd := ''.\x0a\x09importsForOutput := self importsForOutput: aPackage.\x0a\x09loadDependencies := self amdNamesOfPackages: aPackage loadDependencies.\x0a\x09importsForOutput value ifNotEmpty: [\x0a\x09\x09pragmaStart := String lf, '//>>excludeStart(\x22imports\x22, pragmas.excludeImports);', String lf.\x0a\x09\x09pragmaEnd := String lf, '//>>excludeEnd(\x22imports\x22);', String lf ].\x0a\x09aStream\x0a\x09\x09write: {\x0a\x09\x09\x09'define('.\x0a\x09\x09\x09((#('amber/boot' ':1:'), importsForOutput value, #(':2:'), loadDependencies asArray sorted) asJavaScriptSource\x0a\x09\x09\x09\x09replace: ',\x5cs*[\x22'']:1:[\x22'']' with: pragmaStart)\x0a\x09\x09\x09\x09replace: ',\x5cs*[\x22'']:2:[\x22'']' with: pragmaEnd.\x0a\x09\x09\x09', function('.\x0a\x09\x09\x09((((#('$boot' ':1:'), importsForOutput key, #(':2:')) join: ',') \x0a\x09\x09\x09\x09replace: ',\x5cs*:1:' with: pragmaStart)\x0a\x09\x09\x09\x09replace: ',\x5cs*:2:' with: pragmaEnd).\x0a\x09\x09\x09'){\x22use strict\x22;' };\x0a\x09\x09lf.\x0a\x09self exportPackageBodyBlockPrologueOf: aPackage on: aStream",
 referencedClasses: ["String"],
 //>>excludeEnd("ide");
-messageSends: ["importsForOutput:", "amdNamesOfPackages:", "loadDependencies", "ifNotEmpty:", "value", ",", "lf", "write:", "replace:with:", "asJavascript", "sorted", "asArray", "join:", "key", "exportPackageBodyBlockPrologueOf:on:"]
+messageSends: ["importsForOutput:", "amdNamesOfPackages:", "loadDependencies", "ifNotEmpty:", "value", ",", "lf", "write:", "replace:with:", "asJavaScriptSource", "sorted", "asArray", "join:", "key", "exportPackageBodyBlockPrologueOf:on:"]
 }),
 $globals.AmdExporter);
 
@@ -3521,7 +3521,7 @@ $globals.PackageTransport.comment="I represent the transport mechanism used to c
 //>>excludeEnd("ide");
 $core.addMethod(
 $core.method({
-selector: "asJSON",
+selector: "asJavaScriptObject",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -3530,12 +3530,12 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $globals.HashedCollection._newFromPairs_(["type",self._type()]);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJSON",{},$globals.PackageTransport)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptObject",{},$globals.PackageTransport)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09^ #{ 'type' -> self type }",
+source: "asJavaScriptObject\x0a\x09^ #{ 'type' -> self type }",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["type"]
@@ -3984,7 +3984,7 @@ $globals.AmdPackageTransport.comment="I am the default transport for committing
 //>>excludeEnd("ide");
 $core.addMethod(
 $core.method({
-selector: "asJSON",
+selector: "asJavaScriptObject",
 protocol: "converting",
 fn: function (){
 var self=this;
@@ -3996,22 +3996,22 @@ $1=(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
-($globals.AmdPackageTransport.superclass||$boot.nilAsClass).fn.prototype._asJSON.apply($recv(self), []));
+($globals.AmdPackageTransport.superclass||$boot.nilAsClass).fn.prototype._asJavaScriptObject.apply($recv(self), []));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
 $recv($1)._at_put_("amdNamespace",self._namespace());
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"asJSON",{},$globals.AmdPackageTransport)});
+}, function($ctx1) {$ctx1.fill(self,"asJavaScriptObject",{},$globals.AmdPackageTransport)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJSON\x0a\x09^ super asJSON\x0a\x09\x09at: 'amdNamespace' put: self namespace;\x0a\x09\x09yourself",
+source: "asJavaScriptObject\x0a\x09^ super asJavaScriptObject\x0a\x09\x09at: 'amdNamespace' put: self namespace;\x0a\x09\x09yourself",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["at:put:", "asJSON", "namespace", "yourself"]
+messageSends: ["at:put:", "asJavaScriptObject", "namespace", "yourself"]
 }),
 $globals.AmdPackageTransport);
 

+ 27 - 27
src/Platform-ImportExport.st

@@ -310,16 +310,16 @@ exportDefinitionOf: aClass on: aStream
 		lf;
 		write: {
 			'$core.addClass('.
-			aClass name asJavascript. ', '.
-			aClass superclass ifNil: [ 'null' ] ifNotNil: [ :superclass | superclass asJavascript ]. ', '.
-			aClass instanceVariableNames asJavascript. ', '.
-			aClass category asJavascript.
+			aClass name asJavaScriptSource. ', '.
+			aClass superclass ifNil: [ 'null' ] ifNotNil: [ :superclass | superclass asJavaScriptSource ]. ', '.
+			aClass instanceVariableNames asJavaScriptSource. ', '.
+			aClass category asJavaScriptSource.
 			');' }.
 	aClass comment ifNotEmpty: [
 		aStream
 			lf;
 			write: '//>>excludeStart("ide", pragmas.excludeIdeData);'; lf;
-			write: { aClass asJavascript. '.comment='. aClass comment crlfSanitized asJavascript. ';' }; lf;
+			write: { aClass asJavaScriptSource. '.comment='. aClass comment crlfSanitized asJavaScriptSource. ';' }; lf;
 			write: '//>>excludeEnd("ide");' ].
 	aStream lf
 !
@@ -327,7 +327,7 @@ exportDefinitionOf: aClass on: aStream
 exportMetaDefinitionOf: aClass on: aStream
 	aStream lf.
 	aClass theMetaClass instanceVariableNames ifNotEmpty: [ :classIvars | aStream
-		write: { aClass theMetaClass asJavascript. '.iVarNames = '. classIvars asJavascript. ';' };
+		write: { aClass theMetaClass asJavaScriptSource. '.iVarNames = '. classIvars asJavaScriptSource. ';' };
 		lf ]
 !
 
@@ -335,17 +335,17 @@ exportMethod: aMethod on: aStream
 	aStream
 		write: '$core.addMethod('; lf;
 		write: '$core.method({'; lf;
-		write: { 'selector: '. aMethod selector asJavascript. ',' }; lf;
-		write: { 'protocol: '. aMethod protocol asJavascript. ',' }; lf;
+		write: { 'selector: '. aMethod selector asJavaScriptSource. ',' }; lf;
+		write: { 'protocol: '. aMethod protocol asJavaScriptSource. ',' }; lf;
 		write: { 'fn: '. aMethod fn compiledSource. ',' }; lf;
 		write: '//>>excludeStart("ide", pragmas.excludeIdeData);'; lf;
-		write: { 'args: '. aMethod arguments asJavascript. ',' }; lf;
-		write: { 'source: '. aMethod source asJavascript. ',' }; lf;
-		write: { 'referencedClasses: '. aMethod referencedClasses asJavascript. ',' }; lf;
+		write: { 'args: '. aMethod arguments asJavaScriptSource. ',' }; lf;
+		write: { 'source: '. aMethod source asJavaScriptSource. ',' }; lf;
+		write: { 'referencedClasses: '. aMethod referencedClasses asJavaScriptSource. ',' }; lf;
 		write: '//>>excludeEnd("ide");'; lf;
-		write: { 'messageSends: '. aMethod messageSends asJavascript }; lf;
+		write: { 'messageSends: '. aMethod messageSends asJavaScriptSource }; lf;
 		write: '}),'; lf;
-		write: { aMethod methodClass asJavascript. ');' }; lf; lf
+		write: { aMethod methodClass asJavaScriptSource. ');' }; lf; lf
 !
 
 exportPackage: aPackage on: aStream
@@ -380,7 +380,7 @@ exportPackageContextOf: aPackage on: aStream
 	aStream
 		write: {
 			'$core.packages['.
-			aPackage name asJavascript.
+			aPackage name asJavaScriptSource.
 			'].innerEval = '.
 			'function (expr) { return eval(expr); }'.
 			';' };
@@ -389,7 +389,7 @@ exportPackageContextOf: aPackage on: aStream
 
 exportPackageDefinitionOf: aPackage on: aStream
 	aStream
-		write: { '$core.addPackage('. aPackage name asJavascript. ');' };
+		write: { '$core.addPackage('. aPackage name asJavaScriptSource. ');' };
 		lf
 !
 
@@ -402,9 +402,9 @@ exportPackageImportsOf: aPackage on: aStream
 		aStream
 			write: {
 				'$core.packages['.
-				aPackage name asJavascript.
+				aPackage name asJavaScriptSource.
 				'].imports = '.
-				imports asJavascript.
+				imports asJavaScriptSource.
 				';' };
 			lf ]
 !
@@ -423,7 +423,7 @@ exportPackageTransportOf: aPackage on: aStream
 	aStream
 		write: {
 			'$core.packages['.
-			aPackage name asJavascript.
+			aPackage name asJavaScriptSource.
 			'].transport = '.
 			aPackage transport asJSONString.
 			';' };
@@ -433,9 +433,9 @@ exportPackageTransportOf: aPackage on: aStream
 exportTraitComposition: aTraitComposition of: aBehavior on: aStream
 	aStream write: {
 		'$core.setTraitComposition('.
-		aTraitComposition asJavascript.
+		aTraitComposition asJavaScriptSource.
 		', '.
-		aBehavior asJavascript.
+		aBehavior asJavaScriptSource.
 		');' };
 	lf
 !
@@ -445,14 +445,14 @@ exportTraitDefinitionOf: aClass on: aStream
 		lf;
 		write: {
 			'$core.addTrait('.
-			aClass name asJavascript. ', '.
-			aClass category asJavascript.
+			aClass name asJavaScriptSource. ', '.
+			aClass category asJavaScriptSource.
 			');' }.
 	aClass comment ifNotEmpty: [
 		aStream
 			lf;
 			write: '//>>excludeStart("ide", pragmas.excludeIdeData);'; lf;
-			write: { aClass asJavascript. '.comment='. aClass comment crlfSanitized asJavascript. ';' }; lf;
+			write: { aClass asJavaScriptSource. '.comment='. aClass comment crlfSanitized asJavaScriptSource. ';' }; lf;
 			write: '//>>excludeEnd("ide");' ].
 	aStream lf
 ! !
@@ -483,7 +483,7 @@ exportPackagePrologueOf: aPackage on: aStream
 	aStream
 		write: {
 			'define('.
-			((#('amber/boot' ':1:'), importsForOutput value, #(':2:'), loadDependencies asArray sorted) asJavascript
+			((#('amber/boot' ':1:'), importsForOutput value, #(':2:'), loadDependencies asArray sorted) asJavaScriptSource
 				replace: ',\s*["'']:1:["'']' with: pragmaStart)
 				replace: ',\s*["'']:2:["'']' with: pragmaEnd.
 			', function('.
@@ -964,7 +964,7 @@ commitOnSuccess: aBlock onError: anotherBlock
 
 !PackageTransport methodsFor: 'converting'!
 
-asJSON
+asJavaScriptObject
 	^ #{ 'type' -> self type }
 ! !
 
@@ -1078,8 +1078,8 @@ setPath: aString
 
 !AmdPackageTransport methodsFor: 'converting'!
 
-asJSON
-	^ super asJSON
+asJavaScriptObject
+	^ super asJavaScriptObject
 		at: 'amdNamespace' put: self namespace;
 		yourself
 ! !