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.



1207
1208
1209
1210
1211
# File 'lib/wardite.rb', line 1207

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

Instance Attribute Details

#callableObject

: wasmCallable



1201
1202
1203
# File 'lib/wardite.rb', line 1201

def callable
  @callable
end

#callsigObject

: Array



1197
1198
1199
# File 'lib/wardite.rb', line 1197

def callsig
  @callsig
end

#retsigObject

: Array



1199
1200
1201
# File 'lib/wardite.rb', line 1199

def retsig
  @retsig
end

Instance Method Details

#clone(override_type: nil) ⇒ Object



1215
1216
1217
1218
1219
1220
1221
1222
# File 'lib/wardite.rb', line 1215

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