AgeCommit message (Collapse)AuthorFilesLines
2014-04-24Update glib annotations from git masterHEADmasterRico Tzschichholz3-65/+69
2014-04-16build/gi-introspection-msvc.mak: Fix Build and InstallationChun-wei Fan1-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.
2014-04-11tests: add implementation of an interfaceLionel Landwerlin2-0/+66
The implementation as a method returning itself as its implemented interface type.
2014-04-01cachestore: Use "write new, then rename" pattern, not "write in place"Colin Walters1-1/+7
This should fix race conditions when multiple processes attempt to access the cache concurrently.
2014-04-01build/gi-introspection-msvc.mak: Fix Include PathChun-wei Fan1-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.
2014-03-25Release 1.40.0Colin Walters1-2/+2
2014-03-05Update glib annotationsGiovanni Campagna2-3/+3
Press the secret code too unlock the hidden bonus: GVariantDict!
2014-03-05doctool: update testsGiovanni Campagna107-150/+304
2014-03-05docwriter/gjs: fix boolean return valuesGiovanni Campagna1-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: ....
2014-03-05docwriter/gjs: restore documentation for return valuesGiovanni Campagna1-2/+4
2014-03-05docwriter/gjs: format GObject.Closure as "Function"Giovanni Campagna1-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.
2014-03-05docwriter: format bitfields like enumsGiovanni Campagna1-2/+2
They are enums after all.
2014-03-05docwriter/gjs: format GObject.Value as "Any"Giovanni Campagna1-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).
2014-03-03tests: Fix function pointer prototype in regress.hSimon Feltman1-1/+1
This was causing a "warning: function declaration isn't a prototype" with strict-prototypes enabled.
2014-03-03tests: Add missing regress documentation test pageSimon Feltman1-0/+14
Add missing page needed for tests to run after commit 7027bb256
2014-02-27g-ir-compiler: Add support for callback fields on GObjectsSimon Feltman9-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.
2014-02-27Update glib annotations from git masterRico Tzschichholz2-16/+94
2014-02-27scanner: Ignore C11 _Noreturn keywordColin Walters1-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.
2014-02-27scanner: Make sure .libs directory existsРуслан Ижбулатов1-0/+1
2014-02-26PEP8 fixes in shlib.pySimon Feltman1-7/+7
Conform to the PEP8 standard. New additions were causing make check to fail: Fixed E211 whitespace before '(' Fixed E501 line too long (104 > 99 characters)
2014-02-26doctool: update testsGiovanni Campagna177-314/+1593
2014-02-26docwriter: improve xrefsGiovanni Campagna1-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.
2014-02-26girparser: fix parsing of enum methodsGiovanni Campagna1-0/+1
Make sure to set the parent of the function
2014-02-26docwriter/Gjs: include static methods in the enum pageGiovanni Campagna1-0/+8
Switch enum from a topic to a guide page, and include links to all static methods.
2014-02-26docwriter: extend the "node without namespace" filtering to all languagesGiovanni Campagna1-8/+8
As the comment says, it's an AST bug, the structure there cannot be reasonably represented in gobject-introspection, and it makes the tests for C and Python crash, so whatever.
2014-02-26maintransformer: don't pair methods if the symbol prefix does not match with ↵Giovanni Campagna4-7/+69
a final underscore In cases like g_resources_register() and gdk_events_get_angle(), the c_symbol_prefix of the first parameter (resp. g_resource and gdk_event) is a prefix of the symbol, but the next character is not _, so that should not be considered a method. For backward compatibility reasons, we still generate one, but then it's not included in the documentation (because of moved_to)
2014-02-26docwriter: don't ignore disguised structuresGiovanni Campagna1-2/+4
Unless they have no methods, static methods and constructors (because then they are useless) Fixes GLib.BookmarkFile, GLib.PatternSpec and probably others.
2014-02-26docwriter/gjs: fix constructorsGiovanni Campagna1-12/+13
We should only look at introspectable constructors when resolving the default and zero args. Also, a disguised structure or one with zero fields can't be allocated directly. In addition, restore availability of all constructors, because we need a page to document the default one, and because some classes have problems with GObject construction.
2014-02-26docwriter/gjs: include non GObject instantiatable typesGiovanni Campagna1-13/+10
Support for fundamental types was just merged in gjs, so just filter out GParamSpec subclasses (because there is only one class in gjs)
2014-02-26docwriter/gjs: add support for shadowed function namesGiovanni Campagna2-5/+17
If a function is shadowed, omit it from the documentation, and if a function shadows, uses the new name.
2014-02-26docwriter/gjs: report arrays of (u)int8 and GBytes as ByteArrayGiovanni Campagna1-1/+6
The ByteArray class is special in gjs, it's not a normal Array, so make sure it's flagged as such.
2014-02-26docwriter/gjs: ignore nodes without a namespaceGiovanni Campagna1-0/+8
g-ir-compiler ignores them too, and they cause a crash, so whatever.
2014-02-25MSVC Builds: Update Introspection Build ProcessChun-wei Fan1-10/+5
The introspection build on Windows recently received support to deduce the DLL name from the library that is passed into g-ir-scanner, so the library name (without the file name extensions, etc) ought to be passed in for the build of introspection files on Windows, just like the *nix builds of g-i.
2014-02-25scanner: Make shlib Resolution Work Also With Visual C++Chun-wei Fan1-18/+52
Commit f3fcdf97 introduced shlib resolution for Windows, but it only works with MinGW and would therefore break builds of introspection files for Visual C++. Improve on the situation by adding capabilities to do the same with Visual C++, as the introspection dumper program is still compiled and linked with the Microsoft tool set (only the proprocessor to process the various headers is using GCC/MinGW). This makes use of the dumpbin utility that is shipped with Visual C++, which will query a .lib file, which leads to the DLL that the .lib file will link to. The 'gcc -print-search-dirs' can be replaced on Visual C++ builds by querying the LIB environment variable, as this is what the Visual C++ compiler/linker really looks at during compilation and linkage.
2014-02-22scanner: Fix shlib resolution on W32Руслан Ижбулатов1-3/+52
GI just adds '.dll' to library name and calls it a day. There's a comment about how this function might work, i've used it to implement something better. This requires a compiler that supports -print-search-dirs argument (i.e. gcc) and a dlltool.
2014-02-22Also add EXEEXT to .pc filesРуслан Ижбулатов2-4/+4
2014-02-22scanner: Support __restrict__Руслан Ижбулатов1-0/+1
2014-02-22scnaner: Support asm __volatile__Руслан Ижбулатов1-0/+1
2014-02-22Fix some PEP8 errors from previous commitsColin Walters2-3/+7
2014-02-22Fix a typo (exe -> .exe)Руслан Ижбулатов1-1/+1
2014-02-22scanner: Correctly pass linker option --export-all-symbolsРуслан Ижбулатов1-1/+1
2014-02-22Remove special W32 libnames, as they break stuffРуслан Ижбулатов1-16/+0
2014-02-22scanner: Support running under MSYSРуслан Ижбулатов2-0/+39
2014-02-22Extend the hack towards backslashes as path separatorsРуслан Ижбулатов1-1/+1
2014-02-21Quote PATH (in case it contains spaces)Руслан Ижбулатов1-3/+3
2014-02-21build: Use $(EXEEXT) for typelib compilerРуслан Ижбулатов1-12/+12
Fixes Windows.
2014-02-20scanner: support virtual functions with a typedef-ed callbackGiovanni Campagna15-5/+377
The field of a callback need not be anonymous, it could be a typedef, with a proper Type node. Fixes TelepathyGlib.BaseClient having no virtual functions (and probably others)
2014-02-20doctool/Gjs: some more fixes for structs and unionsGiovanni Campagna22-331/+18
Stop pretending we have fields on unions (only methods are supported). Add minimal support (ie, don't crash) to nested structures, that due to how ast works have namespace None (and the transformers hard-depend on that). Uncovered by GLib's GDoubleIEEE754, before I removed union fields. For some reason, RegressTestStructE (anonymous union) has a completely different behavior and generates a weird name, while RegressLikeGnomeKeyringSchema (array of unnamed structs) becomes array(gpointer). Bah, one should have methods anyway...
2014-02-20doctool: update reference testsGiovanni Campagna1687-20049/+15904
2014-02-20doctool: improve Gjs documentationGiovanni Campagna25-166/+544
- Add documentation for structures, fields, constants and callbacks - Improve the synopsis for interfaces to have prerequisites and known implementations - Respect gjs constraints for field writability - Format in and out parameters for callables according to GJS conventions - Format property names according to the GJS API - Show boxed constructors according to how they can be used in the gjs API