constant returnable helper method

This commit is contained in:
dfsek
2021-08-08 12:22:54 -07:00
parent 3594beb406
commit fb505fe28b
2 changed files with 25 additions and 16 deletions

View File

@@ -1,5 +1,10 @@
package com.dfsek.terra.addons.terrascript.api.lang;
import com.dfsek.terra.addons.terrascript.api.ImplementationArguments;
import com.dfsek.terra.addons.terrascript.api.Position;
import java.util.Map;
public interface Returnable<T> extends Item<T> {
ReturnType returnType();
@@ -16,4 +21,23 @@ public interface Returnable<T> extends Item<T> {
return comparable;
}
}
static <T> Returnable<T> constant(T value, ReturnType type, Position position) {
return new Returnable<T>() {
@Override
public ReturnType returnType() {
return type;
}
@Override
public T apply(ImplementationArguments implementationArguments, Map<String, Variable<?>> variableMap) {
return value;
}
@Override
public Position getPosition() {
return position;
}
};
}
}