summaryrefslogtreecommitdiff
path: root/girepository/giroffsets.c
Commit message (Collapse)AuthorAgeFilesLines
* docs: fix up reference docs a bitDieter Verfaillie2013-10-101-1/+1
| | | | | | | | | | | | | - require GTK-Doc 1.19 - remove sgml mode - automatically generate gi.types (needs GTK-Doc 1.19) - fix https://bugzilla.gnome.org/show_bug.cgi?id=700025 [WIP] - rearange sections a bit [WIP] - add gi-building, gi-programming sections [WIP] - mark missing docs with TODO, which is only marginaly better than nothing but at least can be grepped :) https://bugzilla.gnome.org/show_bug.cgi?id=571648
* girepository: Remove C99ism and other updatesChun-wei Fan2012-10-271-2/+2
| | | | | | | | | | -Make code using libgirepository_internals relocatable on Windows, like what is done in the GTK+ stack, and the girepository DLL. -Remove C99isms -"interface" is a reserved keyword on certain compilers, so change that to "giinterface" https://bugzilla.gnome.org/show_bug.cgi?id=681820
* Add Emacs mode lines to C sourcesColin Walters2012-02-031-1/+2
|
* Rename ALIGN to GI_ALIGN to prevent redefining this macro on some platformsJasper Lievisse Adriaanse2011-06-211-5/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=652625
* girepository: Consistently prefix internal functions with _Colin Walters2010-11-161-7/+7
| | | | | This should better avoid them being exported. Rename girepository-parser.la to girepository-internals.la for clarity.
* Export gi_type_tag_get_ffi_typeColin Walters2010-11-091-2/+2
| | | | | | This is needed by the offsets code, and is generally useful. We need to export it for a future patch which won't export symbols with a leading _.
* Compute enumeration storage types more accuratelyOwen W. Taylor2010-11-011-25/+61
| | | | | | | | | | Previously we just were sloppy and didn't bother to accurately compute signed/unsigned for enumeration types. But since we expect bindings to decode a field value or function return value from an integer to an enumeration they have know whether an integer value is 0xffffffff or -1, so we need to do the full computation. https://bugzilla.gnome.org/show_bug.cgi?id=629704
* [gircompiler] Clean up parsingColin Walters2010-08-171-48/+48
| | | | | | | | | | | | | | We never actually include multiple modules in the compiler, so just nuke that. Also rather than passing around GIrModule consistently pass around a GIrTypelibBuild structure which has various things. This lets us maintain a stack there which we can walk for better error messages. Also, fix up the node lookup in giroffsets.c; previously it didn't really handle includes correctly. We really need to switch to always using Foo.Bar (i.e. GIName) names internally...
* [girepository] Kill girffi-private.hJohan Dahlin2010-06-061-2/+2
|
* Fix marshalling of GStrv.GOBJECT_INTROSPECTION_0_6_13Tomeu Vizoso2010-06-021-5/+5
| | | | | | | | | | | | | | | | | | * gir/gimarshallingtests.[hc]: Add a test for GStrv in function args and as struct fields. * girepository/giroffsets.c: Correctly compute the size of structs with array fields * girepository/girparser.c: Set is_pointer to FALSE for arrays with fixed size that are inside structs. * giscanner/glibtransformer.py: Special case GStrv as arrays of utf8. * giscanner/annotationparser.py: Make full transfer the default for arrays of char* returned by functions. https://bugzilla.gnome.org/show_bug.cgi?id=620170
* [giroffsets] Also update this code for change to signed enumeration valuesColin Walters2010-04-071-2/+2
|
* [girepository] Remove trailing whitespaceJohan Dahlin2010-03-241-4/+4
|
* [g-ir-compiler] Slightly less lame error messagesColin Walters2010-02-111-1/+1
| | | | | | To make things really better we should track the line origin of element from the .gir file (and actually we need to do better checking in the scanner), but this is slightly less lame.
* [girffi] Clean up API, add g_function_info_prep_invokerColin Walters2009-12-161-2/+2
| | | | | | | | | | | | | | Rather than having bindings use g_function_info_invoke, which is basically a toy/demo API, export a convenience utility function which takes the introspection information and sets up things we need to pass to libffi. Then invocation can be done directly to libffi by a binding. As part of this work, remove some (unused by gjs) public functions from the girffi API, and instead export a function to map to libffi which can work semi-correctly. https://bugzilla.gnome.org/show_bug.cgi?id=604074
* Implement callbacks as part of struct fields. Fixes #557383Tomeu Vizoso2009-11-111-1/+8
| | | | | | gir: embed <callback> inside <field> typelib: if a field contains a callback, store it just after the FieldBlob girepository API: no additions
* Add gtk-doc supportJohan Dahlin2009-02-121-1/+1
|
* Bug 569408, Bug 568680 - Scanner misses fields (at least in GObject.Object)Colin Walters2009-02-021-2/+3
| | | | | | | | The scanner misses all fields of the GObject struct -- there are no <field> children of the <class> element for GObject in the GIR. This of course yields wrong field offsets for all derived objects. svn path=/trunk/; revision=1079
* Bug 563469 – Arrays not treated correctly in struct offset calculationColin Walters2009-02-021-26/+57
| | | | | | | Arrays are currently not handled specially, and hence treated as pointers in giroffsets.c:get_field_size_alignment(), which is (obviously) wrong. svn path=/trunk/; revision=1078
* Add "storage type" to the typelib data for enumsOwen Taylor2008-11-181-9/+54
| | | | | | | | | | | | | | | | | | | | | In order to set and get enum and flag fields in structures, we need to know the integral type that the enumeration is stored as. We are already computing that at compile time in order to compute struct offsets, so the easiest thing to do is to save that in the typelib. * docs/typelib-format.txt girepository/girnode.[ch] girepository/giroffsets.c girepository/gtypelib.h: Add 'storage_type' to the typelib format for EnumBlob and compute and save it at compile time. * girepository/girepository.h girepository/ginfo.c: Add g_enum_info_get_storage_type(). * girepository/gfield.c: Implement reading and writing enum and flags fields based on the storage type. http://bugzilla.gnome.org/show_bug.cgi?id=561296 svn path=/trunk/; revision=944
* Compute field offsets and overall size for object structuresOwen Taylor2008-11-111-0/+21
| | | | | | | | | | | | | | | 2008-11-11 Owen Taylor <otaylor@redhat.com> Compute field offsets and overall size for object structures Bug 560326 – Fails to build Gtk-2.0.typelib with "Unexpected non-pointer field of type object in structure" Do basic computation of field offsets for objects and interfaces; this doesn't attempt to address all of the "mess" for virtual functions described in Bug 560281. svn path=/trunk/; revision=888
* Include fully-qualified names in all error messages.Owen Taylor2008-11-111-18/+26
| | | | | | | | | 2008-11-11 Owen Taylor <otaylor@redhat.com> * girepository/giroffsets.c: Include fully-qualified names in all error messages. svn path=/trunk/; revision=884
* Fail gracefully with an informative error message when recursion isOwen Taylor2008-11-111-5/+29
| | | | | | | | | | 2008-11-11 Owen Taylor <otaylor@redhat.com> * girepository/giroffsets.c: Fail gracefully with an informative error message when recursion is encountered when computing a structure size. svn path=/trunk/; revision=882
* Bug 560252 - Compute field offsets before writing typelibOwen Taylor2008-11-111-0/+413
girnode.h: Store the total size and alignment for GIrNodeStruct/Boxed/Union. giroffset.c: New file implementing computation of structure field offsets. girnode.c: Compute structure field offsets before writing types into the typelib. docs/typelib-format.txt: Document that a field offset of 0xFFFF means "unknown". Also fix description of the discriminator_offset field for unions. svn path=/trunk/; revision=876