Class: Wardite::ExternalFunction

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

Overview

@rbs!

type wasmFuncReturn = Object|nil
type wasmCallable = ^(Store, Array[wasmValue]) -> wasmFuncReturn

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(callsig, retsig, callable) ⇒ ExternalFunction

Returns a new instance of ExternalFunction.



1336
1337
1338
1339
1340
# File 'lib/wardite.rb', line 1336

def initialize(callsig, retsig, callable)
  @callsig = callsig
  @retsig = retsig
  @callable = callable
end

Instance Attribute Details

#callableObject

: wasmCallable



1330
1331
1332
# File 'lib/wardite.rb', line 1330

def callable
  @callable
end

#callsigObject

: Array



1326
1327
1328
# File 'lib/wardite.rb', line 1326

def callsig
  @callsig
end

#retsigObject

: Array



1328
1329
1330
# File 'lib/wardite.rb', line 1328

def retsig
  @retsig
end

Instance Method Details

#clone(override_type: nil) ⇒ Object



1344
1345
1346
1347
1348
1349
1350
1351
# File 'lib/wardite.rb', line 1344

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