From 17ee20b161cf5825e25d120c84675d11f7282256 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Sat, 30 Dec 2017 14:36:04 +0200 Subject: loplugin:passstuffbyref improved return in emfio,writerfilter Change-Id: I237936d62d0f1b17574dd88b5c9de932dc03238e Reviewed-on: https://gerrit.libreoffice.org/47214 Tested-by: Jenkins Reviewed-by: Noel Grandin --- compilerplugins/clang/passstuffbyref.cxx | 6 +++++- desktop/source/app/cmdlineargs.hxx | 2 +- emfio/inc/mtftools.hxx | 2 +- emfio/source/reader/mtftools.cxx | 2 +- extensions/source/propctrlr/eventhandler.cxx | 4 ++-- extensions/source/propctrlr/propcontroller.cxx | 2 +- extensions/source/propctrlr/propcontroller.hxx | 2 +- writerfilter/source/dmapper/DomainMapper.cxx | 4 ++-- writerfilter/source/dmapper/DomainMapper.hxx | 4 ++-- writerfilter/source/dmapper/DomainMapperTableManager.cxx | 6 +++--- writerfilter/source/dmapper/DomainMapperTableManager.hxx | 6 +++--- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 4 ++-- writerfilter/source/dmapper/DomainMapper_Impl.hxx | 6 +++--- writerfilter/source/dmapper/OLEHandler.cxx | 2 +- writerfilter/source/dmapper/OLEHandler.hxx | 2 +- writerfilter/source/dmapper/SettingsTable.cxx | 2 +- writerfilter/source/dmapper/SettingsTable.hxx | 2 +- writerfilter/source/dmapper/StyleSheetTable.cxx | 2 +- writerfilter/source/dmapper/StyleSheetTable.hxx | 2 +- writerfilter/source/dmapper/TableData.hxx | 2 +- writerfilter/source/dmapper/TableManager.hxx | 4 ++-- 21 files changed, 36 insertions(+), 32 deletions(-) diff --git a/compilerplugins/clang/passstuffbyref.cxx b/compilerplugins/clang/passstuffbyref.cxx index a9c134882b14..cb7ac1366c70 100644 --- a/compilerplugins/clang/passstuffbyref.cxx +++ b/compilerplugins/clang/passstuffbyref.cxx @@ -250,7 +250,8 @@ void PassStuffByRef::checkReturnValue(const FunctionDecl * functionDecl, const C || (dc.MemberFunction().Class("Submission").Namespace("xforms") .GlobalNamespace()) || (dc.Function("TopLeft").Class("SwRect").GlobalNamespace()) - || (dc.Function("ConvDicList_CreateInstance").GlobalNamespace())) + || (dc.Function("ConvDicList_CreateInstance").GlobalNamespace()) + || (dc.Function("Create").Class("OUnoAutoPilot").Namespace("dbp").GlobalNamespace())) { return; } @@ -349,6 +350,9 @@ bool PassStuffByRef::isReturnExprDisqualified(const Expr* expr) if (isa(expr)) { return true; } + if (isa(expr)) { + return true; + } expr = expr->IgnoreParenCasts(); if (auto childExpr = dyn_cast(expr)) { expr = childExpr->getLHS(); diff --git a/desktop/source/app/cmdlineargs.hxx b/desktop/source/app/cmdlineargs.hxx index 6bf2e0e1c6af..94600ed40972 100644 --- a/desktop/source/app/cmdlineargs.hxx +++ b/desktop/source/app/cmdlineargs.hxx @@ -115,7 +115,7 @@ class CommandLineArgs std::vector< OUString > GetConversionList() const; const OUString& GetConversionParams() const { return m_conversionparams;} OUString GetConversionOut() const; - OUString GetImageConversionType() const { return m_convertimages; } + OUString const & GetImageConversionType() const { return m_convertimages; } const OUString& GetPidfileName() const { return m_pidfile;} // Special analyzed states (does not match directly to a command line parameter!) diff --git a/emfio/inc/mtftools.hxx b/emfio/inc/mtftools.hxx index 9d8efc8a0a51..6c12078f051e 100644 --- a/emfio/inc/mtftools.hxx +++ b/emfio/inc/mtftools.hxx @@ -280,7 +280,7 @@ namespace emfio bool isEmpty() const { return maClip.isCleared(); } - basegfx::B2DPolyPolygon getClipPath() const; + basegfx::B2DPolyPolygon const & getClipPath() const; bool operator==(const WinMtfClipPath& rPath) const { diff --git a/emfio/source/reader/mtftools.cxx b/emfio/source/reader/mtftools.cxx index 2b81e5b9bdc5..55fd4ddb36ae 100644 --- a/emfio/source/reader/mtftools.cxx +++ b/emfio/source/reader/mtftools.cxx @@ -115,7 +115,7 @@ namespace emfio maClip = basegfx::utils::B2DClipState(); } - basegfx::B2DPolyPolygon WinMtfClipPath::getClipPath() const + basegfx::B2DPolyPolygon const & WinMtfClipPath::getClipPath() const { return maClip.getClipPoly(); } diff --git a/extensions/source/propctrlr/eventhandler.cxx b/extensions/source/propctrlr/eventhandler.cxx index 0cb98a68d822..9cfd5fc1f08f 100644 --- a/extensions/source/propctrlr/eventhandler.cxx +++ b/extensions/source/propctrlr/eventhandler.cxx @@ -337,7 +337,7 @@ namespace pcr virtual ~EventHolder( ) override; private: - ScriptEventDescriptor impl_getDescriptor_throw( const OUString& _rEventName ) const; + ScriptEventDescriptor const & impl_getDescriptor_throw( const OUString& _rEventName ) const; }; @@ -364,7 +364,7 @@ namespace pcr return impl_getDescriptor_throw( _rEventName ); } - ScriptEventDescriptor EventHolder::impl_getDescriptor_throw( const OUString& _rEventName ) const + ScriptEventDescriptor const & EventHolder::impl_getDescriptor_throw( const OUString& _rEventName ) const { EventMap::const_iterator pos = m_aEventNameAccess.find( _rEventName ); if ( pos == m_aEventNameAccess.end() ) diff --git a/extensions/source/propctrlr/propcontroller.cxx b/extensions/source/propctrlr/propcontroller.cxx index f728b315250f..7e6c7419aa6e 100644 --- a/extensions/source/propctrlr/propcontroller.cxx +++ b/extensions/source/propctrlr/propcontroller.cxx @@ -923,7 +923,7 @@ namespace pcr } - OPropertyBrowserController::PropertyHandlerRef OPropertyBrowserController::impl_getHandlerForProperty_throw( const OUString& _rPropertyName ) const + OPropertyBrowserController::PropertyHandlerRef const & OPropertyBrowserController::impl_getHandlerForProperty_throw( const OUString& _rPropertyName ) const { PropertyHandlerRepository::const_iterator handlerPos = m_aPropertyHandlers.find( _rPropertyName ); if ( handlerPos == m_aPropertyHandlers.end() ) diff --git a/extensions/source/propctrlr/propcontroller.hxx b/extensions/source/propctrlr/propcontroller.hxx index 7068ec6dbeea..f2463adeb9f4 100644 --- a/extensions/source/propctrlr/propcontroller.hxx +++ b/extensions/source/propctrlr/propcontroller.hxx @@ -318,7 +318,7 @@ namespace pcr @return the handler which is responsible for the given property */ - PropertyHandlerRef + PropertyHandlerRef const & impl_getHandlerForProperty_throw( const OUString& _rPropertyName ) const; /** determines whether we have a handler for the given property diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 55ceef14df2e..a9c431a1d11b 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3764,7 +3764,7 @@ bool DomainMapper::IsRTFImport() const return m_pImpl->IsRTFImport(); } -uno::Reference < lang::XMultiServiceFactory > DomainMapper::GetTextFactory() const +uno::Reference < lang::XMultiServiceFactory > const & DomainMapper::GetTextFactory() const { return m_pImpl->GetTextFactory(); } @@ -3780,7 +3780,7 @@ OUString DomainMapper::getOrCreateCharStyle( PropertyValueVector_t& rCharPropert return pStyleSheets->getOrCreateCharStyle( rCharProperties, bAlwaysCreate ); } -StyleSheetTablePtr DomainMapper::GetStyleSheetTable( ) +StyleSheetTablePtr const & DomainMapper::GetStyleSheetTable( ) { return m_pImpl->GetStyleSheetTable( ); } diff --git a/writerfilter/source/dmapper/DomainMapper.hxx b/writerfilter/source/dmapper/DomainMapper.hxx index b2b89f1776c1..18c61cfa9693 100644 --- a/writerfilter/source/dmapper/DomainMapper.hxx +++ b/writerfilter/source/dmapper/DomainMapper.hxx @@ -96,11 +96,11 @@ public: bool IsOOXMLImport() const; bool IsRTFImport() const; - css::uno::Reference GetTextFactory() const; + css::uno::Reference const & GetTextFactory() const; css::uno::Reference GetCurrentTextRange(); OUString getOrCreateCharStyle( PropertyValueVector_t& rCharProperties, bool bAlwaysCreate ); - std::shared_ptr< StyleSheetTable > GetStyleSheetTable( ); + std::shared_ptr< StyleSheetTable > const & GetStyleSheetTable( ); GraphicZOrderHelper* graphicZOrderHelper(); GraphicNamingHelper& GetGraphicNamingHelper(); diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx index 63aa3f505f0c..52151565c0d5 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -381,17 +381,17 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) return bRet; } -std::shared_ptr< vector > DomainMapperTableManager::getCurrentGrid( ) +std::shared_ptr< vector > const & DomainMapperTableManager::getCurrentGrid( ) { return m_aTableGrid.back( ); } -std::shared_ptr< vector< sal_Int32 > > DomainMapperTableManager::getCurrentSpans( ) +std::shared_ptr< vector< sal_Int32 > > const & DomainMapperTableManager::getCurrentSpans( ) { return m_aGridSpans.back( ); } -std::shared_ptr< vector< sal_Int32 > > DomainMapperTableManager::getCurrentCellWidths( ) +std::shared_ptr< vector< sal_Int32 > > const & DomainMapperTableManager::getCurrentCellWidths( ) { return m_aCellWidths.back( ); } diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.hxx b/writerfilter/source/dmapper/DomainMapperTableManager.hxx index 77db084634dc..4729c7c65b69 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.hxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.hxx @@ -94,9 +94,9 @@ public: virtual void endOfCellAction() override; virtual void endOfRowAction() override; - IntVectorPtr getCurrentGrid( ); - IntVectorPtr getCurrentSpans( ); - IntVectorPtr getCurrentCellWidths( ); + IntVectorPtr const & getCurrentGrid( ); + IntVectorPtr const & getCurrentSpans( ); + IntVectorPtr const & getCurrentCellWidths( ); /// Turn the attributes collected so far in m_aTableLook into a property and clear the container. void finishTableLook(); diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index b47066ffaa84..b16190b830df 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -581,13 +581,13 @@ PropertyMapPtr DomainMapper_Impl::GetTopContextOfType(ContextType eId) } -uno::Reference< text::XTextAppend > DomainMapper_Impl::GetTopTextAppend() +uno::Reference< text::XTextAppend > const & DomainMapper_Impl::GetTopTextAppend() { OSL_ENSURE(!m_aTextAppendStack.empty(), "text append stack is empty" ); return m_aTextAppendStack.top().xTextAppend; } -FieldContextPtr DomainMapper_Impl::GetTopFieldContext() +FieldContextPtr const & DomainMapper_Impl::GetTopFieldContext() { SAL_WARN_IF(m_aFieldStack.empty(), "writerfilter.dmapper", "Field stack is empty"); return m_aFieldStack.top(); diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 589a79953f13..db2ec50de9b5 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -167,7 +167,7 @@ public: const OUString& GetCommand() const {return m_sCommand; } void SetFieldId(FieldId eFieldId ) { m_eFieldId = eFieldId; } - boost::optional GetFieldId() const { return m_eFieldId; } + boost::optional const & GetFieldId() const { return m_eFieldId; } void AppendResult(OUString const& rResult) { m_sResult += rResult; } const OUString& GetResult() const { return m_sResult; } @@ -635,8 +635,8 @@ public: } PropertyMapPtr GetTopContextOfType(ContextType eId); - css::uno::Reference GetTopTextAppend(); - FieldContextPtr GetTopFieldContext(); + css::uno::Reference const & GetTopTextAppend(); + FieldContextPtr const & GetTopFieldContext(); FontTablePtr const & GetFontTable() { diff --git a/writerfilter/source/dmapper/OLEHandler.cxx b/writerfilter/source/dmapper/OLEHandler.cxx index 1b18578a4171..c4fe3337d847 100644 --- a/writerfilter/source/dmapper/OLEHandler.cxx +++ b/writerfilter/source/dmapper/OLEHandler.cxx @@ -253,7 +253,7 @@ OUString OLEHandler::getCLSID(const uno::Reference& xCom return aRet; } -OUString OLEHandler::GetDrawAspect() const +OUString const & OLEHandler::GetDrawAspect() const { return m_sDrawAspect; } diff --git a/writerfilter/source/dmapper/OLEHandler.hxx b/writerfilter/source/dmapper/OLEHandler.hxx index 6053851fb9b5..6757d3a3d2df 100644 --- a/writerfilter/source/dmapper/OLEHandler.hxx +++ b/writerfilter/source/dmapper/OLEHandler.hxx @@ -90,7 +90,7 @@ public: /// Get the CLSID of the OLE object, in case we can find one based on m_sProgId. OUString getCLSID(const css::uno::Reference& xComponentContext) const; - OUString GetDrawAspect() const; + OUString const & GetDrawAspect() const; OUString copyOLEOStream(css::uno::Reference const& xTextDocument); diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index b747eb37abdb..c1814ed1b65b 100644 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -562,7 +562,7 @@ bool SettingsTable::GetProtectForm() const { return m_pImpl->m_bProtectForm; } -uno::Sequence SettingsTable::GetThemeFontLangProperties() const +uno::Sequence const & SettingsTable::GetThemeFontLangProperties() const { return m_pImpl->m_pThemeFontLangProps; } diff --git a/writerfilter/source/dmapper/SettingsTable.hxx b/writerfilter/source/dmapper/SettingsTable.hxx index 2a80bd186fc1..4dcfd2dcaf6a 100644 --- a/writerfilter/source/dmapper/SettingsTable.hxx +++ b/writerfilter/source/dmapper/SettingsTable.hxx @@ -75,7 +75,7 @@ class SettingsTable : public LoggedProperties, public LoggedTable bool GetNoColumnBalance() const; bool GetProtectForm() const; - css::uno::Sequence GetThemeFontLangProperties() const; + css::uno::Sequence const & GetThemeFontLangProperties() const; css::uno::Sequence GetCompatSettings() const; diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 55996991a84a..d09ecfffb5e5 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -395,7 +395,7 @@ StyleSheetTable::~StyleSheetTable() { } -PropertyMapPtr StyleSheetTable::GetDefaultCharProps() +PropertyMapPtr const & StyleSheetTable::GetDefaultCharProps() { return m_pImpl->m_pDefaultCharProps; } diff --git a/writerfilter/source/dmapper/StyleSheetTable.hxx b/writerfilter/source/dmapper/StyleSheetTable.hxx index b9131c02b53c..40b65fb95694 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.hxx +++ b/writerfilter/source/dmapper/StyleSheetTable.hxx @@ -103,7 +103,7 @@ public: OUString getOrCreateCharStyle( PropertyValueVector_t& rCharProperties, bool bAlwaysCreate ); /// Returns the default character properties. - PropertyMapPtr GetDefaultCharProps(); + PropertyMapPtr const & GetDefaultCharProps(); private: // Properties diff --git a/writerfilter/source/dmapper/TableData.hxx b/writerfilter/source/dmapper/TableData.hxx index cd17c007b3e3..de30d2247a63 100644 --- a/writerfilter/source/dmapper/TableData.hxx +++ b/writerfilter/source/dmapper/TableData.hxx @@ -218,7 +218,7 @@ public: @param i index of the cell */ - TablePropertyMapPtr getCellProperties(unsigned int i) const + TablePropertyMapPtr const & getCellProperties(unsigned int i) const { return mCells[i]->getProperties(); } diff --git a/writerfilter/source/dmapper/TableManager.hxx b/writerfilter/source/dmapper/TableManager.hxx index e3ca33121179..cd5c9f981dfc 100644 --- a/writerfilter/source/dmapper/TableManager.hxx +++ b/writerfilter/source/dmapper/TableManager.hxx @@ -196,13 +196,13 @@ class TableManager TableManagerState mState; protected: - TablePropertyMapPtr getCellProps() + TablePropertyMapPtr const & getCellProps() { return mState.getCellProps(); } public: - TablePropertyMapPtr getRowProps() + TablePropertyMapPtr const & getRowProps() { return mState.getRowProps(); } -- cgit