Kaydet (Commit) 9263b101 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Activate the "suspicious cast to sal_Bool" parts of loplugin:salbool

Change-Id: I78a368ef2899b2462251b45a327fc7b1f31fe764
üst 485a7c88
......@@ -205,7 +205,7 @@ sal_Bool SAL_CALL OGLPlayer::isPlaybackLoop() throw ( uno::RuntimeException, std
{
osl::MutexGuard aGuard(m_aMutex);
assert(m_pHandle);
return (sal_Bool)gltf_animation_get_looping(m_pHandle);
return gltf_animation_get_looping(m_pHandle) != 0;
}
void SAL_CALL OGLPlayer::setVolumeDB( sal_Int16 /*nVolumDB*/ ) throw ( uno::RuntimeException, std::exception )
......
......@@ -9,6 +9,7 @@
#include <algorithm>
#include <cassert>
#include <cstdlib>
#include <set>
#include <string>
......@@ -106,7 +107,10 @@ class SalBool:
public RecursiveASTVisitor<SalBool>, public loplugin::RewritePlugin
{
public:
explicit SalBool(InstantiationData const & data): RewritePlugin(data) {}
explicit SalBool(InstantiationData const & data):
RewritePlugin(data),
fullMode_(std::getenv("loplugin:salbool") != nullptr)
{}
virtual void run() override;
......@@ -139,6 +143,7 @@ private:
bool rewrite(SourceLocation location);
bool fullMode_;
std::set<VarDecl const *> varDecls_;
};
......@@ -178,7 +183,7 @@ void SalBool::run() {
}
}
}
if (!rewrite(loc)) {
if (fullMode_ && !rewrite(loc)) {
report(
DiagnosticsEngine::Warning,
"VarDecl, use \"bool\" instead of \"sal_Bool\"", loc)
......@@ -322,13 +327,15 @@ bool SalBool::VisitParmVarDecl(ParmVarDecl const * decl) {
// with a "mismatch" error before the rewriter had a chance
// to act upon the definition (but use the heuristic of
// assuming pure virtual functions do not have definitions):
if (!((isInMainFile(
compiler.getSourceManager().getSpellingLoc(
dyn_cast<FunctionDecl>(
decl->getDeclContext())
->getNameInfo().getLoc()))
|| f->isDefined() || f->isPure())
&& rewrite(loc)))
if (fullMode_
&& !((compat::isInMainFile(
compiler.getSourceManager(),
compiler.getSourceManager().getSpellingLoc(
dyn_cast<FunctionDecl>(
decl->getDeclContext())
->getNameInfo().getLoc()))
|| f->isDefined() || f->isPure())
&& rewrite(loc)))
{
report(
DiagnosticsEngine::Warning,
......@@ -409,7 +416,7 @@ bool SalBool::VisitFieldDecl(FieldDecl const * decl) {
}
}
}
if (!rewrite(loc)) {
if (fullMode_ && !rewrite(loc)) {
report(
DiagnosticsEngine::Warning,
"FieldDecl, use \"bool\" instead of \"sal_Bool\"", loc)
......@@ -467,11 +474,13 @@ bool SalBool::VisitFunctionDecl(FunctionDecl const * decl) {
// rewriter had a chance to act upon the definition (but use the
// heuristic of assuming pure virtual functions do not have
// definitions):
if (!((isInMainFile(
compiler.getSourceManager().getSpellingLoc(
decl->getNameInfo().getLoc()))
|| f->isDefined() || f->isPure())
&& rewrite(loc)))
if (fullMode_
&& !((compat::isInMainFile(
compiler.getSourceManager(),
compiler.getSourceManager().getSpellingLoc(
decl->getNameInfo().getLoc()))
|| f->isDefined() || f->isPure())
&& rewrite(loc)))
{
report(
DiagnosticsEngine::Warning,
......@@ -487,7 +496,9 @@ bool SalBool::VisitValueDecl(ValueDecl const * decl) {
if (ignoreLocation(decl)) {
return true;
}
if (isSalBool(decl->getType()) && !rewrite(decl->getLocStart())) {
if (fullMode_ && isSalBool(decl->getType())
&& !rewrite(decl->getLocStart()))
{
report(
DiagnosticsEngine::Warning,
"ValueDecl, use \"bool\" instead of \"sal_Bool\"",
......@@ -498,7 +509,7 @@ bool SalBool::VisitValueDecl(ValueDecl const * decl) {
}
bool SalBool::isInSpecialMainFile(SourceLocation spellingLocation) const {
return compat::isInMainFile(spellingLocation)
return compat::isInMainFile(compiler.getSourceManager(), spellingLocation)
&& (compiler.getSourceManager().getFilename(spellingLocation)
== SRCDIR "/cppu/qa/test_any.cxx");
}
......
......@@ -968,7 +968,7 @@ void KabResultSet::getFastPropertyValue(
switch (nHandle)
{
case PROPERTY_ID_ISBOOKMARKABLE:
_rValue <<= (sal_Bool)sal_False;
_rValue <<= false;
break;
case PROPERTY_ID_CURSORNAME:
case PROPERTY_ID_RESULTSETCONCURRENCY:
......
......@@ -56,9 +56,9 @@ namespace svt { namespace table
namespace
{
template< class ATTRIBUTE_TYPE >
void lcl_set( Reference< XGridColumn > const & i_column, void ( SAL_CALL XGridColumn::*i_setter )( ATTRIBUTE_TYPE ),
ATTRIBUTE_TYPE i_value )
template< class T1, class T2 >
void lcl_set( Reference< XGridColumn > const & i_column, void ( SAL_CALL XGridColumn::*i_setter )( T1 ),
T2 i_value )
{
try
{
......@@ -334,7 +334,7 @@ namespace svt { namespace table
void UnoGridColumnFacade::setResizable( bool i_resizable )
{
ENSURE_OR_RETURN_VOID( m_xGridColumn.is(), "UnoGridColumnFacade: already disposed!" );
lcl_set( m_xGridColumn, &XGridColumn::setResizeable, sal_Bool( i_resizable ) );
lcl_set( m_xGridColumn, &XGridColumn::setResizeable, i_resizable );
}
......
......@@ -152,9 +152,9 @@ void SvxPageWindow::Paint(const Rectangle&)
else
{
// Left and right page are different -> draw two pages if possible
DrawPage(Point(0,nYPos),false,(sal_Bool)(eUsage & SVX_PAGE_LEFT));
DrawPage(Point(0,nYPos),false,(eUsage & SVX_PAGE_LEFT) != 0);
DrawPage(Point(aSize.Width() + aSize.Width() / 8,nYPos),true,
(sal_Bool)(eUsage & SVX_PAGE_RIGHT));
(eUsage & SVX_PAGE_RIGHT) != 0);
}
}
......
......@@ -243,8 +243,8 @@ DECLARE_RTFIMPORT_TEST(testN750757, "n750757.rtf")
uno::Reference<container::XEnumerationAccess> xParaEnumAccess(xTextDocument->getText(), uno::UNO_QUERY);
uno::Reference<container::XEnumeration> xParaEnum = xParaEnumAccess->createEnumeration();
CPPUNIT_ASSERT_EQUAL(sal_Bool(false), getProperty<sal_Bool>(xParaEnum->nextElement(), "ParaContextMargin"));
CPPUNIT_ASSERT_EQUAL(sal_Bool(true), getProperty<sal_Bool>(xParaEnum->nextElement(), "ParaContextMargin"));
CPPUNIT_ASSERT_EQUAL(false, bool(getProperty<sal_Bool>(xParaEnum->nextElement(), "ParaContextMargin")));
CPPUNIT_ASSERT_EQUAL(true, bool(getProperty<sal_Bool>(xParaEnum->nextElement(), "ParaContextMargin")));
}
DECLARE_RTFIMPORT_TEST(testFdo45563, "fdo45563.rtf")
......
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