package openmods.calc;
import openmods.calc.types.multi.TypedCalcUtils;
import openmods.utils.OptionalInt;
public abstract class SingleReturnCallable<E> implements ICallable<E> {
@Override
public final void call(Frame<E> frame, OptionalInt argumentsCount, OptionalInt returnsCount) {
TypedCalcUtils.expectSingleReturn(returnsCount);
final E result = call(frame, argumentsCount);
frame.stack().push(result);
}
public abstract E call(Frame<E> frame, OptionalInt argumentsCount);
}