Spaces:
Running
Running
File size: 766 Bytes
8f3f8db |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
JS code generator
emitJSConstantsOn: aStream
"Store the global variable declarations on the given stream."
| unused constList node |
unused := constants keys asSet.
methods do: [ :meth |
meth parseTree nodesDo: [ :n |
n isConstant ifTrue: [ unused remove: n name ifAbsent: []]]].
constList := constants keys reject: [ :any | unused includes: any].
constList isEmpty ifTrue: [^self].
aStream nextPutAll: '/*** Constants ***/';
cr.
constList asSortedCollection do: [ :varName |
node := constants at: varName.
node name isEmpty ifFalse: [
aStream nextPutAll: 'var '.
aStream nextPutAll: node name.
aStream nextPutAll: ' = '.
aStream nextPutAll: (self jsLiteralFor: node value).
aStream nextPut: $;.
aStream cr
].
].
aStream cr. |