refactor Function and FunctionBuilder

This commit is contained in:
dfsek
2021-08-03 12:55:51 -07:00
parent ddbae360c3
commit 54335bfd70
36 changed files with 43 additions and 52 deletions

View File

@@ -0,0 +1,22 @@
package com.dfsek.terra.addons.terrascript.api;
import java.util.Map;
public interface Function<T> extends Returnable<T> {
Function<?> NULL = new Function<Object>() {
@Override
public ReturnType returnType() {
return null;
}
@Override
public Object apply(ImplementationArguments implementationArguments, Map<String, Variable<?>> variableMap) {
return null;
}
@Override
public Position getPosition() {
return null;
}
};
}

View File

@@ -0,0 +1,11 @@
package com.dfsek.terra.addons.terrascript.api;
import java.util.List;
public interface FunctionBuilder<T extends Function<?>> {
T build(List<Returnable<?>> argumentList, Position position) throws ParseException;
int argNumber();
Returnable.ReturnType getArgument(int position);
}