diff options
author | Eike Rathke <erack@redhat.com> | 2016-06-08 12:03:39 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-06-08 12:13:23 +0200 |
commit | 1ec01a340a063ef6d1b773e6a693c09234bd4f27 (patch) | |
tree | 4a009699b76ad76e9f1183f580adb40336e1b2dd /formula | |
parent | e24bedbb73a000b204069dde432965b503a7120c (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.cxx | 26 |
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 ) { |