Kaydet (Commit) 0015c980 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

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
üst 2fc50ff8
......@@ -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
......
/* -*- 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
......
/* -*- 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( &quot;assertion caught: &quot; + 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( &quot;&quot; )
Exit Sub
MainError:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment