|
Cthulhu
0.2.10
Cthulhu compiler collection
|
#include "common.h"#include "core/macros.h"#include "cthulhu/events/events.h"#include "cthulhu/tree/query.h"#include "std/vector.h"#include "memory/memory.h"#include "arena/arena.h"#include "base/panic.h"#include <stdint.h>#include <stdio.h>
Go to the source code of this file.
Macros | |
| #define | CHECK_CASE(TY) CTASSERTF(tree_is(TY, eTreeDeclCase), "expected case, got %s", tree_to_string(TY)); |
Functions | |
| tree_t * | tree_resolve (tree_cookie_t *cookie, const tree_t *decl) |
| tree_t * | tree_resolve_type (tree_cookie_t *cookie, const tree_t *decl) |
| tree_t * | tree_decl_global (const node_t *node, const char *name, tree_storage_t storage, const tree_t *type, tree_t *value) |
| tree_t * | tree_open_global (const node_t *node, const char *name, const tree_t *type, tree_resolve_info_t resolve) |
| tree_t * | tree_open_function (const node_t *node, const char *name, const tree_t *signature, tree_resolve_info_t resolve) |
| void | tree_close_global (tree_t *self, tree_t *value) |
| void | tree_close_function (tree_t *self, tree_t *body) |
| tree_t * | tree_decl_param (const node_t *node, const char *name, const tree_t *type) |
| tree_t * | tree_decl_field (const node_t *node, const char *name, const tree_t *type) |
| tree_t * | tree_decl_local (const node_t *node, const char *name, tree_storage_t storage, const tree_t *type) |
| tree_t * | tree_decl_case (const node_t *node, const char *name, const tree_t *type, tree_t *expr) |
| tree_t * | tree_open_decl (const node_t *node, const char *name, tree_resolve_info_t resolve) |
| void | tree_close_decl (tree_t *self, const tree_t *other) |
| tree_t * | tree_decl_function (const node_t *node, const char *name, const tree_t *signature, const vector_t *params, vector_t *locals, tree_t *body) |
| tree_t * | tree_decl_attrib (const node_t *node, const char *name, vector_t *params) |
| void | tree_add_local (tree_t *self, tree_t *decl) |
| void | tree_set_attrib (tree_t *self, const tree_attribs_t *attrib) |
| tree_t * | tree_alias (const tree_t *tree, const char *name) |
| tree_t * | tree_type_alias (const node_t *node, const char *name, const tree_t *type, tree_quals_t quals) |
| const tree_t * | tree_follow_type (const tree_t *type) |
| tree_t * | tree_decl_struct (const node_t *node, const char *name, vector_t *fields) |
| tree_t * | tree_open_struct (const node_t *node, const char *name, tree_resolve_info_t resolve) |
| void | tree_close_struct (tree_t *self, vector_t *fields) |
| tree_t * | tree_decl_union (const node_t *node, const char *name, vector_t *fields) |
| tree_t * | tree_open_union (const node_t *node, const char *name, tree_resolve_info_t resolve) |
| void | tree_close_union (tree_t *self, vector_t *fields) |
| tree_t * | tree_decl_enum (const node_t *node, const char *name, const tree_t *underlying, vector_t *fields, tree_t *default_case) |
| tree_t * | tree_open_enum (const node_t *node, const char *name, tree_resolve_info_t resolve) |
| void | tree_close_enum (tree_t *self, const tree_t *underlying, vector_t *cases, tree_t *default_case) |