diff options
Diffstat (limited to 'prism/magic_comments.h')
| -rw-r--r-- | prism/magic_comments.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/prism/magic_comments.h b/prism/magic_comments.h new file mode 100644 index 0000000000..c9d6b600e8 --- /dev/null +++ b/prism/magic_comments.h @@ -0,0 +1,35 @@ +/** + * @file magic_comments.h + * + * Types and functions related to magic comments found during parsing. + */ +#ifndef PRISM_MAGIC_COMMENTS_H +#define PRISM_MAGIC_COMMENTS_H + +#include "prism/compiler/exported.h" +#include "prism/compiler/nonnull.h" + +#include "prism/ast.h" + +#include <stddef.h> + +/** An opaque pointer to a magic comment found while parsing. */ +typedef struct pm_magic_comment_t pm_magic_comment_t; + +/** + * Returns the location of the key associated with the given magic comment. + * + * @param magic_comment the magic comment whose key location we want to get + * @returns the location of the key associated with the given magic comment + */ +PRISM_EXPORTED_FUNCTION pm_location_t pm_magic_comment_key(const pm_magic_comment_t *magic_comment) PRISM_NONNULL(1); + +/** + * Returns the location of the value associated with the given magic comment. + * + * @param magic_comment the magic comment whose value location we want to get + * @returns the location of the value associated with the given magic comment + */ +PRISM_EXPORTED_FUNCTION pm_location_t pm_magic_comment_value(const pm_magic_comment_t *magic_comment) PRISM_NONNULL(1); + +#endif |
