2007-10-19 Jürg Billeter <j@bitron.ch>
+ * gobject-introspection/gidlparser.c: fix state changes in `requires'
+ elements
+ * vapigen/valagidlparser.vala: support flags and use name attribute
+ of object elements
+
+2007-10-19 Jürg Billeter <j@bitron.ch>
+
* vala/valaenum.vala: support Flags attribute
* vala/valainterfacewriter.vala: support Flags and ErrorDomain
attributes for enums and add `break' to keyword list
ctx->state = STATE_OBJECT;
break;
case STATE_REQUIRES:
- ctx->state = STATE_INTERFACE;
+ if (strcmp (element_name, "requires") == 0)
+ ctx->state = STATE_INTERFACE;
break;
case STATE_PARAMETERS:
if (strcmp (element_name, "parameters") == 0)
en.name = fix_type_name (en.name, ns);
ns.add_enum (en);
current_source_file.add_node (en);
+ } else if (node.type == IdlNodeTypeId.FLAGS) {
+ var en = parse_enum ((IdlNodeEnum) node);
+ en.name = fix_type_name (en.name, ns);
+ en.is_flags = true;
+ ns.add_enum (en);
+ current_source_file.add_node (en);
} else if (node.type == IdlNodeTypeId.OBJECT) {
parse_object ((IdlNodeInterface) node, ns, module);
} else if (node.type == IdlNodeTypeId.INTERFACE) {
}
private void parse_object (IdlNodeInterface! node, Namespace! ns, IdlModule! module) {
- string name = fix_type_name (node.gtype_name, ns);
+ string name = fix_type_name (((IdlNode) node).name, ns);
string base_class = null;