summaryrefslogtreecommitdiff
path: root/giscanner/scannerparser.y
diff options
context:
space:
mode:
authorGiovanni Campagna <gcampagna@src.gnome.org>2011-04-03 23:13:09 +0200
committerGiovanni Campagna <gcampagna@src.gnome.org>2011-05-12 19:46:35 +0200
commit89908f752a9467f0659c2d93aaf7ee1b99716119 (patch)
treee8272cf6691e6dd9c87f3f7fffb1adc2c09a264e /giscanner/scannerparser.y
parentb8247d8291f3386363933710d09f698e5e8e98bd (diff)
downloadgobject-introspection-89908f752a9467f0659c2d93aaf7ee1b99716119.tar.gz
GScannerParser: recognize character constants
Some enumerations (like GVariantClass) use characters instead of plain integers, so we need to recognize them. https://bugzilla.gnome.org/show_bug.cgi?id=646635
Diffstat (limited to 'giscanner/scannerparser.y')
-rw-r--r--giscanner/scannerparser.y4
1 files changed, 3 insertions, 1 deletions
diff --git a/giscanner/scannerparser.y b/giscanner/scannerparser.y
index fc4a2850..6400f728 100644
--- a/giscanner/scannerparser.y
+++ b/giscanner/scannerparser.y
@@ -243,7 +243,9 @@ primary_expression
}
| CHARACTER
{
- $$ = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, lineno);
+ $$ = gi_source_symbol_new (CSYMBOL_TYPE_CONST, lineno);
+ $$->const_int_set = TRUE;
+ $$->const_int = g_utf8_get_char(yytext + 1);
}
| FLOATING
{