summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--formula/source/core/api/FormulaCompiler.cxx16
-rw-r--r--include/formula/FormulaCompiler.hxx12
2 files changed, 12 insertions, 16 deletions
diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx
index 09e355302105..6568818c7038 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -362,11 +362,11 @@ void FormulaCompiler::OpCodeMap::putExternal( const OUString & rSymbol, const OU
// map to different symbols, the first pair wins. Same symbol of course may
// not map to different AddIns, again the first pair wins and also the
// AddIn->symbol mapping is not inserted in other cases.
- bool bOk = mpExternalHashMap->insert( ExternalHashMap::value_type( rSymbol, rAddIn)).second;
+ bool bOk = maExternalHashMap.insert( ExternalHashMap::value_type( rSymbol, rAddIn)).second;
SAL_WARN_IF( !bOk, "formula.core", "OpCodeMap::putExternal: symbol not inserted, " << rSymbol << " -> " << rAddIn);
if (bOk)
{
- bOk = mpReverseExternalHashMap->insert( ExternalHashMap::value_type( rAddIn, rSymbol)).second;
+ bOk = maReverseExternalHashMap.insert( ExternalHashMap::value_type( rAddIn, rSymbol)).second;
// Failed insertion of the AddIn is ok for different symbols mapping to
// the same AddIn. Make this INFO only.
SAL_INFO_IF( !bOk, "formula.core", "OpCodeMap::putExternal: AddIn not inserted, " << rAddIn << " -> " << rSymbol);
@@ -375,9 +375,9 @@ void FormulaCompiler::OpCodeMap::putExternal( const OUString & rSymbol, const OU
void FormulaCompiler::OpCodeMap::putExternalSoftly( const OUString & rSymbol, const OUString & rAddIn )
{
- bool bOk = mpReverseExternalHashMap->insert( ExternalHashMap::value_type( rAddIn, rSymbol)).second;
+ bool bOk = maReverseExternalHashMap.insert( ExternalHashMap::value_type( rAddIn, rSymbol)).second;
if (bOk)
- mpExternalHashMap->insert( ExternalHashMap::value_type( rSymbol, rAddIn));
+ maExternalHashMap.insert( ExternalHashMap::value_type( rSymbol, rAddIn));
}
uno::Sequence< sheet::FormulaToken > FormulaCompiler::OpCodeMap::createSequenceOfFormulaTokens(
@@ -398,8 +398,8 @@ uno::Sequence< sheet::FormulaToken > FormulaCompiler::OpCodeMap::createSequenceO
OUString aIntName;
if (hasExternals())
{
- ExternalHashMap::const_iterator iExt( mpExternalHashMap->find( *pName));
- if (iExt != mpExternalHashMap->end())
+ ExternalHashMap::const_iterator iExt( maExternalHashMap.find( *pName));
+ if (iExt != maExternalHashMap.end())
aIntName = (*iExt).second;
// Check for existence not needed here, only name-mapping is of
// interest.
@@ -578,7 +578,7 @@ uno::Sequence< sheet::FormulaOpCodeMapEntry > FormulaCompiler::OpCodeMap::create
// If AddIn functions are present in this mapping, use them, and only those.
if (hasExternals())
{
- for (ExternalHashMap::const_iterator it( mpExternalHashMap->begin());it != mpExternalHashMap->end(); ++it)
+ for (ExternalHashMap::const_iterator it( maExternalHashMap.begin());it != maExternalHashMap.end(); ++it)
{
FormulaOpCodeMapEntry aEntry;
aEntry.Name = (*it).first;
@@ -1059,8 +1059,6 @@ bool FormulaCompiler::IsMatrixFunction( OpCode eOpCode )
FormulaCompiler::OpCodeMap::~OpCodeMap()
{
- delete mpReverseExternalHashMap;
- delete mpExternalHashMap;
delete [] mpTable;
delete mpHashMap;
}
diff --git a/include/formula/FormulaCompiler.hxx b/include/formula/FormulaCompiler.hxx
index 3c65b94973f3..22bd699e7811 100644
--- a/include/formula/FormulaCompiler.hxx
+++ b/include/formula/FormulaCompiler.hxx
@@ -80,8 +80,8 @@ public:
{
OpCodeHashMap * mpHashMap; /// Hash map of symbols, OUString -> OpCode
OUString * mpTable; /// Array of symbols, OpCode -> OUString, offset==OpCode
- ExternalHashMap * mpExternalHashMap; /// Hash map of ocExternal, Filter String -> AddIn String
- ExternalHashMap * mpReverseExternalHashMap; /// Hash map of ocExternal, AddIn String -> Filter String
+ ExternalHashMap maExternalHashMap; /// Hash map of ocExternal, Filter String -> AddIn String
+ ExternalHashMap maReverseExternalHashMap; /// Hash map of ocExternal, AddIn String -> Filter String
FormulaGrammar::Grammar meGrammar; /// Grammar, language and reference convention
sal_uInt16 mnSymbols; /// Count of OpCode symbols
bool mbCore : 1; /// If mapping was setup by core, not filters
@@ -95,8 +95,6 @@ public:
OpCodeMap(sal_uInt16 nSymbols, bool bCore, FormulaGrammar::Grammar eGrammar ) :
mpHashMap( new OpCodeHashMap( nSymbols)),
mpTable( new OUString[ nSymbols ]),
- mpExternalHashMap( new ExternalHashMap),
- mpReverseExternalHashMap( new ExternalHashMap),
meGrammar( eGrammar),
mnSymbols( nSymbols),
mbCore( bCore)
@@ -117,10 +115,10 @@ public:
const OpCodeHashMap* getHashMap() const { return mpHashMap; }
/// Get the symbol String -> AddIn String hash map for finds.
- const ExternalHashMap* getExternalHashMap() const { return mpExternalHashMap; }
+ const ExternalHashMap* getExternalHashMap() const { return &maExternalHashMap; }
/// Get the AddIn String -> symbol String hash map for finds.
- const ExternalHashMap* getReverseExternalHashMap() const { return mpReverseExternalHashMap; }
+ const ExternalHashMap* getReverseExternalHashMap() const { return &maReverseExternalHashMap; }
/// Get the symbol string matching an OpCode.
const OUString& getSymbol( const OpCode eOp ) const
@@ -157,7 +155,7 @@ public:
bool isOOXML() const { return FormulaGrammar::isOOXML( meGrammar); }
/// Does it have external symbol/name mappings?
- bool hasExternals() const { return !mpExternalHashMap->empty(); }
+ bool hasExternals() const { return !maExternalHashMap.empty(); }
/// Put entry of symbol String and OpCode pair.
void putOpCode( const OUString & rStr, const OpCode eOp, const CharClass* pCharClass );