summaryrefslogtreecommitdiff
path: root/cppu
diff options
context:
space:
mode:
Diffstat (limited to 'cppu')
-rw-r--r--cppu/qa/test_reference.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/cppu/qa/test_reference.cxx b/cppu/qa/test_reference.cxx
index df57eab424da..16d14d9d2ff7 100644
--- a/cppu/qa/test_reference.cxx
+++ b/cppu/qa/test_reference.cxx
@@ -90,8 +90,12 @@ private:
struct Base1: public css::uno::XInterface {
virtual ~Base1() = delete;
+ static ::css::uno::Type const & SAL_CALL static_type(void * = nullptr) // loplugin:refcounting
+ { return ::cppu::UnoType<Base1>::get(); }
+};
+struct Base2: public Base1 {
+ virtual ~Base2() = delete;
};
-struct Base2: public Base1 { virtual ~Base2() = delete; };
struct Base3: public Base1 { virtual ~Base3() = delete; };
struct Derived: public Base2, public Base3 {
virtual ~Derived() = delete;
@@ -100,7 +104,10 @@ struct Derived: public Base2, public Base3 {
// The special case using the conversion operator instead:
css::uno::Reference< css::uno::XInterface > testUpcast1(
css::uno::Reference< Derived > const & ref)
-{ return ref; }
+{
+ Base1::static_type(); // prevent loplugin:unreffun firing
+ return ref;
+}
// The normal up-cast case:
css::uno::Reference< Base1 > testUpcast2(