class GirFFI::Builders::StructBuilder

Implements the creation of a class representing a Struct.

Public Instance Methods

layout_superclass() click to toggle source
# File lib/gir_ffi/builders/struct_builder.rb, line 13
def layout_superclass
  GirFFI::Struct
end
parent_field_type() click to toggle source
# File lib/gir_ffi/builders/struct_builder.rb, line 26
def parent_field_type
  fields.first.field_type
end
superclass() click to toggle source
# File lib/gir_ffi/builders/struct_builder.rb, line 17
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