summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* giscanner: Create AST nodes for SECTION: doc blocks; add a GIR nodedoc-sectionsJasper St. Pierre2014-06-1010-3/+133
| | | | | These will eventually be paired with the sections file parser to create a set of sections.
* Fix on Last CommitChun-wei Fan2014-06-091-4/+4
| | | | | There aren't architecture-specific naming for binaries for g-i on Windows, so don't bother checking for them.
* MSVC 2010+ Projects: Update "Installation" ProcessChun-wei Fan2014-06-092-17/+33
| | | | | | | | | | | | | | | Currently, due to the way that Visual Studio 2010+ projects are handled, the "install" project does not re-build upon changes to the sources, as it does not believe that its dependencies have changed, although the changed sources are automatically recompiled. This means that if a part or more of the solution does not build, or if the sources need some other fixes or enhancements, the up-to-date build is not copied automatically, which can be misleading. Improve on the situation by forcing the "install" project to trigger its rebuild, so that the updated binaries can be copied. This does trigger an MSBuild warning, but having that warning is way better than not having an up-to-date build, especially during testing and development.
* build: Fix distcheck after addition of identifier filteringSimon Feltman2014-06-031-1/+2
| | | | | Add missing identfilter.py to EXTRA_DIST and correct spelling of Identfilter-1.0-expected.gir.
* scanner: Add --identifier-filter-cmdSimon Feltman2014-06-037-3/+173
| | | | | | | | | Add the command line flag --identifier-filter-cmd to g-ir-scanner which allows running identifier names through a filtering shell command. The identifier is sent as stdin to the filter command and expects a filtered result written to stdout. https://bugzilla.gnome.org/show_bug.cgi?706898
* gimarshallingtests: Correctly retrieve param spec's value typeMatijs van Zuijlen2014-05-301-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=728409
* Update glib annotations from git masterRico Tzschichholz2014-05-241-71/+78
|
* Update glib annotations from git masterRico Tzschichholz2014-05-243-42/+63
|
* girepository: change giarginfo docsRyan Lortie2014-05-141-3/+8
| | | | | | | Clarify the meaning of 'may be null' in the docs: it refers to the value of the argument itself, not the reference to the argument. https://bugzilla.gnome.org/show_bug.cgi?id=660879
* annotationparser: more nullable fixesRyan Lortie2014-05-081-0/+2
| | | | | Add ANN_NULLABLE and ANN_OPTIONAL in the one (and only) other place that ANN_ALLOW_NONE is mentioned...
* tests: fix Regress expected outputRyan Lortie2014-05-071-2/+11
| | | | | Now that Cancellable and AsyncReadyCallback are being correctly recognised again, adjust the expected output of the Regress testcase.
* giscanner: allow (nullable) and (optional)Ryan Lortie2014-05-071-2/+2
| | | | | | | Add (nullable) and (optional) as recognised annotations in the same places that (allow-none) is allowed. This should have been done in the previous commits but the tests were passing because the only ill effect was that a warning was issued.
* Revert "giscanner: don't accept (allow-none) on Returns:"Ryan Lortie2014-05-066-39/+36
| | | | | | | This reverts commit 0839e696e9fbc1942ac5c61054de3b47e9578152. This was accidentally picked up by my 'git bz apply' against the bug as I was getting ready to push the last set of changes.
* giscanner: fix a comparisonRyan Lortie2014-05-061-1/+1
| | | | | | | | In the case that a parameter has not been explicitly annotated, the value of node.direction will be None, not 'in'. Instead of comparing as == 'in' we should therefore check for being != 'out'. https://bugzilla.gnome.org/show_bug.cgi?id=660879
* compiler: girparser: parse 'nullable' attributeRyan Lortie2014-05-061-1/+16
| | | | | | | | | | | Parse the 'nullable' attribute on parameters and function return types. Additionally, tweak the meaning of the 'allow-none' attribute. We now only treat it as equivalent to 'nullable' for non-out parameters. For out parameters, we treat it to mean the same as the already-recognised 'optional' parameter (which we only recently started actually using). https://bugzilla.gnome.org/show_bug.cgi?id=660879
* girepository: ArgBlob: rename allow_none parameterRyan Lortie2014-05-065-11/+11
| | | | | | | | | Rename the "allow_none" parameter on internal/private structure ArgBlob to "nullable". This is a straight rename with no other changes. https://bugzilla.gnome.org/show_bug.cgi?id=660879
* giscanner: support nullable return types tooRyan Lortie2014-05-063-6/+9
| | | | | | | | | | Promote the 'nullable' field to the TypeContainer base class (which is shared by Return and Parameter types). Add .gir support for nullability on return values, both in the writer and in the (scanner's) parser. https://bugzilla.gnome.org/show_bug.cgi?id=660879
* giscanner: add (nullable) and (optional) annotationsRyan Lortie2014-05-062-1/+33
| | | | | | | | | | | Add two new annotations, (nullable) and (optional). (nullable) always means "the type of this value can also contain null". (optional) always means "this out parameter can be ignored by passing NULL to the C function". https://bugzilla.gnome.org/show_bug.cgi?id=660879
* giscanner: write nullable and optional attributesRyan Lortie2014-05-064-21/+70
| | | | | | | | | | | | | | | | | | | Record our internal 'nullable' and 'optional' attributes into the written .gir file. It is now theoretically possible to express the concept of an out parameter with a nullable type (although presently there is no way to do this). Modify our own internal parser (in the scanner) to understand the newly-written attributes. Update the expected output of the 'Regress-1.0.gir' test to account for the new attributes. Nothing else understands 'nullable' yet, but the girparser in the typelib compiler already understands 'optional' and records a bit for it in the typelib. https://bugzilla.gnome.org/show_bug.cgi?id=660879
* giscanner: change some internal field logicRyan Lortie2014-05-063-5/+20
| | | | | | | | | | | | | | | | | | Replace the 'allow_none' field on parameters with two separate fields: 'nullable' and 'optional'. Currently, we use 'nullable' to mean the same thing as 'allow-none' for normal (non-out) parameters. For out parameters, we use the 'optional' field instead. Note that the special case for GCancellable and GAsyncReadyCallback is already guarded by a check for being an in parameter, so we always use 'nullable' here. On the .gir writer side, we decide which variable to consult when writing the allow-none attribute depending on the parameter direction. https://bugzilla.gnome.org/show_bug.cgi?id=660879
* giscanner: tweak GCancellable null special caseRyan Lortie2014-05-061-2/+3
| | | | | | | | | | | | | | We treat GCancellable and GAsyncReadyCallback as if they were always tagged (allow-none) because these parameters universally allow %NULL to be given as a value when they appear as in parameters on functions. Unfortunately, the meaning of (allow-none) is different on out parameters. There it means that you can give %NULL to ignore the return value. Limit this special case to only in parameters. https://bugzilla.gnome.org/show_bug.cgi?id=660879
* maintransformer: split up a complex conditionalRyan Lortie2014-05-061-3/+5
| | | | | | | | | | | | We assign node.allow_none in two separate cases: - if the (allow-none) annotation was given - for GCancellable and GAsyncReadyCallback, as special cases Split the two up. This will simplify future commits. https://bugzilla.gnome.org/show_bug.cgi?id=660879
* giscanner: don't accept (allow-none) on Returns:Dieter Verfaillie2014-05-066-36/+39
| | | | | | | | | The old annotationparser.py happily parsed this, but giscanner/girwriter.py never serialized an allow-none attribute to the .gir file and girepository/girparser.c never looked for an allow-none attribute either. https://bugzilla.gnome.org/show_bug.cgi?id=660879
* giscanner: Use range instead of xrange for Python 3 compatibilitySimon Feltman2014-05-011-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=679438
* giscanner: Use modern exception handling for Python 3 compatibilitySimon Feltman2014-05-011-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=679438
* giscanner: Use Python 3 compatible octal literal syntaxSimon Feltman2014-05-011-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=679438
* Update glib annotations from git masterwip/dx-hackfestRico Tzschichholz2014-04-243-65/+69
|
* build/gi-introspection-msvc.mak: Fix Build and InstallationChun-wei Fan2014-04-161-1/+3
| | | | | | | | Copy the .gir files that are bundled with g-i to build/ before trying to compile the .gir's that were generated during the build process, so that the compilation of these .gir's may succeed. Also, create the share/gir-1.0 and lib/girepository-1.0 directories, if needed, before trying to copy the .gir/.typelib files.
* tests: add implementation of an interfaceLionel Landwerlin2014-04-112-0/+66
| | | | | | | The implementation as a method returning itself as its implemented interface type. https://bugzilla.gnome.org/show_bug.cgi?id=727824
* cachestore: Use "write new, then rename" pattern, not "write in place"Colin Walters2014-04-011-1/+7
| | | | | | | This should fix race conditions when multiple processes attempt to access the cache concurrently. https://bugzilla.gnome.org/show_bug.cgi?id=724886
* build/gi-introspection-msvc.mak: Fix Include PathChun-wei Fan2014-04-011-2/+2
| | | | | | The -I flags for generating GIRepository-2.0.gir should use $(BASEDIR), not %BASEDIR%, as we are not using a Windows .bat to generate the introspection files.
* Release 1.40.0GOBJECT_INTROSPECTION_1_40_0gnome-3-12baserock/GOBJECT_INTROSPECTION_1_40_0Colin Walters2014-03-251-2/+2
|
* Update glib annotationsGiovanni Campagna2014-03-052-3/+3
| | | | Press the secret code too unlock the hidden bonus: GVariantDict!
* doctool: update testsGiovanni Campagna2014-03-05107-150/+304
|
* docwriter/gjs: fix boolean return valuesGiovanni Campagna2014-03-051-1/+1
| | | | | | | | | | | | | | 'ok' != 'return_value', and we never restore 'Returns:'. At the same time, do the same fix for (out) parameters if the return value is void, so this void my_object_get_foo (MyObject *object, Foo *) is turned into function get_foo() : Foo Returns: ....
* docwriter/gjs: restore documentation for return valuesGiovanni Campagna2014-03-051-2/+4
|
* docwriter/gjs: format GObject.Closure as "Function"Giovanni Campagna2014-03-051-0/+2
| | | | | | | | | | GClosures are represented in gjs as JS functions for in parameters, so it makes sense to use Function in place of the boxed structure (which is also not part of the documentation) Note that GClosures returned from C code are marshalled as boxed types, but this is a gjs bug really, and JS code should never touch them.
* docwriter: format bitfields like enumsGiovanni Campagna2014-03-051-2/+2
| | | | They are enums after all.
* docwriter/gjs: format GObject.Value as "Any"Giovanni Campagna2014-03-051-0/+2
| | | | | | GValues are transparently marshalled by GJS, so you can never use them as boxed (and they are not part of the documentation as such).
* tests: Fix function pointer prototype in regress.hSimon Feltman2014-03-031-1/+1
| | | | | This was causing a "warning: function declaration isn't a prototype" with strict-prototypes enabled.
* tests: Add missing regress documentation test pageSimon Feltman2014-03-021-0/+14
| | | | | | Add missing page needed for tests to run after commit 7027bb256 https://bugzilla.gnome.org/show_bug.cgi?id=725198
* g-ir-compiler: Add support for callback fields on GObjectsSimon Feltman2014-02-279-50/+159
| | | | | | | | | | | | | | | | | Use ParseState enum instead of a boolean for the ParseContexts embedded_type flag. This allows specific tracking of the embedded type currently being parsed which can now either be STATE_STRUCT_FIELD or STATE_CLASS_FIELD (or allow for future expansion). Add ParseState::STATE_NONE as the default for this field. Fix GObject FieldBlob validation to take into account the sizeof CallbackBlobs (copied from the struct validator). Add static g_object_info_get_field_offset which parallels g_struct_info_get_field_offset which is needed since callback fields may vary in size. https://bugzilla.gnome.org/show_bug.cgi?id=725198
* Update glib annotations from git masterRico Tzschichholz2014-02-272-16/+94
|
* scanner: Ignore C11 _Noreturn keywordColin Walters2014-02-271-0/+1
| | | | | | | | | | This shows up in the headers in FreeBSD's stdlib. Now I didn't add anything to regress.h because I think that'd introduce an effective hard dependency on a C11-capable compiler, unless we used #ifdef trickery. But the problem with #ifdef is that the -expected.gir isn't conditional. https://bugzilla.gnome.org/show_bug.cgi?id=724851
* scanner: Make sure .libs directory existsРуслан Ижбулатов2014-02-271-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=724882
* PEP8 fixes in shlib.pySimon Feltman2014-02-261-7/+7
| | | | | | | Conform shlibs.py to the PEP8 standard. New additions were causing make check to fail: Fixed E211 whitespace before '(' Fixed E501 line too long (104 > 99 characters)
* doctool: update testsGiovanni Campagna2014-02-26177-314/+1593
|
* docwriter: improve xrefsGiovanni Campagna2014-02-261-7/+17
| | | | | | | | | | | If a xref points to a node that was not visited, because it was not introspectable, don't assume it has no parent. Instead, try to fetch the parent from the node directly. This is still wrong (the xref points nowhere because no page is generated), but it looks less wrong. If OTOH a xref points to a different namespace, generate the link directly, because yelp-build is not capable of translating it.
* girparser: fix parsing of enum methodsGiovanni Campagna2014-02-261-0/+1
| | | | Make sure to set the parent of the function
* docwriter/Gjs: include static methods in the enum pageGiovanni Campagna2014-02-261-0/+8
| | | | | Switch enum from a topic to a guide page, and include links to all static methods.