diff options
author | Søren Sandmann <sandmann@redhat.com> | 2007-09-02 17:43:02 -0400 |
---|---|---|
committer | Søren Sandmann <sandmann@redhat.com> | 2007-09-02 17:43:02 -0400 |
commit | ba62afa8a48fa85233db4335fb69c869d879e5e0 (patch) | |
tree | 20c84ede0123a272d41e5050e84398353945ab63 /ast.c | |
parent | 779fe9eef50fa392e4991f43767935b1bb14568f (diff) |
Support identifier types
Diffstat (limited to 'ast.c')
-rw-r--r-- | ast.c | 23 |
1 files changed, 21 insertions, 2 deletions
@@ -335,6 +335,16 @@ ast_type_spec_new (ast_type_spec_type_t type) } ast_type_spec_t * +ast_type_spec_new_identifier (const char *name) +{ + ast_type_spec_t *type_spec = ast_type_spec_new (AST_IDENTIFIER_TYPE); + + type_spec->identifier.name = g_strdup (name); + + return type_spec; +} + +ast_type_spec_t * ast_type_spec_new_function (ast_type_spec_t *return_, ast_type_spec_t **args) { @@ -346,12 +356,21 @@ ast_type_spec_new_function (ast_type_spec_t *return_, return type_spec; } +void +ast_type_spec_init_class (ast_type_spec_t *type_spec, + ast_class_definition_t *class) +{ + type_spec->common.type = AST_CLASS_TYPE; + + type_spec->class.class = class; +} + ast_type_spec_t * -ast_type_spec_new_class (ast_class_definition_t *class) +ast_type_spec_new_class (ast_class_definition_t *class) { ast_type_spec_t *type_spec = ast_type_spec_new (AST_CLASS_TYPE); - type_spec->class.class = class; + ast_type_spec_init_class (type_spec, class); return type_spec; } |