scratch0-5 / utils /VMMakerJS.package /JSMethod.class /instance /emitJSFunctionHeader.generator.newlineBeforeName..st
soiz1's picture
Upload folder using huggingface_hub
8f3f8db verified
raw
history blame contribute delete
773 Bytes
JS code generation
emitJSFunctionHeader: aStream generator: aCodeGen newlineBeforeName: newlineBeforeName "<Boolean>"
"Emit a JS function header for this method onto the given stream."
aStream nextPutAll: 'function'.
newlineBeforeName ifTrue: [aStream cr] ifFalse: [aStream space].
(returnType last = $)
and: [returnType includesSubString: (aCodeGen jsFunctionNameFor: self selectorForCodeGeneration)]) ifTrue:
["Hack fix for e.g. <returnTypeC: 'void (*setInterruptCheckChain(void (*aFunction)(void)))()'>"
^self].
aStream
nextPutAll: (aCodeGen jsFunctionNameFor: self selectorForCodeGeneration);
nextPut: $(.
args
do: [:arg | aStream nextPutAll: (aCodeGen returnPrefixFromVariable: arg)]
separatedBy: [ aStream nextPutAll: ', ' ].
aStream nextPut: $)