Commit graph

3 commits

Author SHA1 Message Date
James Westman
fd55a5abf2
Fix flag values
Enums/bitfields have a C identifier, a GLib nick, and a GIR name. The
last two are usually the same except the nick uses '-' and the GIR name
uses '_'. It is confusing.

Blueprint tries to use GIR names for everything, but GTK requires a C
identifier or GLib nick for enum and bitfield values. Blueprint was
sometimes passing the GIR name through instead of finding one of the
other names. Fixed by always emitting the C identifier for enums and
bitfields where the GIR type is known.
2022-06-10 13:30:12 -05:00
James Westman
bebe784d1d
Fix type check for flags when only one is present
When only one flag is specified, it's parsed as an IdentValue rather
than a FlagsValue, so IdentValue needs to be able to type check flags
(aka bitfields) properly.

Fixes #47
2022-03-02 13:57:30 -06:00
James Westman
80b5698533
Improve value parsing
Parse values as different AST nodes rather than just strings. This
allows for better validation and will eventually make expressions
possible.
2021-11-01 21:51:25 -05:00