[gi-docgen/ebassi/transfer-docs: 2/2] generate: Add the raw transfer mode to the template




commit e2e79870cdebaaa5e92dbd30f3d2965ee41ca2d4
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Fri Apr 9 19:05:54 2021 +0100

    generate: Add the raw transfer mode to the template
    
    Use a "title" as a shortcut for people who already know what the
    transfer annotation means.

 gidocgen/gdgenerate.py                     | 6 ++++--
 gidocgen/templates/basic/class_method.html | 4 ++--
 gidocgen/templates/basic/ctor.html         | 4 ++--
 gidocgen/templates/basic/function.html     | 4 ++--
 gidocgen/templates/basic/method.html       | 4 ++--
 gidocgen/templates/basic/signal.html       | 4 ++--
 gidocgen/templates/basic/type_func.html    | 4 ++--
 gidocgen/templates/basic/vfunc.html        | 4 ++--
 8 files changed, 18 insertions(+), 16 deletions(-)
---
diff --git a/gidocgen/gdgenerate.py b/gidocgen/gdgenerate.py
index 1ac1d65..6fffc26 100644
--- a/gidocgen/gdgenerate.py
+++ b/gidocgen/gdgenerate.py
@@ -346,7 +346,8 @@ class TemplateArgument:
         self.is_map = isinstance(argument.target, gir.MapType)
         self.is_varargs = isinstance(argument.target, gir.VarArgs)
         self.is_macro = isinstance(call, gir.FunctionMacro)
-        self.transfer = ARG_TRANSFER_MODES[argument.transfer]
+        self.transfer = argument.transfer or 'none'
+        self.transfer_note = ARG_TRANSFER_MODES[argument.transfer or 'none']
         self.direction = DIRECTION_MODES[argument.direction]
         self.nullable = argument.nullable
         self.scope = SCOPE_MODES[argument.scope or 'none']
@@ -411,7 +412,8 @@ class TemplateReturnValue:
             self.type_cname = type_name_to_cname(retval.target.name, True)
         self.is_array = isinstance(retval.target, gir.ArrayType)
         self.is_list = isinstance(retval.target, gir.ListType)
-        self.transfer = RETVAL_TRANSFER_MODES[retval.transfer or 'none']
+        self.transfer = retval.transfer or 'none'
+        self.transfer_note = RETVAL_TRANSFER_MODES[retval.transfer or 'none']
         self.nullable = retval.nullable
         if self.is_array:
             self.value_type = retval.target.value_type.name
diff --git a/gidocgen/templates/basic/class_method.html b/gidocgen/templates/basic/class_method.html
index 198ad14..bd8e2f4 100644
--- a/gidocgen/templates/basic/class_method.html
+++ b/gidocgen/templates/basic/class_method.html
@@ -123,7 +123,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if arg.is_array and arg.zero_terminated %}<tr><td>&nbsp;</td><td>The array must be 
<code>NULL</code> terminated</td></tr>{% endif %}
           {% if arg.is_array and arg.fixed_size > 0 %}<tr><td>&nbsp;</td><td>The array must have {{ 
arg.fixed_size }} elements</td></tr>{% endif %}
           {% if arg.is_array and arg.len_arg %}<tr><td>&nbsp;</td><td>The length of the array is in the 
<code>{{ arg.len_arg }}</code> argument</td></tr>{% endif %}
-          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td>{{ arg.transfer }}</td></tr>{% endif %}
+          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td title="transfer: {{ arg.transfer }}">{{ 
arg.transfer_note }}</td></tr>{% endif %}
           {% if arg.string_note %}<tr><td>&nbsp;</td><td>{{ arg.string_note }}</td></tr>{% endif %}
           {% endfor %}
         </table>
@@ -157,7 +157,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if class_method.return_value.is_array and class_method.return_value.zero_terminated 
%}<tr><td>&nbsp;</td><td>The array must be <code>NULL</code> terminated</td></tr>{% endif %}
           {% if class_method.return_value.is_array and class_method.return_value.fixed_size > 0 
%}<tr><td>&nbsp;</td><td>The array must have {{ class_method.return_value.fixed_size }} elements</td></tr>{% 
endif %}
           {% if class_method.return_value.is_array and class_method.return_value.len_arg 
%}<tr><td>&nbsp;</td><td>The length of the array is in the <code>{{ class_method.return_value.len_arg 
}}</code> argument</td></tr>{% endif %}
-          {% if class_method.return_value.is_pointer %}<tr><td>{{ class_method.return_value.transfer 
}}</td></tr>{% endif %}
+          {% if class_method.return_value.is_pointer %}<tr><td title="transfer: {{ 
class_method.return_value.transfer }}">{{ class_method.return_value.transfer }}</td></tr>{% endif %}
           {% if class_method.return_value.is_pointer and class_method.return_value.nullable %}<tr><td>Can be 
<code>NULL</code></td></tr>{% endif %}
           {% if class_method.return_value.string_note %}<tr><td>{{ class_method.return_value.string_note 
}}</td></tr>{% endif %}
         </table>
diff --git a/gidocgen/templates/basic/ctor.html b/gidocgen/templates/basic/ctor.html
index f4c7d56..49efc3e 100644
--- a/gidocgen/templates/basic/ctor.html
+++ b/gidocgen/templates/basic/ctor.html
@@ -125,7 +125,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if arg.is_array and arg.zero_terminated %}<tr><td>&nbsp;</td><td>The array must be 
<code>NULL</code> terminated</td></tr>{% endif %}
           {% if arg.is_array and arg.fixed_size > 0 %}<tr><td>&nbsp;</td><td>The array must have {{ 
arg.fixed_size }} elements</td></tr>{% endif %}
           {% if arg.is_array and arg.len_arg %}<tr><td>&nbsp;</td><td>The length of the array is in the 
<code>{{ arg.len_arg }}</code> argument</td></tr>{% endif %}
-          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td>{{ arg.transfer }}</td></tr>{% endif %}
+          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td title="transfer: {{ arg.transfer }}">{{ 
arg.transfer_note }}</td></tr>{% endif %}
           {% if arg.string_note %}<tr><td>&nbsp;</td><td>{{ arg.string_note }}</td></tr>{% endif %}
           {% endfor %}
         </table>
@@ -159,7 +159,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if type_func.return_value.is_array and type_func.return_value.zero_terminated 
%}<tr><td>&nbsp;</td><td>The array must be <code>NULL</code> terminated</td></tr>{% endif %}
           {% if type_func.return_value.is_array and type_func.return_value.fixed_size > 0 
%}<tr><td>&nbsp;</td><td>The array must have {{ type_func.return_value.fixed_size }} elements</td></tr>{% 
endif %}
           {% if type_func.return_value.is_array and type_func.return_value.len_arg 
%}<tr><td>&nbsp;</td><td>The length of the array is in the <code>{{ type_func.return_value.len_arg }}</code> 
argument</td></tr>{% endif %}
-          {% if type_func.return_value.is_pointer %}<tr><td>{{ type_func.return_value.transfer 
}}</td></tr>{% endif %}
+          {% if type_func.return_value.is_pointer %}<tr><td title="transfer: {{ 
type_func.return_value.transfer }}">{{ type_func.return_value.transfer_note }}</td></tr>{% endif %}
           {% if type_func.return_value.is_pointer and type_func.return_value.nullable %}<tr><td>Can be 
<code>NULL</code></td></tr>{% endif %}
           {% if type_func.return_value.string_note %}<tr><td>{{ type_func.return_value.string_note 
}}</td></tr>{% endif %}
         </table>
diff --git a/gidocgen/templates/basic/function.html b/gidocgen/templates/basic/function.html
index a94aa9d..b0b398d 100644
--- a/gidocgen/templates/basic/function.html
+++ b/gidocgen/templates/basic/function.html
@@ -132,7 +132,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if arg.is_array and arg.zero_terminated %}<tr><td>&nbsp;</td><td>The array must be 
<code>NULL</code> terminated</td></tr>{% endif %}
           {% if arg.is_array and arg.fixed_size > 0 %}<tr><td>&nbsp;</td><td>The array must have {{ 
arg.fixed_size }} elements</td></tr>{% endif %}
           {% if arg.is_array and arg.len_arg %}<tr><td>&nbsp;</td><td>The length of the array is in the 
<code>{{ arg.len_arg }}</code> argument</td></tr>{% endif %}
-          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td>{{ arg.transfer }}</td></tr>{% endif %}
+          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td title="transfer: {{ arg.transfer }}">{{ 
arg.transfer_note }}</td></tr>{% endif %}
           {% if arg.string_note %}<tr><td>&nbsp;</td><td>{{ arg.string_note }}</td></tr>{% endif %}
           {% endfor %}
         </table>
@@ -166,7 +166,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if func.return_value.is_array and func.return_value.zero_terminated 
%}<tr><td>&nbsp;</td><td>The array must be <code>NULL</code> terminated</td></tr>{% endif %}
           {% if func.return_value.is_array and func.return_value.fixed_size > 0 %}<tr><td>&nbsp;</td><td>The 
array must have {{ func.return_value.fixed_size }} elements</td></tr>{% endif %}
           {% if func.return_value.is_array and func.return_value.len_arg %}<tr><td>&nbsp;</td><td>The length 
of the array is in the <code>{{ func.return_value.len_arg }}</code> argument</td></tr>{% endif %}
-          {% if func.return_value.is_pointer %}<tr><td>{{ func.return_value.transfer }}</td></tr>{% endif %}
+          {% if func.return_value.is_pointer %}<tr><td title="transfer: {{ func.return_value.transfer }}">{{ 
func.return_value.transfer_note }}</td></tr>{% endif %}
           {% if func.return_value.is_pointer and func.return_value.nullable %}<tr><td>Can be 
<code>NULL</code></td></tr>{% endif %}
           {% if func.return_value.string_note %}<tr><td>{{ func.return_value.string_note }}</td></tr>{% 
endif %}
         </table>
diff --git a/gidocgen/templates/basic/method.html b/gidocgen/templates/basic/method.html
index 7cf11df..8d44f26 100644
--- a/gidocgen/templates/basic/method.html
+++ b/gidocgen/templates/basic/method.html
@@ -125,7 +125,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if arg.is_array and arg.zero_terminated %}<tr><td>&nbsp;</td><td>The array must be 
<code>NULL</code> terminated</td></tr>{% endif %}
           {% if arg.is_array and arg.fixed_size > 0 %}<tr><td>&nbsp;</td><td>The array must have {{ 
arg.fixed_size }} elements</td></tr>{% endif %}
           {% if arg.is_array and arg.len_arg %}<tr><td>&nbsp;</td><td>The length of the array is in the 
<code>{{ arg.len_arg }}</code> argument</td></tr>{% endif %}
-          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td>{{ arg.transfer }}</td></tr>{% endif %}
+          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td title="transfer: {{ arg.transfer }}">{{ 
arg.transfer_note }}</td></tr>{% endif %}
           {% if arg.string_note %}<tr><td>&nbsp;</td><td>{{ arg.string_note }}</td></tr>{% endif %}
           {% endfor %}
         </table>
@@ -159,7 +159,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if method.return_value.is_array and method.return_value.zero_terminated 
%}<tr><td>&nbsp;</td><td>The array must be <code>NULL</code> terminated</td></tr>{% endif %}
           {% if method.return_value.is_array and method.return_value.fixed_size > 0 
%}<tr><td>&nbsp;</td><td>The array must have {{ method.return_value.fixed_size }} elements</td></tr>{% endif 
%}
           {% if method.return_value.is_array and method.return_value.len_arg %}<tr><td>&nbsp;</td><td>The 
length of the array is in the <code>{{ method.return_value.len_arg }}</code> argument</td></tr>{% endif %}
-          {% if method.return_value.is_pointer %}<tr><td>{{ method.return_value.transfer }}</td></tr>{% 
endif %}
+          {% if method.return_value.is_pointer %}<tr><td title="transfer: {{ method.return_value.transfer 
}}">{{ method.return_value.transfer_note }}</td></tr>{% endif %}
           {% if method.return_value.is_pointer and method.return_value.nullable %}<tr><td>Can be 
<code>NULL</code></td></tr>{% endif %}
           {% if method.return_value.string_note %}<tr><td>{{ method.return_value.string_note }}</td></tr>{% 
endif %}
         </table>
diff --git a/gidocgen/templates/basic/signal.html b/gidocgen/templates/basic/signal.html
index 6027edd..b4eddeb 100644
--- a/gidocgen/templates/basic/signal.html
+++ b/gidocgen/templates/basic/signal.html
@@ -132,7 +132,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if arg.direction != "in" %}<tr><td>&nbsp;</td><td>Direction: {{ arg.direction }}</td></tr>{% 
endif %}
           {% if arg.direction == "in" and arg.is_pointer and arg.nullable %}<tr><td>&nbsp;</td><td>Can be 
<code>NULL</code></td></tr>{% endif %}
           {% if arg.direction == "out" and arg.optional %}<tr><td>&nbsp;</td><td>Can be 
<code>NULL</code></td></tr>{% endif %}
-          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td>{{ arg.transfer }}</td></tr>{% endif %}
+          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td title="transfer: {{ arg.transfer }}">{{ 
arg.transfer_note }}</td></tr>{% endif %}
           {% if arg.string_note %}<tr><td>&nbsp;</td><td>{{ arg.string_note }}</td></tr>{% endif %}
           {% endfor %}
         </table>
@@ -166,7 +166,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if signal.return_value.is_array and signal.return_value.zero_terminated 
%}<tr><td>&nbsp;</td><td>The array must be <code>NULL</code> terminated</td></tr>{% endif %}
           {% if signal.return_value.is_array and signal.return_value.fixed_size > 0 
%}<tr><td>&nbsp;</td><td>The array must have {{ signal.return_value.fixed_size }} elements</td></tr>{% endif 
%}
           {% if signal.return_value.is_array and signal.return_value.len_arg %}<tr><td>&nbsp;</td><td>The 
length of the array is in the <code>{{ signal.return_value.len_arg }}</code> argument</td></tr>{% endif %}
-          {% if signal.return_value.is_pointer %}<tr><td>{{ signal.return_value.transfer }}</td></tr>{% 
endif %}
+          {% if signal.return_value.is_pointer %}<tr><td title="transfer: {{ signal.return_value.transfer 
}}">{{ signal.return_value.transfer_note }}</td></tr>{% endif %}
           {% if signal.return_value.is_pointer and signal.return_value.nullable %}<tr><td>Can be 
<code>NULL</code></td></tr>{% endif %}
           {% if signal.return_value.string_note %}<tr><td>{{ signal.return_value.string_note }}</td></tr>{% 
endif %}
         </table>
diff --git a/gidocgen/templates/basic/type_func.html b/gidocgen/templates/basic/type_func.html
index ad6cb7f..59fcdf1 100644
--- a/gidocgen/templates/basic/type_func.html
+++ b/gidocgen/templates/basic/type_func.html
@@ -125,7 +125,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if arg.is_array and arg.zero_terminated %}<tr><td>&nbsp;</td><td>The array must be 
<code>NULL</code> terminated</td></tr>{% endif %}
           {% if arg.is_array and arg.fixed_size > 0 %}<tr><td>&nbsp;</td><td>The array must have {{ 
arg.fixed_size }} elements</td></tr>{% endif %}
           {% if arg.is_array and arg.len_arg %}<tr><td>&nbsp;</td><td>The length of the array is in the 
<code>{{ arg.len_arg }}</code> argument</td></tr>{% endif %}
-          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td>{{ arg.transfer }}</td></tr>{% endif %}
+          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td title="transfer: {{ arg.transfer }}">{{ 
arg.transfer_note }}</td></tr>{% endif %}
           {% if arg.string_note %}<tr><td>&nbsp;</td><td>{{ arg.string_note }}</td></tr>{% endif %}
           {% endfor %}
         </table>
@@ -159,7 +159,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if type_func.return_value.is_array and type_func.return_value.zero_terminated 
%}<tr><td>&nbsp;</td><td>The array must be <code>NULL</code> terminated</td></tr>{% endif %}
           {% if type_func.return_value.is_array and type_func.return_value.fixed_size > 0 
%}<tr><td>&nbsp;</td><td>The array must have {{ type_func.return_value.fixed_size }} elements</td></tr>{% 
endif %}
           {% if type_func.return_value.is_array and type_func.return_value.len_arg 
%}<tr><td>&nbsp;</td><td>The length of the array is in the <code>{{ type_func.return_value.len_arg }}</code> 
argument</td></tr>{% endif %}
-          {% if type_func.return_value.is_pointer %}<tr><td>{{ type_func.return_value.transfer 
}}</td></tr>{% endif %}
+          {% if type_func.return_value.is_pointer %}<tr><td title="transfer: {{ 
type_func.return_value.transfer }}">{{ type_func.return_value.transfer_note }}</td></tr>{% endif %}
           {% if type_func.return_value.is_pointer and type_func.return_value.nullable %}<tr><td>Can be 
<code>NULL</code></td></tr>{% endif %}
           {% if type_func.return_value.string_note %}<tr><td>{{ type_func.return_value.string_note 
}}</td></tr>{% endif %}
         </table>
diff --git a/gidocgen/templates/basic/vfunc.html b/gidocgen/templates/basic/vfunc.html
index f394291..2f529e5 100644
--- a/gidocgen/templates/basic/vfunc.html
+++ b/gidocgen/templates/basic/vfunc.html
@@ -125,7 +125,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if arg.is_array and arg.zero_terminated %}<tr><td>&nbsp;</td><td>The array must be 
<code>NULL</code> terminated</td></tr>{% endif %}
           {% if arg.is_array and arg.fixed_size > 0 %}<tr><td>&nbsp;</td><td>The array must have {{ 
arg.fixed_size }} elements</td></tr>{% endif %}
           {% if arg.is_array and arg.len_arg %}<tr><td>&nbsp;</td><td>The length of the array is in the 
<code>{{ arg.len_arg }}</code> argument</td></tr>{% endif %}
-          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td>{{ arg.transfer }}</td></tr>{% endif %}
+          {% if arg.is_pointer %}<tr><td>&nbsp;</td><td title="transfer: {{ arg.transfer }}">{{ 
arg.transfer_note }}</td></tr>{% endif %}
           {% if arg.string_note %}<tr><td>&nbsp;</td><td>{{ arg.string_note }}</td></tr>{% endif %}
           {% endfor %}
         </table>
@@ -159,7 +159,7 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
           {% if vfunc.return_value.is_array and vfunc.return_value.zero_terminated 
%}<tr><td>&nbsp;</td><td>The array must be <code>NULL</code> terminated</td></tr>{% endif %}
           {% if vfunc.return_value.is_array and vfunc.return_value.fixed_size > 0 
%}<tr><td>&nbsp;</td><td>The array must have {{ vfunc.return_value.fixed_size }} elements</td></tr>{% endif %}
           {% if vfunc.return_value.is_array and vfunc.return_value.len_arg %}<tr><td>&nbsp;</td><td>The 
length of the array is in the <code>{{ vfunc.return_value.len_arg }}</code> argument</td></tr>{% endif %}
-          {% if vfunc.return_value.is_pointer %}<tr><td>{{ vfunc.return_value.transfer }}</td></tr>{% endif 
%}
+          {% if vfunc.return_value.is_pointer %}<tr><td title="transfer: {{ vfunc.return_value.transfer 
}}">{{ vfunc.return_value.transfer_note }}</td></tr>{% endif %}
           {% if vfunc.return_value.is_pointer and vfunc.return_value.nullable %}<tr><td>Can be 
<code>NULL</code></td></tr>{% endif %}
           {% if vfunc.return_value.string_note %}<tr><td>{{ vfunc.return_value.string_note }}</td></tr>{% 
endif %}
         </table>


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