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.



1319
1320
1321
1322
1323
1324
# File 'lib/wardite.rb', line 1319

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

Instance Attribute Details

#callsigObject

: Array



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

def callsig
  @callsig
end

#nameObject

: Symbol



1307
1308
1309
# File 'lib/wardite.rb', line 1307

def name
  @name
end

#retsigObject

: Array



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

def retsig
  @retsig
end

#target_moduleObject

: wasmModule



1305
1306
1307
# File 'lib/wardite.rb', line 1305

def target_module
  @target_module
end

Instance Method Details

#callableObject



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

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

#clone(override_type: nil) ⇒ Object



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

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