GIR Input: Output: [CCode (cheader_filename = "test.h", type_id = "test_bar_get_type ()")] public sealed class Bar : Test.Foo { [CCode (has_construct_function = false)] protected Bar (); } [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")] public class Foo : GLib.Object { [CCode (has_construct_function = false)] protected Foo (); }