summaryrefslogtreecommitdiff
path: root/sc/inc/compiler.hxx
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2018-08-07 14:48:56 +0200
committerLuboš Luňák <l.lunak@collabora.com>2018-08-07 17:35:16 +0200
commit1d531077d97e247ebfd14b18a5dc72c45f41ea15 (patch)
tree8022c6cc5a1e6d977a47bf6caaf9baf7cdbe79c7 /sc/inc/compiler.hxx
parenta30072282e7bc7d9dda68986b4859cc1d6575597 (diff)
more robust implicit intersection optimizing
For example, FormulaCompiler::MergeRangeReference() may replace the parameter tokens and merge two into one. Change-Id: Ie2933dec3ef73b5b605160e86a8ab3b5b1d17c1c Reviewed-on: https://gerrit.libreoffice.org/58684 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'sc/inc/compiler.hxx')
-rw-r--r--sc/inc/compiler.hxx9
1 files changed, 5 insertions, 4 deletions
diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx
index 969bd41d838a..394f532b57fc 100644
--- a/sc/inc/compiler.hxx
+++ b/sc/inc/compiler.hxx
@@ -305,10 +305,11 @@ private:
// be important. Store candidate parameters and the operation they are the argument for.
struct PendingImplicitIntersectionOptimization
{
- PendingImplicitIntersectionOptimization(formula::FormulaToken** p, const formula::FormulaToken* o)
- : parameter( p ), operation( o ) {}
- formula::FormulaToken** parameter;
- const formula::FormulaToken* operation;
+ PendingImplicitIntersectionOptimization(formula::FormulaToken** p, formula::FormulaToken* o)
+ : parameterLocation( p ), parameter( *p ), operation( o ) {}
+ formula::FormulaToken** parameterLocation;
+ formula::FormulaTokenRef parameter;
+ formula::FormulaTokenRef operation;
};
std::vector< PendingImplicitIntersectionOptimization > mPendingImplicitIntersectionOptimizations;
std::set<formula::FormulaTokenRef> mUnhandledPossibleImplicitIntersections;