[gobject-introspection] Assume allow-none for GCancellable



commit 55f286ca7898c8127ebc3018b621bf1e3b9ab0cb
Author: Colin Walters <walters verbum org>
Date:   Tue Dec 15 17:39:00 2009 -0500

    Assume allow-none for GCancellable
    
    All GCancellables are allow-none, this allows us to remove a lot
    of custom annotations.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=604658

 gir/gio-2.0.c                 |  514 -----------------------------------------
 giscanner/annotationparser.py |    6 +-
 2 files changed, 4 insertions(+), 516 deletions(-)
---
diff --git a/gir/gio-2.0.c b/gir/gio-2.0.c
index 16e9702..dea0f81 100644
--- a/gir/gio-2.0.c
+++ b/gir/gio-2.0.c
@@ -81,223 +81,18 @@
  */
 
 /**
- * g_buffered_input_stream_fill:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_buffered_input_stream_fill_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_buffered_input_stream_read_byte:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_input_stream_read_byte:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_input_stream_read_int16:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_input_stream_read_int32:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_input_stream_read_int64:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_input_stream_read_line:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_input_stream_read_uint16:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_input_stream_read_uint32:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_input_stream_read_uint64:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_input_stream_read_until:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_output_stream_put_byte:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_output_stream_put_int16:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_output_stream_put_int32:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_output_stream_put_int64:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_output_stream_put_string:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_output_stream_put_uint16:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_output_stream_put_uint32:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_data_output_stream_put_uint64:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_drive_eject:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_drive_poll_for_media:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_append_to:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_append_to_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_copy:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_copy_attributes:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_create:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_create_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_delete:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_eject_mountable:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_enumerate_children:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_enumerate_children_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_enumerator_close:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_enumerator_close_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_enumerator_next_file:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_enumerator_next_files_async:
- * @cancellable: (allow-none):
- */
-
-/**
  * g_file_enumerator_next_files_finish:
  *
  * Return value: (transfer container) (element-type FileInfo):
  */
 
 /**
- * g_file_find_enclosing_mount:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_find_enclosing_mount_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_input_stream_query_info:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_input_stream_query_info_async:
- * @cancellable: (allow-none):
- */
-
-/**
  * g_file_load_contents:
- * @cancellable: (allow-none):
  * @contents: (out) (transfer full):
  * @length: (allow-none) (out):
  * @etag_out: (allow-none) (out):
  */
 
-/**
- * g_file_load_contents_async:
- * @cancellable: (allow-none):
- */
 
 /**
  * g_file_load_contents_finish:
@@ -307,11 +102,6 @@
  */
 
 /**
- * g_file_load_partial_contents_async:
- * @cancellable: (allow-none):
- */
-
-/**
  * g_file_load_partial_contents_finish:
  * @contents: (out) (transfer full):
  * @length: (allow-none) (out):
@@ -319,122 +109,14 @@
  */
 
 /**
- * g_file_make_directory:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_make_directory_with_parents:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_make_symbolic_link:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_monitor_directory:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_monitor_file:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_mount_enclosing_volume:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_mount_mountable:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_move:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_output_stream_query_info:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_output_stream_query_info_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_query_default_handler:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_query_exists:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_query_filesystem_info:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_query_info:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_query_info_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_query_settable_attributes:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_query_writable_namespaces:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_read:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_read_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_replace:
- * @etag: (allow-none)
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_replace_async:
- * @cancellable: (allow-none):
- */
-
-/**
  * g_file_replace_contents:
  * @etag: (allow-none):
  * @new_etag: (allow-none) (out):
- * @cancellable: (allow-none):
  */
 
 /**
  * g_file_replace_contents_async:
  * @etag: (allow-none):
- * @cancellable: (allow-none):
  */
 
 /**
@@ -443,215 +125,19 @@
  */
 
 /**
- * g_file_set_attribute:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_set_attribute_byte_string:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_set_attribute_int32:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_set_attribute_int64:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_set_attribute_string:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_set_attribute_uint32:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_set_attribute_uint64:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_set_attributes_async:
- * @cancellable: (allow-none):
- */
-
-/**
  * g_file_set_attributes_finish:
  * @info: (out):
  */
 
 /**
- * g_file_set_attributes_from_info:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_set_display_name:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_set_display_name_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_trash:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_file_unmount_mountable:
- * @cancellable: (allow-none):
- */
-
-/**
  * g_filename_completer_get_completions:
  *
  * Return value: (array zero-terminated=1) (transfer full):
  */
 
 /**
- * g_input_stream_close:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_input_stream_close_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_input_stream_read:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_input_stream_read_all:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_input_stream_read_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_input_stream_skip:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_input_stream_skip_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_io_scheduler_push_job:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_loadable_icon_load:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_loadable_icon_load_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_mount_eject:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_mount_remount:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_mount_unmount:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_output_stream_close:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_output_stream_close_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_output_stream_flush:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_output_stream_flush_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_output_stream_splice:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_output_stream_splice_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_output_stream_write:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_output_stream_write_all:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_output_stream_write_async:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_seekable_seek:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_seekable_truncate:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_simple_async_result_run_in_thread:
- * @cancellable: (allow-none):
- */
-
-/**
- * g_volume_eject:
- * @cancellable: (allow-none):
- */
-
-/**
  * g_volume_mount:
  * @mount_operation: (allow-none):
- * @cancellable: (allow-none):
  */
 
 /**
diff --git a/giscanner/annotationparser.py b/giscanner/annotationparser.py
index aa04ef4..fe5e721 100644
--- a/giscanner/annotationparser.py
+++ b/giscanner/annotationparser.py
@@ -552,12 +552,14 @@ class AnnotationApplier(object):
         if node.direction is None:
             node.direction = self._guess_direction(node)
         node.transfer = self._extract_transfer(parent, node, options)
-        if OPT_ALLOW_NONE in options:
-            node.allow_none = True
         param_type = options.get(OPT_TYPE)
         if param_type:
             node.type = self._resolve(param_type.one(), node.type)
 
+        if (OPT_ALLOW_NONE in options or
+            node.type.ctype == 'GCancellable*'):
+            node.allow_none = True
+
         assert node.transfer is not None
         if tag is not None and tag.comment is not None:
             node.doc = tag.comment



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