diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-02-22 16:39:20 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-04-04 06:38:03 +0000 |
commit | 5676ced82539d9e40bde6196d2aa3b2e4c7b3fdb (patch) | |
tree | db860b2365f8cb0e2fab4772e80e4e38d4d89b37 /cppu/qa | |
parent | 1a1d1a86e9129ec3885610b641179b30f9bf5e79 (diff) |
make UNO enums scoped for internal LO code
this modifies codemaker so that, for an UNO enum, we generate code
that effectively looks like:
#ifdef LIBO_INTERNAL_ONLY && HAVE_CX11_CONSTEXPR
enum class XXX {
ONE = 1
};
constexpr auto ONE = XXX_ONE;
#else
...the old normal way..
#endif
which means that for LO internal code, the enums are scoped.
The "constexpr auto" trick acts like an alias so we don't have to
use scoped naming everywhere.
Change-Id: I3054ecb230e8666ce98b4a9cb87b384df5f64fb4
Reviewed-on: https://gerrit.libreoffice.org/34546
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'cppu/qa')
-rw-r--r-- | cppu/qa/cppumaker/test_cppumaker.cxx | 9 | ||||
-rw-r--r-- | cppu/qa/test_unotype.cxx | 65 |
2 files changed, 39 insertions, 35 deletions
diff --git a/cppu/qa/cppumaker/test_cppumaker.cxx b/cppu/qa/cppumaker/test_cppumaker.cxx index 580cb0b8c271..65db58e4b1e8 100644 --- a/cppu/qa/cppumaker/test_cppumaker.cxx +++ b/cppu/qa/cppumaker/test_cppumaker.cxx @@ -441,18 +441,15 @@ void Test::testBigStruct() { CPPUNIT_ASSERT_EQUAL(guard.p->m10, 0.0); CPPUNIT_ASSERT_EQUAL(guard.p->m11, static_cast< sal_Unicode >(0)); CPPUNIT_ASSERT_EQUAL(guard.p->m12.getLength(), static_cast< sal_Int32 >(0)); - CPPUNIT_ASSERT_EQUAL( - +guard.p->m13.getTypeClass(), +css::uno::TypeClass_VOID); + CPPUNIT_ASSERT_EQUAL((sal_Int32)guard.p->m13.getTypeClass(), (sal_Int32)css::uno::TypeClass_VOID); CPPUNIT_ASSERT_EQUAL(guard.p->m14.hasValue(), false); CPPUNIT_ASSERT_EQUAL(guard.p->m15.getLength(), static_cast< sal_Int32 >(0)); - CPPUNIT_ASSERT_EQUAL( - +guard.p->m16, +test::codemaker::cppumaker::HelperEnum_ZERO); + CPPUNIT_ASSERT_EQUAL((int)guard.p->m16, (int)test::codemaker::cppumaker::HelperEnum_ZERO); CPPUNIT_ASSERT_EQUAL(guard.p->m17.m1, sal_False); CPPUNIT_ASSERT_EQUAL(guard.p->m17.m2.is(), false); CPPUNIT_ASSERT_EQUAL(guard.p->m18.is(), false); CPPUNIT_ASSERT_EQUAL(guard.p->m19, static_cast< sal_Int8 >(0)); - CPPUNIT_ASSERT_EQUAL( - +guard.p->m20, +test::codemaker::cppumaker::HelperEnum_ZERO); + CPPUNIT_ASSERT_EQUAL((sal_Int32)guard.p->m20, (sal_Int32)test::codemaker::cppumaker::HelperEnum_ZERO); CPPUNIT_ASSERT_EQUAL(guard.p->m21.getLength(), static_cast< sal_Int32 >(0)); CPPUNIT_ASSERT_EQUAL(guard.p->m22.getLength(), static_cast< sal_Int32 >(0)); CPPUNIT_ASSERT_EQUAL(guard.p->m23.getLength(), static_cast< sal_Int32 >(0)); diff --git a/cppu/qa/test_unotype.cxx b/cppu/qa/test_unotype.cxx index 47274580c329..6269ff2cfa86 100644 --- a/cppu/qa/test_unotype.cxx +++ b/cppu/qa/test_unotype.cxx @@ -53,8 +53,15 @@ operator <<(std::basic_ostream<charT, traits> & stream, Type const & type) { return stream << type.getTypeName(); } +std::ostream& operator<< (std::ostream& aStream, const css::uno::TypeClass& aTypeClass) +{ + aStream << (sal_Int32)aTypeClass; + return aStream; +} + } } } } + namespace { struct DerivedStruct1: css::lang::EventObject {}; @@ -111,67 +118,67 @@ void Test::testUnoType() { css::uno::Type t; t = cppu::UnoType<cppu::UnoVoidType>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_VOID, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_VOID, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("void"), t.getTypeName()); CPPUNIT_ASSERT(bool(cppu::UnoType<void>::get() == t)); t = cppu::UnoType<bool>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_BOOLEAN, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_BOOLEAN, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("boolean"), t.getTypeName()); CPPUNIT_ASSERT(bool(cppu::UnoType<sal_Bool>::get() == t)); t = cppu::UnoType<sal_Int8>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_BYTE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_BYTE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("byte"), t.getTypeName()); t = cppu::UnoType<sal_Int16>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_SHORT, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SHORT, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("short"), t.getTypeName()); t = cppu::UnoType<cppu::UnoUnsignedShortType>::get(); CPPUNIT_ASSERT_EQUAL( - +css::uno::TypeClass_UNSIGNED_SHORT, +t.getTypeClass()); + css::uno::TypeClass_UNSIGNED_SHORT, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("unsigned short"), t.getTypeName()); t = cppu::UnoType<sal_Int32>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_LONG, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_LONG, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("long"), t.getTypeName()); t = cppu::UnoType<sal_uInt32>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_UNSIGNED_LONG, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_UNSIGNED_LONG, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("unsigned long"), t.getTypeName()); t = cppu::UnoType<sal_Int64>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_HYPER, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_HYPER, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("hyper"), t.getTypeName()); t = cppu::UnoType<sal_uInt64>::get(); CPPUNIT_ASSERT_EQUAL( - +css::uno::TypeClass_UNSIGNED_HYPER, +t.getTypeClass()); + css::uno::TypeClass_UNSIGNED_HYPER, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("unsigned hyper"), t.getTypeName()); t = cppu::UnoType<float>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_FLOAT, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_FLOAT, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("float"), t.getTypeName()); t = cppu::UnoType<double>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_DOUBLE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_DOUBLE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("double"), t.getTypeName()); t = cppu::UnoType<cppu::UnoCharType>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_CHAR, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_CHAR, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("char"), t.getTypeName()); t = cppu::UnoType<OUString>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_STRING, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_STRING, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("string"), t.getTypeName()); t = cppu::UnoType<css::uno::Type>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_TYPE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_TYPE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("type"), t.getTypeName()); t = cppu::UnoType<css::uno::Any>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_ANY, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_ANY, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("any"), t.getTypeName()); t = cppu::UnoType<cppu::UnoSequenceType<sal_Int8>>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_SEQUENCE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("[]byte"), t.getTypeName()); CPPUNIT_ASSERT(bool(cppu::UnoType<css::uno::Sequence<sal_Int8>>::get() == t)); t = cppu::UnoType<cppu::UnoSequenceType<cppu::UnoUnsignedShortType>>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_SEQUENCE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("[]unsigned short"), t.getTypeName()); t = cppu::UnoType<cppu::UnoSequenceType<cppu::UnoCharType>>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_SEQUENCE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("[]char"), t.getTypeName()); t = cppu::UnoType< cppu::UnoSequenceType<cppu::UnoSequenceType<sal_Int8>>>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_SEQUENCE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("[][]byte"), t.getTypeName()); CPPUNIT_ASSERT_EQUAL( cppu::UnoType<css::uno::Sequence<css::uno::Sequence<sal_Int8>>>::get(), @@ -179,42 +186,42 @@ void Test::testUnoType() { t = cppu::UnoType< cppu::UnoSequenceType< cppu::UnoSequenceType<cppu::UnoUnsignedShortType>>>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_SEQUENCE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("[][]unsigned short"), t.getTypeName()); t = cppu::UnoType< cppu::UnoSequenceType<cppu::UnoSequenceType<cppu::UnoCharType>>>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_SEQUENCE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_SEQUENCE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL(OUString("[][]char"), t.getTypeName()); t = cppu::UnoType<css::uno::TypeClass>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_ENUM, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_ENUM, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL( OUString("com.sun.star.uno.TypeClass"), t.getTypeName()); t = cppu::UnoType<css::lang::EventObject>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_STRUCT, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_STRUCT, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL( OUString("com.sun.star.lang.EventObject"), t.getTypeName()); CPPUNIT_ASSERT_EQUAL(cppu::UnoType<DerivedStruct1>::get(), t); t = cppu::UnoType<css::beans::PropertyChangeEvent>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_STRUCT, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_STRUCT, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL( OUString("com.sun.star.beans.PropertyChangeEvent"), t.getTypeName()); CPPUNIT_ASSERT_EQUAL(cppu::UnoType<DerivedStruct2>::get(), t); t = cppu::UnoType<css::beans::Optional<sal_Int8>>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_STRUCT, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_STRUCT, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL( OUString("com.sun.star.beans.Optional<byte>"), t.getTypeName()); t = cppu::UnoType<css::uno::Exception>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_EXCEPTION, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_EXCEPTION, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL( OUString("com.sun.star.uno.Exception"), t.getTypeName()); CPPUNIT_ASSERT_EQUAL(cppu::UnoType<DerivedException1>::get(), t); t = cppu::UnoType<css::uno::RuntimeException>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_EXCEPTION, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_EXCEPTION, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL( OUString("com.sun.star.uno.RuntimeException"), t.getTypeName()); CPPUNIT_ASSERT_EQUAL(cppu::UnoType<DerivedException2>::get(), t); t = cppu::UnoType<css::uno::XInterface>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_INTERFACE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_INTERFACE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL( OUString("com.sun.star.uno.XInterface"), t.getTypeName()); CPPUNIT_ASSERT_EQUAL( @@ -223,7 +230,7 @@ void Test::testUnoType() { CPPUNIT_ASSERT_EQUAL( cppu::UnoType<css::uno::Reference<DerivedInterface1>>::get(), t); t = cppu::UnoType<css::uno::XComponentContext>::get(); - CPPUNIT_ASSERT_EQUAL(+css::uno::TypeClass_INTERFACE, +t.getTypeClass()); + CPPUNIT_ASSERT_EQUAL(css::uno::TypeClass_INTERFACE, t.getTypeClass()); CPPUNIT_ASSERT_EQUAL( OUString("com.sun.star.uno.XComponentContext"), t.getTypeName()); CPPUNIT_ASSERT_EQUAL( |