summaryrefslogtreecommitdiff
path: root/giscanner/scannerparser.y
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner/scannerparser.y')
-rw-r--r--giscanner/scannerparser.y9
1 files changed, 9 insertions, 0 deletions
diff --git a/giscanner/scannerparser.y b/giscanner/scannerparser.y
index 29d98b41..6a2ffc1d 100644
--- a/giscanner/scannerparser.y
+++ b/giscanner/scannerparser.y
@@ -1500,6 +1500,15 @@ object_macro
function_macro_define
: function_macro '(' identifier_list ')'
+ {
+ GISourceSymbol *sym = gi_source_symbol_new (CSYMBOL_TYPE_FUNCTION_MACRO, scanner->current_file, lineno);
+ GISourceType *func = gi_source_function_new ();
+ sym->ident = g_strdup ($1);
+ func->child_list = $3;
+ gi_source_symbol_merge_type (sym, func);
+ gi_source_scanner_add_symbol (scanner, sym);
+ gi_source_symbol_unref (sym);
+ }
;
object_macro_define