File size: 773 Bytes
8f3f8db
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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: $)