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