package akin.lang.nodes;
import java.util.List;
import akin.lang.*;
public class MethodDefinitionNode extends Node {
private String name;
private Node body;
private List<String> parameters;
public MethodDefinitionNode(String name, List<String> parameters, Node body) {
this.name = name;
this.parameters = parameters;
this.body = body;
}
public AkinObject eval(Context context) throws AkinException {
String parameterNames[];
if (parameters == null) {
parameterNames = new String[0];
} else {
parameterNames = parameters.toArray(new String[0]);
}
context.getCurrentClass().addMethod(name, new InterpretedMethod(name, parameterNames, body));
return AkinRuntime.getNil();
}
}