Class: GirFFI::FunctionBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/gir_ffi/function_builder.rb

Overview

Implements the creation of a Ruby function definition out of a GIR IFunctionInfo.

Instance Method Summary collapse

Constructor Details

#initialize(info, libmodule) ⇒ FunctionBuilder

Returns a new instance of FunctionBuilder.



11
12
13
14
# File 'lib/gir_ffi/function_builder.rb', line 11

def initialize info, libmodule
  @info = info
  @libmodule = libmodule
end

Instance Method Details

#generateObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/gir_ffi/function_builder.rb', line 16

def generate
  vargen = GirFFI::VariableNameGenerator.new
  @argument_builders = @info.args.map {|arg| ArgumentBuilder.new vargen, arg }
  @return_value_builder = ReturnValueBuilder.new(vargen, @info.return_type,
                                                 @info.constructor?)

  link_array_length_arguments
  setup_error_argument vargen
  return filled_out_template
end