| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inside glibtransformer, we now look at structures ending in "Class" and
see if they have an associated GlibObject (i.e. a structure of the same
name without the "Class" suffix). If found, pair them up.
The .gir file for <class> gains an attribute denoting its associated
class struct. Any <record> many now have a glib:is-class-struct-for
annotation which tells which (if any) <class> for which it defines the
layout.
In the .typelib, we record the association between the class and
its structure. Generic structures however just have a boolean
saying whether they're a class struct. (Going from a generic class
struct to its class should not be necessary).
Finally, we expose GIRepository APIs to access both bits of information
from the .typelib.
svn path=/trunk/; revision=1088
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-01-03 Andreas Rottmann <a.rottmann@gmx.at>
Bug 556489 – callback annotations
* giscanner/transformer.py
* tools/generate.c (write_callable_info): Write out the new scope,
closure and destroy attributes.
* giscanner/transformer.py (Transformer._type_is_callback): New
method, checking if a given type is a callback.
(Transformer._augment_callback_params): New method; adds
information (closure, destroy) to callback parameters.
(Transformer._handle_closure, Transformer._handle_destroy): New methods,
auxiliary to _augment_callback_params.
(Transformer._create_function): Call _augment_callback_params().
(Transformer._create_parameter): Handle scope option.
(Transformer._create_typedef_callback): New method, creates a
callback, and registers it in the typedef namespace
(Transformer._create_typedef): Use _create_typedef_callback()
instead of the plain _create_callback().
* giscanner/ast.py (Parameter): Added callback-related fields.
* giscanner/girwriter.py: Write out new Parameter fields.
* girepository/girnode.h (GIrNodeParam): Added fields scope,
closure and destroy.
* girepository/gtypelib.h (ArgBlob): Ditto.
* girepository/girparser.c (start_parameter): Handle new fields.
* girepository/girmodule.c (g_ir_module_build_typelib): Adjust
arg_blob_size, bump major version due to this change.
* girepository/girnode.c (g_ir_node_get_full_size_internal)
(g_ir_node_build_typelib)
* girepository/gtypelib.c (g_typelib_check_sanity): ArgBlob size
adjustments.
(g_ir_node_build_typelib): Fill in new ArgBlob flags from param.
* girepository/girepository.h (GIScope): New enumeration, listing
the different possible scopes for callbacks.
* girepository/ginfo.c (g_arg_info_get_scope)
(g_arg_info_get_closure, g_arg_info_get_destroy): Accessors for
callback-related argument indices (callback scope, closure for a
callback, destroy notification for a callback).
* tests/scanner/: Added testcases for new features.
svn path=/trunk/; revision=998
|
|
|
|
| |
svn path=/trunk/; revision=977
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-11-25 Colin Walters <walters@verbum.org>
Bug 559705 – Missing association between static methods and classes
* docs/typelib-format.txt:
* girepository/ginfo.c (g_function_info_get_flags):
* girepository/girmodule.c (g_ir_module_build_typelib):
* girepository/girnode.c (g_ir_node_get_size),
(g_ir_node_build_typelib):
* girepository/girparser.c (start_function):
* girepository/gtypelib.c (g_typelib_check_sanity),
(validate_header), (validate_function_blob):
* girepository/gtypelib.h:
* giscanner/ast.py:
* giscanner/girwriter.py:
* giscanner/glibtransformer.py:
* tests/scanner/foo-1.0-expected.gir:
* tests/scanner/foo-1.0-expected.tgir:
* tests/scanner/foo.h:
svn path=/trunk/; revision=972
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Include the size and alignment of structures and unions in the typelib,
and add getter methods to retrieve them from GIStructInfo/GIUnionInfo.
* docs/typelib-format.txt girepository/gtypelib.h girepository/girnode.c
girepository/girmodule.c girepository/gtypelib.c: Add size and alignment
to StructBlob and UnionBlob.
* girepository/ginfo.c girepository/girepository.h:
Add g_[struct|union]_get[size|alignment]().
* test/offsets/gen-gitestoffsets: Test overall structure size and alignment.
svn path=/trunk/; revision=930
|
|
|
|
| |
svn path=/trunk/; revision=912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-10-31 Johan Dahlin <jdahlin@async.com.br>
* NEWS:
* configure.ac:
* docs/release-checklist.txt:
0.6.0
svn path=/trunk/; revision=854
|
|
|
|
|
|
|
|
|
|
|
| |
2008-10-31 Johan Dahlin <jdahlin@async.com.br>
* Makefile.am: add an upload-release target
* docs/release-checklist.txt:
Release process documentation
svn path=/trunk/; revision=853
|
|
|
|
|
|
|
|
|
|
| |
2008-10-31 Johan Dahlin <jdahlin@async.com.br>
* docs/g-ir-scanner.1:
Document the renaming options.
svn path=/trunk/; revision=850
|
|
|
|
| |
svn path=/trunk/; revision=848
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
* docs/typelib-format.txt:
* girepository/ginfo.c (g_arg_info_may_be_null):
* girepository/girnode.c (g_ir_node_build_typelib):
* girepository/girnode.h (struct _GIrNodeParam):
* girepository/girparser.c (start_parameter):
* girepository/girwriter.c (function_generate):
* girepository/gtypelib.h (ArgBlob):
* tests/errors.gir:
* tests/function.gir:
* tools/generate.c (write_callable_info): Use 'allow-none'
consistently throughout
svn path=/trunk/; revision=782
|
|
|
|
| |
svn path=/trunk/; revision=757
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a big patch. You should probably remove your installation
tree to be cleaner.
* docs/typelib-format.txt: Add nsversion entry which holds
version of namespace.
* girepository/girepository.h: Add 'version' parameter to
g_irepository_require. This may be NULL. Normally
bindings should pass an explicit version though.
* girepository/girepository.c: Lots of infrastructure to
support versioning. Add some more documentation. Disallow
some usage of NULL namespaces.
* girepository/girmodule.c: Add version parameter.
* girepository/gtypelib.c: Update header size.
* giscanner/ast.py: Add version to Namespace.
* giscanner/girparser.py: Parse version attribute from
XML, pass to Namespace.
* giscanner/girwriter.py: Write out version parameter.
* giscanner/transformer.py: Clean up include registration.
* tests/*: Add version attribute.
* tests/invoke/invoke.c: Don't try looking up test before
it's loaded in repository.
* tools/generate.c: Output version parameter.
* gir/Makefile.am: Add 2.0 version to .gir files.
svn path=/trunk/; revision=677
|
|
|
|
| |
svn path=/trunk/; revision=641
|
|
|
|
|
|
|
|
| |
2008-09-09 Owen Taylor <otaylor@redhat.com>
* docs/typelib-format.txt: Wether => Whether
svn path=/trunk/; revision=589
|
|
|
|
|
|
|
|
|
| |
2008-09-06 Johan Dahlin <johan@gnome.org>
* docs/g-ir-generate.1: Remove leading %
svn path=/trunk/; revision=573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gir/Makefile.am: Dep on Makefile
* girepository/ginfo.c: Print out a nicer error
message if we failed to load something.
* girepository/girepository.c: Clean up
default typelib handling; remove global
default_typelib variable. Ensure we handle
NULL repository in more places.
Support dependency resolution.
* tests/Makefile.am: Kill off gobject.gir,
it conflicts with the real one.
* tests/Object.gir: Depend on GObject.
* tools/generate.c: Take --includedir
argument to say which directories to search
for typelibs. Print out dependencies.
svn path=/trunk/; revision=541
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-08-29 Johan Dahlin <johan@gnome.org>
* Makefile.am:
* docs/g-ir-compiler.1:
* docs/g-ir-generate.1:
* docs/g-ir-scanner.1:
Add man pages for the generator and compiler.
svn path=/trunk/; revision=518
|
|
|
|
|
|
|
|
|
| |
2008-08-29 Johan Dahlin <johan@gnome.org>
* docs/g-ir-scanner.1: Document
svn path=/trunk/; revision=517
|
|
|
|
|
|
|
|
|
| |
2008-08-18 Johan Dahlin <johan@gnome.org>
* docs/global-module-registry.txt: Update
svn path=/trunk/; revision=396
|
|
|
|
|
|
|
|
|
|
| |
2008-08-17 Johan Dahlin <johan@gnome.org>
* docs/global-module-registry.txt:
Add a document for an on disk module registry format
svn path=/trunk/; revision=393
|
|
|
|
| |
svn path=/trunk/; revision=294
|
|
|
|
| |
svn path=/trunk/; revision=293
|
|
2008-04-29 Johan Dahlin <jdahlin@async.com.br>
* Makefile.am:
* docs/g-ir-scanner.1:
* metadata-annotations-proposal.txt:
* metadata-format.txt:
Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
svn path=/trunk/; revision=259
|