diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2020-01-05 14:02:35 +0300 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2020-01-22 17:30:13 +0100 |
commit | 197aa7911d5be5464efd19feaf3370eea1c15ab1 (patch) | |
tree | 1aabdeb2ae2b5c09e3f93112cb5534d73132e483 /sc/inc | |
parent | a821d89646ef25428cf5992f86d8f31581313bdb (diff) |
tdf#83779: convert TRUE/FALSE constants to functions TRUE()/FALSE()
This avoids problems with round-tripping Excel spreadsheets, where
previously a formula like =IF(ISNA(A1)=FALSE;"a";"b") was imported
as =IF(ISNA(A1)=0;"a";"b"), and when exported back, it didn't work
in Excel, because boolean values had a distinct type in it.
Change-Id: I672a631bfa1a4811349794f714293404c6b24381
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86238
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc/inc')
-rw-r--r-- | sc/inc/compiler.hxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx index eca794a657a5..e60455177cfb 100644 --- a/sc/inc/compiler.hxx +++ b/sc/inc/compiler.hxx @@ -31,6 +31,7 @@ #include <rtl/ustrbuf.hxx> #include <com/sun/star/sheet/ExternalLinkInfo.hpp> #include <com/sun/star/i18n/ParseResult.hpp> +#include <queue> #include <vector> #include <memory> #include <set> @@ -282,6 +283,8 @@ private: sal_Int32 nSrcPos; // tokenizer position (source code) mutable ScRawToken maRawToken; + std::queue<OpCode> maPendingOpCodes; // additional opcodes generated from a single symbol + const CharClass* pCharClass; // which character classification is used for parseAnyToken sal_uInt16 mnPredetectedReference; // reference when reading ODF, 0 (none), 1 (single) or 2 (double) sal_Int32 mnRangeOpPosInSymbol; // if and where a range operator is in symbol |