summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2020-01-05 14:02:35 +0300
committerEike Rathke <erack@redhat.com>2020-01-22 17:30:13 +0100
commit197aa7911d5be5464efd19feaf3370eea1c15ab1 (patch)
tree1aabdeb2ae2b5c09e3f93112cb5534d73132e483 /sc/inc
parenta821d89646ef25428cf5992f86d8f31581313bdb (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.hxx3
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