// at this point, assume there's a constant value and we can evaluate it
finishPreptimePhase(context);
TExecutionContext execContext = context.createExecutionContext();
LazyList<ValueSource> inputValues = new LazyListBase<ValueSource>() {
@Override
public ValueSource get(int i) {
TPreptimeValue ptValue = inputs.get(i);
ValueSource source = ptValue.value();
assert allowNonConstsInEvaluation() || source != null
: "non-constant value where constant value expected";
return source;
}
@Override
public int size() {
return inputs.size();
}
};
Value outputValue = new Value(execContext.outputType());
evaluate(execContext, inputValues, outputValue);
return new TPreptimeValue(execContext.outputType(), outputValue);
}