Sha256: 7dbb0684e1c1e250ffae2dc21d761fe8b632a30b28af2c1fae3b5b53e745e059
Contents?: true
Size: 926 Bytes
Versions: 2
Compression:
Stored size: 926 Bytes
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_converted_name}.ref"] else super end end def post_conversion if outgoing_ref_needed? ["#{result_name}.ref"] + super else super end end private def ingoing_ref_needed? direction == :in && ownership_transfer == :nothing && specialized_type_tag == :object end def outgoing_ref_needed? direction == :out && ownership_transfer == :everything && specialized_type_tag == :object end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.11.1 | lib/gir_ffi/builders/vfunc_argument_builder.rb |
gir_ffi-0.11.0 | lib/gir_ffi/builders/vfunc_argument_builder.rb |