summaryrefslogtreecommitdiff
path: root/giscanner/ast.py
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2021-06-16 19:17:27 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2021-08-05 17:47:29 +0100
commit3ec400b09fb15c9f7392b77b0c3fb324ee08beed (patch)
tree39776e85364d56a1b13c1a8773af6b771b6c14b3 /giscanner/ast.py
parent700e8776b7942b204b86748d266c895b08d59823 (diff)
downloadgobject-introspection-3ec400b09fb15c9f7392b77b0c3fb324ee08beed.tar.gz
Add new annotations for property accessors
We introduce two new annotations: - (set-property PROPERTY_NAME) - (get-property PROPERTY_NAME) These annotations are valid inside function blocks for methods on objects and interfaces, and define whether a function is a property accessor, e.g.: /** * gtk_widget_set_name: (set-property name) * @self: ... * @name: ... * * ... */ /** * gtk_widget_get_name: (get-property name) * @self: ... * * ... * * Returns: ... */ The annotations are transformed into the GIR data as attributes: - glib:set-property="PROPERTY_NAME" - glib:get-property="PROPERTY_NAME" The underlying typelib data has had flags for setter and getter functions for a while, but they have never been plugged into the GIR data or the introspection scanner. Now they are; you can retrieve the GIPropertyInfo from a GIFunctionInfo that has the GI_FUNCTION_IS_SETTER or GI_FUNCTION_IS_GETTER flags set. Fixes: #13
Diffstat (limited to 'giscanner/ast.py')
-rw-r--r--giscanner/ast.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/giscanner/ast.py b/giscanner/ast.py
index e11fc988..a85e8879 100644
--- a/giscanner/ast.py
+++ b/giscanner/ast.py
@@ -752,6 +752,8 @@ class Function(Callable):
self.shadows = None # C symbol string
self.moved_to = None # namespaced function name string
self.internal_skipped = False # if True, this func will not be written to GIR
+ self.set_property = None # Property name
+ self.get_property = None # Property name
def clone(self):
clone = copy.copy(self)