[Libreoffice-commits] .: basic/source
August Sodora
augsod at kemper.freedesktop.org
Mon Jan 16 17:47:47 PST 2012
basic/source/classes/sbintern.cxx | 4 --
basic/source/classes/sbxmod.cxx | 5 --
basic/source/inc/sbintern.hxx | 65 --------------------------------------
basic/source/runtime/runtime.cxx | 14 +-------
basic/source/runtime/step1.cxx | 5 --
5 files changed, 2 insertions(+), 91 deletions(-)
New commits:
commit cd10d4e8a612f72bf2fa421bc1360d5230da505d
Author: August Sodora <augsod at gmail.com>
Date: Mon Jan 16 20:42:36 2012 -0500
Remove SbErrorStack[Entry]
diff --git a/basic/source/classes/sbintern.cxx b/basic/source/classes/sbintern.cxx
index 1993aa6..1f3a40f 100644
--- a/basic/source/classes/sbintern.cxx
+++ b/basic/source/classes/sbintern.cxx
@@ -36,8 +36,6 @@
#include "codegen.hxx"
#include <basic/basmgr.hxx>
-SV_IMPL_PTRARR(SbErrorStack, SbErrorStackEntry*)
-
SbiGlobals* GetSbData()
{
SbiGlobals** pp = (SbiGlobals**) ::GetAppData( SHL_SBC );
@@ -63,7 +61,6 @@ SbiGlobals::SbiGlobals()
bCompiler = sal_False;
bGlobalInitErr = sal_False;
bRunInit = sal_False;
- pErrStack = NULL;
pTransliterationWrapper = NULL;
bBlockCompilerError = sal_False;
pAppBasMgr = NULL;
@@ -72,7 +69,6 @@ SbiGlobals::SbiGlobals()
SbiGlobals::~SbiGlobals()
{
- delete pErrStack;
delete pSbFac;
delete pUnoFac;
delete pTransliterationWrapper;
diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx
index b492fee..d61b63c 100644
--- a/basic/source/classes/sbxmod.cxx
+++ b/basic/source/classes/sbxmod.cxx
@@ -1155,11 +1155,6 @@ sal_uInt16 SbModule::Run( SbMethod* pMeth )
}
}
- // Delete the Error-Stack
- SbErrorStack*& rErrStack = GetSbData()->pErrStack;
- delete rErrStack;
- rErrStack = NULL;
-
if( nMaxCallLevel == 0 )
{
#ifdef UNX
diff --git a/basic/source/inc/sbintern.hxx b/basic/source/inc/sbintern.hxx
index ac6b883..bc35651 100644
--- a/basic/source/inc/sbintern.hxx
+++ b/basic/source/inc/sbintern.hxx
@@ -87,70 +87,6 @@ public:
SbModule* FindClass( const String& rClassName );
};
-// stack for the SbiRuntime chain which is removed in the case of an error
-class BASIC_DLLPUBLIC SbErrorStackEntry
-{
-public:
- SbErrorStackEntry(SbMethodRef aM, xub_StrLen nL, xub_StrLen nC1, xub_StrLen nC2)
- : aMethod(aM), nLine(nL), nCol1(nC1), nCol2(nC2) {}
- SbMethodRef aMethod;
- xub_StrLen nLine;
- xub_StrLen nCol1, nCol2;
-};
-
-typedef sal_Bool (*FnForEach_SbErrorStack)( const SbErrorStackEntry* &, void* );
-class BASIC_DLLPUBLIC SbErrorStack: public SvPtrarr
-{
-public:
- SbErrorStack( sal_uInt16 nIni=1, sal_uInt8 nG=1 )
- : SvPtrarr(nIni,nG) {}
- ~SbErrorStack() { DeleteAndDestroy( 0, Count() ); }
- void Insert( const SbErrorStack *pI, sal_uInt16 nP,
- sal_uInt16 nS = 0, sal_uInt16 nE = USHRT_MAX ) {
- SvPtrarr::Insert((const SvPtrarr*)pI, nP, nS, nE);
- }
- void Insert( const SbErrorStackEntry* & aE, sal_uInt16 nP ) {
- SvPtrarr::Insert((const VoidPtr &)aE, nP );
- }
- void Insert( const SbErrorStackEntry* *pE, sal_uInt16 nL, sal_uInt16 nP ) {
- SvPtrarr::Insert( (const VoidPtr *)pE, nL, nP );
- }
- void Replace( const SbErrorStackEntry* & aE, sal_uInt16 nP ) {
- SvPtrarr::Replace( (const VoidPtr &)aE, nP );
- }
- void Replace( const SbErrorStackEntry* *pE, sal_uInt16 nL, sal_uInt16 nP ) {
- SvPtrarr::Replace( (const VoidPtr*)pE, nL, nP );
- }
- void Remove( sal_uInt16 nP, sal_uInt16 nL = 1) {
- SvPtrarr::Remove(nP,nL);
- }
- const SbErrorStackEntry** GetData() const {
- return (const SbErrorStackEntry**)SvPtrarr::GetData();
- }
- void ForEach( CONCAT( FnForEach_, SbErrorStack ) fnForEach, void* pArgs = 0 )
- {
- _ForEach( 0, nA, (FnForEach_SvPtrarr)fnForEach, pArgs );
- }
- void ForEach( sal_uInt16 nS, sal_uInt16 nE,
- CONCAT( FnForEach_, SbErrorStack ) fnForEach, void* pArgs = 0 )
- {
- _ForEach( nS, nE, (FnForEach_SvPtrarr)fnForEach, pArgs );
- }
- SbErrorStackEntry* operator[]( sal_uInt16 nP )const {
- return (SbErrorStackEntry*)SvPtrarr::operator[](nP); }
- SbErrorStackEntry* GetObject( sal_uInt16 nP )const {
- return (SbErrorStackEntry*)SvPtrarr::GetObject(nP); }
-
- sal_uInt16 GetPos( const SbErrorStackEntry* & aE ) const {
- return SvPtrarr::GetPos((const VoidPtr &)aE);
- }
- void DeleteAndDestroy( sal_uInt16 nP, sal_uInt16 nL=1 );
-private:
- BASIC_DLLPRIVATE SbErrorStack( const SbErrorStack& );
- BASIC_DLLPRIVATE SbErrorStack& operator=( const SbErrorStack& );
-};
-
-
struct SbiGlobals
{
SbiInstance* pInst; // all active runtime instances
@@ -172,7 +108,6 @@ struct SbiGlobals
sal_Bool bGlobalInitErr;
sal_Bool bRunInit; // sal_True, if RunInit active from the Basic
String aErrMsg; // buffer for GetErrorText()
- SbErrorStack* pErrStack; // for the SbiRuntime chain
::utl::TransliterationWrapper* pTransliterationWrapper; // For StrComp
sal_Bool bBlockCompilerError;
BasicManager* pAppBasMgr;
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index c76776e..39c48c3 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -794,11 +794,6 @@ sal_Bool SbiRuntime::Step()
if( pRtErrHdl )
{
- SbErrorStack*& rErrStack = GetSbData()->pErrStack;
- if( rErrStack )
- delete rErrStack;
- rErrStack = new SbErrorStack();
-
// manipulate all the RTs that are below in the call-stack
pRt = this;
do
@@ -806,14 +801,9 @@ sal_Bool SbiRuntime::Step()
pRt->nError = err;
if( pRt != pRtErrHdl )
pRt->bRun = sal_False;
-
- SbErrorStackEntry *pEntry = new SbErrorStackEntry
- ( pRt->pMeth, pRt->nLine, pRt->nCol1, pRt->nCol2 );
- rErrStack->C40_INSERT(SbErrorStackEntry, pEntry, rErrStack->Count() );
-
- if( pRt == pRtErrHdl )
+ else
break;
- pRt = pRt->pNext;
+ pRt = pRt->pNext;
}
while( pRt );
}
diff --git a/basic/source/runtime/step1.cxx b/basic/source/runtime/step1.cxx
index b007c89..d90d8aa 100644
--- a/basic/source/runtime/step1.cxx
+++ b/basic/source/runtime/step1.cxx
@@ -397,11 +397,6 @@ void SbiRuntime::StepRESUME( sal_uInt32 nOp1 )
pInst->nErl = 0;
nError = 0;
bInError = sal_False;
-
-
- SbErrorStack*& rErrStack = GetSbData()->pErrStack;
- delete rErrStack;
- rErrStack = NULL;
}
// close channel (+channel, 0=all)
More information about the Libreoffice-commits
mailing list