Line
Link Here
|
|
-- |
|
|
1 |
girepository/gicallableinfo.c | 26 +++ |
|
girepository/gicallableinfo.c | 26 +++ |
2 |
girepository/gicallableinfo.h | 2 |
1 |
girepository/gicallableinfo.h | 2 |
3 |
girepository/girepository.symbols | 1 |
2 |
girepository/girepository.symbols | 1 |
4 |
girepository/girnode.c | 3 |
3 |
girepository/girnode.c | 3 |
5 |
girepository/girnode.h | 3 |
4 |
girepository/girnode.h | 3 |
6 |
girepository/girparser.c | 74 +++++++++- |
5 |
girepository/girparser.c | 74 +++++++++- |
7 |
girepository/gitypelib-internal.h | 5 |
6 |
girepository/gitypelib-internal.h | 5 |
8 |
tests/repository/gitypelibtest.c | 29 +++ |
7 |
tests/repository/gitypelibtest.c | 29 +++ |
9 |
tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_full.page | 38 +++++ |
8 |
tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_full.page | 38 +++++ |
10 |
tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_full.page | 26 +++ |
9 |
tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_full.page | 26 +++ |
11 |
tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_full.page | 37 +++++ |
10 |
tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_full.page | 37 +++++ |
12 |
tests/scanner/Regress-1.0-expected.gir | 11 + |
11 |
tests/scanner/Regress-1.0-expected.gir | 11 + |
13 |
tests/scanner/Regress-1.0-sections-expected.txt | 1 |
12 |
tests/scanner/Regress-1.0-sections-expected.txt | 1 |
14 |
tests/scanner/regress.c | 11 + |
13 |
tests/scanner/regress.c | 11 + |
15 |
tests/scanner/regress.h | 1 |
14 |
tests/scanner/regress.h | 1 |
16 |
15 files changed, 262 insertions(+), 6 deletions(-) |
15 |
15 files changed, 262 insertions(+), 6 deletions(-) |
17 |
-- a/girepository/gicallableinfo.c |
16 |
++ b/girepository/gicallableinfo.c |
Lines 276-281
g_callable_info_get_caller_owns (GICalla
Link Here
|
276 |
} |
276 |
} |
277 |
|
277 |
|
278 |
/** |
278 |
/** |
|
|
279 |
* g_callable_info_get_instance_ownership_transfer: |
280 |
* @info: a #GICallableInfo |
281 |
* |
282 |
* Obtains the ownership transfer for the instance argument. |
283 |
* #GITransfer contains a list of possible transfer values. |
284 |
* |
285 |
* Returns: the transfer |
286 |
*/ |
287 |
GITransfer |
288 |
g_callable_info_get_instance_ownership_transfer (GICallableInfo *info) |
289 |
{ |
290 |
GIRealInfo *rinfo = (GIRealInfo*) info; |
291 |
SignatureBlob *blob; |
292 |
|
293 |
g_return_val_if_fail (info != NULL, -1); |
294 |
g_return_val_if_fail (GI_IS_CALLABLE_INFO (info), -1); |
295 |
|
296 |
blob = (SignatureBlob *)&rinfo->typelib->data[signature_offset (info)]; |
297 |
|
298 |
if (blob->instance_transfer_ownership) |
299 |
return GI_TRANSFER_EVERYTHING; |
300 |
else |
301 |
return GI_TRANSFER_NOTHING; |
302 |
} |
303 |
|
304 |
/** |
279 |
* g_callable_info_get_n_args: |
305 |
* g_callable_info_get_n_args: |
280 |
* @info: a #GICallableInfo |
306 |
* @info: a #GICallableInfo |
281 |
* |
307 |
* |
282 |
-- a/girepository/gicallableinfo.h |
308 |
++ b/girepository/gicallableinfo.h |
Lines 73-78
gboolean g_callable_info_i
Link Here
|
73 |
gboolean is_method, |
73 |
gboolean is_method, |
74 |
gboolean throws, |
74 |
gboolean throws, |
75 |
GError **error); |
75 |
GError **error); |
|
|
76 |
GITransfer g_callable_info_get_instance_ownership_transfer (GICallableInfo *info); |
77 |
|
76 |
G_END_DECLS |
78 |
G_END_DECLS |
77 |
|
79 |
|
78 |
|
80 |
|
79 |
-- a/girepository/girepository.symbols |
81 |
++ b/girepository/girepository.symbols |
Lines 26-31
g_info_new
Link Here
|
26 |
g_callable_info_can_throw_gerror |
26 |
g_callable_info_can_throw_gerror |
27 |
g_callable_info_get_arg |
27 |
g_callable_info_get_arg |
28 |
g_callable_info_get_caller_owns |
28 |
g_callable_info_get_caller_owns |
|
|
29 |
g_callable_info_get_instance_ownership_transfer |
29 |
g_callable_info_get_n_args |
30 |
g_callable_info_get_n_args |
30 |
g_callable_info_get_return_attribute |
31 |
g_callable_info_get_return_attribute |
31 |
g_callable_info_get_return_type |
32 |
g_callable_info_get_return_type |
32 |
-- a/girepository/girnode.c |
33 |
++ b/girepository/girnode.c |
Lines 1664-1669
_g_ir_node_build_typelib (GIrNode
Link Here
|
1664 |
blob2->caller_owns_return_value = function->result->transfer; |
1664 |
blob2->caller_owns_return_value = function->result->transfer; |
1665 |
blob2->caller_owns_return_container = function->result->shallow_transfer; |
1665 |
blob2->caller_owns_return_container = function->result->shallow_transfer; |
1666 |
blob2->skip_return = function->result->skip; |
1666 |
blob2->skip_return = function->result->skip; |
|
|
1667 |
blob2->instance_transfer_ownership = function->instance_transfer_full; |
1667 |
blob2->reserved = 0; |
1668 |
blob2->reserved = 0; |
1668 |
blob2->n_arguments = n; |
1669 |
blob2->n_arguments = n; |
1669 |
|
1670 |
|
Lines 1762-1767
_g_ir_node_build_typelib (GIrNode
Link Here
|
1762 |
blob2->may_return_null = signal->result->allow_none; |
1763 |
blob2->may_return_null = signal->result->allow_none; |
1763 |
blob2->caller_owns_return_value = signal->result->transfer; |
1764 |
blob2->caller_owns_return_value = signal->result->transfer; |
1764 |
blob2->caller_owns_return_container = signal->result->shallow_transfer; |
1765 |
blob2->caller_owns_return_container = signal->result->shallow_transfer; |
|
|
1766 |
blob2->instance_transfer_ownership = signal->instance_transfer_full; |
1765 |
blob2->reserved = 0; |
1767 |
blob2->reserved = 0; |
1766 |
blob2->n_arguments = n; |
1768 |
blob2->n_arguments = n; |
1767 |
|
1769 |
|
Lines 1820-1825
_g_ir_node_build_typelib (GIrNode
Link Here
|
1820 |
blob2->may_return_null = vfunc->result->allow_none; |
1822 |
blob2->may_return_null = vfunc->result->allow_none; |
1821 |
blob2->caller_owns_return_value = vfunc->result->transfer; |
1823 |
blob2->caller_owns_return_value = vfunc->result->transfer; |
1822 |
blob2->caller_owns_return_container = vfunc->result->shallow_transfer; |
1824 |
blob2->caller_owns_return_container = vfunc->result->shallow_transfer; |
|
|
1825 |
blob2->instance_transfer_ownership = vfunc->instance_transfer_full; |
1823 |
blob2->reserved = 0; |
1826 |
blob2->reserved = 0; |
1824 |
blob2->n_arguments = n; |
1827 |
blob2->n_arguments = n; |
1825 |
|
1828 |
|
1826 |
-- a/girepository/girnode.h |
1829 |
++ b/girepository/girnode.h |
Lines 100-105
struct _GIrNodeFunction
Link Here
|
100 |
gboolean is_constructor; |
100 |
gboolean is_constructor; |
101 |
gboolean wraps_vfunc; |
101 |
gboolean wraps_vfunc; |
102 |
gboolean throws; |
102 |
gboolean throws; |
|
|
103 |
gboolean instance_transfer_full; |
103 |
|
104 |
|
104 |
gchar *symbol; |
105 |
gchar *symbol; |
105 |
|
106 |
|
Lines 188-193
struct _GIrNodeSignal
Link Here
|
188 |
gboolean detailed; |
189 |
gboolean detailed; |
189 |
gboolean action; |
190 |
gboolean action; |
190 |
gboolean no_hooks; |
191 |
gboolean no_hooks; |
|
|
192 |
gboolean instance_transfer_full; |
191 |
|
193 |
|
192 |
gboolean has_class_closure; |
194 |
gboolean has_class_closure; |
193 |
gboolean true_stops_emit; |
195 |
gboolean true_stops_emit; |
Lines 208-213
struct _GIrNodeVFunc
Link Here
|
208 |
gboolean must_not_be_implemented; |
210 |
gboolean must_not_be_implemented; |
209 |
gboolean is_class_closure; |
211 |
gboolean is_class_closure; |
210 |
gboolean throws; |
212 |
gboolean throws; |
|
|
213 |
gboolean instance_transfer_full; |
211 |
|
214 |
|
212 |
char *invoker; |
215 |
char *invoker; |
213 |
|
216 |
|
214 |
-- a/girepository/girparser.c |
217 |
++ b/girepository/girparser.c |
Lines 1047-1052
parse_param_transfer (GIrNodeParam *para
Link Here
|
1047 |
} |
1047 |
} |
1048 |
|
1048 |
|
1049 |
static gboolean |
1049 |
static gboolean |
|
|
1050 |
start_instance_parameter (GMarkupParseContext *context, |
1051 |
const gchar *element_name, |
1052 |
const gchar **attribute_names, |
1053 |
const gchar **attribute_values, |
1054 |
ParseContext *ctx, |
1055 |
GError **error) |
1056 |
{ |
1057 |
const gchar *transfer; |
1058 |
gboolean transfer_full; |
1059 |
|
1060 |
if (!(strcmp (element_name, "instance-parameter") == 0 && |
1061 |
ctx->state == STATE_FUNCTION_PARAMETERS)) |
1062 |
return FALSE; |
1063 |
|
1064 |
transfer = find_attribute ("transfer-ownership", attribute_names, attribute_values); |
1065 |
|
1066 |
state_switch (ctx, STATE_PASSTHROUGH); |
1067 |
|
1068 |
if (strcmp (transfer, "full") == 0) |
1069 |
transfer_full = TRUE; |
1070 |
else if (strcmp (transfer, "none") == 0) |
1071 |
transfer_full = FALSE; |
1072 |
else |
1073 |
{ |
1074 |
g_set_error (error, G_MARKUP_ERROR, |
1075 |
G_MARKUP_ERROR_INVALID_CONTENT, |
1076 |
"invalid value for 'transfer-ownership' for instance parameter: %s", transfer); |
1077 |
return FALSE; |
1078 |
} |
1079 |
|
1080 |
switch (CURRENT_NODE (ctx)->type) |
1081 |
{ |
1082 |
case G_IR_NODE_FUNCTION: |
1083 |
case G_IR_NODE_CALLBACK: |
1084 |
{ |
1085 |
GIrNodeFunction *func; |
1086 |
|
1087 |
func = (GIrNodeFunction *)CURRENT_NODE (ctx); |
1088 |
func->instance_transfer_full = transfer_full; |
1089 |
} |
1090 |
break; |
1091 |
case G_IR_NODE_SIGNAL: |
1092 |
{ |
1093 |
GIrNodeSignal *signal; |
1094 |
|
1095 |
signal = (GIrNodeSignal *)CURRENT_NODE (ctx); |
1096 |
signal->instance_transfer_full = transfer_full; |
1097 |
} |
1098 |
break; |
1099 |
case G_IR_NODE_VFUNC: |
1100 |
{ |
1101 |
GIrNodeVFunc *vfunc; |
1102 |
|
1103 |
vfunc = (GIrNodeVFunc *)CURRENT_NODE (ctx); |
1104 |
vfunc->instance_transfer_full = transfer_full; |
1105 |
} |
1106 |
break; |
1107 |
default: |
1108 |
g_assert_not_reached (); |
1109 |
} |
1110 |
|
1111 |
return TRUE; |
1112 |
} |
1113 |
|
1114 |
static gboolean |
1050 |
start_parameter (GMarkupParseContext *context, |
1115 |
start_parameter (GMarkupParseContext *context, |
1051 |
const gchar *element_name, |
1116 |
const gchar *element_name, |
1052 |
const gchar **attribute_names, |
1117 |
const gchar **attribute_names, |
Lines 2833-2843
start_element_handler (GMarkupParseConte
Link Here
|
2833 |
attribute_names, attribute_values, |
2898 |
attribute_names, attribute_values, |
2834 |
ctx, error)) |
2899 |
ctx, error)) |
2835 |
goto out; |
2900 |
goto out; |
2836 |
else if (strcmp (element_name, "instance-parameter") == 0) |
2901 |
else if (start_instance_parameter (context, element_name, |
2837 |
{ |
2902 |
attribute_names, attribute_values, |
2838 |
state_switch (ctx, STATE_PASSTHROUGH); |
2903 |
ctx, error)) |
2839 |
goto out; |
2904 |
goto out; |
2840 |
} |
|
|
2841 |
else if (strcmp (element_name, "c:include") == 0) |
2905 |
else if (strcmp (element_name, "c:include") == 0) |
2842 |
{ |
2906 |
{ |
2843 |
state_switch (ctx, STATE_C_INCLUDE); |
2907 |
state_switch (ctx, STATE_C_INCLUDE); |
2844 |
-- a/girepository/gitypelib-internal.h |
2908 |
++ b/girepository/gitypelib-internal.h |
Lines 465-470
typedef struct {
Link Here
|
465 |
* freeing the container, but not its contents. |
465 |
* freeing the container, but not its contents. |
466 |
* @skip_return: Indicates that the return value is only useful in C and should |
466 |
* @skip_return: Indicates that the return value is only useful in C and should |
467 |
* be skipped. |
467 |
* be skipped. |
|
|
468 |
* @instance_transfer_ownership: When calling, the function assumes ownership of |
469 |
* the instance parameter. |
468 |
* @reserved: Reserved for future use. |
470 |
* @reserved: Reserved for future use. |
469 |
* @n_arguments: The number of arguments that this function expects, also the |
471 |
* @n_arguments: The number of arguments that this function expects, also the |
470 |
* length of the array of ArgBlobs. |
472 |
* length of the array of ArgBlobs. |
Lines 479-485
typedef struct {
Link Here
|
479 |
guint16 caller_owns_return_value : 1; |
481 |
guint16 caller_owns_return_value : 1; |
480 |
guint16 caller_owns_return_container : 1; |
482 |
guint16 caller_owns_return_container : 1; |
481 |
guint16 skip_return : 1; |
483 |
guint16 skip_return : 1; |
482 |
guint16 reserved :12; |
484 |
guint16 instance_transfer_ownership : 1; |
|
|
485 |
guint16 reserved :11; |
483 |
|
486 |
|
484 |
guint16 n_arguments; |
487 |
guint16 n_arguments; |
485 |
|
488 |
|
486 |
-- a/tests/repository/gitypelibtest.c |
489 |
++ b/tests/repository/gitypelibtest.c |
Lines 276-281
test_signal_array_len (GIRepository * re
Link Here
|
276 |
g_base_info_unref (testobj_info); |
276 |
g_base_info_unref (testobj_info); |
277 |
} |
277 |
} |
278 |
|
278 |
|
|
|
279 |
static void |
280 |
test_instance_transfer_ownership (GIRepository * repo) |
281 |
{ |
282 |
GIObjectInfo *testobj_info; |
283 |
GIFunctionInfo *func_info; |
284 |
GITransfer transfer; |
285 |
|
286 |
g_assert (g_irepository_require (repo, "Regress", NULL, 0, NULL)); |
287 |
testobj_info = g_irepository_find_by_name (repo, "Regress", "TestObj"); |
288 |
g_assert (testobj_info != NULL); |
289 |
|
290 |
func_info = g_object_info_find_method (testobj_info, "instance_method"); |
291 |
g_assert (func_info != NULL); |
292 |
transfer = g_callable_info_get_instance_ownership_transfer ((GICallableInfo*) func_info); |
293 |
g_assert_cmpint (GI_TRANSFER_NOTHING, ==, transfer); |
294 |
|
295 |
g_base_info_unref (func_info); |
296 |
|
297 |
func_info = g_object_info_find_method (testobj_info, "instance_method_full"); |
298 |
g_assert (func_info != NULL); |
299 |
transfer = g_callable_info_get_instance_ownership_transfer ((GICallableInfo*) func_info); |
300 |
g_assert_cmpint (GI_TRANSFER_EVERYTHING, ==, transfer); |
301 |
|
302 |
g_base_info_unref (func_info); |
303 |
|
304 |
g_base_info_unref (testobj_info); |
305 |
} |
306 |
|
279 |
int |
307 |
int |
280 |
main (int argc, char **argv) |
308 |
main (int argc, char **argv) |
281 |
{ |
309 |
{ |
Lines 292-297
main (int argc, char **argv)
Link Here
|
292 |
test_hash_with_cairo_typelib (repo); |
320 |
test_hash_with_cairo_typelib (repo); |
293 |
test_char_types (repo); |
321 |
test_char_types (repo); |
294 |
test_signal_array_len (repo); |
322 |
test_signal_array_len (repo); |
|
|
323 |
test_instance_transfer_ownership (repo); |
295 |
|
324 |
|
296 |
exit (0); |
325 |
exit (0); |
297 |
} |
326 |
} |
298 |
-- /dev/null |
327 |
++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_full.page |
Line 0
Link Here
|
0 |
-- /dev/null |
1 |
<?xml version="1.0"?> |
|
|
2 |
<page id="Regress.TestObj.instance_method_full" |
3 |
type="topic" |
4 |
style="method" |
5 |
xmlns="http://projectmallard.org/1.0/" |
6 |
xmlns:api="http://projectmallard.org/experimental/api/" |
7 |
xmlns:ui="http://projectmallard.org/1.0/ui/"> |
8 |
<info> |
9 |
<link xref="Regress.TestObj" group="method" type="guide"/> |
10 |
<api:function> |
11 |
<api:returns> |
12 |
<api:type>void</api:type> |
13 |
</api:returns> |
14 |
<api:name>regress_test_obj_instance_method_full</api:name> |
15 |
<api:arg> |
16 |
<api:type>RegressTestObj*</api:type> |
17 |
<api:name>obj</api:name> |
18 |
</api:arg> |
19 |
</api:function> |
20 |
</info> |
21 |
<title>regress_test_obj_instance_method_full</title> |
22 |
<synopsis><code mime="text/x-csrc"> |
23 |
void regress_test_obj_instance_method_full (RegressTestObj* obj); |
24 |
</code></synopsis> |
25 |
|
26 |
|
27 |
<terms> |
28 |
<item> |
29 |
<title><code>obj</code></title> |
30 |
|
31 |
</item> |
32 |
<item> |
33 |
<title><code>Returns</code></title> |
34 |
|
35 |
</item> |
36 |
</terms> |
37 |
|
38 |
</page> |
|
|
39 |
++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_full.page |
Line 0
Link Here
|
0 |
-- /dev/null |
1 |
<?xml version="1.0"?> |
|
|
2 |
<page id="Regress.TestObj.instance_method_full" |
3 |
type="topic" |
4 |
style="method" |
5 |
xmlns="http://projectmallard.org/1.0/" |
6 |
xmlns:api="http://projectmallard.org/experimental/api/" |
7 |
xmlns:ui="http://projectmallard.org/1.0/ui/"> |
8 |
<info> |
9 |
<link xref="Regress.TestObj" group="method" type="guide"/> |
10 |
<api:function> |
11 |
<api:returns> |
12 |
<api:type>void</api:type> |
13 |
</api:returns> |
14 |
<api:name>regress_test_obj_instance_method_full</api:name> |
15 |
</api:function> |
16 |
</info> |
17 |
<title>Regress.TestObj.prototype.instance_method_full</title> |
18 |
<synopsis><code mime="text/x-gjs"> |
19 |
function instance_method_full(): void { |
20 |
// Gjs wrapper for regress_test_obj_instance_method_full() |
21 |
} |
22 |
</code></synopsis> |
23 |
|
24 |
|
25 |
|
26 |
</page> |
|
|
27 |
++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_full.page |
Line 0
Link Here
|
0 |
-- a/tests/scanner/Regress-1.0-expected.gir |
1 |
<?xml version="1.0"?> |
|
|
2 |
<page id="Regress.TestObj.instance_method_full" |
3 |
type="topic" |
4 |
style="method" |
5 |
xmlns="http://projectmallard.org/1.0/" |
6 |
xmlns:api="http://projectmallard.org/experimental/api/" |
7 |
xmlns:ui="http://projectmallard.org/1.0/ui/"> |
8 |
<info> |
9 |
<link xref="Regress.TestObj" group="method" type="guide"/> |
10 |
<api:function> |
11 |
<api:returns> |
12 |
<api:type>none</api:type> |
13 |
</api:returns> |
14 |
<api:name>regress_test_obj_instance_method_full</api:name> |
15 |
<api:arg> |
16 |
<api:type>Regress.TestObj</api:type> |
17 |
<api:name>self</api:name> |
18 |
</api:arg> |
19 |
</api:function> |
20 |
</info> |
21 |
<title>Regress.TestObj.instance_method_full</title> |
22 |
<synopsis><code mime="text/x-python"> |
23 |
@accepts(Regress.TestObj) |
24 |
@returns(none) |
25 |
def instance_method_full(self): |
26 |
# Python wrapper for regress_test_obj_instance_method_full() |
27 |
</code></synopsis> |
28 |
|
29 |
|
30 |
<terms> |
31 |
<item> |
32 |
<title><code>self</code></title> |
33 |
|
34 |
</item> |
35 |
</terms> |
36 |
|
37 |
</page> |
|
|
38 |
++ b/tests/scanner/Regress-1.0-expected.gir |
Lines 3047-3052
case.</doc>
Link Here
|
3047 |
</parameter> |
3047 |
</parameter> |
3048 |
</parameters> |
3048 |
</parameters> |
3049 |
</method> |
3049 |
</method> |
|
|
3050 |
<method name="instance_method_full" |
3051 |
c:identifier="regress_test_obj_instance_method_full"> |
3052 |
<return-value transfer-ownership="none"> |
3053 |
<type name="none" c:type="void"/> |
3054 |
</return-value> |
3055 |
<parameters> |
3056 |
<instance-parameter name="obj" transfer-ownership="full"> |
3057 |
<type name="TestObj" c:type="RegressTestObj*"/> |
3058 |
</instance-parameter> |
3059 |
</parameters> |
3060 |
</method> |
3050 |
<method name="set_bare" c:identifier="regress_test_obj_set_bare"> |
3061 |
<method name="set_bare" c:identifier="regress_test_obj_set_bare"> |
3051 |
<return-value transfer-ownership="none"> |
3062 |
<return-value transfer-ownership="none"> |
3052 |
<type name="none" c:type="void"/> |
3063 |
<type name="none" c:type="void"/> |
3053 |
-- a/tests/scanner/Regress-1.0-sections-expected.txt |
3064 |
++ b/tests/scanner/Regress-1.0-sections-expected.txt |
Lines 334-339
regress_test_obj_emit_sig_with_uint64
Link Here
|
334 |
regress_forced_method |
334 |
regress_forced_method |
335 |
regress_test_obj_instance_method |
335 |
regress_test_obj_instance_method |
336 |
regress_test_obj_instance_method_callback |
336 |
regress_test_obj_instance_method_callback |
|
|
337 |
regress_test_obj_instance_method_full |
337 |
regress_test_obj_set_bare |
338 |
regress_test_obj_set_bare |
338 |
regress_test_obj_skip_inout_param |
339 |
regress_test_obj_skip_inout_param |
339 |
regress_test_obj_skip_out_param |
340 |
regress_test_obj_skip_out_param |
340 |
-- a/tests/scanner/regress.c |
341 |
++ b/tests/scanner/regress.c |
Lines 2679-2684
regress_test_obj_instance_method (Regres
Link Here
|
2679 |
return -1; |
2679 |
return -1; |
2680 |
} |
2680 |
} |
2681 |
|
2681 |
|
|
|
2682 |
/** |
2683 |
* regress_test_obj_instance_method_full: |
2684 |
* @obj: (transfer full): |
2685 |
* |
2686 |
*/ |
2687 |
void |
2688 |
regress_test_obj_instance_method_full (RegressTestObj *obj) |
2689 |
{ |
2690 |
g_object_unref (obj); |
2691 |
} |
2692 |
|
2682 |
double |
2693 |
double |
2683 |
regress_test_obj_static_method (int x) |
2694 |
regress_test_obj_static_method (int x) |
2684 |
{ |
2695 |
{ |
2685 |
-- a/tests/scanner/regress.h |
2696 |
++ b/tests/scanner/regress.h |
Lines 527-532
void regress_test_obj_emit_sig_wit
Link Here
|
527 |
void regress_test_obj_emit_sig_with_int64 (RegressTestObj *obj); |
527 |
void regress_test_obj_emit_sig_with_int64 (RegressTestObj *obj); |
528 |
void regress_test_obj_emit_sig_with_uint64 (RegressTestObj *obj); |
528 |
void regress_test_obj_emit_sig_with_uint64 (RegressTestObj *obj); |
529 |
int regress_test_obj_instance_method (RegressTestObj *obj); |
529 |
int regress_test_obj_instance_method (RegressTestObj *obj); |
|
|
530 |
void regress_test_obj_instance_method_full (RegressTestObj *obj); |
530 |
double regress_test_obj_static_method (int x); |
531 |
double regress_test_obj_static_method (int x); |
531 |
void regress_forced_method (RegressTestObj *obj); |
532 |
void regress_forced_method (RegressTestObj *obj); |
532 |
|
533 |
|