class Nydp::InterpretedFunctionWithClosure

Public Instance Methods

execute(vm) click to toggle source
# File lib/nydp/interpreted_function.rb, line 199
def execute vm
  Closure.new(self, vm.current_context)
  # vm.push_arg Closure.new(self, vm.current_context)
end
invoke(vm, ctx, arg_values) click to toggle source
# File lib/nydp/interpreted_function.rb, line 190
def invoke vm, ctx, arg_values
  cc                 = vm.current_context
  vm.current_context = set_args(ctx, arg_values)
  res                = run_body(vm)
  vm.current_context = cc
  res
  # vm.push_instructions self.body, set_args(ctx, arg_values)
end
invoke_1(vm, ctx) click to toggle source
# File lib/nydp/interpreted_function.rb, line 154
def invoke_1 vm, ctx
  cc                 = vm.current_context
  vm.current_context = set_args_0(ctx)
  res                = run_body(vm)
  vm.current_context = cc
  res
  # vm.push_instructions self.body, set_args_0(ctx)
end
invoke_2(vm, ctx, arg) click to toggle source
# File lib/nydp/interpreted_function.rb, line 163
def invoke_2 vm, ctx, arg
  cc                 = vm.current_context
  vm.current_context = set_args_1(ctx, arg)
  res                = run_body(vm)
  vm.current_context = cc
  res
  # vm.push_instructions self.body, set_args_1(ctx, arg)
end
invoke_3(vm, ctx, arg_0, arg_1) click to toggle source
# File lib/nydp/interpreted_function.rb, line 172
def invoke_3 vm, ctx, arg_0, arg_1
  cc                 = vm.current_context
  vm.current_context = set_args_2(ctx, arg_0, arg_1)
  res                = run_body(vm)
  vm.current_context = cc
  res
  # vm.push_instructions self.body, set_args_2(ctx, arg_0, arg_1)
end
invoke_4(vm, ctx, arg_0, arg_1, arg_2) click to toggle source
# File lib/nydp/interpreted_function.rb, line 181
def invoke_4 vm, ctx, arg_0, arg_1, arg_2
  cc                 = vm.current_context
  vm.current_context = set_args_3(ctx, arg_0, arg_1, arg_2)
  res                = run_body(vm)
  vm.current_context = cc
  res
  # vm.push_instructions self.body, set_args_3(ctx, arg_0, arg_1, arg_2)
end