1 package de.lathanda.eos.baseparser;
3 import java.lang.reflect.Method;
4 import java.util.ArrayList;
6 import de.lathanda.eos.vm.Command;
7 import de.lathanda.eos.vm.MType;
20 protected final String
id;
32 throws NoSuchMethodException {
34 Class<?>[] parametersClass =
new Class<?>[
parameters.length];
36 parametersClass[i] =
parameters[i].convertToClass();
38 this.method = target.convertToClass().getMethod(javaname, parametersClass);
48 for (
int i = 0; i < args.length; i++) {
68 StringBuilder res =
new StringBuilder();
70 res.append(
label).append(
"(");
73 res.append(t.toString());
75 res.append(
",").append(t.toString());
81 res.append(
":").append(
ret);
83 return res.toString();
89 for (
int i = 0; i < para.length; i++) {
100 public void compile(ArrayList<Command> ops,
Expression target,
boolean autowindow)
throws Exception {
101 if (target !=
null) {
102 target.compile(ops, autowindow);
Type getParameterType(int i)
boolean checkType(Type[] args)
SystemMethodType(String id, SystemType target, SystemType[] parameters, Type ret, String javaname, String label)
void compile(ArrayList< Command > ops, Expression target, boolean autowindow)
abstract MType getMType()