Spaces:
Running
Running
File size: 681 Bytes
8f3f8db |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
transforming
extractSuppressFailureGuardDirective
"Scan the top-level statements for a pragma directive of the form:
self suppressFailureGuards: <boolean>
and remove the directive from the method body. Answer the argument of the directive or false if there is no #supressFailureGuards: directive."
| result newStatements |
result := false.
newStatements := OrderedCollection new: parseTree statements size.
parseTree statements do: [ :stmt |
(stmt isSend and: [stmt selector = #suppressFailureGuards:]) ifTrue: [
result := stmt args first name = 'true'.
] ifFalse: [
newStatements add: stmt.
].
].
parseTree setStatements: newStatements asArray.
^ result |