summaryrefslogtreecommitdiff
path: root/tests/scanner/Regress-1.0.json
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scanner/Regress-1.0.json')
-rw-r--r--tests/scanner/Regress-1.0.json/Regress-1.0.json1352
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.ATestError.json22
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.AnAnonymousUnion.json19
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.AnnotationFields.json24
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.AnnotationObject.json584
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.AnnotationObjectClass.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.AnnotationStruct.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooASingle.json12
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooAddressType.json22
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooBRect.json59
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooBoxed.json28
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooBuffer.json20
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooBufferClass.json8
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooDBusData.json18
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooEnumFullname.json22
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooEnumNoType.json27
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooEnumType.json22
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooError.json22
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooEventAny.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooEventExpose.json19
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooForeignStruct.json34
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooInterfaceIface.json19
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooObject.json315
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooObjectClass.json29
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooOtherObject.json10
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooOtherObjectClass.json8
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooRectangle.json80
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooSkippable.json17
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooStackLayer.json52
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooStruct.json19
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooStructPrivate.json8
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooSubInterfaceIface.json29
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooSubobject.json20
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooSubobjectClass.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooThingWithArray.json29
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.FooUtilityStruct.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.Intset.json8
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.LikeGnomeKeyringPasswordSchema.json24
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.LikeXklConfigItem.json31
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.SkippedStructure.json19
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestABCError.json22
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestBoxed.json123
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestBoxedB.json52
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestBoxedC.json29
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestBoxedD.json59
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestBoxedPrivate.json8
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestDEFError.json22
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestEnum.json27
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestEnumNoGEnum.json22
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestEnumUnsigned.json17
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestError.json22
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestFloating.json20
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestFloatingClass.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestFundamentalObject.json48
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestFundamentalObjectClass.json24
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestFundamentalSubObject.json27
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestFundamentalSubObjectClass.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestInheritDrawable.json87
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestInheritDrawableClass.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestInheritPixmapObjectClass.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestInterfaceIface.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestObj.json866
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestObjClass.json49
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestOtherError.json22
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestPrivateStruct.json24
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestReferenceEnum.json37
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestSimpleBoxedA.json64
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestSimpleBoxedB.json29
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestStructA.json68
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestStructB.json36
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestStructC.json19
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestStructD.json34
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestStructE.json19
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestStructF.json44
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestStructFixedArray.json29
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestSubObj.json39
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestSubObjClass.json14
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestWi8021x.json69
-rw-r--r--tests/scanner/Regress-1.0.json/Regress.TestWi8021xClass.json14
79 files changed, 5256 insertions, 0 deletions
diff --git a/tests/scanner/Regress-1.0.json/Regress-1.0.json b/tests/scanner/Regress-1.0.json/Regress-1.0.json
new file mode 100644
index 00000000..39cb003d
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress-1.0.json
@@ -0,0 +1,1352 @@
+{
+ "classes": [
+ {
+ "doc": " <p>This is an object used to test annotations.</p>",
+ "kind": "class",
+ "name": "AnnotationObject"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooBuffer"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooObject"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooOtherObject"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooSubobject"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestFloating"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestFundamentalObject"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestFundamentalSubObject"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestInheritDrawable"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestObj"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestSubObj"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestWi8021x"
+ }
+ ],
+ "enums": [
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "ATestError"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "FooASingle"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "FooAddressType"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "FooEnumFullname"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "FooEnumNoType"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "FooEnumType"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "FooError"
+ },
+ {
+ "doc": " <p>Some type that is only interesting from C and should not be\nexposed to language bindings.</p>",
+ "kind": "enum",
+ "name": "FooSkippable"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "FooStackLayer"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "TestABCError"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "TestDEFError"
+ },
+ {
+ "doc": " <p>By purpose, not all members have documentation</p>",
+ "kind": "enum",
+ "name": "TestEnum"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "TestEnumNoGEnum"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "TestEnumUnsigned"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "TestError"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "TestOtherError"
+ },
+ {
+ "doc": "",
+ "kind": "enum",
+ "name": "TestReferenceEnum"
+ }
+ ],
+ "functions": [
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "aliased_caller_alloc"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_attribute_func"
+ },
+ {
+ "doc": " <p>Test messing up the heuristic of closure/destroy-notification\ndetection, and fixing it via annotations.</p>",
+ "kind": "function",
+ "name": "annotation_custom_destroy"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_get_source_file"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_init"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_invalid_regress_annotation"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_ptr_array"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_return_array"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_return_filename"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_set_source_file"
+ },
+ {
+ "doc": " <p>Explicitly test having a space after the ** here.</p>",
+ "kind": "function",
+ "name": "annotation_space_after_comment_bug631690"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_string_array_length"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_string_zero_terminated"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_string_zero_terminated_out"
+ },
+ {
+ "doc": " <p>See https://bugzilla.gnome.org/show_bug.cgi?id=630862</p>",
+ "kind": "function",
+ "name": "annotation_test_parsing_bug630862"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_transfer_floating"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "annotation_versioned"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "atest_error_quark"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_async_ready_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_destroy_notify_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_enum_type_method"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_enum_type_returnv"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_error_quark"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_init"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_interface_static_method"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_method_external_references"
+ },
+ {
+ "doc": " <p>This should be scanned as a top-level function, and shouldn't cause\na \"Can't find matching type for constructor\" warning.</p>",
+ "kind": "function",
+ "name": "foo_not_a_constructor_new"
+ },
+ {
+ "doc": " <p>This is a C convenience constructor; we have to (skip)\nit because it's not a boxed type.</p>",
+ "kind": "function",
+ "name": "foo_rectangle_new"
+ },
+ {
+ "doc": " <p>Does something that's only interesting from C and should not be\nexposed to language bindings.</p>",
+ "kind": "function",
+ "name": "foo_skip_me"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_some_variant"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_some_variant_ptr"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_array"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_const_char_param"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_const_char_retval"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_const_struct_param"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_const_struct_retval"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_string_array"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_string_array_with_g"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_unsigned_qualifier"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_unsigned_type"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_varargs_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_varargs_callback2"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "foo_test_varargs_callback3"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "func_obj_null_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "global_get_flags_out"
+ },
+ {
+ "doc": " <p>This test case mirrors GnomeKeyringPasswordSchema from\nlibgnome-keyring.</p>",
+ "kind": "function",
+ "name": "has_parameter_named_attrs"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "introspectable_via_alias"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "not_introspectable_via_alias"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "random_function_with_skipped_structure"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "set_abort_on_error"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_abc_error_quark"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_fixed_out_objects"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_fixed_size_int_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_fixed_size_int_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_fixed_size_int_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_gint16_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_gint32_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_gint64_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_gint8_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_gtype_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_int_full_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_int_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_int_inout"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_int_none_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_int_null_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_int_null_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_array_int_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_async_ready_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_boolean"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_boolean_false"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_boolean_true"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_boxeds_not_a_method"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_boxeds_not_a_static"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_cairo_context_full_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_cairo_context_none_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_cairo_surface_full_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_cairo_surface_full_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_cairo_surface_none_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_cairo_surface_none_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_callback_async"
+ },
+ {
+ "doc": " <p>Notified - callback persists until a DestroyNotify delegate\nis invoked.</p>",
+ "kind": "function",
+ "name": "test_callback_destroy_notify"
+ },
+ {
+ "doc": " <p>Adds a scope notified callback with no user data. This can invoke an error\ncondition in bindings which needs to be tested.</p>",
+ "kind": "function",
+ "name": "test_callback_destroy_notify_no_user_data"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_callback_thaw_async"
+ },
+ {
+ "doc": " <p>Invokes all callbacks installed by #test_callback_destroy_notify(),\nadding up their return values, and removes them, invoking the\ncorresponding destroy notfications.</p>",
+ "kind": "function",
+ "name": "test_callback_thaw_notifications"
+ },
+ {
+ "doc": " <p>Call - callback parameter persists for the duration of the method\ncall and can be released on return.</p>",
+ "kind": "function",
+ "name": "test_callback_user_data"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_closure"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_closure_one_arg"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_closure_variant"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_date_in_gvalue"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_def_error_quark"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_double"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_enum_param"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_error_quark"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_filename_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_float"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_garray_container_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_garray_full_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gerror_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_container_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_everything_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_gvalue_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_gvalue_return"
+ },
+ {
+ "doc": " <p>Specify nested parameterized types directly with the (type ) annotation.</p>",
+ "kind": "function",
+ "name": "test_ghash_nested_everything_return"
+ },
+ {
+ "doc": " <p>Another way of specifying nested parameterized types: using the\nelement-type annotation.</p>",
+ "kind": "function",
+ "name": "test_ghash_nested_everything_return2"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_nothing_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_nothing_in2"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_nothing_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_nothing_return2"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_null_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_null_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ghash_null_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_glist_container_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_glist_everything_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_glist_nothing_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_glist_nothing_in2"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_glist_nothing_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_glist_nothing_return2"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_glist_null_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_glist_null_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gslist_container_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gslist_everything_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gslist_nothing_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gslist_nothing_in2"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gslist_nothing_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gslist_nothing_return2"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gslist_null_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gslist_null_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gtype"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gvariant_as"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gvariant_asv"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gvariant_i"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gvariant_s"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_gvariant_v"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_hash_table_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_int"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_int16"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_int32"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_int64"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_int8"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_int_out_utf8"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_int_value_arg"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_long"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_multi_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_multi_double_args"
+ },
+ {
+ "doc": " <p>This is a function.</p> <p>It has multiple lines in the documentation.</p> <p>The sky is blue.</p> <p>You will give me your credit card number.</p>",
+ "kind": "function",
+ "name": "test_multiline_doc_comments"
+ },
+ {
+ "doc": " <p>&lt;informaltable&gt;\n &lt;tgroup cols=\"3\"&gt;\n &lt;thead&gt;\n &lt;row&gt;\n &lt;entry&gt;Syntax&lt;/entry&gt;\n &lt;entry&gt;Explanation&lt;/entry&gt;\n &lt;entry&gt;Examples&lt;/entry&gt;\n &lt;/row&gt;\n &lt;/thead&gt;\n &lt;tbody&gt;\n &lt;row&gt;\n &lt;entry&gt;rgb(@r, @g, @b)&lt;/entry&gt;\n &lt;entry&gt;An opaque color; @r, @g, @b can be either integers between\n 0 and 255 or percentages&lt;/entry&gt;\n &lt;entry&gt;&lt;literallayout&gt;rgb(128, 10, 54)\nrgb(20%, 30%, 0%)&lt;/literallayout&gt;&lt;/entry&gt;\n &lt;/row&gt;\n &lt;row&gt;\n &lt;entry&gt;rgba(@r, @g, @b, <code>a</code>)&lt;/entry&gt;\n &lt;entry&gt;A translucent color; @r, @g, @b are as in the previous row,\n <code>a</code> is a floating point number between 0 and 1&lt;/entry&gt;\n &lt;entry&gt;&lt;literallayout&gt;rgba(255, 255, 0, 0.5)&lt;/literallayout&gt;&lt;/entry&gt;\n &lt;/row&gt;\n &lt;/tbody&gt;\n &lt;/tgroup&gt;\n&lt;/informaltable&gt;</p> <p>What we're testing here is that the scanner ignores the <code>a</code> nested inside XML.</p>",
+ "kind": "function",
+ "name": "test_nested_parameter"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_null_gerror_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_owned_gerror_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_short"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_simple_boxed_a_const_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_simple_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_size"
+ },
+ {
+ "doc": " <p>Should not emit a warning:\nhttps://bugzilla.gnome.org/show_bug.cgi?id=685399</p>",
+ "kind": "function",
+ "name": "test_skip_unannotated_callback"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ssize"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_struct_a_parse"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_strv_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_strv_in_gvalue"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_strv_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_strv_out_c"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_strv_out_container"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_strv_outarg"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_timet"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_torture_signature_0"
+ },
+ {
+ "doc": " <p>This function throws an error if m is odd.</p>",
+ "kind": "function",
+ "name": "test_torture_signature_1"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_torture_signature_2"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_uint"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_uint16"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_uint32"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_uint64"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_uint8"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ulong"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_unconventional_error_quark"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_unichar"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_unsigned_enum_param"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_ushort"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_utf8_const_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_utf8_const_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_utf8_inout"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_utf8_nonconst_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_utf8_null_in"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_utf8_null_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_utf8_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_utf8_out_nonconst_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_utf8_out_out"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_value_get_fundamental_object"
+ },
+ {
+ "doc": " <p>This is a <em>test</em> of <strong>Markdown</strong> formatting within a comment.</p>",
+ "kind": "function",
+ "name": "test_value_return"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_value_set_fundamental_object"
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "test_versioning"
+ }
+ ],
+ "name": "Regress",
+ "records": [
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "AnAnonymousUnion"
+ },
+ {
+ "doc": " <p>This is a struct for testing field documentation and annotations</p>",
+ "kind": "class",
+ "name": "AnnotationFields"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "AnnotationObjectClass"
+ },
+ {
+ "doc": " <p>This is a test of an array of object in an field of a struct.</p>",
+ "kind": "class",
+ "name": "AnnotationStruct"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooBRect"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooBoxed"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooBufferClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooDBusData"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooEventAny"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooEventExpose"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooForeignStruct"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooInterfaceIface"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooObjectClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooOtherObjectClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooRectangle"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooStruct"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooStructPrivate"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooSubInterfaceIface"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooSubobjectClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooThingWithArray"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "FooUtilityStruct"
+ },
+ {
+ "doc": " <p>Like telepathy-glib's TpIntset.</p>",
+ "kind": "class",
+ "name": "Intset"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "LikeGnomeKeyringPasswordSchema"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "LikeXklConfigItem"
+ },
+ {
+ "doc": " <p>This should be skipped, and moreover, all function which\nuse it should be.</p>",
+ "kind": "class",
+ "name": "SkippedStructure"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestBoxed"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestBoxedB"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestBoxedC"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestBoxedD"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestBoxedPrivate"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestFloatingClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestFundamentalObjectClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestFundamentalSubObjectClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestInheritDrawableClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestInheritPixmapObjectClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestInterfaceIface"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestObjClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestPrivateStruct"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestSimpleBoxedA"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestSimpleBoxedB"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestStructA"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestStructB"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestStructC"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestStructD"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestStructE"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestStructF"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestStructFixedArray"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestSubObjClass"
+ },
+ {
+ "doc": "",
+ "kind": "class",
+ "name": "TestWi8021xClass"
+ }
+ ],
+ "version": "1.0"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.ATestError.json b/tests/scanner/Regress-1.0.json/Regress.ATestError.json
new file mode 100644
index 00000000..d1b5678c
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.ATestError.json
@@ -0,0 +1,22 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code0"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code1"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code2"
+ }
+ ],
+ "name": "ATestError"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.AnAnonymousUnion.json b/tests/scanner/Regress-1.0.json/Regress.AnAnonymousUnion.json
new file mode 100644
index 00000000..9e4b2174
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.AnAnonymousUnion.json
@@ -0,0 +1,19 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "x"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": null
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "AnAnonymousUnion"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.AnnotationFields.json b/tests/scanner/Regress-1.0.json/Regress.AnnotationFields.json
new file mode 100644
index 00000000..ee054269
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.AnnotationFields.json
@@ -0,0 +1,24 @@
+{
+ "constructors": [],
+ "doc": " <p>This is a struct for testing field documentation and annotations</p>",
+ "fields": [
+ {
+ "doc": " <p>Some documentation</p>",
+ "kind": "field",
+ "name": "field1"
+ },
+ {
+ "doc": " <p>an array of length @len</p>",
+ "kind": "field",
+ "name": "arr"
+ },
+ {
+ "doc": " <p>the length of array</p>",
+ "kind": "field",
+ "name": "len"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "AnnotationFields"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.AnnotationObject.json b/tests/scanner/Regress-1.0.json/Regress.AnnotationObject.json
new file mode 100644
index 00000000..ba50c24f
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.AnnotationObject.json
@@ -0,0 +1,584 @@
+{
+ "constructors": [],
+ "doc": " <p>This is an object used to test annotations.</p>",
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "allow_none",
+ "parameters": [
+ {
+ "allow_none": true,
+ "argname": "somearg",
+ "direction": "in",
+ "type": "const gchar*"
+ }
+ ],
+ "retval": {
+ "type": "GObject*"
+ }
+ },
+ {
+ "doc": " <p>This is a test for out arguments; GObject defaults to transfer</p>",
+ "kind": "method",
+ "name": "calleeowns",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "toown",
+ "direction": "out",
+ "type": "GObject**"
+ }
+ ],
+ "retval": {
+ "type": "gint"
+ }
+ },
+ {
+ "doc": " <p>This is a test for out arguments, one transferred, other not</p>",
+ "kind": "method",
+ "name": "calleesowns",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "toown1",
+ "direction": "out",
+ "type": "GObject**"
+ },
+ {
+ "allow_none": false,
+ "argname": "toown2",
+ "direction": "out",
+ "type": "GObject**"
+ }
+ ],
+ "retval": {
+ "type": "gint"
+ }
+ },
+ {
+ "doc": " <p>Test taking a zero-terminated array</p>",
+ "kind": "method",
+ "name": "compute_sum",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "nums",
+ "direction": "in",
+ "type": "int*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Test taking an array with length parameter</p>",
+ "kind": "method",
+ "name": "compute_sum_n",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "nums",
+ "direction": "in",
+ "type": "int*"
+ },
+ {
+ "allow_none": false,
+ "argname": "n_nums",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Test taking a zero-terminated array with length parameter</p>",
+ "kind": "method",
+ "name": "compute_sum_nz",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "nums",
+ "direction": "in",
+ "type": "int*"
+ },
+ {
+ "allow_none": false,
+ "argname": "n_nums",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Test returning a caller-owned object</p>",
+ "kind": "method",
+ "name": "create_object",
+ "parameters": [],
+ "retval": {
+ "type": "GObject*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "do_not_use",
+ "parameters": [],
+ "retval": {
+ "type": "GObject*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "extra_annos",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Test taking a call-scoped callback</p>",
+ "kind": "method",
+ "name": "foreach",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "func",
+ "direction": "in",
+ "type": "RegressAnnotationForeachFunc"
+ },
+ {
+ "allow_none": false,
+ "argname": "user_data",
+ "direction": "in",
+ "type": "gpointer"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This is a test for returning a hash table mapping strings to\nobjects.</p>",
+ "kind": "method",
+ "name": "get_hash",
+ "parameters": [],
+ "retval": {
+ "type": "GHashTable*"
+ }
+ },
+ {
+ "doc": " <p>This is a test for returning a list of objects.\nThe list itself should be freed, but not the internal objects,\nintentionally similar example to gtk_container_get_children</p>",
+ "kind": "method",
+ "name": "get_objects",
+ "parameters": [],
+ "retval": {
+ "type": "GSList*"
+ }
+ },
+ {
+ "doc": " <p>This is a test for returning a list of strings, where\neach string needs to be freed.</p>",
+ "kind": "method",
+ "name": "get_strings",
+ "parameters": [],
+ "retval": {
+ "type": "GList*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "hidden_self",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This is a test for in arguments</p>",
+ "kind": "method",
+ "name": "in",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "inarg",
+ "direction": "in",
+ "type": "int*"
+ }
+ ],
+ "retval": {
+ "type": "gint"
+ }
+ },
+ {
+ "doc": " <p>This is a test for out arguments</p>",
+ "kind": "method",
+ "name": "inout",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "inoutarg",
+ "direction": "inout",
+ "type": "int*"
+ }
+ ],
+ "retval": {
+ "type": "gint"
+ }
+ },
+ {
+ "doc": " <p>This is a second test for out arguments</p>",
+ "kind": "method",
+ "name": "inout2",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "inoutarg",
+ "direction": "inout",
+ "type": "int*"
+ }
+ ],
+ "retval": {
+ "type": "gint"
+ }
+ },
+ {
+ "doc": " <p>This is a 3th test for out arguments</p>",
+ "kind": "method",
+ "name": "inout3",
+ "parameters": [
+ {
+ "allow_none": true,
+ "argname": "inoutarg",
+ "direction": "inout",
+ "type": "int*"
+ }
+ ],
+ "retval": {
+ "type": "gint"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "method",
+ "parameters": [],
+ "retval": {
+ "type": "gint"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "notrans",
+ "parameters": [],
+ "retval": {
+ "type": "GObject*"
+ }
+ },
+ {
+ "doc": " <p>This is a test for out arguments</p>",
+ "kind": "method",
+ "name": "out",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "outarg",
+ "direction": "out",
+ "type": "int*"
+ }
+ ],
+ "retval": {
+ "type": "gint"
+ }
+ },
+ {
+ "doc": " <p>Test taking a zero-terminated array with length parameter</p>",
+ "kind": "method",
+ "name": "parse_args",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "argc",
+ "direction": "inout",
+ "type": "int*"
+ },
+ {
+ "allow_none": false,
+ "argname": "argv",
+ "direction": "inout",
+ "type": "char***"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Test taking a guchar * with a length.</p>",
+ "kind": "method",
+ "name": "set_data",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "data",
+ "direction": "in",
+ "type": "guchar*"
+ },
+ {
+ "allow_none": false,
+ "argname": "length",
+ "direction": "in",
+ "type": "gsize"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Test taking a gchar * with a length.</p>",
+ "kind": "method",
+ "name": "set_data2",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "data",
+ "direction": "in",
+ "type": "gint8*"
+ },
+ {
+ "allow_none": false,
+ "argname": "length",
+ "direction": "in",
+ "type": "gsize"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Test taking a gchar * with a length, overriding the array element\ntype.</p>",
+ "kind": "method",
+ "name": "set_data3",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "data",
+ "direction": "in",
+ "type": "guint8*"
+ },
+ {
+ "allow_none": false,
+ "argname": "length",
+ "direction": "in",
+ "type": "gsize"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Test returning a string as an out parameter</p>",
+ "kind": "method",
+ "name": "string_out",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "str_out",
+ "direction": "out",
+ "type": "char**"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "use_buffer",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "bytes",
+ "direction": "in",
+ "type": "guchar*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This is here just for the sake of being overriden by its\n<span data-xref=\"Regress.AnnotationObject.watch\"/>.</p>",
+ "kind": "method",
+ "name": "watch",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "func",
+ "direction": "in",
+ "type": "RegressAnnotationForeachFunc"
+ },
+ {
+ "allow_none": false,
+ "argname": "user_data",
+ "direction": "in",
+ "type": "gpointer"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Test overriding via the \"Rename To\" annotation.</p>",
+ "kind": "method",
+ "name": "watch_full",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "func",
+ "direction": "in",
+ "type": "RegressAnnotationForeachFunc"
+ },
+ {
+ "allow_none": false,
+ "argname": "user_data",
+ "direction": "in",
+ "type": "gpointer"
+ },
+ {
+ "allow_none": false,
+ "argname": "destroy",
+ "direction": "in",
+ "type": "GDestroyNotify"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "with_voidp",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "data",
+ "direction": "in",
+ "type": "void*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "AnnotationObject",
+ "properties": [
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "function-property",
+ "type": "gpointer"
+ },
+ {
+ "doc": " <p>This is a property which is a string</p>",
+ "kind": "property",
+ "name": "string-property",
+ "type": "gchar*"
+ },
+ {
+ "doc": " <p>This is a property annotation intentionally indented with a mix\nof tabs and strings to test the tab handling capabilities of the scanner.</p>",
+ "kind": "property",
+ "name": "tab-property",
+ "type": "gchar*"
+ }
+ ],
+ "signals": [
+ {
+ "doc": " <p>This signal tests a signal with attributes.</p>",
+ "kind": "signal",
+ "name": "attribute-signal",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "arg1",
+ "direction": "in",
+ "type": "gchar*"
+ },
+ {
+ "allow_none": false,
+ "argname": "arg2",
+ "direction": "in",
+ "type": "gchar*"
+ }
+ ],
+ "retval": {
+ "type": "gchar*"
+ }
+ },
+ {
+ "doc": " <p>This signal tests an empty document argument (<code>arg1</code>)</p>",
+ "kind": "signal",
+ "name": "doc-empty-arg-parsing",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "arg1",
+ "direction": "in",
+ "type": "gpointer"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This is a signal which takes a list of strings, but it's not\nknown by GObject as it's only marked as G_TYPE_POINTER</p>",
+ "kind": "signal",
+ "name": "list-signal",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "list",
+ "direction": "in",
+ "type": "gpointer"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This is a signal which has a broken signal handler,\nit says it's pointer but it's actually a string.</p>",
+ "kind": "signal",
+ "name": "string-signal",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "string",
+ "direction": "in",
+ "type": "gpointer"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "vfuncs": []
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.AnnotationObjectClass.json b/tests/scanner/Regress-1.0.json/Regress.AnnotationObjectClass.json
new file mode 100644
index 00000000..bae95eb7
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.AnnotationObjectClass.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_class"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "AnnotationObjectClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.AnnotationStruct.json b/tests/scanner/Regress-1.0.json/Regress.AnnotationStruct.json
new file mode 100644
index 00000000..d18969f5
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.AnnotationStruct.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": " <p>This is a test of an array of object in an field of a struct.</p>",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "objects"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "AnnotationStruct"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooASingle.json b/tests/scanner/Regress-1.0.json/Regress.FooASingle.json
new file mode 100644
index 00000000..6b796b01
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooASingle.json
@@ -0,0 +1,12 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "foo_some_single_enum"
+ }
+ ],
+ "name": "FooASingle"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooAddressType.json b/tests/scanner/Regress-1.0.json/Regress.FooAddressType.json
new file mode 100644
index 00000000..30cc2a55
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooAddressType.json
@@ -0,0 +1,22 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "invalid"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "ipv4"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "ipv6"
+ }
+ ],
+ "name": "FooAddressType"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooBRect.json b/tests/scanner/Regress-1.0.json/Regress.FooBRect.json
new file mode 100644
index 00000000..4aab131a
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooBRect.json
@@ -0,0 +1,59 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "double"
+ },
+ {
+ "allow_none": false,
+ "argname": "y",
+ "direction": "in",
+ "type": "double"
+ }
+ ],
+ "retval": {
+ "type": "RegressFooBRect*"
+ }
+ }
+ ],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "x"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "y"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "add",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "b2",
+ "direction": "in",
+ "type": "RegressFooBRect*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "FooBRect"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooBoxed.json b/tests/scanner/Regress-1.0.json/Regress.FooBoxed.json
new file mode 100644
index 00000000..b89073a8
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooBoxed.json
@@ -0,0 +1,28 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [],
+ "retval": {
+ "type": "RegressFooBoxed*"
+ }
+ }
+ ],
+ "doc": "",
+ "fields": [],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "method",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "FooBoxed"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooBuffer.json b/tests/scanner/Regress-1.0.json/Regress.FooBuffer.json
new file mode 100644
index 00000000..e3db76f1
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooBuffer.json
@@ -0,0 +1,20 @@
+{
+ "constructors": [],
+ "doc": "",
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "some_method",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "FooBuffer",
+ "properties": [],
+ "signals": [],
+ "vfuncs": []
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooBufferClass.json b/tests/scanner/Regress-1.0.json/Regress.FooBufferClass.json
new file mode 100644
index 00000000..90d8e3ee
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooBufferClass.json
@@ -0,0 +1,8 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [],
+ "kind": "class",
+ "methods": [],
+ "name": "FooBufferClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooDBusData.json b/tests/scanner/Regress-1.0.json/Regress.FooDBusData.json
new file mode 100644
index 00000000..de4ad7b8
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooDBusData.json
@@ -0,0 +1,18 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "method",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "FooDBusData"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooEnumFullname.json b/tests/scanner/Regress-1.0.json/Regress.FooEnumFullname.json
new file mode 100644
index 00000000..2cc1a907
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooEnumFullname.json
@@ -0,0 +1,22 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "one"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "two"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "three"
+ }
+ ],
+ "name": "FooEnumFullname"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooEnumNoType.json b/tests/scanner/Regress-1.0.json/Regress.FooEnumNoType.json
new file mode 100644
index 00000000..947c886c
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooEnumNoType.json
@@ -0,0 +1,27 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "un"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "deux"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "trois"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "neuf"
+ }
+ ],
+ "name": "FooEnumNoType"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooEnumType.json b/tests/scanner/Regress-1.0.json/Regress.FooEnumType.json
new file mode 100644
index 00000000..63e11a15
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooEnumType.json
@@ -0,0 +1,22 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "alpha"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "beta"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "delta"
+ }
+ ],
+ "name": "FooEnumType"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooError.json b/tests/scanner/Regress-1.0.json/Regress.FooError.json
new file mode 100644
index 00000000..bd378d81
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooError.json
@@ -0,0 +1,22 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "good"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "bad"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "ugly"
+ }
+ ],
+ "name": "FooError"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooEventAny.json b/tests/scanner/Regress-1.0.json/Regress.FooEventAny.json
new file mode 100644
index 00000000..bbf44562
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooEventAny.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "send_event"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "FooEventAny"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooEventExpose.json b/tests/scanner/Regress-1.0.json/Regress.FooEventExpose.json
new file mode 100644
index 00000000..c9597173
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooEventExpose.json
@@ -0,0 +1,19 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "send_event"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "count"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "FooEventExpose"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooForeignStruct.json b/tests/scanner/Regress-1.0.json/Regress.FooForeignStruct.json
new file mode 100644
index 00000000..7842dc9e
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooForeignStruct.json
@@ -0,0 +1,34 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [],
+ "retval": {
+ "type": "RegressFooForeignStruct*"
+ }
+ }
+ ],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "regress_foo"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "copy",
+ "parameters": [],
+ "retval": {
+ "type": "RegressFooForeignStruct*"
+ }
+ }
+ ],
+ "name": "FooForeignStruct"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooInterfaceIface.json b/tests/scanner/Regress-1.0.json/Regress.FooInterfaceIface.json
new file mode 100644
index 00000000..2c7b2526
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooInterfaceIface.json
@@ -0,0 +1,19 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_iface"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "do_regress_foo"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "FooInterfaceIface"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooObject.json b/tests/scanner/Regress-1.0.json/Regress.FooObject.json
new file mode 100644
index 00000000..006b8df3
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooObject.json
@@ -0,0 +1,315 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [],
+ "retval": {
+ "type": "RegressFooObject*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new_as_super",
+ "parameters": [],
+ "retval": {
+ "type": "GObject*"
+ }
+ }
+ ],
+ "doc": "",
+ "kind": "class",
+ "methods": [
+ {
+ "doc": " <p>This shouldn't be scanned as a constructor.</p>",
+ "kind": "method",
+ "name": "append_new_stack_layer",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "RegressFooOtherObject*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "dup_name",
+ "parameters": [],
+ "retval": {
+ "type": "char*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "external_type",
+ "parameters": [],
+ "retval": {
+ "type": "UtilityObject*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "get_name",
+ "parameters": [],
+ "retval": {
+ "type": "const char*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "handle_glyph",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "glyph",
+ "direction": "in",
+ "type": "UtilityGlyph"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "is_it_time_yet",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "time",
+ "direction": "in",
+ "type": "time_t"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Not sure why this test is here...</p>",
+ "kind": "method",
+ "name": "new_cookie",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "target",
+ "direction": "in",
+ "type": "const char*"
+ }
+ ],
+ "retval": {
+ "type": "RegressFooObjectCookie"
+ }
+ },
+ {
+ "doc": " <p>Read some stuff.</p>",
+ "kind": "method",
+ "name": "read",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "offset",
+ "direction": "in",
+ "type": "int"
+ },
+ {
+ "allow_none": false,
+ "argname": "length",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This is only useful from C.</p>",
+ "kind": "method",
+ "name": "skipped_method",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "take_all",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "int"
+ },
+ {
+ "allow_none": false,
+ "argname": "...",
+ "direction": "in",
+ "type": "<varargs>"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "various",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "data",
+ "direction": "in",
+ "type": "void*"
+ },
+ {
+ "allow_none": false,
+ "argname": "some_type",
+ "direction": "in",
+ "type": "GType"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "virtual_method",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "first_param",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "a_global_method",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "obj",
+ "direction": "in",
+ "type": "UtilityObject*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This function is intended to match clutter_stage_get_default which\nuses a C sugar return type.</p>",
+ "kind": "function",
+ "name": "get_default",
+ "parameters": [],
+ "retval": {
+ "type": "RegressFooObject*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "static_meth",
+ "parameters": [],
+ "retval": {
+ "type": "int"
+ }
+ }
+ ],
+ "name": "FooObject",
+ "properties": [
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "string",
+ "type": "gchar*"
+ }
+ ],
+ "signals": [
+ {
+ "doc": "",
+ "kind": "signal",
+ "name": "signal",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "object",
+ "direction": "in",
+ "type": "GObject"
+ },
+ {
+ "allow_none": false,
+ "argname": "p0",
+ "direction": "in",
+ "type": "gpointer"
+ }
+ ],
+ "retval": {
+ "type": "gchar*"
+ }
+ }
+ ],
+ "vfuncs": [
+ {
+ "doc": " <p>Read some stuff.</p>",
+ "kind": "vfunc",
+ "name": "read_fn",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "offset",
+ "direction": "in",
+ "type": "int"
+ },
+ {
+ "allow_none": false,
+ "argname": "length",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "vfunc",
+ "name": "virtual_method",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "first_param",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooObjectClass.json b/tests/scanner/Regress-1.0.json/Regress.FooObjectClass.json
new file mode 100644
index 00000000..c9364e14
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooObjectClass.json
@@ -0,0 +1,29 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_class"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "virtual_method"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "read_fn"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "_reserved"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "FooObjectClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooOtherObject.json b/tests/scanner/Regress-1.0.json/Regress.FooOtherObject.json
new file mode 100644
index 00000000..f0e278f9
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooOtherObject.json
@@ -0,0 +1,10 @@
+{
+ "constructors": [],
+ "doc": "",
+ "kind": "class",
+ "methods": [],
+ "name": "FooOtherObject",
+ "properties": [],
+ "signals": [],
+ "vfuncs": []
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooOtherObjectClass.json b/tests/scanner/Regress-1.0.json/Regress.FooOtherObjectClass.json
new file mode 100644
index 00000000..feca2459
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooOtherObjectClass.json
@@ -0,0 +1,8 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [],
+ "kind": "class",
+ "methods": [],
+ "name": "FooOtherObjectClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooRectangle.json b/tests/scanner/Regress-1.0.json/Regress.FooRectangle.json
new file mode 100644
index 00000000..898738f5
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooRectangle.json
@@ -0,0 +1,80 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "x"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "y"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "width"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "height"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "add",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "r2",
+ "direction": "in",
+ "type": "const RegressFooRectangle*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This is a C convenience constructor; we have to (skip)\nit because it's not a boxed type.</p>",
+ "kind": "function",
+ "name": "new",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "int"
+ },
+ {
+ "allow_none": false,
+ "argname": "y",
+ "direction": "in",
+ "type": "int"
+ },
+ {
+ "allow_none": false,
+ "argname": "width",
+ "direction": "in",
+ "type": "int"
+ },
+ {
+ "allow_none": false,
+ "argname": "height",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "RegressFooRectangle*"
+ }
+ }
+ ],
+ "name": "FooRectangle"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooSkippable.json b/tests/scanner/Regress-1.0.json/Regress.FooSkippable.json
new file mode 100644
index 00000000..36a33fbd
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooSkippable.json
@@ -0,0 +1,17 @@
+{
+ "doc": " <p>Some type that is only interesting from C and should not be\nexposed to language bindings.</p>",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": " <p>a skippable enum value</p>",
+ "kind": "default",
+ "name": "one"
+ },
+ {
+ "doc": " <p>another skippable enum value</p>",
+ "kind": "default",
+ "name": "two"
+ }
+ ],
+ "name": "FooSkippable"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooStackLayer.json b/tests/scanner/Regress-1.0.json/Regress.FooStackLayer.json
new file mode 100644
index 00000000..866eced4
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooStackLayer.json
@@ -0,0 +1,52 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "desktop"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "bottom"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "normal"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "top"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "dock"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "fullscreen"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "focused_window"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "override_redirect"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "last"
+ }
+ ],
+ "name": "FooStackLayer"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooStruct.json b/tests/scanner/Regress-1.0.json/Regress.FooStruct.json
new file mode 100644
index 00000000..f689b03c
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooStruct.json
@@ -0,0 +1,19 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "priv"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "member"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "FooStruct"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooStructPrivate.json b/tests/scanner/Regress-1.0.json/Regress.FooStructPrivate.json
new file mode 100644
index 00000000..1212bcd4
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooStructPrivate.json
@@ -0,0 +1,8 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [],
+ "kind": "class",
+ "methods": [],
+ "name": "FooStructPrivate"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooSubInterfaceIface.json b/tests/scanner/Regress-1.0.json/Regress.FooSubInterfaceIface.json
new file mode 100644
index 00000000..4f32825f
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooSubInterfaceIface.json
@@ -0,0 +1,29 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_iface"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "destroy_event"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "do_bar"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "do_baz"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "FooSubInterfaceIface"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooSubobject.json b/tests/scanner/Regress-1.0.json/Regress.FooSubobject.json
new file mode 100644
index 00000000..455f0716
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooSubobject.json
@@ -0,0 +1,20 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [],
+ "retval": {
+ "type": "RegressFooSubobject*"
+ }
+ }
+ ],
+ "doc": "",
+ "kind": "class",
+ "methods": [],
+ "name": "FooSubobject",
+ "properties": [],
+ "signals": [],
+ "vfuncs": []
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooSubobjectClass.json b/tests/scanner/Regress-1.0.json/Regress.FooSubobjectClass.json
new file mode 100644
index 00000000..d0323d77
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooSubobjectClass.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_class"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "FooSubobjectClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooThingWithArray.json b/tests/scanner/Regress-1.0.json/Regress.FooThingWithArray.json
new file mode 100644
index 00000000..50d85c43
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooThingWithArray.json
@@ -0,0 +1,29 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "x"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "y"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "lines"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "data"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "FooThingWithArray"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.FooUtilityStruct.json b/tests/scanner/Regress-1.0.json/Regress.FooUtilityStruct.json
new file mode 100644
index 00000000..2e3291a6
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.FooUtilityStruct.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "bar"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "FooUtilityStruct"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.Intset.json b/tests/scanner/Regress-1.0.json/Regress.Intset.json
new file mode 100644
index 00000000..66321dbe
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.Intset.json
@@ -0,0 +1,8 @@
+{
+ "constructors": [],
+ "doc": " <p>Like telepathy-glib's TpIntset.</p>",
+ "fields": [],
+ "kind": "class",
+ "methods": [],
+ "name": "Intset"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.LikeGnomeKeyringPasswordSchema.json b/tests/scanner/Regress-1.0.json/Regress.LikeGnomeKeyringPasswordSchema.json
new file mode 100644
index 00000000..ac4b47e6
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.LikeGnomeKeyringPasswordSchema.json
@@ -0,0 +1,24 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "dummy"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "attributes"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "dummy2"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "LikeGnomeKeyringPasswordSchema"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.LikeXklConfigItem.json b/tests/scanner/Regress-1.0.json/Regress.LikeXklConfigItem.json
new file mode 100644
index 00000000..6a2069a3
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.LikeXklConfigItem.json
@@ -0,0 +1,31 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "name"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "set_name",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "name",
+ "direction": "in",
+ "type": "const char*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "LikeXklConfigItem"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.SkippedStructure.json b/tests/scanner/Regress-1.0.json/Regress.SkippedStructure.json
new file mode 100644
index 00000000..65eae577
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.SkippedStructure.json
@@ -0,0 +1,19 @@
+{
+ "constructors": [],
+ "doc": " <p>This should be skipped, and moreover, all function which\nuse it should be.</p>",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "x"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "v"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "SkippedStructure"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestABCError.json b/tests/scanner/Regress-1.0.json/Regress.TestABCError.json
new file mode 100644
index 00000000..f51bc345
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestABCError.json
@@ -0,0 +1,22 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code1"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code2"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code3"
+ }
+ ],
+ "name": "TestABCError"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestBoxed.json b/tests/scanner/Regress-1.0.json/Regress.TestBoxed.json
new file mode 100644
index 00000000..f47f9b42
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestBoxed.json
@@ -0,0 +1,123 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestBoxed*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new_alternative_constructor1",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "i",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "RegressTestBoxed*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new_alternative_constructor2",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "i",
+ "direction": "in",
+ "type": "int"
+ },
+ {
+ "allow_none": false,
+ "argname": "j",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "RegressTestBoxed*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new_alternative_constructor3",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "s",
+ "direction": "in",
+ "type": "char*"
+ }
+ ],
+ "retval": {
+ "type": "RegressTestBoxed*"
+ }
+ }
+ ],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_int8"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "nested_a"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "priv"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "_not_a_method",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "copy",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestBoxed*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "equals",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "other",
+ "direction": "in",
+ "type": "RegressTestBoxed*"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ }
+ ],
+ "name": "TestBoxed"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestBoxedB.json b/tests/scanner/Regress-1.0.json/Regress.TestBoxedB.json
new file mode 100644
index 00000000..96f8216f
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestBoxedB.json
@@ -0,0 +1,52 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "some_int8",
+ "direction": "in",
+ "type": "gint8"
+ },
+ {
+ "allow_none": false,
+ "argname": "some_long",
+ "direction": "in",
+ "type": "glong"
+ }
+ ],
+ "retval": {
+ "type": "RegressTestBoxedB*"
+ }
+ }
+ ],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_int8"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_long"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "copy",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestBoxedB*"
+ }
+ }
+ ],
+ "name": "TestBoxedB"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestBoxedC.json b/tests/scanner/Regress-1.0.json/Regress.TestBoxedC.json
new file mode 100644
index 00000000..9c0eb71f
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestBoxedC.json
@@ -0,0 +1,29 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestBoxedC*"
+ }
+ }
+ ],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "refcount"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "another_thing"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestBoxedC"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestBoxedD.json b/tests/scanner/Regress-1.0.json/Regress.TestBoxedD.json
new file mode 100644
index 00000000..5416eaad
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestBoxedD.json
@@ -0,0 +1,59 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "a_string",
+ "direction": "in",
+ "type": "const char*"
+ },
+ {
+ "allow_none": false,
+ "argname": "a_int",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "RegressTestBoxedD*"
+ }
+ }
+ ],
+ "doc": "",
+ "fields": [],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "copy",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestBoxedD*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "free",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "get_magic",
+ "parameters": [],
+ "retval": {
+ "type": "int"
+ }
+ }
+ ],
+ "name": "TestBoxedD"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestBoxedPrivate.json b/tests/scanner/Regress-1.0.json/Regress.TestBoxedPrivate.json
new file mode 100644
index 00000000..079d8381
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestBoxedPrivate.json
@@ -0,0 +1,8 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [],
+ "kind": "class",
+ "methods": [],
+ "name": "TestBoxedPrivate"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestDEFError.json b/tests/scanner/Regress-1.0.json/Regress.TestDEFError.json
new file mode 100644
index 00000000..16b48a94
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestDEFError.json
@@ -0,0 +1,22 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code0"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code1"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code2"
+ }
+ ],
+ "name": "TestDEFError"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestEnum.json b/tests/scanner/Regress-1.0.json/Regress.TestEnum.json
new file mode 100644
index 00000000..0fd8761f
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestEnum.json
@@ -0,0 +1,27 @@
+{
+ "doc": " <p>By purpose, not all members have documentation</p>",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": " <p>value 1</p>",
+ "kind": "default",
+ "name": "value1"
+ },
+ {
+ "doc": " <p>value 2</p>",
+ "kind": "default",
+ "name": "value2"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "value3"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "value4"
+ }
+ ],
+ "name": "TestEnum"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestEnumNoGEnum.json b/tests/scanner/Regress-1.0.json/Regress.TestEnumNoGEnum.json
new file mode 100644
index 00000000..521e9988
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestEnumNoGEnum.json
@@ -0,0 +1,22 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "evalue1"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "evalue2"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "evalue3"
+ }
+ ],
+ "name": "TestEnumNoGEnum"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestEnumUnsigned.json b/tests/scanner/Regress-1.0.json/Regress.TestEnumUnsigned.json
new file mode 100644
index 00000000..e84a1069
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestEnumUnsigned.json
@@ -0,0 +1,17 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "value1"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "value2"
+ }
+ ],
+ "name": "TestEnumUnsigned"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestError.json b/tests/scanner/Regress-1.0.json/Regress.TestError.json
new file mode 100644
index 00000000..f0c5ae36
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestError.json
@@ -0,0 +1,22 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code1"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code2"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code3"
+ }
+ ],
+ "name": "TestError"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestFloating.json b/tests/scanner/Regress-1.0.json/Regress.TestFloating.json
new file mode 100644
index 00000000..e32866e0
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestFloating.json
@@ -0,0 +1,20 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestFloating*"
+ }
+ }
+ ],
+ "doc": "",
+ "kind": "class",
+ "methods": [],
+ "name": "TestFloating",
+ "properties": [],
+ "signals": [],
+ "vfuncs": []
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestFloatingClass.json b/tests/scanner/Regress-1.0.json/Regress.TestFloatingClass.json
new file mode 100644
index 00000000..3e9150fb
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestFloatingClass.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_class"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestFloatingClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestFundamentalObject.json b/tests/scanner/Regress-1.0.json/Regress.TestFundamentalObject.json
new file mode 100644
index 00000000..70d54aae
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestFundamentalObject.json
@@ -0,0 +1,48 @@
+{
+ "constructors": [],
+ "doc": "",
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "ref",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestFundamentalObject*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "unref",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "TestFundamentalObject",
+ "properties": [],
+ "signals": [],
+ "vfuncs": [
+ {
+ "doc": "",
+ "kind": "vfunc",
+ "name": "copy",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestFundamentalObject*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "vfunc",
+ "name": "finalize",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestFundamentalObjectClass.json b/tests/scanner/Regress-1.0.json/Regress.TestFundamentalObjectClass.json
new file mode 100644
index 00000000..75f6d5b9
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestFundamentalObjectClass.json
@@ -0,0 +1,24 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "type_class"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "copy"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "finalize"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestFundamentalObjectClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestFundamentalSubObject.json b/tests/scanner/Regress-1.0.json/Regress.TestFundamentalSubObject.json
new file mode 100644
index 00000000..07710900
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestFundamentalSubObject.json
@@ -0,0 +1,27 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "data",
+ "direction": "in",
+ "type": "const char*"
+ }
+ ],
+ "retval": {
+ "type": "RegressTestFundamentalSubObject*"
+ }
+ }
+ ],
+ "doc": "",
+ "kind": "class",
+ "methods": [],
+ "name": "TestFundamentalSubObject",
+ "properties": [],
+ "signals": [],
+ "vfuncs": []
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestFundamentalSubObjectClass.json b/tests/scanner/Regress-1.0.json/Regress.TestFundamentalSubObjectClass.json
new file mode 100644
index 00000000..fa8d3a02
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestFundamentalSubObjectClass.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "fundamental_object_class"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestFundamentalSubObjectClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestInheritDrawable.json b/tests/scanner/Regress-1.0.json/Regress.TestInheritDrawable.json
new file mode 100644
index 00000000..67790845
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestInheritDrawable.json
@@ -0,0 +1,87 @@
+{
+ "constructors": [],
+ "doc": "",
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "do_foo",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "do_foo_maybe_throw",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "get_origin",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "out",
+ "type": "int*"
+ },
+ {
+ "allow_none": false,
+ "argname": "y",
+ "direction": "out",
+ "type": "int*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "get_size",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "width",
+ "direction": "out",
+ "type": "guint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "height",
+ "direction": "out",
+ "type": "guint*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "TestInheritDrawable",
+ "properties": [],
+ "signals": [],
+ "vfuncs": []
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestInheritDrawableClass.json b/tests/scanner/Regress-1.0.json/Regress.TestInheritDrawableClass.json
new file mode 100644
index 00000000..7577e64c
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestInheritDrawableClass.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_class"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestInheritDrawableClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestInheritPixmapObjectClass.json b/tests/scanner/Regress-1.0.json/Regress.TestInheritPixmapObjectClass.json
new file mode 100644
index 00000000..947ab70f
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestInheritPixmapObjectClass.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_class"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestInheritPixmapObjectClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestInterfaceIface.json b/tests/scanner/Regress-1.0.json/Regress.TestInterfaceIface.json
new file mode 100644
index 00000000..278fca2d
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestInterfaceIface.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "base_iface"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestInterfaceIface"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestObj.json b/tests/scanner/Regress-1.0.json/Regress.TestObj.json
new file mode 100644
index 00000000..574a785e
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestObj.json
@@ -0,0 +1,866 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "constructor",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestObj*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "obj",
+ "direction": "in",
+ "type": "RegressTestObj*"
+ }
+ ],
+ "retval": {
+ "type": "RegressTestObj*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new_callback",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "callback",
+ "direction": "in",
+ "type": "RegressTestCallbackUserData"
+ },
+ {
+ "allow_none": false,
+ "argname": "user_data",
+ "direction": "in",
+ "type": "gpointer"
+ },
+ {
+ "allow_none": false,
+ "argname": "notify",
+ "direction": "in",
+ "type": "GDestroyNotify"
+ }
+ ],
+ "retval": {
+ "type": "RegressTestObj*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new_from_file",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "const char*"
+ }
+ ],
+ "retval": {
+ "type": "RegressTestObj*"
+ }
+ }
+ ],
+ "doc": "",
+ "kind": "class",
+ "methods": [
+ {
+ "doc": " <p>This method is virtual. Notably its name differs from the virtual\nslot name, which makes it useful for testing bindings handle this\ncase.</p>",
+ "kind": "method",
+ "name": "do_matrix",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "somestr",
+ "direction": "in",
+ "type": "const char*"
+ }
+ ],
+ "retval": {
+ "type": "int"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "emit_sig_with_foreign_struct",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "emit_sig_with_int64",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "emit_sig_with_obj",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "emit_sig_with_uint64",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "forced_method",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "instance_method",
+ "parameters": [],
+ "retval": {
+ "type": "int"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "instance_method_callback",
+ "parameters": [
+ {
+ "allow_none": true,
+ "argname": "callback",
+ "direction": "in",
+ "type": "RegressTestCallback"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "set_bare",
+ "parameters": [
+ {
+ "allow_none": true,
+ "argname": "bare",
+ "direction": "in",
+ "type": "GObject*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Check that the out value is skipped</p>",
+ "kind": "method",
+ "name": "skip_inout_param",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "a",
+ "direction": "in",
+ "type": "gint"
+ },
+ {
+ "allow_none": false,
+ "argname": "out_b",
+ "direction": "out",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "c",
+ "direction": "in",
+ "type": "gdouble"
+ },
+ {
+ "allow_none": false,
+ "argname": "inout_d",
+ "direction": "inout",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "out_sum",
+ "direction": "out",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "num1",
+ "direction": "in",
+ "type": "gint"
+ },
+ {
+ "allow_none": false,
+ "argname": "num2",
+ "direction": "in",
+ "type": "gint"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ },
+ {
+ "doc": " <p>Check that the out value is skipped</p>",
+ "kind": "method",
+ "name": "skip_out_param",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "a",
+ "direction": "in",
+ "type": "gint"
+ },
+ {
+ "allow_none": false,
+ "argname": "out_b",
+ "direction": "out",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "c",
+ "direction": "in",
+ "type": "gdouble"
+ },
+ {
+ "allow_none": false,
+ "argname": "inout_d",
+ "direction": "inout",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "out_sum",
+ "direction": "out",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "num1",
+ "direction": "in",
+ "type": "gint"
+ },
+ {
+ "allow_none": false,
+ "argname": "num2",
+ "direction": "in",
+ "type": "gint"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ },
+ {
+ "doc": " <p>Check that a parameter is skipped</p>",
+ "kind": "method",
+ "name": "skip_param",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "a",
+ "direction": "in",
+ "type": "gint"
+ },
+ {
+ "allow_none": false,
+ "argname": "out_b",
+ "direction": "out",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "c",
+ "direction": "in",
+ "type": "gdouble"
+ },
+ {
+ "allow_none": false,
+ "argname": "inout_d",
+ "direction": "inout",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "out_sum",
+ "direction": "out",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "num1",
+ "direction": "in",
+ "type": "gint"
+ },
+ {
+ "allow_none": false,
+ "argname": "num2",
+ "direction": "in",
+ "type": "gint"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ },
+ {
+ "doc": " <p>Check that the return value is skipped</p>",
+ "kind": "method",
+ "name": "skip_return_val",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "a",
+ "direction": "in",
+ "type": "gint"
+ },
+ {
+ "allow_none": false,
+ "argname": "out_b",
+ "direction": "out",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "c",
+ "direction": "in",
+ "type": "gdouble"
+ },
+ {
+ "allow_none": false,
+ "argname": "inout_d",
+ "direction": "inout",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "out_sum",
+ "direction": "out",
+ "type": "gint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "num1",
+ "direction": "in",
+ "type": "gint"
+ },
+ {
+ "allow_none": false,
+ "argname": "num2",
+ "direction": "in",
+ "type": "gint"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ },
+ {
+ "doc": " <p>Check that the return value is skipped. Succeed if a is nonzero, otherwise\nraise an error.</p>",
+ "kind": "method",
+ "name": "skip_return_val_no_out",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "a",
+ "direction": "in",
+ "type": "gint"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "torture_signature_0",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "int"
+ },
+ {
+ "allow_none": false,
+ "argname": "y",
+ "direction": "out",
+ "type": "double*"
+ },
+ {
+ "allow_none": false,
+ "argname": "z",
+ "direction": "out",
+ "type": "int*"
+ },
+ {
+ "allow_none": false,
+ "argname": "foo",
+ "direction": "in",
+ "type": "const char*"
+ },
+ {
+ "allow_none": false,
+ "argname": "q",
+ "direction": "out",
+ "type": "int*"
+ },
+ {
+ "allow_none": false,
+ "argname": "m",
+ "direction": "in",
+ "type": "guint"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This function throws an error if m is odd.</p>",
+ "kind": "method",
+ "name": "torture_signature_1",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "int"
+ },
+ {
+ "allow_none": false,
+ "argname": "y",
+ "direction": "out",
+ "type": "double*"
+ },
+ {
+ "allow_none": false,
+ "argname": "z",
+ "direction": "out",
+ "type": "int*"
+ },
+ {
+ "allow_none": false,
+ "argname": "foo",
+ "direction": "in",
+ "type": "const char*"
+ },
+ {
+ "allow_none": false,
+ "argname": "q",
+ "direction": "out",
+ "type": "int*"
+ },
+ {
+ "allow_none": false,
+ "argname": "m",
+ "direction": "in",
+ "type": "guint"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "null_out",
+ "parameters": [
+ {
+ "allow_none": true,
+ "argname": "obj",
+ "direction": "out",
+ "type": "RegressTestObj**"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "static_method",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "double"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "static_method_callback",
+ "parameters": [
+ {
+ "allow_none": true,
+ "argname": "callback",
+ "direction": "in",
+ "type": "RegressTestCallback"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "TestObj",
+ "properties": [
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "bare",
+ "type": "GObject"
+ },
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "boxed",
+ "type": "RegressTestBoxed"
+ },
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "double",
+ "type": "gdouble"
+ },
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "float",
+ "type": "gfloat"
+ },
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "gtype",
+ "type": "GType"
+ },
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "hash-table",
+ "type": "<map>"
+ },
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "hash-table-old",
+ "type": "<map>"
+ },
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "int",
+ "type": "gint"
+ },
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "list",
+ "type": "gpointer"
+ },
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "list-old",
+ "type": "gpointer"
+ },
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "string",
+ "type": "gchar*"
+ }
+ ],
+ "signals": [
+ {
+ "doc": "",
+ "kind": "signal",
+ "name": "all",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "signal",
+ "name": "cleanup",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "signal",
+ "name": "first",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This test signal similar to GSettings::change-event</p>",
+ "kind": "signal",
+ "name": "sig-with-array-len-prop",
+ "parameters": [
+ {
+ "allow_none": true,
+ "argname": "arr",
+ "direction": "in",
+ "type": "guint*"
+ },
+ {
+ "allow_none": false,
+ "argname": "len",
+ "direction": "in",
+ "type": "gint"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This test signal is like TelepathyGlib's\n TpChannel:: group-members-changed-detailed:</p>",
+ "kind": "signal",
+ "name": "sig-with-array-prop",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "arr",
+ "direction": "in",
+ "type": "guint*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "signal",
+ "name": "sig-with-foreign-struct",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "cr",
+ "direction": "in",
+ "type": "cairo_t"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This test signal is like TelepathyGlib's\n TpAccount::status-changed</p>",
+ "kind": "signal",
+ "name": "sig-with-hash-prop",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "hash",
+ "direction": "in",
+ "type": "<map>"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>You can use this with regress_test_obj_emit_sig_with_int64, or raise from\nthe introspection client langage.</p>",
+ "kind": "signal",
+ "name": "sig-with-int64-prop",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "i",
+ "direction": "in",
+ "type": "gint64"
+ }
+ ],
+ "retval": {
+ "type": "gint64"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "signal",
+ "name": "sig-with-intarray-ret",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "i",
+ "direction": "in",
+ "type": "gint"
+ }
+ ],
+ "retval": {
+ "type": "gint*"
+ }
+ },
+ {
+ "doc": " <p>Test transfer none GObject as a param (tests refcounting).\nUse with regress_test_obj_emit_sig_with_obj</p>",
+ "kind": "signal",
+ "name": "sig-with-obj",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "obj",
+ "direction": "in",
+ "type": "GObject"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>Test GStrv as a param.</p>",
+ "kind": "signal",
+ "name": "sig-with-strv",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "strs",
+ "direction": "in",
+ "type": "utf8*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>You can use this with regress_test_obj_emit_sig_with_uint64, or raise from\nthe introspection client langage.</p>",
+ "kind": "signal",
+ "name": "sig-with-uint64-prop",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "i",
+ "direction": "in",
+ "type": "guint64"
+ }
+ ],
+ "retval": {
+ "type": "guint64"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "signal",
+ "name": "test",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "signal",
+ "name": "test-with-static-scope-arg",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "object",
+ "direction": "in",
+ "type": "RegressTestSimpleBoxedA"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "vfuncs": [
+ {
+ "doc": "",
+ "kind": "vfunc",
+ "name": "allow_none_vfunc",
+ "parameters": [
+ {
+ "allow_none": true,
+ "argname": "two",
+ "direction": "in",
+ "type": "RegressTestObj*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "vfunc",
+ "name": "complex_vfunc",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "someint",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": " <p>This method is virtual. Notably its name differs from the virtual\nslot name, which makes it useful for testing bindings handle this\ncase.</p>",
+ "kind": "vfunc",
+ "name": "matrix",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "somestr",
+ "direction": "in",
+ "type": "const char*"
+ }
+ ],
+ "retval": {
+ "type": "int"
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestObjClass.json b/tests/scanner/Regress-1.0.json/Regress.TestObjClass.json
new file mode 100644
index 00000000..cfc3196d
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestObjClass.json
@@ -0,0 +1,49 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_class"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "matrix"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "allow_none_vfunc"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "test_signal"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "test_signal_with_static_scope_arg"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "complex_vfunc"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "_regress_reserved1"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "_regress_reserved2"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestObjClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestOtherError.json b/tests/scanner/Regress-1.0.json/Regress.TestOtherError.json
new file mode 100644
index 00000000..b2a1704f
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestOtherError.json
@@ -0,0 +1,22 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code1"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code2"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "code3"
+ }
+ ],
+ "name": "TestOtherError"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestPrivateStruct.json b/tests/scanner/Regress-1.0.json/Regress.TestPrivateStruct.json
new file mode 100644
index 00000000..cffc2738
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestPrivateStruct.json
@@ -0,0 +1,24 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "this_is_public_before"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "this_is_private"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "this_is_public_after"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestPrivateStruct"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestReferenceEnum.json b/tests/scanner/Regress-1.0.json/Regress.TestReferenceEnum.json
new file mode 100644
index 00000000..fb43978d
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestReferenceEnum.json
@@ -0,0 +1,37 @@
+{
+ "doc": "",
+ "kind": "enum",
+ "members": [
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "0"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "1"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "2"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "3"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "4"
+ },
+ {
+ "doc": "",
+ "kind": "default",
+ "name": "5"
+ }
+ ],
+ "name": "TestReferenceEnum"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestSimpleBoxedA.json b/tests/scanner/Regress-1.0.json/Regress.TestSimpleBoxedA.json
new file mode 100644
index 00000000..6114e349
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestSimpleBoxedA.json
@@ -0,0 +1,64 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_int"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_int8"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_double"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_enum"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "copy",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestSimpleBoxedA*"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "equals",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "other_a",
+ "direction": "in",
+ "type": "RegressTestSimpleBoxedA*"
+ }
+ ],
+ "retval": {
+ "type": "gboolean"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "const_return",
+ "parameters": [],
+ "retval": {
+ "type": "const RegressTestSimpleBoxedA*"
+ }
+ }
+ ],
+ "name": "TestSimpleBoxedA"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestSimpleBoxedB.json b/tests/scanner/Regress-1.0.json/Regress.TestSimpleBoxedB.json
new file mode 100644
index 00000000..8db557fb
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestSimpleBoxedB.json
@@ -0,0 +1,29 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_int8"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "nested_a"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "copy",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestSimpleBoxedB*"
+ }
+ }
+ ],
+ "name": "TestSimpleBoxedB"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestStructA.json b/tests/scanner/Regress-1.0.json/Regress.TestStructA.json
new file mode 100644
index 00000000..bc891eab
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestStructA.json
@@ -0,0 +1,68 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_int"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_int8"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_double"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_enum"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": " <p>Make a copy of a RegressTestStructA</p>",
+ "kind": "method",
+ "name": "clone",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "a_out",
+ "direction": "out",
+ "type": "RegressTestStructA*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "parse",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "a_out",
+ "direction": "out",
+ "type": "RegressTestStructA*"
+ },
+ {
+ "allow_none": false,
+ "argname": "string",
+ "direction": "in",
+ "type": "const gchar*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "TestStructA"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestStructB.json b/tests/scanner/Regress-1.0.json/Regress.TestStructB.json
new file mode 100644
index 00000000..bf19168f
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestStructB.json
@@ -0,0 +1,36 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_int8"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "nested_a"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": " <p>Make a copy of a RegressTestStructB</p>",
+ "kind": "method",
+ "name": "clone",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "b_out",
+ "direction": "out",
+ "type": "RegressTestStructB*"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "TestStructB"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestStructC.json b/tests/scanner/Regress-1.0.json/Regress.TestStructC.json
new file mode 100644
index 00000000..9a00e6cf
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestStructC.json
@@ -0,0 +1,19 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "another_int"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "obj"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestStructC"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestStructD.json b/tests/scanner/Regress-1.0.json/Regress.TestStructD.json
new file mode 100644
index 00000000..ba3c674f
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestStructD.json
@@ -0,0 +1,34 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "array1"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "array2"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "field"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "list"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "garray"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestStructD"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestStructE.json b/tests/scanner/Regress-1.0.json/Regress.TestStructE.json
new file mode 100644
index 00000000..36fc98cf
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestStructE.json
@@ -0,0 +1,19 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_type"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "some_union"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestStructE"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestStructF.json b/tests/scanner/Regress-1.0.json/Regress.TestStructF.json
new file mode 100644
index 00000000..f2b3dc6e
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestStructF.json
@@ -0,0 +1,44 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "ref_count"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "data1"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "data2"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "data3"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "data4"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "data5"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "data6"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestStructF"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestStructFixedArray.json b/tests/scanner/Regress-1.0.json/Regress.TestStructFixedArray.json
new file mode 100644
index 00000000..2811683d
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestStructFixedArray.json
@@ -0,0 +1,29 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "just_int"
+ },
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "array"
+ }
+ ],
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "frob",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "TestStructFixedArray"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestSubObj.json b/tests/scanner/Regress-1.0.json/Regress.TestSubObj.json
new file mode 100644
index 00000000..b994d061
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestSubObj.json
@@ -0,0 +1,39 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestObj*"
+ }
+ }
+ ],
+ "doc": "",
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "instance_method",
+ "parameters": [],
+ "retval": {
+ "type": "int"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "unset_bare",
+ "parameters": [],
+ "retval": {
+ "type": "void"
+ }
+ }
+ ],
+ "name": "TestSubObj",
+ "properties": [],
+ "signals": [],
+ "vfuncs": []
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestSubObjClass.json b/tests/scanner/Regress-1.0.json/Regress.TestSubObjClass.json
new file mode 100644
index 00000000..f2493784
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestSubObjClass.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_class"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestSubObjClass"
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestWi8021x.json b/tests/scanner/Regress-1.0.json/Regress.TestWi8021x.json
new file mode 100644
index 00000000..cc658fee
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestWi8021x.json
@@ -0,0 +1,69 @@
+{
+ "constructors": [
+ {
+ "doc": "",
+ "kind": "constructor",
+ "name": "new",
+ "parameters": [],
+ "retval": {
+ "type": "RegressTestWi8021x*"
+ }
+ }
+ ],
+ "doc": "",
+ "kind": "class",
+ "methods": [
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "get_testbool",
+ "parameters": [],
+ "retval": {
+ "type": "gboolean"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "method",
+ "name": "set_testbool",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "v",
+ "direction": "in",
+ "type": "gboolean"
+ }
+ ],
+ "retval": {
+ "type": "void"
+ }
+ },
+ {
+ "doc": "",
+ "kind": "function",
+ "name": "static_method",
+ "parameters": [
+ {
+ "allow_none": false,
+ "argname": "x",
+ "direction": "in",
+ "type": "int"
+ }
+ ],
+ "retval": {
+ "type": "int"
+ }
+ }
+ ],
+ "name": "TestWi8021x",
+ "properties": [
+ {
+ "doc": "",
+ "kind": "property",
+ "name": "testbool",
+ "type": "gboolean"
+ }
+ ],
+ "signals": [],
+ "vfuncs": []
+} \ No newline at end of file
diff --git a/tests/scanner/Regress-1.0.json/Regress.TestWi8021xClass.json b/tests/scanner/Regress-1.0.json/Regress.TestWi8021xClass.json
new file mode 100644
index 00000000..6e871ce8
--- /dev/null
+++ b/tests/scanner/Regress-1.0.json/Regress.TestWi8021xClass.json
@@ -0,0 +1,14 @@
+{
+ "constructors": [],
+ "doc": "",
+ "fields": [
+ {
+ "doc": "",
+ "kind": "field",
+ "name": "parent_class"
+ }
+ ],
+ "kind": "class",
+ "methods": [],
+ "name": "TestWi8021xClass"
+} \ No newline at end of file