Class: EleetScript::DefMethodNode

Inherits:
Object
  • Object
show all
Defined in:
lib/lang/nodes.rb,
lib/lang/interpreter.rb

Instance Method Summary collapse

Instance Method Details

#eval(context) ⇒ Object



328
329
330
331
332
333
334
335
336
# File 'lib/lang/interpreter.rb', line 328

def eval(context)
  method_obj = EleetScriptMethod.new(method_name, method.params, method.body)
  if context.is_a?(ClassContext)
    context.current_class.methods[method_name] = method_obj
  else
    context.current_self.methods[method_name] = method_obj
  end
  context.es_nil
end

#to_s(level = 0) ⇒ Object



136
137
138
139
140
141
142
# File 'lib/lang/nodes.rb', line 136

def to_s(level = 0)
  tabs = spaces(level)
  str = "#{tabs}<EleetScript::DefMethodNode \"#{method_name}\"\n"
  str += "#{tabs}  @method=(\n"
  str += method.to_s(level + 2)
  str + "#{tabs}  )\n#{tabs}>\n"
end