Sha256: c4ee2c1f8c7f27458b4bd69258928a91161390a233f3781fe0c6dcbf13e557ab
Contents?: true
Size: 931 Bytes
Versions: 2
Compression:
Stored size: 931 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 if info.gtype_struct? # HACK: Inheritance chain is not expressed in GObject's code correctly. if info.full_type_name == 'GObject::InitiallyUnownedClass' return GObject::ObjectClass else type = fields.first.field_type return type.tag_or_class if type.tag == :interface end end if GObject.type_fundamental(info.gtype) == GObject::TYPE_BOXED return BoxedBase end StructBase end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.10.2 | lib/gir_ffi/builders/struct_builder.rb |
gir_ffi-0.10.1 | lib/gir_ffi/builders/struct_builder.rb |