summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2022-10-21 11:58:39 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-10-21 15:50:35 +0200
commit767092fe2cab4a8b28426a6b2b1c752277fc7df6 (patch)
treed243b943d804167f1062efa8cf1a3ef59b1e47ca
parent57a03d7a52680e7177d07efe364785d53bf0a6df (diff)
loplugin:referencecasting look for a new pattern
Change-Id: Ib7ded8db2c513909159f0876389f63b60082a529 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141618 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--compilerplugins/clang/referencecasting.cxx11
-rw-r--r--compilerplugins/clang/test/referencecasting.cxx5
-rw-r--r--connectivity/source/drivers/hsqldb/HDriver.cxx3
-rw-r--r--forms/source/component/DatabaseForm.cxx2
-rw-r--r--forms/source/component/FormComponent.cxx2
-rw-r--r--reportdesign/source/core/sdr/RptModel.cxx2
-rw-r--r--sd/source/ui/slideshow/slideshow.cxx13
-rw-r--r--sd/source/ui/tools/EventMultiplexer.cxx7
-rw-r--r--sw/source/uibase/uno/SwXDocumentSettings.cxx3
-rw-r--r--toolkit/source/controls/controlmodelcontainerbase.cxx16
-rw-r--r--toolkit/source/controls/formattedcontrol.cxx3
-rw-r--r--toolkit/source/controls/tabpagemodel.cxx9
-rw-r--r--unotools/source/ucbhelper/tempfile.cxx4
-rw-r--r--unotools/source/ucbhelper/xtempfile.cxx10
14 files changed, 45 insertions, 45 deletions
diff --git a/compilerplugins/clang/referencecasting.cxx b/compilerplugins/clang/referencecasting.cxx
index dae0ce89d81f..2cc4a627bba9 100644
--- a/compilerplugins/clang/referencecasting.cxx
+++ b/compilerplugins/clang/referencecasting.cxx
@@ -151,7 +151,7 @@ bool ReferenceCasting::VisitCXXConstructExpr(const CXXConstructExpr* cce)
{
if (auto castExpr = dyn_cast<CastExpr>(constructorArg0))
{
- constructorArg0 = castExpr->getSubExpr();
+ constructorArg0 = castExpr->getSubExprAsWritten();
continue;
}
if (auto matTempExpr = dyn_cast<MaterializeTemporaryExpr>(constructorArg0))
@@ -174,6 +174,15 @@ bool ReferenceCasting::VisitCXXConstructExpr(const CXXConstructExpr* cce)
constructorArg0 = parenExpr->getSubExpr();
continue;
}
+ // for the "uno::Reference<X>(*this, UNO_QUERY)" case
+ if (auto unaryOper = dyn_cast<UnaryOperator>(constructorArg0))
+ {
+ if (unaryOper->getOpcode() == UO_Deref)
+ {
+ constructorArg0 = unaryOper->getSubExpr();
+ continue;
+ }
+ }
argType = constructorArg0->getType();
break;
}
diff --git a/compilerplugins/clang/test/referencecasting.cxx b/compilerplugins/clang/test/referencecasting.cxx
index 1f3480dbee5b..beb69cc86616 100644
--- a/compilerplugins/clang/test/referencecasting.cxx
+++ b/compilerplugins/clang/test/referencecasting.cxx
@@ -206,6 +206,11 @@ class Foo : public cppu::WeakImplHelper<css::lang::XComponent, css::io::XInputSt
return css::uno::Reference<css::io::XInputStream>(static_cast<css::io::XInputStream*>(this),
css::uno::UNO_QUERY);
}
+ css::uno::Reference<css::io::XInputStream> bar3()
+ {
+ // expected-error@+1 {{the source reference is already a subtype of the destination reference, just use = [loplugin:referencecasting]}}
+ return css::uno::Reference<css::io::XInputStream>(*this, css::uno::UNO_QUERY);
+ }
};
}
diff --git a/connectivity/source/drivers/hsqldb/HDriver.cxx b/connectivity/source/drivers/hsqldb/HDriver.cxx
index 9e80676f20e6..09686ef6dbdf 100644
--- a/connectivity/source/drivers/hsqldb/HDriver.cxx
+++ b/connectivity/source/drivers/hsqldb/HDriver.cxx
@@ -358,8 +358,7 @@ namespace connectivity
Reference<XTransactionBroadcaster> xBroad(xStorage,UNO_QUERY);
if ( xBroad.is() )
{
- Reference<XTransactionListener> xListener(*this,UNO_QUERY);
- xBroad->addTransactionListener(xListener);
+ xBroad->addTransactionListener(Reference<XTransactionListener>(this));
}
}
}
diff --git a/forms/source/component/DatabaseForm.cxx b/forms/source/component/DatabaseForm.cxx
index fff1fdf6b5c8..d4795414a43d 100644
--- a/forms/source/component/DatabaseForm.cxx
+++ b/forms/source/component/DatabaseForm.cxx
@@ -1328,7 +1328,7 @@ void ODatabaseForm::describeFixedAndAggregateProperties(
Reference< XMultiPropertySet > ODatabaseForm::getPropertiesInterface()
{
- return Reference< XMultiPropertySet >( *this, UNO_QUERY );
+ return this;
}
diff --git a/forms/source/component/FormComponent.cxx b/forms/source/component/FormComponent.cxx
index 7b6dd36c5e75..e18ca14628c1 100644
--- a/forms/source/component/FormComponent.cxx
+++ b/forms/source/component/FormComponent.cxx
@@ -1061,7 +1061,7 @@ void OControlModel::describeFixedAndAggregateProperties( Sequence< Property >& _
Reference< XMultiPropertySet > OControlModel::getPropertiesInterface()
{
- return Reference< XMultiPropertySet >( *this, UNO_QUERY );
+ return this;
}
Reference< XPropertySetInfo> SAL_CALL OControlModel::getPropertySetInfo()
diff --git a/reportdesign/source/core/sdr/RptModel.cxx b/reportdesign/source/core/sdr/RptModel.cxx
index f79c2a214fca..3dc4bb216b57 100644
--- a/reportdesign/source/core/sdr/RptModel.cxx
+++ b/reportdesign/source/core/sdr/RptModel.cxx
@@ -155,7 +155,7 @@ uno::Reference< uno::XInterface > OReportModel::createShape(const OUString& aSer
xRet = xProp;
if ( _rShape.is() )
throw uno::Exception("no shape", nullptr);
- xProp->setPropertyValue( PROPERTY_FORMATSSUPPLIER, uno::Any(uno::Reference< util::XNumberFormatsSupplier >(*m_pReportDefinition,uno::UNO_QUERY)) );
+ xProp->setPropertyValue( PROPERTY_FORMATSSUPPLIER, uno::Any(uno::Reference< util::XNumberFormatsSupplier >(m_pReportDefinition)) );
}
else if ( aServiceSpecifier == SERVICE_FIXEDTEXT)
{
diff --git a/sd/source/ui/slideshow/slideshow.cxx b/sd/source/ui/slideshow/slideshow.cxx
index aeee4ca7cae0..194cb3c62804 100644
--- a/sd/source/ui/slideshow/slideshow.cxx
+++ b/sd/source/ui/slideshow/slideshow.cxx
@@ -735,13 +735,12 @@ void SAL_CALL SlideShow::end()
pDrawViewShell->SwitchPage( static_cast<sal_uInt16>(xController->getRestoreSlide()) );
else
{
- Reference<XDrawView> xDrawView (
- Reference<XWeak>(&mpCurrentViewShellBase->GetDrawController()), UNO_QUERY);
- if (xDrawView.is())
- xDrawView->setCurrentPage(
- Reference<XDrawPage>(
- mpDoc->GetSdPage(xController->getRestoreSlide(), PageKind::Standard)->getUnoPage(),
- UNO_QUERY));
+ DrawController& rDrawController =
+ mpCurrentViewShellBase->GetDrawController();
+ rDrawController.setCurrentPage(
+ Reference<XDrawPage>(
+ mpDoc->GetSdPage(xController->getRestoreSlide(), PageKind::Standard)->getUnoPage(),
+ UNO_QUERY));
}
}
diff --git a/sd/source/ui/tools/EventMultiplexer.cxx b/sd/source/ui/tools/EventMultiplexer.cxx
index a61413ac624e..26d43b9b6dc6 100644
--- a/sd/source/ui/tools/EventMultiplexer.cxx
+++ b/sd/source/ui/tools/EventMultiplexer.cxx
@@ -211,13 +211,10 @@ EventMultiplexer::Implementation::Implementation (ViewShellBase& rBase)
StartListening (*mpDocument);
// Listen for configuration changes.
- Reference<XControllerManager> xControllerManager (
- Reference<XWeak>(&mrBase.GetDrawController()), UNO_QUERY);
- if (!xControllerManager.is())
- return;
+ DrawController& rDrawController = mrBase.GetDrawController();
Reference<XConfigurationController> xConfigurationController (
- xControllerManager->getConfigurationController());
+ rDrawController.getConfigurationController());
mxConfigurationControllerWeak = xConfigurationController;
if (!xConfigurationController.is())
return;
diff --git a/sw/source/uibase/uno/SwXDocumentSettings.cxx b/sw/source/uibase/uno/SwXDocumentSettings.cxx
index f22afc97d38b..a30473028d1e 100644
--- a/sw/source/uibase/uno/SwXDocumentSettings.cxx
+++ b/sw/source/uibase/uno/SwXDocumentSettings.cxx
@@ -1124,8 +1124,7 @@ void SwXDocumentSettings::_getSingleValue( const comphelper::PropertyInfo & rInf
{
case HANDLE_FORBIDDEN_CHARS:
{
- Reference<XForbiddenCharacters> xRet(*mpModel->GetPropertyHelper(), UNO_QUERY);
- rValue <<= xRet;
+ rValue <<= Reference<XForbiddenCharacters>(mpModel->GetPropertyHelper());
}
break;
case HANDLE_LINK_UPDATE_MODE:
diff --git a/toolkit/source/controls/controlmodelcontainerbase.cxx b/toolkit/source/controls/controlmodelcontainerbase.cxx
index 5ab12eb1934d..b0b37df4cbf7 100644
--- a/toolkit/source/controls/controlmodelcontainerbase.cxx
+++ b/toolkit/source/controls/controlmodelcontainerbase.cxx
@@ -736,30 +736,26 @@ void SAL_CALL ControlModelContainerBase::initialize (const Sequence<Any>& rArgum
sal_Bool SAL_CALL ControlModelContainerBase::getEnabled()
{
SolarMutexGuard aGuard;
- Reference<XPropertySet> xThis(*this, UNO_QUERY);
bool bEnabled = false;
- xThis->getPropertyValue(GetPropertyName(BASEPROPERTY_ENABLED)) >>= bEnabled;
+ getPropertyValue(GetPropertyName(BASEPROPERTY_ENABLED)) >>= bEnabled;
return bEnabled;
}
void SAL_CALL ControlModelContainerBase::setEnabled( sal_Bool _enabled )
{
SolarMutexGuard aGuard;
- Reference<XPropertySet> xThis(*this, UNO_QUERY);
- xThis->setPropertyValue(GetPropertyName(BASEPROPERTY_ENABLED), Any(_enabled));
+ setPropertyValue(GetPropertyName(BASEPROPERTY_ENABLED), Any(_enabled));
}
OUString SAL_CALL ControlModelContainerBase::getTitle()
{
SolarMutexGuard aGuard;
- Reference<XPropertySet> xThis(*this,UNO_QUERY);
OUString sTitle;
- xThis->getPropertyValue(GetPropertyName(BASEPROPERTY_TITLE)) >>= sTitle;
+ getPropertyValue(GetPropertyName(BASEPROPERTY_TITLE)) >>= sTitle;
return sTitle;
}
void SAL_CALL ControlModelContainerBase::setTitle( const OUString& _title )
{
SolarMutexGuard aGuard;
- Reference<XPropertySet> xThis(*this,UNO_QUERY);
- xThis->setPropertyValue(GetPropertyName(BASEPROPERTY_TITLE),Any(_title));
+ setPropertyValue(GetPropertyName(BASEPROPERTY_TITLE),Any(_title));
}
OUString SAL_CALL ControlModelContainerBase::getImageURL()
{
@@ -769,9 +765,7 @@ void SAL_CALL ControlModelContainerBase::setImageURL( const OUString& _imageurl
{
m_sImageURL = _imageurl;
SolarMutexGuard aGuard;
- Reference<XPropertySet> xThis(*this, UNO_QUERY);
- xThis->setPropertyValue(GetPropertyName(BASEPROPERTY_IMAGEURL), Any(_imageurl));
-
+ setPropertyValue(GetPropertyName(BASEPROPERTY_IMAGEURL), Any(_imageurl));
}
OUString SAL_CALL ControlModelContainerBase::getToolTip()
{
diff --git a/toolkit/source/controls/formattedcontrol.cxx b/toolkit/source/controls/formattedcontrol.cxx
index 238c8d5876f3..e96a6986a7d0 100644
--- a/toolkit/source/controls/formattedcontrol.cxx
+++ b/toolkit/source/controls/formattedcontrol.cxx
@@ -201,8 +201,7 @@ namespace toolkit
}
}
- Reference< XPropertySet > xThis( *this, UNO_QUERY );
- xThis->setPropertyValue( GetPropertyName( BASEPROPERTY_TEXT ), Any( sStringValue ) );
+ setPropertyValue( GetPropertyName( BASEPROPERTY_TEXT ), Any( sStringValue ) );
}
catch( const Exception& )
{
diff --git a/toolkit/source/controls/tabpagemodel.cxx b/toolkit/source/controls/tabpagemodel.cxx
index cbfbebd78c51..355f794197bc 100644
--- a/toolkit/source/controls/tabpagemodel.cxx
+++ b/toolkit/source/controls/tabpagemodel.cxx
@@ -143,11 +143,10 @@ void SAL_CALL UnoControlTabPageModel::initialize (const Sequence<Any>& rArgument
if ( xDialogProp.is() )
{
static constexpr OUStringLiteral s_sResourceResolver = u"ResourceResolver";
- Reference<XPropertySet> xThis(*this,UNO_QUERY);
- xThis->setPropertyValue(s_sResourceResolver,xDialogProp->getPropertyValue(s_sResourceResolver));
- xThis->setPropertyValue(GetPropertyName(BASEPROPERTY_TITLE),xDialogProp->getPropertyValue(GetPropertyName(BASEPROPERTY_TITLE)));
- xThis->setPropertyValue(GetPropertyName(BASEPROPERTY_HELPTEXT),xDialogProp->getPropertyValue(GetPropertyName(BASEPROPERTY_HELPTEXT)));
- xThis->setPropertyValue(GetPropertyName(BASEPROPERTY_HELPURL),xDialogProp->getPropertyValue(GetPropertyName(BASEPROPERTY_HELPURL)));
+ setPropertyValue(s_sResourceResolver,xDialogProp->getPropertyValue(s_sResourceResolver));
+ setPropertyValue(GetPropertyName(BASEPROPERTY_TITLE),xDialogProp->getPropertyValue(GetPropertyName(BASEPROPERTY_TITLE)));
+ setPropertyValue(GetPropertyName(BASEPROPERTY_HELPTEXT),xDialogProp->getPropertyValue(GetPropertyName(BASEPROPERTY_HELPTEXT)));
+ setPropertyValue(GetPropertyName(BASEPROPERTY_HELPURL),xDialogProp->getPropertyValue(GetPropertyName(BASEPROPERTY_HELPURL)));
}
}
}
diff --git a/unotools/source/ucbhelper/tempfile.cxx b/unotools/source/ucbhelper/tempfile.cxx
index 09e3eda62e22..f55c421a0291 100644
--- a/unotools/source/ucbhelper/tempfile.cxx
+++ b/unotools/source/ucbhelper/tempfile.cxx
@@ -741,12 +741,12 @@ sal_Int64 SAL_CALL TempFileFastService::getLength()
css::uno::Reference< css::io::XInputStream > SAL_CALL TempFileFastService::getInputStream()
{
- return css::uno::Reference< css::io::XInputStream >( *this, css::uno::UNO_QUERY );
+ return this;
}
css::uno::Reference< css::io::XOutputStream > SAL_CALL TempFileFastService::getOutputStream()
{
- return css::uno::Reference< css::io::XOutputStream >( this );
+ return this;
}
// XTruncate
diff --git a/unotools/source/ucbhelper/xtempfile.cxx b/unotools/source/ucbhelper/xtempfile.cxx
index a5772d8ba0c7..1515bc05f3e9 100644
--- a/unotools/source/ucbhelper/xtempfile.cxx
+++ b/unotools/source/ucbhelper/xtempfile.cxx
@@ -290,14 +290,14 @@ sal_Int64 SAL_CALL OTempFileService::getLength( )
// XStream
css::uno::Reference< css::io::XInputStream > SAL_CALL OTempFileService::getInputStream()
- {
- return css::uno::Reference< css::io::XInputStream >( *this, css::uno::UNO_QUERY );
+{
+ return this;
}
css::uno::Reference< css::io::XOutputStream > SAL_CALL OTempFileService::getOutputStream()
- {
- return css::uno::Reference< css::io::XOutputStream >( *this, css::uno::UNO_QUERY );
- }
+{
+ return this;
+}
// XTruncate