specifying primitives extractPrimitiveDirectives "Set selectorOverride, and save args in fullArgs. Scan top-level statements for a directive of the form: self primitive: or self primitive: parameters: or self primitive: parameters: receiver: or an assignment of that expression to a local, and manipulate the state and parse tree accordingly." parseTree setStatements: (Array streamContents: [:sStream | parseTree statements do: [:stmt | (self primitiveDirectiveWasHandled: stmt on: sStream) ifFalse: [sStream nextPut: stmt]]]). isPrimitive ifTrue: [export := true. parseTree setStatements: self namedPrimitiveProlog, parseTree statements. self fixUpReturns. self replaceSizeMessages. ^true] ifFalse: [self removeFinalSelfReturn]. ^false