pjfanning opened a new pull request, #1274: URL: https://github.com/apache/poi/pull/1274
The existing public `OperationEvaluationContext` constructors take an `EvaluationTracker`, but that class (and the `EvaluationCache` it needs) is package-private. So code outside `org.apache.poi.ss.formula` cannot construct a context at all, even though the rest of the evaluation SPI is public: `EvaluationWorkbook`, `EvaluationSheet`, `EvaluationCell`, `FormulaParsingWorkbook`, `FormulaParser.parse(...)`, the `WorkbookEvaluator` constructor, `FreeRefFunction`. This adds a 5-arg constructor without the tracker. It obtains one backed by the `WorkbookEvaluator`'s own cache via a new package-private `WorkbookEvaluator.createEvaluationTracker()`, so `EvaluationTracker` and `EvaluationCache` stay internal. Marked `@since 6.0.0`. Test covers building the context this way and using it to resolve a reference, call an ATP `FreeRefFunction` obtained through the UDF finder, and evaluate parsed tokens against changing cell values. Context: #1271 (a standalone formula engine built on a custom `EvaluationWorkbook`) needs to construct this context; with this change that can be done outside POI. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
