hugopl / gi-crystal

Tool to generate Crystal bindings for gobject-based libraries (i.e. GTK)
BSD 3-Clause "New" or "Revised" License
45 stars 3 forks source link

Parameters with filename tag must be declared as Path | String #136

Open hugopl opened 9 months ago

hugopl commented 9 months ago

Current generated code for Gio::File#new_for_path is:

def self.new_for_path(path : ::String) : Gio::File
  # g_file_new_for_path: (None)
  # @path:
  # Returns: (transfer full)

  # C call
  _retval = LibGio.g_file_new_for_path(path)

  # Return value handling
  Gio::AbstractFile.new(_retval, GICrystal::Transfer::Full)
end

But it must be:

def self.new_for_path(path : ::String | ::Path) : Gio::File
  # g_file_new_for_path: (None)
  # @path:
  # Returns: (transfer full)

  path = path.to_s

  # C call
  _retval = LibGio.g_file_new_for_path(path)

  # Return value handling
  Gio::AbstractFile.new(_retval, GICrystal::Transfer::Full)
end

Return values with filename tag must remains as Path only.