Class: Wardite::ExternalFunction

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

Overview

@rbs!

type wasmFuncReturn = Object|nil

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(target_module, name, callsig, retsig) ⇒ ExternalFunction

Returns a new instance of ExternalFunction.



1308
1309
1310
1311
1312
1313
# File 'lib/wardite.rb', line 1308

def initialize(target_module, name, callsig, retsig)
  @target_module = target_module
  @name = name
  @callsig = callsig
  @retsig = retsig
end

Instance Attribute Details

#callsigObject

: Array



1298
1299
1300
# File 'lib/wardite.rb', line 1298

def callsig
  @callsig
end

#nameObject

: Symbol



1296
1297
1298
# File 'lib/wardite.rb', line 1296

def name
  @name
end

#retsigObject

: Array



1300
1301
1302
# File 'lib/wardite.rb', line 1300

def retsig
  @retsig
end

#target_moduleObject

: wasmModule



1294
1295
1296
# File 'lib/wardite.rb', line 1294

def target_module
  @target_module
end

Instance Method Details

#callableObject



1316
1317
1318
# File 'lib/wardite.rb', line 1316

def callable()
  target_module.callable(self.name)
end

#clone(override_type: nil) ⇒ Object



1322
1323
1324
1325
1326
1327
1328
1329
# File 'lib/wardite.rb', line 1322

def clone(override_type: nil)
  if override_type
    # callable is assumed to be frozen, so we can copy its ref
    ExternalFunction.new(target_module, name, override_type.callsig, override_type.retsig)
  else
    ExternalFunction.new(target_module, name, callsig, retsig)
  end
end