summaryrefslogtreecommitdiff
path: root/formula
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-06-08 12:03:39 +0200
committerEike Rathke <erack@redhat.com>2016-06-08 12:13:23 +0200
commit1ec01a340a063ef6d1b773e6a693c09234bd4f27 (patch)
tree4a009699b76ad76e9f1183f580adb40336e1b2dd /formula
parente24bedbb73a000b204069dde432965b503a7120c (diff)
introduce FormulaTypedDoubleToken to carry type information of a double
Change-Id: I88b4964ca95eefa41d415ed66fc106c834a686b6
Diffstat (limited to 'formula')
-rw-r--r--formula/source/core/api/token.cxx26
1 files changed, 26 insertions, 0 deletions
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
index 360449f2d602..a32853cfc1ed 100644
--- a/formula/source/core/api/token.cxx
+++ b/formula/source/core/api/token.cxx
@@ -42,6 +42,8 @@ namespace formula
// Need a lot of FormulaDoubleToken
IMPL_FIXEDMEMPOOL_NEWDEL_DLL( FormulaDoubleToken )
+// Need quite some FormulaTypedDoubleToken
+IMPL_FIXEDMEMPOOL_NEWDEL_DLL( FormulaTypedDoubleToken )
// Need a lot of FormulaByteToken
IMPL_FIXEDMEMPOOL_NEWDEL_DLL( FormulaByteToken )
// Need several FormulaStringToken
@@ -199,6 +201,12 @@ double & FormulaToken::GetDoubleAsReference()
return fVal;
}
+short FormulaToken::GetDoubleType() const
+{
+ SAL_WARN( "formula.core", "FormulaToken::GetDoubleType: virtual dummy called" );
+ return 0;
+}
+
svl::SharedString FormulaToken::GetString() const
{
SAL_WARN( "formula.core", "FormulaToken::GetString: virtual dummy called" );
@@ -1656,11 +1664,29 @@ bool FormulaTokenIterator::IsEndOfPath() const
double FormulaDoubleToken::GetDouble() const { return fDouble; }
double & FormulaDoubleToken::GetDoubleAsReference() { return fDouble; }
+
+short FormulaDoubleToken::GetDoubleType() const
+{
+ // This is a plain double value without type information, don't emit a
+ // warning via FormulaToken::GetDoubleType().
+ return 0;
+}
+
bool FormulaDoubleToken::operator==( const FormulaToken& r ) const
{
return FormulaToken::operator==( r ) && fDouble == r.GetDouble();
}
+short FormulaTypedDoubleToken::GetDoubleType() const
+{
+ return mnType;
+}
+
+bool FormulaTypedDoubleToken::operator==( const FormulaToken& r ) const
+{
+ return FormulaDoubleToken::operator==( r ) && mnType == r.GetDoubleType();
+}
+
FormulaStringToken::FormulaStringToken( const svl::SharedString& r ) :
FormulaToken( svString ), maString( r )
{