diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2019-11-16 21:00:53 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2019-11-17 00:28:17 +0100 |
commit | 314f15bff08b76bf96acf99141776ef64d2f1355 (patch) | |
tree | 842f7b109d9c4a57fa47fc5089f5818b2610368b /framework | |
parent | 46920005f74edcb70acfb8dd1a0ffb9553e5c2b2 (diff) |
Extend loplugin:external to warn about enums
To mitigate the dangers of silently breaking ADL when moving enums into unnamed
namespaces (see the commit message of 206b5b2661be37efdff3c6aedb6f248c4636be79
"New loplugin:external"), note all functions that are affected. (The plan is to
extend loplugin:external further to also warn about classes and class templates,
and the code to identify affected functions already takes that into account, so
some parts of that code are not actually relevant for enums.)
But it appears that none of the functions that are actually affected by the
changes in this commit relied on being found through ADL, so no adaptions were
necessary for them.
(clang::DeclContext::collectAllContexts is non-const, which recursively means
that External's Visit... functions must take non-const Decl*. Which required
compilerplugins/clang/sharedvisitor/analyzer.cxx to be generalized to support
such Visit... functions with non-const Decl* parameters.)
Change-Id: Ia215291402bf850d43defdab3cff4db5b270d1bd
Reviewed-on: https://gerrit.libreoffice.org/83001
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'framework')
-rw-r--r-- | framework/source/fwe/classes/actiontriggerpropertyset.cxx | 4 | ||||
-rw-r--r-- | framework/source/fwe/classes/actiontriggerseparatorpropertyset.cxx | 4 | ||||
-rw-r--r-- | framework/source/services/desktop.cxx | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/framework/source/fwe/classes/actiontriggerpropertyset.cxx b/framework/source/fwe/classes/actiontriggerpropertyset.cxx index 66cc5dd14bdc..128f5815bb1a 100644 --- a/framework/source/fwe/classes/actiontriggerpropertyset.cxx +++ b/framework/source/fwe/classes/actiontriggerpropertyset.cxx @@ -33,6 +33,8 @@ using namespace com::sun::star::awt; //struct SAL_DLLPUBLIC_IMPORT ::cppu::OBroadcastHelperVar< OMultiTypeInterfaceContainerHelper, OMultiTypeInterfaceContainerHelper::keyType >; +namespace { + // Handles for properties // (PLEASE SORT THIS FIELD, IF YOU ADD NEW PROPERTIES!) // We use an enum to define these handles, to use all numbers from 0 to nn and @@ -48,6 +50,8 @@ enum EPROPERTIES PROPERTYCOUNT }; +} + namespace framework { diff --git a/framework/source/fwe/classes/actiontriggerseparatorpropertyset.cxx b/framework/source/fwe/classes/actiontriggerseparatorpropertyset.cxx index aa8397a657aa..eb9d6d2ec71f 100644 --- a/framework/source/fwe/classes/actiontriggerseparatorpropertyset.cxx +++ b/framework/source/fwe/classes/actiontriggerseparatorpropertyset.cxx @@ -31,6 +31,8 @@ using namespace com::sun::star::beans; using namespace com::sun::star::lang; using namespace com::sun::star::awt; +namespace { + // Handles for properties // (PLEASE SORT THIS FIELD, IF YOU ADD NEW PROPERTIES!) // We use an enum to define these handles, to use all numbers from 0 to nn and @@ -42,6 +44,8 @@ enum EPROPERTIES PROPERTYCOUNT }; +} + namespace framework { diff --git a/framework/source/services/desktop.cxx b/framework/source/services/desktop.cxx index cce5892f0646..49104168dc86 100644 --- a/framework/source/services/desktop.cxx +++ b/framework/source/services/desktop.cxx @@ -76,10 +76,14 @@ namespace framework{ +namespace { + enum PropHandle { ActiveFrame, DispatchRecorderSupplier, IsPlugged, SuspendQuickstartVeto, Title }; +} + OUString SAL_CALL Desktop::getImplementationName() { return "com.sun.star.comp.framework.Desktop"; |