class Sol::CallNode
Node of a method call or local variable access, can take any of these forms:
method # this form can also be a local variable method(argument1, argument2) receiver.method receiver.method(argument1, argument2)
Public Instance Methods
eval(context)
click to toggle source
# File lib/sol/interpreter.rb, line 97 def eval(context) if receiver.nil? && arguments.empty? && RuntimeModel::Runtime.locals[method] return context::Runtime.locals[method] else if receiver value = receiver.eval(context) else value = RuntimeModel::Runtime.current_self # I think this works end eval_arguments = arguments.map do |arg| arg.eval(context) end value.call(method, eval_arguments) end end