Remove unused BASIC CaptureAssertions functionality
...that had originally been introduced to catch DBG_ASSERTs during smoketest, but since made effectively unused when basing DBG_ASSERT on the sal/log.hxx functionality, and obsoleted by the ongoing clean-up of using true assert where appliable. Change-Id: I2fb4f5d0873d29595b178057f83c1404c0085575
This commit is contained in:
parent
2fc50ff8be
commit
0015c9807f
@ -100,7 +100,6 @@ $(eval $(call gb_Library_add_exception_objects,sb,\
|
||||
basic/source/runtime/iosys \
|
||||
basic/source/runtime/props \
|
||||
basic/source/runtime/runtime \
|
||||
basic/source/runtime/sbdiagnose \
|
||||
basic/source/runtime/stdobj \
|
||||
basic/source/runtime/stdobj1 \
|
||||
))
|
||||
|
@ -26,7 +26,6 @@
|
||||
#include <tools/shl.hxx>
|
||||
#include <basic/sbx.hxx>
|
||||
#include <basic/sbuno.hxx>
|
||||
#include "sbdiagnose.hxx"
|
||||
#include "sb.hxx"
|
||||
#include <sbjsmeth.hxx>
|
||||
#include "sbjsmod.hxx"
|
||||
@ -1244,10 +1243,6 @@ sal_uInt16 SbModule::Run( SbMethod* pMeth )
|
||||
|
||||
GlobalRunDeInit();
|
||||
|
||||
#ifdef DBG_UTIL
|
||||
ResetCapturedAssertions();
|
||||
#endif
|
||||
|
||||
if( xVBACompat.is() )
|
||||
{
|
||||
// notify all VBA script listeners about the stopped script
|
||||
|
@ -1,29 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/*
|
||||
* This file is part of the LibreOffice project.
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* This file incorporates work covered by the following license notice:
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed
|
||||
* with this work for additional information regarding copyright
|
||||
* ownership. The ASF licenses this file to you under the Apache
|
||||
* License, Version 2.0 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||
*/
|
||||
|
||||
#ifndef INCLUDED_BASIC_SOURCE_INC_SBDIAGNOSE_HXX
|
||||
#define INCLUDED_BASIC_SOURCE_INC_SBDIAGNOSE_HXX
|
||||
|
||||
#ifdef DBG_UTIL
|
||||
void ResetCapturedAssertions();
|
||||
#endif
|
||||
|
||||
#endif // INCLUDED_BASIC_SOURCE_INC_SBDIAGNOSE_HXX
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
@ -360,7 +360,6 @@ extern RTLFUNC(CDateToIso);
|
||||
extern RTLFUNC(CDateFromIso);
|
||||
extern RTLFUNC(CompatibilityMode);
|
||||
extern RTLFUNC(CDec);
|
||||
extern RTLFUNC(CaptureAssertions);
|
||||
|
||||
extern RTLFUNC(Partition); // Fong
|
||||
|
||||
|
@ -1,126 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/*
|
||||
* This file is part of the LibreOffice project.
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* This file incorporates work covered by the following license notice:
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed
|
||||
* with this work for additional information regarding copyright
|
||||
* ownership. The ASF licenses this file to you under the Apache
|
||||
* License, Version 2.0 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||
*/
|
||||
|
||||
|
||||
#include "rtlproto.hxx"
|
||||
#include "sbdiagnose.hxx"
|
||||
|
||||
#include <basic/sbstar.hxx>
|
||||
|
||||
#include <tools/debug.hxx>
|
||||
#include <comphelper/flagguard.hxx>
|
||||
|
||||
#ifdef DBG_UTIL
|
||||
|
||||
static DbgChannelId nRestoreChannelId = 0;
|
||||
static DbgChannelId nAssertionChannelId = 0;
|
||||
static StarBASICRef xAssertionChannelBasic;
|
||||
static OUString sCaptureFunctionName;
|
||||
static bool bReportingAssertion = false;
|
||||
|
||||
void ResetCapturedAssertions()
|
||||
{
|
||||
if ( nRestoreChannelId != 0 )
|
||||
{
|
||||
DBG_INSTOUTERROR( nRestoreChannelId );
|
||||
}
|
||||
nRestoreChannelId = 0;
|
||||
xAssertionChannelBasic = NULL;
|
||||
sCaptureFunctionName = OUString();
|
||||
bReportingAssertion = false;
|
||||
}
|
||||
|
||||
void DbgReportAssertion( const sal_Char* i_assertionMessage )
|
||||
{
|
||||
if ( !xAssertionChannelBasic )
|
||||
{
|
||||
ResetCapturedAssertions();
|
||||
return;
|
||||
}
|
||||
|
||||
// prevent infinite recursion
|
||||
if ( bReportingAssertion )
|
||||
{
|
||||
return;
|
||||
}
|
||||
::comphelper::FlagRestorationGuard aGuard( bReportingAssertion, true );
|
||||
|
||||
SbxArrayRef const xArguments( new SbxArray( SbxVARIANT ) );
|
||||
SbxVariableRef const xMessageText = new SbxVariable( SbxSTRING );
|
||||
xMessageText->PutString( OUString::createFromAscii(i_assertionMessage) );
|
||||
xArguments->Put( xMessageText, 1 );
|
||||
|
||||
ErrCode const nError = xAssertionChannelBasic->Call( sCaptureFunctionName, xArguments );
|
||||
if ( ( nError & SbERR_METHOD_NOT_FOUND ) != 0 )
|
||||
{
|
||||
ResetCapturedAssertions();
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/// capture assertions, route them to the given given Basic function
|
||||
RTLFUNC(CaptureAssertions)
|
||||
{
|
||||
(void)bWrite;
|
||||
|
||||
// need exactly one argument
|
||||
if ( rPar.Count() != 2 )
|
||||
{
|
||||
StarBASIC::Error( SbERR_BAD_ARGUMENT );
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef DBG_UTIL
|
||||
DBG_TESTSOLARMUTEX();
|
||||
|
||||
OUString const sFunctionName = rPar.Get(1)->GetOUString();
|
||||
if ( sFunctionName.isEmpty() )
|
||||
{
|
||||
ResetCapturedAssertions();
|
||||
return;
|
||||
}
|
||||
|
||||
if ( nAssertionChannelId == 0 )
|
||||
{
|
||||
// TODO: should we register a named channel at the VCL API, instead of an unnamed channel at the tools API?
|
||||
// A named channel would mean it would appear in the nonpro-debug-options dialog
|
||||
nAssertionChannelId = DbgRegisterUserChannel( &DbgReportAssertion );
|
||||
}
|
||||
|
||||
DbgChannelId const nCurrentChannelId = (DbgChannelId)DbgGetErrorOut();
|
||||
if ( nCurrentChannelId != nAssertionChannelId )
|
||||
{
|
||||
// remember the current channel
|
||||
nRestoreChannelId = nCurrentChannelId;
|
||||
|
||||
// set the new channel
|
||||
DBG_INSTOUTERROR( nAssertionChannelId );
|
||||
}
|
||||
|
||||
xAssertionChannelBasic = pBasic;
|
||||
sCaptureFunctionName = sFunctionName;
|
||||
#else
|
||||
(void)pBasic;
|
||||
(void)rPar;
|
||||
(void)bWrite;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
@ -153,8 +153,6 @@ static Methods aMethods[] = {
|
||||
{ "number", SbxDOUBLE, 0,NULL,0 },
|
||||
{ "CreateObject", SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreateObject ),0 },
|
||||
{ "class", SbxSTRING, 0,NULL,0 },
|
||||
{ "CaptureAssertions", SbxNULL, 1 | _FUNCTION, RTLNAME(CaptureAssertions), 0 },
|
||||
{ "methodName", SbxSTRING, 0, NULL, 0 },
|
||||
{ "CreateUnoListener",SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreateUnoListener ),0 },
|
||||
{ "prefix", SbxSTRING, 0,NULL,0 },
|
||||
{ "typename", SbxSTRING, 0,NULL,0 },
|
||||
|
@ -123,10 +123,6 @@ Sub ClearAllText
|
||||
call ClearStatus
|
||||
end Sub
|
||||
|
||||
Sub AssertionHandler( sMessage as String )
|
||||
LogTestResult( "assertion caught: " + sMessage, FALSE )
|
||||
End Sub
|
||||
|
||||
Sub Main
|
||||
On Local Error Goto MainError
|
||||
|
||||
@ -144,7 +140,6 @@ Sub Main
|
||||
LocalTestLog% = OpenLogDat( GetLogFileName( gCurrentDocTest ) )
|
||||
|
||||
gCurrentTestCase = cTestClosureSetupDoc
|
||||
CaptureAssertions( "AssertionHandler" )
|
||||
|
||||
call SetGlobalDoc
|
||||
|
||||
@ -184,7 +179,6 @@ Sub Main
|
||||
|
||||
gOutputDoc.setModified( bWasModified )
|
||||
|
||||
CaptureAssertions( "" )
|
||||
Exit Sub
|
||||
|
||||
MainError:
|
||||
|
Loading…
x
Reference in New Issue
Block a user