module Z3::VeryLowLevel

Public Class Methods

attach_function(name, arg_types, return_type) click to toggle source

Aliases defined just to make APIs below look nicer

Calls superclass method
# File lib/z3/very_low_level.rb, line 11
def attach_function(name, arg_types, return_type)
  arg_types = arg_types.map { |t| map_type(t) }
  return_type = map_type(return_type)
  super(name, arg_types, return_type)
rescue FFI::NotFoundError
  define_singleton_method(name) do |*args|
    raise Z3::Exception, "Could not find #{name} in the Z3 library. It is likely that the Z3 library has wrong version."
  end
end
map_type(t) click to toggle source
# File lib/z3/very_low_level.rb, line 21
def map_type(t)
  if t.to_s =~ /\A(.*)_pointer\z/
    :pointer
  else
    t
  end
end