| | 22 | * {{{body}}} (''string''): returns the body of the given macro. |
| | 23 | }}} |
| | 24 | |
| | 25 | = Macro entity = |
| | 26 | |
| | 27 | Preprocessor macro directives can be queried using the macro entity. |
| | 28 | |
| | 29 | == Initial selector == |
| | 30 | * {{{@macro}}}: this selector can be used to start a query with the currently selected macro. |
| | 31 | |
| | 32 | == Selectors == |
| | 33 | |
| | 34 | ''In parentheses you find the type of the result elements.'' |
| | 35 | |
| | 36 | * {{{refs}}} (''expression''): returns every expression that refers to the given macro with the form {{{?Macro...}}}. |
| | 37 | * {{{file}}} (''file''): returns the file entity that the macro is defined in. |
| | 38 | |
| | 39 | == Properties == |
| | 40 | |
| | 41 | Macro entities have the following properties: |
| | 42 | * {{{name}}} (''atom, string''): returns the identifier of the macro. |
| | 43 | * {{{arity}}} (''int''): returns the arity of a given parametric macro. In case of a constant macro the arity is 0. |
| | 44 | * {{{const}}} (''bool''): returns true if the given macro is a constant. Note, that there are parametric macros with no parameters, they are treated as non-constant macros. |