gir/gtype-struct-name.test \
gir/instance-parameter-owned.test \
gir/method-array-length-type.test \
+ gir/method-class.test \
+ gir/method-nowrapper.test \
gir/parameter-array-length-type.test \
gir/parameter-nullable-out-simple-type.test \
gir/property-non-readable.test \
--- /dev/null
+GIR
+
+Input:
+
+<class name="Foo"
+ c:symbol-prefix="foo"
+ c:type="TestFoo"
+ parent="GLib.Object"
+ abstract="1"
+ glib:type-name="TestFoo"
+ glib:get-type="test_foo_get_type"
+ glib:type-struct="FooClass">
+ <field name="parent">
+ <type name="GLib.Object" c:type="GObject"/>
+ </field>
+</class>
+<record name="FooClass"
+ c:type="TestFooClass"
+ glib:is-gtype-struct-for="Foo">
+ <method name="bar"
+ c:identifier="test_foo_class_bar">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <type name="FooClass" c:type="TestFooClass*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+</record>
+
+Output:
+
+[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+public abstract class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Foo ();
+ [CCode (cname = "test_foo_class_bar")]
+ public class void bar ();
+}
--- /dev/null
+GIR
+
+Input:
+
+<class name="Foo"
+ c:symbol-prefix="foo"
+ c:type="TestFoo"
+ parent="GLib.Object"
+ abstract="1"
+ glib:type-name="TestFoo"
+ glib:get-type="test_foo_get_type"
+ glib:type-struct="FooClass">
+ <virtual-method name="bar">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <field name="parent">
+ <type name="GLib.Object" c:type="GObject"/>
+ </field>
+</class>
+<record name="FooClass"
+ c:type="TestFooClass"
+ glib:is-gtype-struct-for="Foo">
+ <field name="parent_class">
+ <type name="GLig.ObjectClass"
+ c:type="GObjectClass"/>
+ </field>
+ <field name="bar">
+ <callback name="bar">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Foo" c:type="TestFoo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+</record>
+
+Output:
+
+[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+public abstract class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Foo ();
+ [NoWrapper]
+ public virtual bool bar ();
+}