| 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. |