|  | @@ -274,17 +274,6 @@ ownMethodsOfMetaClass: aClass
 | 
	
		
			
				|  |  |  	^ self ownMethodsOfClass: aClass theMetaClass
 | 
	
		
			
				|  |  |  ! !
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -!Exporter methodsFor: 'convenience'!
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -jsClassNameFor: aClass
 | 
	
		
			
				|  |  | -	^ aClass isMetaclass
 | 
	
		
			
				|  |  | -		ifTrue: [ (self jsClassNameFor: aClass instanceClass), '.klass' ]
 | 
	
		
			
				|  |  | -		ifFalse: [
 | 
	
		
			
				|  |  | -			aClass
 | 
	
		
			
				|  |  | -				ifNil: [ 'null' ]
 | 
	
		
			
				|  |  | -				ifNotNil: [ '$globals.', aClass name ] ]
 | 
	
		
			
				|  |  | -! !
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  !Exporter methodsFor: 'output'!
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  exportBehavior: aBehavior on: aStream
 | 
	
	
		
			
				|  | @@ -297,22 +286,20 @@ exportDefinitionOf: aClass on: aStream
 | 
	
		
			
				|  |  |  	aStream
 | 
	
		
			
				|  |  |  		lf;
 | 
	
		
			
				|  |  |  		nextPutAll: '$core.addClass(';
 | 
	
		
			
				|  |  | -		nextPutAll: '''', (self classNameFor: aClass), ''', ';
 | 
	
		
			
				|  |  | -		nextPutAll: (self jsClassNameFor: aClass superclass);
 | 
	
		
			
				|  |  | -		nextPutAll: ', ['.
 | 
	
		
			
				|  |  | -	aClass instanceVariableNames
 | 
	
		
			
				|  |  | -		do: [ :each | aStream nextPutAll: '''', each, '''' ]
 | 
	
		
			
				|  |  | -		separatedBy: [ aStream nextPutAll: ', ' ].
 | 
	
		
			
				|  |  | -	aStream
 | 
	
		
			
				|  |  | -		nextPutAll: '], ''';
 | 
	
		
			
				|  |  | -		nextPutAll: aClass category, '''';
 | 
	
		
			
				|  |  | +		nextPutAll: (self classNameFor: aClass) asJavascript;
 | 
	
		
			
				|  |  | +		nextPutAll: ', ';
 | 
	
		
			
				|  |  | +		nextPutAll: (aClass superclass ifNil: [ 'null' ] ifNotNil: [ :superclass | superclass asJavascript ]);
 | 
	
		
			
				|  |  | +		nextPutAll: ', ';
 | 
	
		
			
				|  |  | +		nextPutAll: aClass instanceVariableNames asJavascript;
 | 
	
		
			
				|  |  | +		nextPutAll: ', ';
 | 
	
		
			
				|  |  | +		nextPutAll: aClass category asJavascript;
 | 
	
		
			
				|  |  |  		nextPutAll: ');'.
 | 
	
		
			
				|  |  |  	aClass comment ifNotEmpty: [
 | 
	
		
			
				|  |  |  		aStream
 | 
	
		
			
				|  |  |  			lf;
 | 
	
		
			
				|  |  |  			nextPutAll: '//>>excludeStart("ide", pragmas.excludeIdeData);';
 | 
	
		
			
				|  |  |  			lf;
 | 
	
		
			
				|  |  | -			nextPutAll: (self jsClassNameFor: aClass);
 | 
	
		
			
				|  |  | +			nextPutAll: aClass asJavascript;
 | 
	
		
			
				|  |  |  			nextPutAll: '.comment=';
 | 
	
		
			
				|  |  |  			nextPutAll: aClass comment crlfSanitized asJavascript;
 | 
	
		
			
				|  |  |  			nextPutAll: ';';
 | 
	
	
		
			
				|  | @@ -325,12 +312,11 @@ exportMetaDefinitionOf: aClass on: aStream
 | 
	
		
			
				|  |  |  	aStream lf.
 | 
	
		
			
				|  |  |  	aClass theMetaClass instanceVariableNames ifNotEmpty: [ :classIvars |
 | 
	
		
			
				|  |  |  		aStream
 | 
	
		
			
				|  |  | -		nextPutAll: (self jsClassNameFor: aClass theMetaClass);
 | 
	
		
			
				|  |  | -		nextPutAll: '.iVarNames = ['.
 | 
	
		
			
				|  |  | -		classIvars
 | 
	
		
			
				|  |  | -		do: [ :each | aStream nextPutAll: '''', each, '''' ]
 | 
	
		
			
				|  |  | -		separatedBy: [ aStream nextPutAll: ',' ].
 | 
	
		
			
				|  |  | -		aStream nextPutAll: '];', String lf ]
 | 
	
		
			
				|  |  | +		nextPutAll: aClass theMetaClass asJavascript;
 | 
	
		
			
				|  |  | +		nextPutAll: '.iVarNames = ';
 | 
	
		
			
				|  |  | +		nextPutAll: classIvars asJavascript;
 | 
	
		
			
				|  |  | +		nextPutAll: ';';
 | 
	
		
			
				|  |  | +		lf ]
 | 
	
		
			
				|  |  |  !
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  exportMethod: aMethod on: aStream
 | 
	
	
		
			
				|  | @@ -338,7 +324,7 @@ exportMethod: aMethod on: aStream
 | 
	
		
			
				|  |  |  		nextPutAll: '$core.addMethod(';lf;
 | 
	
		
			
				|  |  |  		nextPutAll: '$core.method({';lf;
 | 
	
		
			
				|  |  |  		nextPutAll: 'selector: ', aMethod selector asJavascript, ',';lf;
 | 
	
		
			
				|  |  | -		nextPutAll: 'protocol: ''', aMethod protocol, ''',';lf;
 | 
	
		
			
				|  |  | +		nextPutAll: 'protocol: ', aMethod protocol asJavascript, ',';lf;
 | 
	
		
			
				|  |  |  		nextPutAll: 'fn: ', aMethod fn compiledSource, ',';lf;
 | 
	
		
			
				|  |  |  		nextPutAll: '//>>excludeStart("ide", pragmas.excludeIdeData);';lf;
 | 
	
		
			
				|  |  |  		nextPutAll: 'args: ', aMethod arguments asJavascript, ','; lf;
 | 
	
	
		
			
				|  | @@ -347,7 +333,7 @@ exportMethod: aMethod on: aStream
 | 
	
		
			
				|  |  |  		nextPutAll: '//>>excludeEnd("ide");';lf;
 | 
	
		
			
				|  |  |  		nextPutAll: 'messageSends: ', aMethod messageSends asJavascript;lf;
 | 
	
		
			
				|  |  |  		nextPutAll: '}),';lf;
 | 
	
		
			
				|  |  | -		nextPutAll: (self jsClassNameFor: aMethod methodClass);
 | 
	
		
			
				|  |  | +		nextPutAll: aMethod methodClass asJavascript;
 | 
	
		
			
				|  |  |  		nextPutAll: ');';lf;lf
 | 
	
		
			
				|  |  |  !
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -393,7 +379,8 @@ exportPackageContextOf: aPackage on: aStream
 | 
	
		
			
				|  |  |  exportPackageDefinitionOf: aPackage on: aStream
 | 
	
		
			
				|  |  |  	aStream
 | 
	
		
			
				|  |  |  		nextPutAll: '$core.addPackage(';
 | 
	
		
			
				|  |  | -		nextPutAll: '''', aPackage name, ''');';
 | 
	
		
			
				|  |  | +		nextPutAll: aPackage name asJavascript;
 | 
	
		
			
				|  |  | +		nextPutAll: ');';
 | 
	
		
			
				|  |  |  		lf
 | 
	
		
			
				|  |  |  !
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -430,15 +417,16 @@ exportTraitDefinitionOf: aClass on: aStream
 | 
	
		
			
				|  |  |  	aStream
 | 
	
		
			
				|  |  |  		lf;
 | 
	
		
			
				|  |  |  		nextPutAll: '$core.addTrait(';
 | 
	
		
			
				|  |  | -		nextPutAll: '''', (self classNameFor: aClass), ''', ''';
 | 
	
		
			
				|  |  | -		nextPutAll: aClass category, '''';
 | 
	
		
			
				|  |  | +		nextPutAll: (self classNameFor: aClass) asJavascript;
 | 
	
		
			
				|  |  | +		nextPutAll: ', ';
 | 
	
		
			
				|  |  | +		nextPutAll: aClass category asJavascript;
 | 
	
		
			
				|  |  |  		nextPutAll: ');'.
 | 
	
		
			
				|  |  |  	aClass comment ifNotEmpty: [
 | 
	
		
			
				|  |  |  		aStream
 | 
	
		
			
				|  |  |  			lf;
 | 
	
		
			
				|  |  |  			nextPutAll: '//>>excludeStart("ide", pragmas.excludeIdeData);';
 | 
	
		
			
				|  |  |  			lf;
 | 
	
		
			
				|  |  | -			nextPutAll: (self jsClassNameFor: aClass);
 | 
	
		
			
				|  |  | +			nextPutAll: aClass asJavascript;
 | 
	
		
			
				|  |  |  			nextPutAll: '.comment=';
 | 
	
		
			
				|  |  |  			nextPutAll: aClass comment crlfSanitized asJavascript;
 | 
	
		
			
				|  |  |  			nextPutAll: ';';
 |