summaryrefslogtreecommitdiff
path: root/sc/inc/compiler.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/inc/compiler.hxx')
-rw-r--r--sc/inc/compiler.hxx20
1 files changed, 19 insertions, 1 deletions
diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx
index d8935c7f7545..17e258dc3805 100644
--- a/sc/inc/compiler.hxx
+++ b/sc/inc/compiler.hxx
@@ -108,6 +108,10 @@ public:
union {
double nValue;
struct {
+ sal_uInt8 nCount;
+ sal_Unicode cChar;
+ } whitespace;
+ struct {
sal_uInt8 cByte;
formula::ParamClass eInForceArray;
} sbyte;
@@ -326,7 +330,21 @@ private:
bool ToUpperAsciiOrI18nIsAscii( OUString& rUpper, const OUString& rOrg ) const;
virtual void SetError(FormulaError nError) override;
- sal_Int32 NextSymbol(bool bInArray);
+
+ struct Whitespace final
+ {
+ sal_Int32 nCount;
+ sal_Unicode cChar;
+
+ Whitespace() : nCount(0), cChar(0x20) {}
+ void reset( sal_Unicode c ) { nCount = 0; cChar = c; }
+ };
+
+ static void addWhitespace( std::vector<ScCompiler::Whitespace> & rvSpaces,
+ ScCompiler::Whitespace & rSpace, sal_Unicode c, sal_Int32 n = 1 );
+
+ std::vector<Whitespace> NextSymbol(bool bInArray);
+
bool IsValue( const OUString& );
bool IsOpCode( const OUString&, bool bInArray );
bool IsOpCode2( const OUString& );