From e3e84400529899854fe06f7d110685f50be26a18 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 4 Feb 2009 00:48:24 +0000 Subject: Bug 555960 - Nested structs and unions (generation portion) Patch from Andreas Rottmann . * tests/scanner/utility.h (UtilityTaggedValue): Make the union member anonymous. (UtilityByte): New union typedef with an unnamed struct in it. * giscanner/transformer.py (Transformer._create_struct): Create unnamed structs for symbols with a None ident. (Transformer._create_union): Likewise. * giscanner/girwriter.py (GIRWriter._write_record): Allow name being None. (GIRWriter._write_union): Likewise. * girepository/girparser.c (start_struct): Allow a NULL name for non-toplevel structs. (start_union): Likewise. * tests/scanner/utility.h (UtilityTaggedValue): New struct typedef, which has a nested union member. * tests/scanner/utility-expected.gir: Adapted. * giscanner/transformer.py (Transformer._create_member): Create struct/union members if appropriate. (Transformer._create_struct, Transformer._create_union): Allow for structs/unions without a C type. * giscanner/glibtransformer.py (GLibTransformer._resolve_field): We don't need to resolve non-typef'd (GLibTransformer._resolve_field): Add cases for non-typedef'd struct/union "fields". * giscanner/girwriter.py (GIRWriter._write_record): Allow for records without a C type. (GIRWriter._write_field): structs and unions may appear in places where fields do. svn path=/trunk/; revision=1082 --- ChangeLog | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index bf515721..97d6b3b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,40 @@ +2009-02-03 Andreas Rottmann + + * tests/scanner/utility.h (UtilityTaggedValue): Make the union + member anonymous. + (UtilityByte): New union typedef with an unnamed struct in it. + + * giscanner/transformer.py (Transformer._create_struct): Create + unnamed structs for symbols with a None ident. + (Transformer._create_union): Likewise. + + * giscanner/girwriter.py (GIRWriter._write_record): Allow name + being None. + (GIRWriter._write_union): Likewise. + + * girepository/girparser.c (start_struct): Allow a NULL name for + non-toplevel structs. + (start_union): Likewise. + + * tests/scanner/utility.h (UtilityTaggedValue): New struct + typedef, which has a nested union member. + * tests/scanner/utility-expected.gir: Adapted. + + * giscanner/transformer.py (Transformer._create_member): Create + struct/union members if appropriate. + (Transformer._create_struct, Transformer._create_union): Allow for + structs/unions without a C type. + + * giscanner/glibtransformer.py (GLibTransformer._resolve_field): + We don't need to resolve non-typef'd + (GLibTransformer._resolve_field): Add cases for non-typedef'd + struct/union "fields". + + * giscanner/girwriter.py (GIRWriter._write_record): Allow for + records without a C type. + (GIRWriter._write_field): structs and unions may appear in places + where fields do. + 2009-02-03 Andreas Rottmann * girepository/girparser.c (ParseContext): Removed member -- cgit v1.2.1