Kaydet (Commit) 7d858ad0 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Restrict loplugin:redundantcast to "real" casts

Change-Id: Ifc9de898e5c9a084cbfd739625c679185c3a1534
üst e744e9f4
...@@ -480,17 +480,20 @@ bool RedundantCast::VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr const * exp ...@@ -480,17 +480,20 @@ bool RedundantCast::VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr const * exp
return true; return true;
if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/svl/qa/")) if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/svl/qa/"))
return true; return true;
// the array-of-struct initialiser here makes clang unhappy if I remove all of the "SchemeInfo" names
if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/tools/source/fsys/urlobj.cxx")) // Restrict this to "real" casts (compared to uses of braced-init-list, like
return true; //
// 2 structs with compiled-generated constructors where I cannot remove the cast even though the cast is a NoOp // Foo{bar, baz}
if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/tools/source/inet/inetmime.cxx")) //
return true; // or
// some explicit use of std::initializer_list //
if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/svx/source/sidebar/area/AreaPropertyPanel.cxx")) // std::initializer_list<Foo>{bar, baz}
return true; //
if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/svx/source/tbxctrls/fillctrl.cxx")) // ), at least for now:
auto const sub = compat::getSubExprAsWritten(expr);
if (isa<InitListExpr>(sub) || isa<CXXStdInitializerListExpr>(sub)) {
return true; return true;
}
// See the commit message of d0e7d020fa405ab94f19916ec96fbd4611da0031 // See the commit message of d0e7d020fa405ab94f19916ec96fbd4611da0031
// "socket.c -> socket.cxx" for the reason to have // "socket.c -> socket.cxx" for the reason to have
...@@ -498,7 +501,6 @@ bool RedundantCast::VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr const * exp ...@@ -498,7 +501,6 @@ bool RedundantCast::VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr const * exp
// bool(FD_ISSET(...)) // bool(FD_ISSET(...))
// //
// in sal/osl/unx/socket.cxx: // in sal/osl/unx/socket.cxx:
auto const sub = compat::getSubExprAsWritten(expr);
//TODO: Better check that sub is exactly an expansion of FD_ISSET: //TODO: Better check that sub is exactly an expansion of FD_ISSET:
if (sub->getLocEnd().isMacroID()) { if (sub->getLocEnd().isMacroID()) {
for (auto loc = sub->getLocStart(); for (auto loc = sub->getLocStart();
......
...@@ -124,8 +124,8 @@ void AreaPropertyPanel::setFillStyleAndColor(const XFillStyleItem* pStyleItem, ...@@ -124,8 +124,8 @@ void AreaPropertyPanel::setFillStyleAndColor(const XFillStyleItem* pStyleItem,
{ {
GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_FILL_COLOR, GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_FILL_COLOR,
SfxCallMode::RECORD, (pStyleItem) SfxCallMode::RECORD, (pStyleItem)
? std::initializer_list<SfxPoolItem const*>({ &rColorItem, pStyleItem }) ? std::initializer_list<SfxPoolItem const*>{ &rColorItem, pStyleItem }
: std::initializer_list<SfxPoolItem const*>({ &rColorItem })); : std::initializer_list<SfxPoolItem const*>{ &rColorItem });
} }
void AreaPropertyPanel::setFillStyleAndGradient(const XFillStyleItem* pStyleItem, void AreaPropertyPanel::setFillStyleAndGradient(const XFillStyleItem* pStyleItem,
...@@ -133,8 +133,8 @@ void AreaPropertyPanel::setFillStyleAndGradient(const XFillStyleItem* pStyleItem ...@@ -133,8 +133,8 @@ void AreaPropertyPanel::setFillStyleAndGradient(const XFillStyleItem* pStyleItem
{ {
GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_FILL_GRADIENT, GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_FILL_GRADIENT,
SfxCallMode::RECORD, (pStyleItem) SfxCallMode::RECORD, (pStyleItem)
? std::initializer_list<SfxPoolItem const*>({ &rGradientItem, pStyleItem }) ? std::initializer_list<SfxPoolItem const*>{ &rGradientItem, pStyleItem }
: std::initializer_list<SfxPoolItem const*>({ &rGradientItem })); : std::initializer_list<SfxPoolItem const*>{ &rGradientItem });
} }
void AreaPropertyPanel::setFillStyleAndHatch(const XFillStyleItem* pStyleItem, void AreaPropertyPanel::setFillStyleAndHatch(const XFillStyleItem* pStyleItem,
...@@ -142,8 +142,8 @@ void AreaPropertyPanel::setFillStyleAndHatch(const XFillStyleItem* pStyleItem, ...@@ -142,8 +142,8 @@ void AreaPropertyPanel::setFillStyleAndHatch(const XFillStyleItem* pStyleItem,
{ {
GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_FILL_HATCH, GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_FILL_HATCH,
SfxCallMode::RECORD, (pStyleItem) SfxCallMode::RECORD, (pStyleItem)
? std::initializer_list<SfxPoolItem const*>({ &rHatchItem, pStyleItem }) ? std::initializer_list<SfxPoolItem const*>{ &rHatchItem, pStyleItem }
: std::initializer_list<SfxPoolItem const*>({ &rHatchItem })); : std::initializer_list<SfxPoolItem const*>{ &rHatchItem });
} }
void AreaPropertyPanel::setFillStyleAndBitmap(const XFillStyleItem* pStyleItem, void AreaPropertyPanel::setFillStyleAndBitmap(const XFillStyleItem* pStyleItem,
...@@ -151,8 +151,8 @@ void AreaPropertyPanel::setFillStyleAndBitmap(const XFillStyleItem* pStyleItem, ...@@ -151,8 +151,8 @@ void AreaPropertyPanel::setFillStyleAndBitmap(const XFillStyleItem* pStyleItem,
{ {
GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_FILL_BITMAP, GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_FILL_BITMAP,
SfxCallMode::RECORD, (pStyleItem) SfxCallMode::RECORD, (pStyleItem)
? std::initializer_list<SfxPoolItem const*>({ &rBitmapItem, pStyleItem }) ? std::initializer_list<SfxPoolItem const*>{ &rBitmapItem, pStyleItem }
: std::initializer_list<SfxPoolItem const*>({ &rBitmapItem })); : std::initializer_list<SfxPoolItem const*>{ &rBitmapItem });
} }
} } // end of namespace svx::sidebar } } // end of namespace svx::sidebar
......
...@@ -788,8 +788,8 @@ IMPL_LINK_NOARG(SvxFillToolBoxControl, SelectFillAttrHdl, ListBox&, void) ...@@ -788,8 +788,8 @@ IMPL_LINK_NOARG(SvxFillToolBoxControl, SelectFillAttrHdl, ListBox&, void)
SfxViewFrame::Current()->GetDispatcher()->ExecuteList( SfxViewFrame::Current()->GetDispatcher()->ExecuteList(
SID_ATTR_FILL_GRADIENT, SfxCallMode::RECORD, SID_ATTR_FILL_GRADIENT, SfxCallMode::RECORD,
(bFillStyleChange) (bFillStyleChange)
? std::initializer_list<SfxPoolItem const*>({ &aXFillGradientItem, &aXFillStyleItem }) ? std::initializer_list<SfxPoolItem const*>{ &aXFillGradientItem, &aXFillStyleItem }
: std::initializer_list<SfxPoolItem const*>({ &aXFillGradientItem })); : std::initializer_list<SfxPoolItem const*>{ &aXFillGradientItem });
} }
} }
...@@ -821,8 +821,8 @@ IMPL_LINK_NOARG(SvxFillToolBoxControl, SelectFillAttrHdl, ListBox&, void) ...@@ -821,8 +821,8 @@ IMPL_LINK_NOARG(SvxFillToolBoxControl, SelectFillAttrHdl, ListBox&, void)
SfxViewFrame::Current()->GetDispatcher()->ExecuteList( SfxViewFrame::Current()->GetDispatcher()->ExecuteList(
SID_ATTR_FILL_HATCH, SfxCallMode::RECORD, SID_ATTR_FILL_HATCH, SfxCallMode::RECORD,
(bFillStyleChange) (bFillStyleChange)
? std::initializer_list<SfxPoolItem const*>({ &aXFillHatchItem, &aXFillStyleItem }) ? std::initializer_list<SfxPoolItem const*>{ &aXFillHatchItem, &aXFillStyleItem }
: std::initializer_list<SfxPoolItem const*>({ &aXFillHatchItem })); : std::initializer_list<SfxPoolItem const*>{ &aXFillHatchItem });
} }
} }
...@@ -854,8 +854,8 @@ IMPL_LINK_NOARG(SvxFillToolBoxControl, SelectFillAttrHdl, ListBox&, void) ...@@ -854,8 +854,8 @@ IMPL_LINK_NOARG(SvxFillToolBoxControl, SelectFillAttrHdl, ListBox&, void)
SfxViewFrame::Current()->GetDispatcher()->ExecuteList( SfxViewFrame::Current()->GetDispatcher()->ExecuteList(
SID_ATTR_FILL_BITMAP, SfxCallMode::RECORD, SID_ATTR_FILL_BITMAP, SfxCallMode::RECORD,
(bFillStyleChange) (bFillStyleChange)
? std::initializer_list<SfxPoolItem const*>({ &aXFillBitmapItem, &aXFillStyleItem }) ? std::initializer_list<SfxPoolItem const*>{ &aXFillBitmapItem, &aXFillStyleItem }
: std::initializer_list<SfxPoolItem const*>({ &aXFillBitmapItem })); : std::initializer_list<SfxPoolItem const*>{ &aXFillBitmapItem });
} }
} }
......
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