[gobject-introspection] girepository: Document semantics of dependencies and includes better



commit 6ff0b08ff1982ef60d077ba5e1c11ea605be606b
Author: Philip Withnall <philip tecnocode co uk>
Date:   Sat Jan 31 22:21:14 2015 +0000

    girepository: Document semantics of dependencies and includes better
    
    Make it clear that both the dependencies field in the typelib, and the
    include elements in the GIR AST, are for immediate dependencies, not
    transitive ones.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=743782

 girepository/gitypelib-internal.h |    8 ++++----
 giscanner/ast.py                  |    1 +
 2 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/girepository/gitypelib-internal.h b/girepository/gitypelib-internal.h
index e367cfa..e50ccac 100644
--- a/girepository/gitypelib-internal.h
+++ b/girepository/gitypelib-internal.h
@@ -201,10 +201,10 @@ typedef enum {
  * @directory: Offset of the directory in the typelib.
  * @n_attributes: Number of attribute blocks
  * @attributes: Offset of the list of attributes in the typelib.
- * @dependencies: Offset of a single string, which is the list of dependencies,
- *   separated by the '|' character.  The dependencies are required in order
- *   to avoid having programs consuming a typelib check for an "Unresolved"
- *   type return from every API call.
+ * @dependencies: Offset of a single string, which is the list of immediate
+ *   dependencies, separated by the '|' character.  The dependencies are
+ *   required in order to avoid having programs consuming a typelib check for
+ *   an "Unresolved" type return from every API call.
  * @size: The size in bytes of the typelib.
  * @namespace: Offset of the namespace string in the typelib.
  * @nsversion: Offset of the namespace version string in the typelib.
diff --git a/giscanner/ast.py b/giscanner/ast.py
index a9537e8..c3c83d4 100644
--- a/giscanner/ast.py
+++ b/giscanner/ast.py
@@ -374,6 +374,7 @@ class Namespace(object):
         self.type_names = {}         # Maps from GTName -> node
         self.ctypes = {}             # Maps from CType -> node
         self.symbols = {}            # Maps from function symbols -> Function
+        # Immediate includes only, not their transitive closure:
         self.includes = set()        # Include
         self.shared_libraries = []   # str
         self.c_includes = []         # str


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]