Sha256: 0a2324ebf531fd00cc3965fe90860f9b2f18faf34e900ba436d62ecba33411e0
Contents?: true
Size: 1 KB
Versions: 7
Compression:
Stored size: 1 KB
Contents
# frozen_string_literal: true require 'gir_ffi/builders/callback_argument_builder' module GirFFI module Builders # Convertor for arguments for vfuncs. Used when building the # argument mapper for vfuncs. class VFuncArgumentBuilder < CallbackArgumentBuilder def pre_conversion if ingoing_ref_needed super + [pre_ref_count_increase] else super end end private def ingoing_ref_needed direction == :in && ownership_transfer == :nothing && specialized_type_tag == :object end def pre_ref_count_increase "#{pre_converted_name}.ref" end # SMELL: Override private method def post_convertor_argument if outgoing_ref_needed "#{super}.ref" else super end end def outgoing_ref_needed direction == :out && ownership_transfer == :everything && specialized_type_tag == :object end end end end
Version data entries
7 entries across 7 versions & 1 rubygems