Sha256: ef68d12c9099d5338cb7847e553f568e1307fd64cfa675e0056030fc1686b0fe

Contents?: true

Size: 718 Bytes

Versions: 2

Compression:

Stored size: 718 Bytes

Contents

# This is free and unencumbered software released into the public domain.

require_relative '../exporter'

module FFIDB::Exporters
  ##
  # Code generator for the CSV file format.
  class CSV < FFIDB::Exporter
    DELIMITER = ','

    def begin
      puts [:library, :kind, :name].join(DELIMITER) # TODO: definition
    end

    def export_symbol(symbol, **kwargs)
      puts [@library&.name, symbol.kind, symbol.name].join(DELIMITER)
    end
    alias_method :export_typedef, :export_symbol
    alias_method :export_enum, :export_symbol
    alias_method :export_struct, :export_symbol
    alias_method :export_union, :export_symbol
    alias_method :export_function, :export_symbol
  end # CSV
end # FFIDB::Exporters

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ffidb-0.13.0 lib/ffidb/exporters/csv.rb
ffidb-0.12.0 lib/ffidb/exporters/csv.rb