Spaces:
Running
Running
| transformations | |
| extractStaticDirective | |
| "Scan the top-level statements for an inlining directive of the form: | |
| self static: <boolean> | |
| and remove the directive from the method body. Answer the argument of the | |
| directive. If there is no static directive, answer true if this is an api method, | |
| otherwise answer nil for undefined. The code generator may determine the | |
| static declaration when undefined." | |
| ^self | |
| extractDirective: #static: | |
| valueBlock: [:sendNode| sendNode args first value ~= false] | |
| default: (((properties includesKey: #api) or: [properties includesKey: #api:]) | |
| ifTrue: [false] "api methods cannot be declared static" | |
| ifFalse: [nil]) "undefined, defer to the code generator for default" |