diff options
author | Arnaud Versini <arnaud.versini@gmail.com> | 2015-06-07 17:44:13 +0200 |
---|---|---|
committer | Arnaud Versini <arnaud.versini@libreoffice.org> | 2015-06-13 11:53:03 +0000 |
commit | 0766db041e17a7cb1ba2659f88f7e94fec720f67 (patch) | |
tree | aa1d5cfc0f217cb15716b0b9b1d12f9db46772c2 /basic | |
parent | 2181f936c88811d5b6eb6081355a99a727261a8f (diff) |
BASIC: Don't use SbiStringPool to pass SbiParser.
Change-Id: I15949e604285d804de1554d36acf36e8a407ebd9
Reviewed-on: https://gerrit.libreoffice.org/16137
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
Diffstat (limited to 'basic')
-rw-r--r-- | basic/source/comp/parser.cxx | 8 | ||||
-rw-r--r-- | basic/source/comp/symtbl.cxx | 17 | ||||
-rw-r--r-- | basic/source/inc/symtbl.hxx | 6 |
3 files changed, 12 insertions, 19 deletions
diff --git a/basic/source/comp/parser.cxx b/basic/source/comp/parser.cxx index c25792284380..d867cb46924f 100644 --- a/basic/source/comp/parser.cxx +++ b/basic/source/comp/parser.cxx @@ -111,11 +111,9 @@ static const SbiStatement StmntTable [] = { SbiParser::SbiParser( StarBASIC* pb, SbModule* pm ) : SbiTokenizer( pm->GetSource32(), pb ), - aGblStrings( this ), - aLclStrings( this ), - aGlobals( aGblStrings, SbGLOBAL ), - aPublics( aGblStrings, SbPUBLIC ), - aRtlSyms( aGblStrings, SbRTL ), + aGlobals( aGblStrings, SbGLOBAL, this ), + aPublics( aGblStrings, SbPUBLIC, this ), + aRtlSyms( aGblStrings, SbRTL, this ), aGen( *pm, this, 1024 ) { pBasic = pb; diff --git a/basic/source/comp/symtbl.cxx b/basic/source/comp/symtbl.cxx index bc3862847ab5..7a79de8d3fa6 100644 --- a/basic/source/comp/symtbl.cxx +++ b/basic/source/comp/symtbl.cxx @@ -38,10 +38,8 @@ |* ***************************************************************************/ -SbiStringPool::SbiStringPool( SbiParser* p ) -{ - pParser = p; -} +SbiStringPool::SbiStringPool( ) +{} SbiStringPool::~SbiStringPool() {} @@ -89,9 +87,8 @@ short SbiStringPool::Add( double n, SbxDataType t ) |* ***************************************************************************/ -SbiSymPool::SbiSymPool( SbiStringPool& r, SbiSymScope s ) : rStrings( r ) +SbiSymPool::SbiSymPool( SbiStringPool& r, SbiSymScope s, SbiParser* pP ) : rStrings( r ), pParser( pP ) { - pParser = r.GetParser(); eScope = s; pParent = NULL; nCur = @@ -375,7 +372,7 @@ SbiSymPool& SbiSymDef::GetPool() { if( !pPool ) { - pPool = new SbiSymPool( pIn->pParser->aGblStrings, SbLOCAL ); // is dumped + pPool = new SbiSymPool( pIn->pParser->aGblStrings, SbLOCAL, pIn->pParser ); // is dumped } return *pPool; } @@ -396,12 +393,12 @@ SbiSymScope SbiSymDef::GetScope() const SbiProcDef::SbiProcDef( SbiParser* pParser, const OUString& rName, bool bProcDecl ) : SbiSymDef( rName ) - , aParams( pParser->aGblStrings, SbPARAM ) // is dumped - , aLabels( pParser->aLclStrings, SbLOCAL ) // is not dumped + , aParams( pParser->aGblStrings, SbPARAM, pParser ) // is dumped + , aLabels( pParser->aLclStrings, SbLOCAL, pParser ) // is not dumped , mbProcDecl( bProcDecl ) { aParams.SetParent( &pParser->aPublics ); - pPool = new SbiSymPool( pParser->aGblStrings, SbLOCAL ); + pPool = new SbiSymPool( pParser->aGblStrings, SbLOCAL, pParser ); pPool->SetParent( &aParams ); nLine1 = nLine2 = 0; diff --git a/basic/source/inc/symtbl.hxx b/basic/source/inc/symtbl.hxx index 3c67c8d7af83..cc4fac562188 100644 --- a/basic/source/inc/symtbl.hxx +++ b/basic/source/inc/symtbl.hxx @@ -37,9 +37,8 @@ enum SbiSymScope { SbLOCAL, SbPARAM, SbPUBLIC, SbGLOBAL, SbRTL }; class SbiStringPool { const OUString aEmpty; std::vector<OUString> aData; - SbiParser* pParser; public: - SbiStringPool( SbiParser* ); + SbiStringPool(); ~SbiStringPool(); sal_uInt32 GetSize() const { return aData.size(); } // From 8.4.1999: default changed to true because of #64236 - @@ -47,7 +46,6 @@ public: short Add( const OUString&, bool=true ); short Add( double, SbxDataType ); const OUString& Find( sal_uInt32 ) const; - SbiParser* GetParser() { return pParser; } }; @@ -65,7 +63,7 @@ protected: sal_uInt16 nProcId; // for STATIC-variable sal_uInt16 nCur; // iterator public: - SbiSymPool( SbiStringPool&, SbiSymScope ); + SbiSymPool( SbiStringPool&, SbiSymScope, SbiParser* pParser_ ); ~SbiSymPool(); void SetParent( SbiSymPool* p ) { pParent = p; } |