Spaces:
Running
Running
| JS code generation | |
| emitInlineOn: aStream level: level generator: aCodeGen | |
| "Emit C code for this method onto the given stream. All calls to inlined methods should already have been expanded." | |
| self removeUnusedTemps. | |
| sharedLabel ifNotNil:[ | |
| aStream crtab: level-1; nextPutAll: sharedLabel; nextPutAll:':'. | |
| aStream crtab: level. | |
| aStream nextPutAll: '/* '; nextPutAll: selector; nextPutAll: ' */'. | |
| aStream crtab: level. | |
| ]. | |
| aStream nextPutAll:'{'; cr. | |
| locals do: [ :var | | |
| aStream tab: level+1. | |
| aStream nextPutAll: (declarations at: var ifAbsent: [ 'sqInt ', var]), ';'; cr. | |
| ]. | |
| parseTree emitJSCodeOn: aStream level: level+1 generator: aCodeGen. | |
| aStream tab: level; nextPutAll: '}'; cr. |