Sha256: be28879b509bb4a577512a33613a79399a615b21f7b8f55f26f534e2bf5fc923
Contents?: true
Size: 855 Bytes
Versions: 3
Compression:
Stored size: 855 Bytes
Contents
# frozen_string_literal: true require 'gir_ffi/builders/registered_type_builder' require 'gir_ffi/builders/struct_like' require 'gir_ffi/struct_base' module GirFFI module Builders # Implements the creation of a class representing a Struct. class StructBuilder < RegisteredTypeBuilder include StructLike def layout_superclass GirFFI::Struct end def superclass # HACK: Inheritance chain is not expressed in GObject's code correctly. return GObject::ObjectClass if info.full_type_name == 'GObject::InitiallyUnownedClass' return parent_field_type.tag_or_class if info.gtype_struct? return BoxedBase if GObject.type_fundamental(info.gtype) == GObject::TYPE_BOXED StructBase end def parent_field_type fields.first.field_type end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.14.1 | lib/gir_ffi/builders/struct_builder.rb |
gir_ffi-0.14.0 | lib/gir_ffi/builders/struct_builder.rb |
gir_ffi-0.13.1 | lib/gir_ffi/builders/struct_builder.rb |