summaryrefslogtreecommitdiff
path: root/codemaker
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2016-10-18 18:14:14 +0200
committerStephan Bergmann <sbergman@redhat.com>2016-11-21 19:44:56 +0000
commitbd614b91352b5a0a291f33a428c95d7bcbf34679 (patch)
tree1372effc15db45ec2fa8c9c248c9d66eacb99683 /codemaker
parent05d175a8efceccd684c9e3d7f428073f1b142346 (diff)
Delete the "Any-to-Any" template specializations for LIBO_INTERNAL_ONLY
i.e., css::uno::Any function template specializations Any::has<Any>() const Any::get(Any const &) const operator >>=(Any const &, Any &) operator <<=(Any &, Any const &) that don't make much sense (the first is always true, the rest can be replaced with operator =, which additionally supports move semantics). For 3rd-party compatibility, do this only for LIBO_INTERNAL_ONLY, however. However, some generic template code did benefit from operator >>= working also for Any, so make up for that with a new (LIBO_INTERNAL_ONLY, given that operator >>= still covers if fine for !LIBO_INTERNAL_ONLY) fromAny, complementing the existing toAny. Change-Id: I8b1b5f803f0b909808159916366d53c948206a88 Reviewed-on: https://gerrit.libreoffice.org/30022 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'codemaker')
-rw-r--r--codemaker/source/cppumaker/cpputype.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx
index e87fed09df3b..e3ce8170150b 100644
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -3621,10 +3621,12 @@ void ServiceType::dumpHppFile(
u2b(j.name), "param",
codemaker::cpp::IdentifierTranslationMode::NonGlobal));
sal_Int32 rank;
- if (m_typeMgr->getSort(
- b2u(codemaker::UnoType::decompose(
- u2b(j.type), &rank)))
- == codemaker::UnoType::Sort::Char)
+ if (resolveOuterTypedefs(j.type) == "any") {
+ o << "= " << param;
+ } else if (m_typeMgr->getSort(
+ b2u(codemaker::UnoType::decompose(
+ u2b(j.type), &rank)))
+ == codemaker::UnoType::Sort::Char)
{
o << "= ::css::uno::Any(&" << param
<< ", ::cppu::UnoType< ";