[Libreoffice-commits] core.git: 2 commits - compilerplugins/clang xmloff/inc xmlsecurity/inc

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Sun Dec 22 17:04:53 UTC 2019


 compilerplugins/clang/finalclasses.py                    |    3 
 xmloff/inc/AttributeContainerHandler.hxx                 |    2 
 xmloff/inc/DomBuilderContext.hxx                         |    2 
 xmloff/inc/MetaExportComponent.hxx                       |    4 
 xmloff/inc/PageMasterImportContext.hxx                   |    4 
 xmloff/inc/SchXMLAutoStylePoolP.hxx                      |    2 
 xmloff/inc/SchXMLImport.hxx                              |    3 
 xmloff/inc/StyleMap.hxx                                  |    2 
 xmloff/inc/XMLBackgroundImageContext.hxx                 |    2 
 xmloff/inc/XMLBasicExportFilter.hxx                      |    2 
 xmloff/inc/XMLBitmapLogicalSizePropertyHandler.hxx       |    2 
 xmloff/inc/XMLBitmapRepeatOffsetPropertyHandler.hxx      |    2 
 xmloff/inc/XMLChartPropertySetMapper.hxx                 |   10 -
 xmloff/inc/XMLChartStyleContext.hxx                      |    3 
 xmloff/inc/XMLClipPropertyHandler.hxx                    |    2 
 xmloff/inc/XMLEmbeddedObjectImportContext.hxx            |    2 
 xmloff/inc/XMLFillBitmapSizePropertyHandler.hxx          |    2 
 xmloff/inc/XMLFootnoteConfigurationImportContext.hxx     |    2 
 xmloff/inc/XMLImageMapContext.hxx                        |    2 
 xmloff/inc/XMLIndexBibliographyConfigurationContext.hxx  |    2 
 xmloff/inc/XMLIsPercentagePropertyHandler.hxx            |    2 
 xmloff/inc/XMLLineNumberingImportContext.hxx             |    4 
 xmloff/inc/XMLNumberStylesImport.hxx                     |    2 
 xmloff/inc/XMLPercentOrMeasurePropertyHandler.hxx        |    2 
 xmloff/inc/XMLRectangleMembersHandler.hxx                |    2 
 xmloff/inc/XMLReplacementImageContext.hxx                |    2 
 xmloff/inc/XMLScriptContextFactory.hxx                   |    2 
 xmloff/inc/XMLScriptExportHandler.hxx                    |    2 
 xmloff/inc/XMLStarBasicContextFactory.hxx                |    2 
 xmloff/inc/XMLStarBasicExportHandler.hxx                 |    2 
 xmloff/inc/XMLStringBufferImportContext.hxx              |    2 
 xmloff/inc/XMLTextColumnsContext.hxx                     |    2 
 xmloff/inc/XMLTextColumnsPropertyHandler.hxx             |    2 
 xmloff/inc/XMLTextHeaderFooterContext.hxx                |    2 
 xmloff/inc/animationimport.hxx                           |    2 
 xmloff/inc/animimp.hxx                                   |    2 
 xmloff/inc/propimp0.hxx                                  |    8 -
 xmloff/inc/txtfldi.hxx                                   |  116 +++++++--------
 xmloff/inc/txtvfldi.hxx                                  |   40 ++---
 xmloff/inc/xmltabi.hxx                                   |    2 
 xmloff/inc/xmlversion.hxx                                |   12 -
 xmlsecurity/inc/framework/saxeventkeeperimpl.hxx         |    2 
 xmlsecurity/inc/framework/signaturecreatorimpl.hxx       |    2 
 xmlsecurity/inc/framework/signatureverifierimpl.hxx      |    2 
 xmlsecurity/inc/framework/xmlsignaturetemplateimpl.hxx   |    2 
 xmlsecurity/inc/gpg/SEInitializer.hxx                    |    2 
 xmlsecurity/inc/gpg/xmlsignature_gpgimpl.hxx             |    2 
 xmlsecurity/inc/macrosecurity.hxx                        |    2 
 xmlsecurity/inc/xmlsec/xmldocumentwrapper_xmlsecimpl.hxx |    2 
 xmlsecurity/inc/xmlsignaturehelper2.hxx                  |    2 
 xmlsecurity/inc/xsecctl.hxx                              |    2 
 51 files changed, 140 insertions(+), 147 deletions(-)

New commits:
commit e7f16852b96d0ccaaa8a5e2cdc55a0d77679d97c
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Sun Dec 22 17:22:49 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Sun Dec 22 18:04:13 2019 +0100

    loplugin:finalclasses in xmloff
    
    Change-Id: I389824999e8e24c27e5d6f36180ae0fd8032c482
    Reviewed-on: https://gerrit.libreoffice.org/85699
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/xmloff/inc/AttributeContainerHandler.hxx b/xmloff/inc/AttributeContainerHandler.hxx
index 4cdeccaaf1eb..1d6a26ae199e 100644
--- a/xmloff/inc/AttributeContainerHandler.hxx
+++ b/xmloff/inc/AttributeContainerHandler.hxx
@@ -25,7 +25,7 @@
 /**
     PropertyHandler for the XML-data-type:
 */
-class XMLAttributeContainerHandler : public XMLPropertyHandler
+class XMLAttributeContainerHandler final : public XMLPropertyHandler
 {
 public:
     virtual ~XMLAttributeContainerHandler() override;
diff --git a/xmloff/inc/DomBuilderContext.hxx b/xmloff/inc/DomBuilderContext.hxx
index 0df0f6de135d..cf73d6e7d608 100644
--- a/xmloff/inc/DomBuilderContext.hxx
+++ b/xmloff/inc/DomBuilderContext.hxx
@@ -41,7 +41,7 @@ class SvXMLImportContext;
 /**
  * DomBuilderContext creates a DOM tree suitable for in-memory processing of
  * XML data from a sequence of SAX events */
-class DomBuilderContext : public SvXMLImportContext
+class DomBuilderContext final : public SvXMLImportContext
 {
     css::uno::Reference<css::xml::dom::XNode> mxNode;
 
diff --git a/xmloff/inc/MetaExportComponent.hxx b/xmloff/inc/MetaExportComponent.hxx
index 34278d87631a..e9ac444666cc 100644
--- a/xmloff/inc/MetaExportComponent.hxx
+++ b/xmloff/inc/MetaExportComponent.hxx
@@ -24,7 +24,7 @@
 
 #include <xmloff/xmlexp.hxx>
 
-class XMLMetaExportComponent : public SvXMLExport
+class XMLMetaExportComponent final : public SvXMLExport
 {
     css::uno::Reference< css::document::XDocumentProperties > mxDocProps;
 
@@ -36,7 +36,7 @@ public:
 
     virtual ~XMLMetaExportComponent() override;
 
-protected:
+private:
     // export the events off all autotexts
     virtual ErrCode exportDoc(
         enum ::xmloff::token::XMLTokenEnum eClass = xmloff::token::XML_TOKEN_INVALID ) override;
diff --git a/xmloff/inc/PageMasterImportContext.hxx b/xmloff/inc/PageMasterImportContext.hxx
index ad0e483f7254..caeb2769c726 100644
--- a/xmloff/inc/PageMasterImportContext.hxx
+++ b/xmloff/inc/PageMasterImportContext.hxx
@@ -23,14 +23,12 @@
 #include <xmloff/prstylei.hxx>
 #include <xmloff/xmlimp.hxx>
 
-class PageStyleContext : public XMLPropStyleContext
+class PageStyleContext final : public XMLPropStyleContext
 {
 private:
     OUString sPageUsage;
     bool                m_bIsFillStyleAlreadyConverted : 1;
 
-protected:
-
     virtual void SetAttribute( sal_uInt16 nPrefixKey,
                                const OUString& rLocalName,
                                const OUString& rValue ) override;
diff --git a/xmloff/inc/SchXMLAutoStylePoolP.hxx b/xmloff/inc/SchXMLAutoStylePoolP.hxx
index ee0aecde6cc8..55d862ea102b 100644
--- a/xmloff/inc/SchXMLAutoStylePoolP.hxx
+++ b/xmloff/inc/SchXMLAutoStylePoolP.hxx
@@ -23,7 +23,7 @@
 
 class SchXMLExport;
 
-class SchXMLAutoStylePoolP : public SvXMLAutoStylePoolP
+class SchXMLAutoStylePoolP final : public SvXMLAutoStylePoolP
 {
     SchXMLExport& mrSchXMLExport;
 
diff --git a/xmloff/inc/SchXMLImport.hxx b/xmloff/inc/SchXMLImport.hxx
index 5b587a4abdb1..51aec6dc5c46 100644
--- a/xmloff/inc/SchXMLImport.hxx
+++ b/xmloff/inc/SchXMLImport.hxx
@@ -146,12 +146,11 @@ enum SchXMLRegEquationAttrMap
     XML_TOK_REGEQ_POS_Y
 };
 
-class SchXMLImport : public SvXMLImport
+class SchXMLImport final : public SvXMLImport
 {
 private:
     rtl::Reference<SchXMLImportHelper> maImportHelper;
 
-protected:
     virtual SvXMLImportContext *CreateDocumentContext(
         sal_uInt16 nPrefix,
         const OUString& rLocalName,
diff --git a/xmloff/inc/StyleMap.hxx b/xmloff/inc/StyleMap.hxx
index 887a1de3d52d..80564882cdde 100644
--- a/xmloff/inc/StyleMap.hxx
+++ b/xmloff/inc/StyleMap.hxx
@@ -61,7 +61,7 @@ inline bool StyleNameHash_Impl::operator()(
     return r1.m_nFamily == r2.m_nFamily && r1.m_aName == r2.m_aName;
 }
 
-class StyleMap :
+class StyleMap final :
     public ::cppu::WeakImplHelper< css::lang::XUnoTunnel>,
     public std::unordered_map< StyleNameKey_Impl, OUString,
                             StyleNameHash_Impl, StyleNameHash_Impl >
diff --git a/xmloff/inc/XMLBackgroundImageContext.hxx b/xmloff/inc/XMLBackgroundImageContext.hxx
index 6fbe5604869c..39c9949f6159 100644
--- a/xmloff/inc/XMLBackgroundImageContext.hxx
+++ b/xmloff/inc/XMLBackgroundImageContext.hxx
@@ -27,7 +27,7 @@ namespace com { namespace sun { namespace star {
     namespace io { class XOutputStream; }
 } } }
 
-class XMLBackgroundImageContext : public XMLElementPropertyContext
+class XMLBackgroundImageContext final : public XMLElementPropertyContext
 {
     XMLPropertyState aPosProp;
     sal_Int32 const m_nBitmapModeIdx;
diff --git a/xmloff/inc/XMLBasicExportFilter.hxx b/xmloff/inc/XMLBasicExportFilter.hxx
index 053229741c10..44df625cf534 100644
--- a/xmloff/inc/XMLBasicExportFilter.hxx
+++ b/xmloff/inc/XMLBasicExportFilter.hxx
@@ -27,7 +27,7 @@
 typedef ::cppu::WeakImplHelper<
     css::xml::sax::XDocumentHandler > XMLBasicExportFilter_BASE;
 
-class XMLBasicExportFilter : public XMLBasicExportFilter_BASE
+class XMLBasicExportFilter final : public XMLBasicExportFilter_BASE
 {
 private:
     css::uno::Reference< css::xml::sax::XDocumentHandler >    m_xHandler;
diff --git a/xmloff/inc/XMLBitmapLogicalSizePropertyHandler.hxx b/xmloff/inc/XMLBitmapLogicalSizePropertyHandler.hxx
index 0c01f0c8ff53..1892432be58d 100644
--- a/xmloff/inc/XMLBitmapLogicalSizePropertyHandler.hxx
+++ b/xmloff/inc/XMLBitmapLogicalSizePropertyHandler.hxx
@@ -28,7 +28,7 @@ template<typename EnumT> struct SvXMLEnumMapEntry;
 /** Abstract base-class for different XML-types. Derivations of this class
     knows how to compare, im/export a special XML-type
 */
-class XMLBitmapLogicalSizePropertyHandler: public XMLPropertyHandler
+class XMLBitmapLogicalSizePropertyHandler final : public XMLPropertyHandler
 {
 public:
 
diff --git a/xmloff/inc/XMLBitmapRepeatOffsetPropertyHandler.hxx b/xmloff/inc/XMLBitmapRepeatOffsetPropertyHandler.hxx
index e33f1c832a42..a62b39741c85 100644
--- a/xmloff/inc/XMLBitmapRepeatOffsetPropertyHandler.hxx
+++ b/xmloff/inc/XMLBitmapRepeatOffsetPropertyHandler.hxx
@@ -27,7 +27,7 @@ template<typename EnumT> struct SvXMLEnumMapEntry;
 /** Abstract base-class for different XML-types. Derivations of this class
     knows how to compare, im/export a special XML-type
 */
-class XMLBitmapRepeatOffsetPropertyHandler: public XMLPropertyHandler
+class XMLBitmapRepeatOffsetPropertyHandler final : public XMLPropertyHandler
 {
     bool const mbX;
     OUString const msVertical;
diff --git a/xmloff/inc/XMLChartPropertySetMapper.hxx b/xmloff/inc/XMLChartPropertySetMapper.hxx
index 22564367d925..49979d44f6b8 100644
--- a/xmloff/inc/XMLChartPropertySetMapper.hxx
+++ b/xmloff/inc/XMLChartPropertySetMapper.hxx
@@ -29,33 +29,31 @@ extern const XMLPropertyMapEntry aXMLChartPropMap[];
 
 class SvXMLExport;
 
-class XMLChartPropHdlFactory : public XMLPropertyHandlerFactory
+class XMLChartPropHdlFactory final : public XMLPropertyHandlerFactory
 {
 public:
     virtual ~XMLChartPropHdlFactory() override;
     virtual const XMLPropertyHandler* GetPropertyHandler( sal_Int32 nType ) const override;
 };
 
-class XMLChartPropertySetMapper : public XMLPropertySetMapper
+class XMLChartPropertySetMapper final : public XMLPropertySetMapper
 {
 public:
     explicit XMLChartPropertySetMapper( bool bForExport );
             virtual ~XMLChartPropertySetMapper() override;
 };
 
-class XMLChartExportPropertyMapper : public SvXMLExportPropertyMapper
+class XMLChartExportPropertyMapper final : public SvXMLExportPropertyMapper
 {
 private:
     SvXMLExport& mrExport;
     css::uno::Reference< css::chart2::XChartDocument > mxChartDoc;
 
-protected:
     virtual void ContextFilter(
         bool bEnableFoFontFamily,
         ::std::vector< XMLPropertyState >& rProperties,
         const css::uno::Reference<css::beans::XPropertySet >& rPropSet ) const override;
 
-private:
     /// this method is called for every item that has the MID_FLAG_ELEMENT_EXPORT flag set
     virtual void handleElementItem(
         SvXMLExport& rExport,
@@ -78,7 +76,7 @@ public:
     void setChartDoc( const css::uno::Reference< css::chart2::XChartDocument >& xChartDoc );
 };
 
-class XMLChartImportPropertyMapper : public SvXMLImportPropertyMapper
+class XMLChartImportPropertyMapper final : public SvXMLImportPropertyMapper
 {
 private:
     SvXMLImport& mrImport;
diff --git a/xmloff/inc/XMLChartStyleContext.hxx b/xmloff/inc/XMLChartStyleContext.hxx
index cef31d3f5f1c..2e8ba9685c8d 100644
--- a/xmloff/inc/XMLChartStyleContext.hxx
+++ b/xmloff/inc/XMLChartStyleContext.hxx
@@ -21,14 +21,13 @@
 
 #include <xmloff/XMLShapeStyleContext.hxx>
 
-class XMLChartStyleContext : public XMLShapeStyleContext
+class XMLChartStyleContext final : public XMLShapeStyleContext
 {
 private:
     OUString msDataStyleName;
     OUString msPercentageDataStyleName;
     SvXMLStylesContext& mrStyles;
 
-protected:
     /// is called when an attribute at the (auto)style element is found
     virtual void SetAttribute( sal_uInt16 nPrefixKey,
                                const OUString& rLocalName,
diff --git a/xmloff/inc/XMLClipPropertyHandler.hxx b/xmloff/inc/XMLClipPropertyHandler.hxx
index f5b830528c37..50a59481ae4b 100644
--- a/xmloff/inc/XMLClipPropertyHandler.hxx
+++ b/xmloff/inc/XMLClipPropertyHandler.hxx
@@ -25,7 +25,7 @@
 /**
     PropertyHandler for the XML-data-type:
 */
-class XMLClipPropertyHandler : public XMLPropertyHandler
+class XMLClipPropertyHandler final : public XMLPropertyHandler
 {
     bool const m_bODF11;
 public:
diff --git a/xmloff/inc/XMLEmbeddedObjectImportContext.hxx b/xmloff/inc/XMLEmbeddedObjectImportContext.hxx
index eaf322305309..e3782f47dcaf 100644
--- a/xmloff/inc/XMLEmbeddedObjectImportContext.hxx
+++ b/xmloff/inc/XMLEmbeddedObjectImportContext.hxx
@@ -26,7 +26,7 @@
 namespace com { namespace sun { namespace star { namespace lang {
     class XComponent; } } } }
 
-class XMLEmbeddedObjectImportContext : public SvXMLImportContext
+class XMLEmbeddedObjectImportContext final : public SvXMLImportContext
 {
     css::uno::Reference<css::xml::sax::XDocumentHandler > xHandler;
     css::uno::Reference<css::lang::XComponent > xComp;
diff --git a/xmloff/inc/XMLFillBitmapSizePropertyHandler.hxx b/xmloff/inc/XMLFillBitmapSizePropertyHandler.hxx
index 08ad38e8cd1e..fa5ecdfd0adf 100644
--- a/xmloff/inc/XMLFillBitmapSizePropertyHandler.hxx
+++ b/xmloff/inc/XMLFillBitmapSizePropertyHandler.hxx
@@ -28,7 +28,7 @@ template<typename EnumT> struct SvXMLEnumMapEntry;
 /** Abstract base-class for different XML-types. Derivations of this class
     knows how to compare, im/export a special XML-type
 */
-class XMLFillBitmapSizePropertyHandler: public XMLPropertyHandler
+class XMLFillBitmapSizePropertyHandler final : public XMLPropertyHandler
 {
 public:
 
diff --git a/xmloff/inc/XMLFootnoteConfigurationImportContext.hxx b/xmloff/inc/XMLFootnoteConfigurationImportContext.hxx
index 6d48f6bc4f18..1b5dc4e4838b 100644
--- a/xmloff/inc/XMLFootnoteConfigurationImportContext.hxx
+++ b/xmloff/inc/XMLFootnoteConfigurationImportContext.hxx
@@ -31,7 +31,7 @@ namespace com { namespace sun { namespace star {
 class SvXMLImport;
 
 /// import footnote and endnote configuration elements
-class XMLFootnoteConfigurationImportContext : public SvXMLStyleContext
+class XMLFootnoteConfigurationImportContext final : public SvXMLStyleContext
 {
     OUString sCitationStyle;
     OUString sAnchorStyle;
diff --git a/xmloff/inc/XMLImageMapContext.hxx b/xmloff/inc/XMLImageMapContext.hxx
index 165c0f0e6765..f1fc133cc4b0 100644
--- a/xmloff/inc/XMLImageMapContext.hxx
+++ b/xmloff/inc/XMLImageMapContext.hxx
@@ -31,7 +31,7 @@ namespace com { namespace sun { namespace star {
 } } }
 
 
-class XMLImageMapContext : public SvXMLImportContext
+class XMLImageMapContext final : public SvXMLImportContext
 {
     /// the image map to be imported
     css::uno::Reference< css::container::XIndexContainer> xImageMap;
diff --git a/xmloff/inc/XMLIndexBibliographyConfigurationContext.hxx b/xmloff/inc/XMLIndexBibliographyConfigurationContext.hxx
index a835864d5c50..a0c507f1723a 100644
--- a/xmloff/inc/XMLIndexBibliographyConfigurationContext.hxx
+++ b/xmloff/inc/XMLIndexBibliographyConfigurationContext.hxx
@@ -40,7 +40,7 @@ namespace com { namespace sun { namespace star {
  *
  * Little cheat: Cover all child elements in CreateChildContext.
  */
-class XMLIndexBibliographyConfigurationContext : public SvXMLStyleContext
+class XMLIndexBibliographyConfigurationContext final : public SvXMLStyleContext
 {
     OUString sSuffix;
     OUString sPrefix;
diff --git a/xmloff/inc/XMLIsPercentagePropertyHandler.hxx b/xmloff/inc/XMLIsPercentagePropertyHandler.hxx
index f2056a7c7644..72f245844150 100644
--- a/xmloff/inc/XMLIsPercentagePropertyHandler.hxx
+++ b/xmloff/inc/XMLIsPercentagePropertyHandler.hxx
@@ -26,7 +26,7 @@
     This is a handler that returns true for import if the attribute string
     contains a '%' value. For export this is only usable for filtering.
 */
-class XMLIsPercentagePropertyHandler : public XMLPropertyHandler
+class XMLIsPercentagePropertyHandler final : public XMLPropertyHandler
 {
 public:
     virtual ~XMLIsPercentagePropertyHandler () override;
diff --git a/xmloff/inc/XMLLineNumberingImportContext.hxx b/xmloff/inc/XMLLineNumberingImportContext.hxx
index e9ca1185c5bd..15d66dbf1088 100644
--- a/xmloff/inc/XMLLineNumberingImportContext.hxx
+++ b/xmloff/inc/XMLLineNumberingImportContext.hxx
@@ -48,7 +48,7 @@ enum LineNumberingToken
 
 
 /** import <text:linenumbering-configuration> elements */
-class XMLLineNumberingImportContext : public SvXMLStyleContext
+class XMLLineNumberingImportContext final : public SvXMLStyleContext
 {
     OUString sStyleName;
     OUString sNumFormat;
@@ -78,7 +78,7 @@ public:
     void SetSeparatorText(const OUString& sText);
     void SetSeparatorIncrement(sal_Int16 nIncr);
 
-protected:
+private:
 
     virtual void StartElement(
         const css::uno::Reference<css::xml::sax::XAttributeList> & xAttrList) override;
diff --git a/xmloff/inc/XMLNumberStylesImport.hxx b/xmloff/inc/XMLNumberStylesImport.hxx
index 29196c460244..ed8edb0d8851 100644
--- a/xmloff/inc/XMLNumberStylesImport.hxx
+++ b/xmloff/inc/XMLNumberStylesImport.hxx
@@ -27,7 +27,7 @@
 struct SdXMLFixedDataStyle;
 class SdXMLImport;
 
-class SdXMLNumberFormatImportContext : public SvXMLNumFormatContext
+class SdXMLNumberFormatImportContext final : public SvXMLNumFormatContext
 {
     friend class SdXMLNumberFormatMemberImportContext;
 
diff --git a/xmloff/inc/XMLPercentOrMeasurePropertyHandler.hxx b/xmloff/inc/XMLPercentOrMeasurePropertyHandler.hxx
index 974a779c77d5..d2712ed3f2b2 100644
--- a/xmloff/inc/XMLPercentOrMeasurePropertyHandler.hxx
+++ b/xmloff/inc/XMLPercentOrMeasurePropertyHandler.hxx
@@ -25,7 +25,7 @@
 /**
     This is a handler either only import/exports percent or measure.
 */
-class XMLPercentOrMeasurePropertyHandler : public XMLPropertyHandler
+class XMLPercentOrMeasurePropertyHandler final : public XMLPropertyHandler
 {
 public:
     XMLPercentOrMeasurePropertyHandler();
diff --git a/xmloff/inc/XMLRectangleMembersHandler.hxx b/xmloff/inc/XMLRectangleMembersHandler.hxx
index 7e57946f4c4d..7ebf55300a4f 100644
--- a/xmloff/inc/XMLRectangleMembersHandler.hxx
+++ b/xmloff/inc/XMLRectangleMembersHandler.hxx
@@ -28,7 +28,7 @@ template<typename EnumT> struct SvXMLEnumMapEntry;
 /** Abstract base-class for different XML-types. Derivations of this class
     knows how to compare, im/export a special XML-type
 */
-class XMLRectangleMembersHdl: public XMLPropertyHandler
+class XMLRectangleMembersHdl final : public XMLPropertyHandler
 {
 private:
     sal_Int32 const mnType;
diff --git a/xmloff/inc/XMLReplacementImageContext.hxx b/xmloff/inc/XMLReplacementImageContext.hxx
index 78404bee9654..52bc2e0da68d 100644
--- a/xmloff/inc/XMLReplacementImageContext.hxx
+++ b/xmloff/inc/XMLReplacementImageContext.hxx
@@ -27,7 +27,7 @@ namespace com { namespace sun { namespace star {
     namespace beans { class XPropertySet; }
     namespace io { class XOutputStream; } } } }
 
-class XMLReplacementImageContext : public SvXMLImportContext
+class XMLReplacementImageContext final : public SvXMLImportContext
 {
     css::uno::Reference < css::io::XOutputStream > m_xBase64Stream;
     css::uno::Reference < css::beans::XPropertySet > m_xPropSet;
diff --git a/xmloff/inc/XMLScriptContextFactory.hxx b/xmloff/inc/XMLScriptContextFactory.hxx
index 029c404f00b8..8b0e57b6d5c7 100644
--- a/xmloff/inc/XMLScriptContextFactory.hxx
+++ b/xmloff/inc/XMLScriptContextFactory.hxx
@@ -30,7 +30,7 @@ namespace com { namespace sun { namespace star {
 class SvXMLImport;
 class XMLEventsImportContext;
 
-class XMLScriptContextFactory : public XMLEventContextFactory
+class XMLScriptContextFactory final : public XMLEventContextFactory
 {
 public:
     XMLScriptContextFactory();
diff --git a/xmloff/inc/XMLScriptExportHandler.hxx b/xmloff/inc/XMLScriptExportHandler.hxx
index f6313210546d..05cc4d9f827a 100644
--- a/xmloff/inc/XMLScriptExportHandler.hxx
+++ b/xmloff/inc/XMLScriptExportHandler.hxx
@@ -29,7 +29,7 @@ namespace com { namespace sun { namespace star {
     namespace beans { struct PropertyValue; }
 } } }
 
-class XMLScriptExportHandler : public XMLEventExportHandler
+class XMLScriptExportHandler final : public XMLEventExportHandler
 {
 public:
     XMLScriptExportHandler();
diff --git a/xmloff/inc/XMLStarBasicContextFactory.hxx b/xmloff/inc/XMLStarBasicContextFactory.hxx
index 8bce42b86bad..3c708fe9cda7 100644
--- a/xmloff/inc/XMLStarBasicContextFactory.hxx
+++ b/xmloff/inc/XMLStarBasicContextFactory.hxx
@@ -31,7 +31,7 @@ class SvXMLImport;
 class XMLEventsImportContext;
 
 
-class XMLStarBasicContextFactory : public XMLEventContextFactory
+class XMLStarBasicContextFactory final : public XMLEventContextFactory
 {
 public:
     XMLStarBasicContextFactory();
diff --git a/xmloff/inc/XMLStarBasicExportHandler.hxx b/xmloff/inc/XMLStarBasicExportHandler.hxx
index b659306b19b2..2e7f519d345f 100644
--- a/xmloff/inc/XMLStarBasicExportHandler.hxx
+++ b/xmloff/inc/XMLStarBasicExportHandler.hxx
@@ -29,7 +29,7 @@ namespace com { namespace sun { namespace star {
     namespace beans { struct PropertyValue; }
 } } }
 
-class XMLStarBasicExportHandler : public XMLEventExportHandler
+class XMLStarBasicExportHandler final : public XMLEventExportHandler
 {
 public:
     XMLStarBasicExportHandler();
diff --git a/xmloff/inc/XMLStringBufferImportContext.hxx b/xmloff/inc/XMLStringBufferImportContext.hxx
index d3215963ab04..6d843a1ca6af 100644
--- a/xmloff/inc/XMLStringBufferImportContext.hxx
+++ b/xmloff/inc/XMLStringBufferImportContext.hxx
@@ -30,7 +30,7 @@
  * Import all text into a string buffer.  Paragraph elements (<text:p>)
  * are recognized and cause a return character (0x0a) to be added.
  */
-class XMLStringBufferImportContext : public SvXMLImportContext
+class XMLStringBufferImportContext final : public SvXMLImportContext
 {
     OUStringBuffer& rTextBuffer;
 
diff --git a/xmloff/inc/XMLTextColumnsContext.hxx b/xmloff/inc/XMLTextColumnsContext.hxx
index 9f9f4036fac5..1ebaa23d0342 100644
--- a/xmloff/inc/XMLTextColumnsContext.hxx
+++ b/xmloff/inc/XMLTextColumnsContext.hxx
@@ -32,7 +32,7 @@ class SvXMLTokenMap;
 
 typedef std::vector<rtl::Reference<XMLTextColumnContext_Impl>> XMLTextColumnsArray_Impl;
 
-class XMLTextColumnsContext :public XMLElementPropertyContext
+class XMLTextColumnsContext final :public XMLElementPropertyContext
 {
     std::unique_ptr<XMLTextColumnsArray_Impl> pColumns;
     rtl::Reference<XMLTextColumnSepContext_Impl> mxColumnSep;
diff --git a/xmloff/inc/XMLTextColumnsPropertyHandler.hxx b/xmloff/inc/XMLTextColumnsPropertyHandler.hxx
index 25554f5218d1..7e908d681313 100644
--- a/xmloff/inc/XMLTextColumnsPropertyHandler.hxx
+++ b/xmloff/inc/XMLTextColumnsPropertyHandler.hxx
@@ -25,7 +25,7 @@
 /**
     PropertyHandler for the XML-data-type:
 */
-class XMLTextColumnsPropertyHandler : public XMLPropertyHandler
+class XMLTextColumnsPropertyHandler final : public XMLPropertyHandler
 {
 public:
     virtual ~XMLTextColumnsPropertyHandler () override;
diff --git a/xmloff/inc/XMLTextHeaderFooterContext.hxx b/xmloff/inc/XMLTextHeaderFooterContext.hxx
index be1bb17f1641..fee5211ddbd1 100644
--- a/xmloff/inc/XMLTextHeaderFooterContext.hxx
+++ b/xmloff/inc/XMLTextHeaderFooterContext.hxx
@@ -27,7 +27,7 @@ namespace com { namespace sun { namespace star {
     namespace beans { class XPropertySet; }
 } } }
 
-class XMLTextHeaderFooterContext: public SvXMLImportContext
+class XMLTextHeaderFooterContext final : public SvXMLImportContext
 {
     css::uno::Reference< css::text::XTextCursor > xOldTextCursor;
     css::uno::Reference< css::beans::XPropertySet > xPropSet;
diff --git a/xmloff/inc/animationimport.hxx b/xmloff/inc/animationimport.hxx
index f0bf94ef85c8..14df8ca9b3d0 100644
--- a/xmloff/inc/animationimport.hxx
+++ b/xmloff/inc/animationimport.hxx
@@ -32,7 +32,7 @@ namespace xmloff
 {
 class AnimationsImportHelperImpl;
 
-class AnimationNodeContext : public SvXMLImportContext
+class AnimationNodeContext final : public SvXMLImportContext
 {
     std::shared_ptr<AnimationsImportHelperImpl> mpHelper;
     css::uno::Reference< css::animations::XAnimationNode > mxNode;
diff --git a/xmloff/inc/animimp.hxx b/xmloff/inc/animimp.hxx
index ca2a16c4ab8b..8e2ead46867b 100644
--- a/xmloff/inc/animimp.hxx
+++ b/xmloff/inc/animimp.hxx
@@ -28,7 +28,7 @@ class AnimImpImpl;
 
 // presentations:animations
 
-class XMLAnimationsContext : public SvXMLImportContext
+class XMLAnimationsContext final : public SvXMLImportContext
 {
     std::shared_ptr<AnimImpImpl> mpImpl;
 
diff --git a/xmloff/inc/propimp0.hxx b/xmloff/inc/propimp0.hxx
index eccc3b60e13e..ec7e7ddadc97 100644
--- a/xmloff/inc/propimp0.hxx
+++ b/xmloff/inc/propimp0.hxx
@@ -24,7 +24,7 @@
 
 // graphic property Stroke
 
-class XMLDurationPropertyHdl : public XMLPropertyHandler
+class XMLDurationPropertyHdl final : public XMLPropertyHandler
 {
 public:
     virtual ~XMLDurationPropertyHdl() override;
@@ -33,7 +33,7 @@ public:
 };
 
 class SvXMLImport;
-class XMLOpacityPropertyHdl : public XMLPropertyHandler
+class XMLOpacityPropertyHdl final : public XMLPropertyHandler
 {
 private:
     SvXMLImport* const    mpImport;
@@ -44,7 +44,7 @@ public:
     virtual bool exportXML( OUString& rStrExpValue, const css::uno::Any& rValue, const SvXMLUnitConverter& rUnitConverter ) const override;
 };
 
-class XMLTextAnimationStepPropertyHdl : public XMLPropertyHandler
+class XMLTextAnimationStepPropertyHdl final : public XMLPropertyHandler
 {
 public:
     virtual ~XMLTextAnimationStepPropertyHdl() override;
@@ -53,7 +53,7 @@ public:
 };
 
 class SvXMLExport;
-class XMLDateTimeFormatHdl : public XMLPropertyHandler
+class XMLDateTimeFormatHdl final : public XMLPropertyHandler
 {
 private:
     SvXMLExport* mpExport;
diff --git a/xmloff/inc/txtfldi.hxx b/xmloff/inc/txtfldi.hxx
index 829e9daef527..6d2c78064c90 100644
--- a/xmloff/inc/txtfldi.hxx
+++ b/xmloff/inc/txtfldi.hxx
@@ -213,7 +213,7 @@ protected:
 };
 
 /** inherit sender field because of fixed attribute in ProcessAttributes */
-class XMLAuthorFieldImportContext : public XMLSenderFieldImportContext
+class XMLAuthorFieldImportContext final : public XMLSenderFieldImportContext
 {
     bool bAuthorFullName;
     const OUString sPropertyFixed;
@@ -228,7 +228,7 @@ public:
         const OUString& sLocalName,      /// element name w/o prefix
         sal_uInt16 nToken);                     /// element token
 
-protected:
+private:
     /// start element
     virtual void StartElement(
         const css::uno::Reference< css::xml::sax::XAttributeList> & xAttrList) override;
@@ -242,7 +242,7 @@ protected:
         const css::uno::Reference< css::beans::XPropertySet> & xPropertySet) override;
 };
 
-class XMLPlaceholderFieldImportContext : public XMLTextFieldImportContext
+class XMLPlaceholderFieldImportContext final : public XMLTextFieldImportContext
 {
     const OUString sPropertyHint;
 
@@ -258,7 +258,7 @@ public:
         sal_uInt16 nPrfx,                       /// namespace prefix
         const OUString& sLocalName);     /// element name w/o prefix
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -307,7 +307,7 @@ public:
 
 /** import date fields (<text:date>);
     inherit from TimeField to reuse implementation */
-class XMLDateFieldImportContext : public XMLTimeFieldImportContext
+class XMLDateFieldImportContext final : public XMLTimeFieldImportContext
 {
 public:
 
@@ -323,7 +323,7 @@ public:
 };
 
 /** import page continuation fields (<text:page-continuation-string>) */
-class XMLPageContinuationImportContext : public XMLTextFieldImportContext
+class XMLPageContinuationImportContext final : public XMLTextFieldImportContext
 {
     const OUString sPropertySubType;
     const OUString sPropertyNumberingType;
@@ -351,7 +351,7 @@ public:
 };
 
 /** import page number fields (<text:page-number>) */
-class XMLPageNumberImportContext : public XMLTextFieldImportContext
+class XMLPageNumberImportContext final : public XMLTextFieldImportContext
 {
     const OUString sPropertySubType;
     const OUString sPropertyNumberingType;
@@ -428,7 +428,7 @@ public:
 };
 
 /** import database name fields (<text:database-name>) */
-class XMLDatabaseNameImportContext : public XMLDatabaseFieldImportContext
+class XMLDatabaseNameImportContext final : public XMLDatabaseFieldImportContext
 {
 public:
 
@@ -475,7 +475,7 @@ public:
 };
 
 /** import database select fields (<text:database-select>) */
-class XMLDatabaseSelectImportContext : public XMLDatabaseNextImportContext
+class XMLDatabaseSelectImportContext final : public XMLDatabaseNextImportContext
 {
     const OUString sPropertySetNumber;
     sal_Int32 nNumber;
@@ -499,7 +499,7 @@ public:
 };
 
 /** import database display number fields (<text:database-row-number>) */
-class XMLDatabaseNumberImportContext : public XMLDatabaseFieldImportContext
+class XMLDatabaseNumberImportContext final : public XMLDatabaseFieldImportContext
 {
     const OUString sPropertyNumberingType;
     const OUString sPropertySetNumber;
@@ -560,7 +560,7 @@ protected:
 };
 
 /** import docinfo fields with date or time attributes and numberformats */
-class XMLDateTimeDocInfoImportContext : public XMLSimpleDocInfoImportContext
+class XMLDateTimeDocInfoImportContext final : public XMLSimpleDocInfoImportContext
 {
     const OUString sPropertyNumberFormat;
     const OUString sPropertyIsDate;
@@ -580,7 +580,7 @@ public:
                                     const OUString& sLocalName,
                                     sal_uInt16 nToken);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -591,7 +591,7 @@ protected:
 };
 
 /** import revision field (<text:editing-cycles>) */
-class XMLRevisionDocInfoImportContext : public XMLSimpleDocInfoImportContext
+class XMLRevisionDocInfoImportContext final : public XMLSimpleDocInfoImportContext
 {
 public:
 
@@ -601,14 +601,14 @@ public:
                                     const OUString& sLocalName,
                                     sal_uInt16 nToken);
 
-protected:
+private:
     /// prepare XTextField for insertion into document
     virtual void PrepareField(
         const css::uno::Reference<css::beans::XPropertySet> & xPropertySet) override;
 };
 
 /** import user docinfo field (<text:user-defined>) */
-class XMLUserDocInfoImportContext : public XMLSimpleDocInfoImportContext
+class XMLUserDocInfoImportContext final : public XMLSimpleDocInfoImportContext
 {
     OUString aName;
     const OUString sPropertyName;
@@ -626,7 +626,7 @@ public:
                                 const OUString& sLocalName,
                                 sal_uInt16 nToken);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -635,7 +635,7 @@ protected:
 };
 
 /** import hidden paragraph fields (<text:hidden-paragraph>) */
-class XMLHiddenParagraphImportContext : public XMLTextFieldImportContext
+class XMLHiddenParagraphImportContext final : public XMLTextFieldImportContext
 {
     const OUString sPropertyCondition;
     const OUString sPropertyIsHidden;
@@ -650,7 +650,7 @@ public:
                                     sal_uInt16 nPrfx,
                                     const OUString& sLocalName);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -661,7 +661,7 @@ protected:
 };
 
 /** import conditional text fields (<text:conditional-text>) */
-class XMLConditionalTextImportContext : public XMLTextFieldImportContext
+class XMLConditionalTextImportContext final : public XMLTextFieldImportContext
 {
     const OUString sPropertyCondition;
     const OUString sPropertyCurrentPresentation;
@@ -682,7 +682,7 @@ public:
                                     sal_uInt16 nPrfx,
                                     const OUString& sLocalName);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -693,7 +693,7 @@ protected:
 };
 
 /** import conditional text fields (<text:hidden-text>) */
-class XMLHiddenTextImportContext : public XMLTextFieldImportContext
+class XMLHiddenTextImportContext final : public XMLTextFieldImportContext
 {
     const OUString sPropertyCondition;
     const OUString sPropertyContent;
@@ -713,7 +713,7 @@ public:
                                sal_uInt16 nPrfx,
                                const OUString& sLocalName);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -724,7 +724,7 @@ protected:
 };
 
 /** import file name fields (<text:file-name>) */
-class XMLFileNameImportContext : public XMLTextFieldImportContext
+class XMLFileNameImportContext final : public XMLTextFieldImportContext
 {
     const OUString sPropertyFixed;
     const OUString sPropertyFileFormat;
@@ -740,7 +740,7 @@ public:
                              sal_uInt16 nPrfx,
                              const OUString& sLocalName);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -751,7 +751,7 @@ protected:
 };
 
 /** import document template name fields (<text:template-name>) */
-class XMLTemplateNameImportContext : public XMLTextFieldImportContext
+class XMLTemplateNameImportContext final : public XMLTextFieldImportContext
 {
     const OUString sPropertyFileFormat;
 
@@ -764,7 +764,7 @@ public:
                                  sal_uInt16 nPrfx,
                                  const OUString& sLocalName);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -775,7 +775,7 @@ protected:
 };
 
 /** import chapter fields (<text:chapter>) */
-class XMLChapterImportContext : public XMLTextFieldImportContext
+class XMLChapterImportContext final : public XMLTextFieldImportContext
 {
     sal_Int16 nFormat;
     sal_Int8 nLevel;
@@ -787,7 +787,7 @@ public:
                             sal_uInt16 nPrfx,
                             const OUString& sLocalName);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -798,7 +798,7 @@ protected:
 };
 
 /** import count fields (<text:[XXX]-count>) */
-class XMLCountFieldImportContext : public XMLTextFieldImportContext
+class XMLCountFieldImportContext final : public XMLTextFieldImportContext
 {
     const OUString sPropertyNumberingType;
 
@@ -828,7 +828,7 @@ private:
 };
 
 /** import page variable fields (<text:get-page-variable>) */
-class XMLPageVarGetFieldImportContext : public XMLTextFieldImportContext
+class XMLPageVarGetFieldImportContext final : public XMLTextFieldImportContext
 {
     OUString sNumberFormat;
     OUString sLetterSync;
@@ -842,7 +842,7 @@ public:
                                     sal_uInt16 nPrfx,
                                     const OUString& sLocalName);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -853,7 +853,7 @@ protected:
 };
 
 /** import page variable fields (<text:get-page-variable>) */
-class XMLPageVarSetFieldImportContext : public XMLTextFieldImportContext
+class XMLPageVarSetFieldImportContext final : public XMLTextFieldImportContext
 {
     sal_Int16 nAdjust;
     bool bActive;
@@ -865,7 +865,7 @@ public:
                                     sal_uInt16 nPrfx,
                                     const OUString& sLocalName);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -876,7 +876,7 @@ protected:
 };
 
 /** import macro fields (<text:execute-macro>) */
-class XMLMacroFieldImportContext : public XMLTextFieldImportContext
+class XMLMacroFieldImportContext final : public XMLTextFieldImportContext
 {
     OUString sDescription;
     SvXMLImportContextRef xEventContext;
@@ -892,7 +892,7 @@ public:
                                sal_uInt16 nPrfx,
                                const OUString& sLocalName);
 
-protected:
+private:
     /// for <office:events> children
     virtual SvXMLImportContextRef CreateChildContext(
         sal_uInt16 nPrefix,
@@ -909,7 +909,7 @@ protected:
 };
 
 /** import reference fields (<text:reference-get>) */
-class XMLReferenceFieldImportContext : public XMLTextFieldImportContext
+class XMLReferenceFieldImportContext final : public XMLTextFieldImportContext
 {
     OUString sName;
     OUString sLanguage;
@@ -928,7 +928,7 @@ public:
                                    sal_uInt16 nPrfx,
                                    const OUString& sLocalName);
 
-protected:
+private:
     /// start element
     virtual void StartElement(
         const css::uno::Reference<css::xml::sax::XAttributeList> & xAttrList) override;
@@ -943,7 +943,7 @@ protected:
 };
 
 /** import dde field declaration container (<text:dde-connection-decls>) */
-class XMLDdeFieldDeclsImportContext : public SvXMLImportContext
+class XMLDdeFieldDeclsImportContext final : public SvXMLImportContext
 {
 public:
 
@@ -958,7 +958,7 @@ public:
 };
 
 /** import dde field declaration (<text:dde-connection-decl>) */
-class XMLDdeFieldDeclImportContext : public SvXMLImportContext
+class XMLDdeFieldDeclImportContext final : public SvXMLImportContext
 {
     const SvXMLTokenMap& rTokenMap;
 
@@ -975,7 +975,7 @@ public:
 };
 
 /** import dde fields (<text:dde-connection>) */
-class XMLDdeFieldImportContext : public XMLTextFieldImportContext
+class XMLDdeFieldImportContext final : public XMLTextFieldImportContext
 {
     OUString sName;
     OUString const sPropertyContent;
@@ -987,7 +987,7 @@ public:
                              sal_uInt16 nPrfx,
                              const OUString& sLocalName);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -1001,7 +1001,7 @@ protected:
 };
 
 /** import sheet name fields (Calc) dde fields (<text:sheet-name>) */
-class XMLSheetNameImportContext : public XMLTextFieldImportContext
+class XMLSheetNameImportContext final : public XMLTextFieldImportContext
 {
 
 public:
@@ -1011,7 +1011,7 @@ public:
                               sal_uInt16 nPrfx,
                               const OUString& sLocalName);
 
-protected:
+private:
     /// no attributes -> empty method
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -1022,7 +1022,7 @@ protected:
 };
 
 /** import page|slide name fields (<text:page-name>) */
-class XMLPageNameFieldImportContext : public XMLTextFieldImportContext
+class XMLPageNameFieldImportContext final : public XMLTextFieldImportContext
 {
 public:
 
@@ -1042,7 +1042,7 @@ public:
 };
 
 /** import hyperlinks as URL fields (Calc, Impress, Draw) (<office:a>) */
-class XMLUrlFieldImportContext : public XMLTextFieldImportContext
+class XMLUrlFieldImportContext final : public XMLTextFieldImportContext
 {
     OUString sURL;
     OUString sFrame;
@@ -1055,7 +1055,7 @@ public:
                              sal_uInt16 nPrfx,
                              const OUString& sLocalName);
 
-protected:
+private:
     /// no attributes -> empty method
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -1066,7 +1066,7 @@ protected:
 };
 
 /** import bibliography info fields (<text:bibliography-mark>) */
-class XMLBibliographyFieldImportContext : public XMLTextFieldImportContext
+class XMLBibliographyFieldImportContext final : public XMLTextFieldImportContext
 {
     ::std::vector< css::beans::PropertyValue> aValues;
 
@@ -1094,7 +1094,7 @@ private:
 };
 
 /** Import an annotation field (<text:annotation>) */
-class XMLAnnotationImportContext : public XMLTextFieldImportContext
+class XMLAnnotationImportContext final : public XMLTextFieldImportContext
 {
     OUStringBuffer aAuthorBuffer;
     OUStringBuffer aInitialsBuffer;
@@ -1117,7 +1117,7 @@ public:
                                sal_uInt16 nPrfx,
                                const OUString& sLocalName);
 
-protected:
+private:
     /// process attributes
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -1134,7 +1134,7 @@ protected:
 };
 
 /** Import a script field (<text:script>) */
-class XMLScriptImportContext : public XMLTextFieldImportContext
+class XMLScriptImportContext final : public XMLTextFieldImportContext
 {
     OUString sContent;
     OUString sScriptType;
@@ -1148,7 +1148,7 @@ public:
                            sal_uInt16 nPrfx,
                            const OUString& sLocalName);
 
-protected:
+private:
     /// process attributes
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -1159,7 +1159,7 @@ protected:
 };
 
 /** import measure fields (<text:measure>) */
-class XMLMeasureFieldImportContext : public XMLTextFieldImportContext
+class XMLMeasureFieldImportContext final : public XMLTextFieldImportContext
 {
     sal_Int16 mnKind;
 
@@ -1170,7 +1170,7 @@ public:
                                     sal_uInt16 nPrfx,
                                     const OUString& sLocalName);
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -1181,7 +1181,7 @@ protected:
 };
 
 /** dropdown field (filter legacy) */
-class XMLDropDownFieldImportContext : public XMLTextFieldImportContext
+class XMLDropDownFieldImportContext final : public XMLTextFieldImportContext
 {
     std::vector<OUString> aLabels;
     OUString sName;
@@ -1204,7 +1204,7 @@ public:
         const OUString& rLocalName,
         const css::uno::Reference<css::xml::sax::XAttributeList >& xAttrList ) override;
 
-protected:
+private:
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
                                    const OUString& sAttrValue ) override;
@@ -1215,7 +1215,7 @@ protected:
 };
 
 /** import header fields (<draw:header>) */
-class XMLHeaderFieldImportContext : public XMLTextFieldImportContext
+class XMLHeaderFieldImportContext final : public XMLTextFieldImportContext
 {
 public:
 
@@ -1235,7 +1235,7 @@ public:
 };
 
 /** import footer fields (<draw:footer>) */
-class XMLFooterFieldImportContext : public XMLTextFieldImportContext
+class XMLFooterFieldImportContext final : public XMLTextFieldImportContext
 {
 public:
 
@@ -1255,7 +1255,7 @@ public:
 };
 
 /** import footer fields (<draw:date-and-time>) */
-class XMLDateTimeFieldImportContext : public XMLTextFieldImportContext
+class XMLDateTimeFieldImportContext final : public XMLTextFieldImportContext
 {
 public:
 
diff --git a/xmloff/inc/txtvfldi.hxx b/xmloff/inc/txtvfldi.hxx
index 389a5c56ab68..b242ead1a264 100644
--- a/xmloff/inc/txtvfldi.hxx
+++ b/xmloff/inc/txtvfldi.hxx
@@ -170,7 +170,7 @@ protected:
 
 
 /** import variable get fields (<text:variable-get>) */
-class XMLVariableGetFieldImportContext : public XMLVarFieldImportContext
+class XMLVariableGetFieldImportContext final : public XMLVarFieldImportContext
 {
 public:
 
@@ -182,7 +182,7 @@ public:
         const OUString& rLocalName);     /// element name w/o prefix
 
 
-protected:
+private:
     /// prepare XTextField for insertion into document
     virtual void PrepareField(
         const css::uno::Reference<
@@ -191,7 +191,7 @@ protected:
 
 
 /** import expression fields (<text:expression>) */
-class XMLExpressionFieldImportContext : public XMLVarFieldImportContext
+class XMLExpressionFieldImportContext final : public XMLVarFieldImportContext
 {
 public:
 
@@ -201,14 +201,14 @@ public:
         sal_uInt16 nPrfx,                       /// namespace prefix
         const OUString& sLocalName);     /// element name w/o prefix
 
-protected:
+private:
     virtual void PrepareField(
         const css::uno::Reference<
         css::beans::XPropertySet> & xPropertySet) override;
 };
 
 /*** import text input fields (<text:text-input>) */
-class XMLTextInputFieldImportContext : public XMLVarFieldImportContext
+class XMLTextInputFieldImportContext final : public XMLVarFieldImportContext
 {
 public:
 
@@ -218,7 +218,7 @@ public:
         sal_uInt16 nPrfx,                       /// namespace prefix
         const OUString& sLocalName);     /// element name w/o prefix
 
-protected:
+private:
     virtual void PrepareField(
         const css::uno::Reference<
         css::beans::XPropertySet> & xPropertySet) override;
@@ -272,7 +272,7 @@ protected:
 
 
 /** import variable set fields (<text:variable-set>) */
-class XMLVariableSetFieldImportContext : public XMLSetVarFieldImportContext
+class XMLVariableSetFieldImportContext final : public XMLSetVarFieldImportContext
 {
 public:
 
@@ -282,7 +282,7 @@ public:
         sal_uInt16 nPrfx,                       /// namespace prefix
         const OUString& rLocalName);     /// element name w/o prefix
 
-protected:
+private:
     /// prepare XTextField for insertion into document
     virtual void PrepareField(
         const css::uno::Reference<css::beans::XPropertySet> & xPropertySet) override;
@@ -290,7 +290,7 @@ protected:
 
 
 /** variable input fields (<text:variable-input>) */
-class XMLVariableInputFieldImportContext : public XMLSetVarFieldImportContext
+class XMLVariableInputFieldImportContext final : public XMLSetVarFieldImportContext
 {
 public:
 
@@ -301,7 +301,7 @@ public:
         sal_uInt16 nPrfx,                       /// namespace prefix
         const OUString& rLocalName);     /// element name w/o prefix
 
-protected:
+private:
 
     /// prepare XTextField for insertion into document
     virtual void PrepareField(
@@ -310,7 +310,7 @@ protected:
 
 
 /** user fields (<text:user-field-get>) */
-class XMLUserFieldImportContext : public XMLSetVarFieldImportContext
+class XMLUserFieldImportContext final : public XMLSetVarFieldImportContext
 {
 
 public:
@@ -324,7 +324,7 @@ public:
 };
 
 /** user input fields (<text:user-field-input>) */
-class XMLUserFieldInputImportContext : public XMLVarFieldImportContext
+class XMLUserFieldInputImportContext final : public XMLVarFieldImportContext
 {
 
 public:
@@ -342,7 +342,7 @@ public:
 
 
 /** sequence fields (<text:sequence>) */
-class XMLSequenceFieldImportContext : public XMLSetVarFieldImportContext
+class XMLSequenceFieldImportContext final : public XMLSetVarFieldImportContext
 {
     OUString sNumFormat;
     OUString sNumFormatSync;
@@ -359,7 +359,7 @@ public:
         sal_uInt16 nPrfx,                       /// namespace prefix
         const OUString& rLocalName);     /// element name w/o prefix
 
-protected:
+private:
 
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
@@ -375,7 +375,7 @@ protected:
  * variable declaration container for all variable fields
  *      (variable-decls, user-field-decls, sequence-decls)
  */
-class XMLVariableDeclsImportContext : public SvXMLImportContext
+class XMLVariableDeclsImportContext final : public SvXMLImportContext
 {
     enum VarType const eVarDeclsContextType;
     XMLTextImportHelper& rImportHelper;
@@ -400,7 +400,7 @@ public:
  * variable field declarations
  *      (variable-decl, user-field-decl, sequence-decl)
  */
-class XMLVariableDeclImportContext : public SvXMLImportContext
+class XMLVariableDeclImportContext final : public SvXMLImportContext
 {
     XMLValueImportHelper aValueHelper;
     sal_Unicode cSeparationChar;
@@ -426,7 +426,7 @@ public:
 
 
 /** import table formula fields (deprecated; for Writer 2.0 compatibility) */
-class XMLTableFormulaImportContext : public XMLTextFieldImportContext
+class XMLTableFormulaImportContext final : public XMLTextFieldImportContext
 {
     XMLValueImportHelper aValueHelper;
 
@@ -440,7 +440,7 @@ public:
         sal_uInt16 nPrfx,                       /// namespace prefix
         const OUString& rLocalName);     /// element name w/o prefix
 
-protected:
+private:
 
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
@@ -453,7 +453,7 @@ protected:
 
 
 /** import database display fields (<text:database-display>) */
-class XMLDatabaseDisplayImportContext : public XMLDatabaseFieldImportContext
+class XMLDatabaseDisplayImportContext final : public XMLDatabaseFieldImportContext
 {
     XMLValueImportHelper aValueHelper;
 
@@ -472,7 +472,7 @@ public:
         sal_uInt16 nPrfx,                       /// namespace prefix
         const OUString& rLocalName);     /// element name w/o prefix
 
-protected:
+private:
 
     /// process attribute values
     virtual void ProcessAttribute( sal_uInt16 nAttrToken,
diff --git a/xmloff/inc/xmltabi.hxx b/xmloff/inc/xmltabi.hxx
index 90ddd625f7cd..229f784d6fa8 100644
--- a/xmloff/inc/xmltabi.hxx
+++ b/xmloff/inc/xmltabi.hxx
@@ -29,7 +29,7 @@ class SvxXMLTabStopContext_Impl;
 
 typedef std::vector<rtl::Reference<SvxXMLTabStopContext_Impl>> SvxXMLTabStopArray_Impl;
 
-class SvxXMLTabStopImportContext : public XMLElementPropertyContext
+class SvxXMLTabStopImportContext final : public XMLElementPropertyContext
 {
 private:
     std::unique_ptr<SvxXMLTabStopArray_Impl> mpTabStops;
diff --git a/xmloff/inc/xmlversion.hxx b/xmloff/inc/xmlversion.hxx
index ccf05e3fa8eb..6faaa0cd240f 100644
--- a/xmloff/inc/xmlversion.hxx
+++ b/xmloff/inc/xmlversion.hxx
@@ -30,7 +30,7 @@
 #include <xmloff/xmlimp.hxx>
 #include <xmloff/xmltoken.hxx>
 
-class XMLVersionListExport : public SvXMLExport
+class XMLVersionListExport final : public SvXMLExport
 {
 private:
     const css::uno::Sequence < css::util::RevisionTag >& maVersions;
@@ -47,13 +47,11 @@ public:
     void        ExportContent_() override {}
 };
 
-class XMLVersionListImport : public SvXMLImport
+class XMLVersionListImport final : public SvXMLImport
 {
 private:
     css::uno::Sequence < css::util::RevisionTag >& maVersions;
 
-protected:
-
     virtual SvXMLImportContext *CreateFastContext( sal_Int32 Element,
         const ::css::uno::Reference< ::css::xml::sax::XFastAttributeList >& xAttrList ) override;
 
@@ -68,7 +66,7 @@ public:
         GetList() { return maVersions; }
 };
 
-class XMLVersionListContext : public SvXMLImportContext
+class XMLVersionListContext final : public SvXMLImportContext
 {
 private:
     XMLVersionListImport & GetImport() { return static_cast<XMLVersionListImport&>(SvXMLImportContext::GetImport()); }
@@ -84,7 +82,7 @@ public:
             const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttribs) override;
 };
 
-class XMLVersionContext: public SvXMLImportContext
+class XMLVersionContext final : public SvXMLImportContext
 {
 private:
     static bool         ParseISODateTimeString(
@@ -99,7 +97,7 @@ public:
     virtual ~XMLVersionContext() override;
 };
 
-class XMLVersionListPersistence : public ::cppu::WeakImplHelper< css::document::XDocumentRevisionListPersistence, css::lang::XServiceInfo >
+class XMLVersionListPersistence final : public ::cppu::WeakImplHelper< css::document::XDocumentRevisionListPersistence, css::lang::XServiceInfo >
 {
 public:
     virtual css::uno::Sequence< css::util::RevisionTag > SAL_CALL load( const css::uno::Reference< css::embed::XStorage >& Storage ) override;
commit de37f3c3b2620721ebbfa27bb0c348497c2f0501
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Sun Dec 22 17:22:32 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Sun Dec 22 18:04:00 2019 +0100

    loplugin:finalclasses in xmlsecurity
    
    Change-Id: I1c2d0c418d2aa2198c82e89ce048851f30d07a7d
    Reviewed-on: https://gerrit.libreoffice.org/85698
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/compilerplugins/clang/finalclasses.py b/compilerplugins/clang/finalclasses.py
index 49a30b1e6511..7b08bdfbd966 100755
--- a/compilerplugins/clang/finalclasses.py
+++ b/compilerplugins/clang/finalclasses.py
@@ -32,6 +32,7 @@ with open("workdir/loplugin.finalclasses.log") as txt:
         else:
             print( "unknown line: " + line)
 
+match_module_inc = re.compile('^\w+/inc/')
 tmpset = set()
 for clazz in sorted(definitionSet - inheritFromSet):
     file = definitionToFileDict[clazz]
@@ -42,7 +43,7 @@ for clazz in sorted(definitionSet - inheritFromSet):
     if (file.startswith("workdir/")): continue
     # We are only really interested in classes that are shared between linkage units, where the compiler
     # is not able to figure out for itself that classes are final.
-    if not(file.startswith("include/") or file.startswith("sw/inc/") or file.startswith("sc/inc/") or file.startswith("vcl/inc/")): continue
+    if not(file.startswith("include/") or match_module_inc.match(file)): continue
     # Exclude URE
     if file.startswith("include/com/"): continue
     if file.startswith("include/cppu/"): continue
diff --git a/xmlsecurity/inc/framework/saxeventkeeperimpl.hxx b/xmlsecurity/inc/framework/saxeventkeeperimpl.hxx
index d91612380e45..e3edb857934f 100644
--- a/xmlsecurity/inc/framework/saxeventkeeperimpl.hxx
+++ b/xmlsecurity/inc/framework/saxeventkeeperimpl.hxx
@@ -40,7 +40,7 @@ namespace com::sun::star::xml::crypto::sax { class XSAXEventKeeperStatusChangeLi
 namespace com::sun::star::xml::csax { class XCompressedDocumentHandler; }
 namespace com::sun::star::xml::wrapper { class XXMLDocumentWrapper; }
 
-class SAXEventKeeperImpl : public cppu::WeakImplHelper
+class SAXEventKeeperImpl final : public cppu::WeakImplHelper
 <
     css::xml::crypto::sax::XSecuritySAXEventKeeper,
     css::xml::crypto::sax::XReferenceResolvedBroadcaster,
diff --git a/xmlsecurity/inc/framework/signaturecreatorimpl.hxx b/xmlsecurity/inc/framework/signaturecreatorimpl.hxx
index 6554bb572c4c..212feb25cb48 100644
--- a/xmlsecurity/inc/framework/signaturecreatorimpl.hxx
+++ b/xmlsecurity/inc/framework/signaturecreatorimpl.hxx
@@ -40,7 +40,7 @@ typedef cppu::ImplInheritanceHelper
     css::lang::XServiceInfo
 > SignatureCreatorImpl_Base;
 
-class SignatureCreatorImpl : public SignatureCreatorImpl_Base
+class SignatureCreatorImpl final : public SignatureCreatorImpl_Base
 /****** SignatureCreatorImpl.hxx/CLASS SignatureCreatorImpl *******************
  *
  *   NAME
diff --git a/xmlsecurity/inc/framework/signatureverifierimpl.hxx b/xmlsecurity/inc/framework/signatureverifierimpl.hxx
index 6103cabbbe8e..37327fd5f9fb 100644
--- a/xmlsecurity/inc/framework/signatureverifierimpl.hxx
+++ b/xmlsecurity/inc/framework/signatureverifierimpl.hxx
@@ -39,7 +39,7 @@ typedef cppu::ImplInheritanceHelper
     css::lang::XServiceInfo
 > SignatureVerifierImpl_Base;
 
-class SignatureVerifierImpl : public SignatureVerifierImpl_Base
+class SignatureVerifierImpl final : public SignatureVerifierImpl_Base
 /****** SignatureVerifier.hxx/CLASS SignatureVerifierImpl *********************
  *
  *   NAME
diff --git a/xmlsecurity/inc/framework/xmlsignaturetemplateimpl.hxx b/xmlsecurity/inc/framework/xmlsignaturetemplateimpl.hxx
index 4be61d5fe562..4f10e5db23fe 100644
--- a/xmlsecurity/inc/framework/xmlsignaturetemplateimpl.hxx
+++ b/xmlsecurity/inc/framework/xmlsignaturetemplateimpl.hxx
@@ -34,7 +34,7 @@
 namespace com::sun::star::lang { class XMultiServiceFactory; }
 namespace com::sun::star::xml::wrapper { class XXMLElementWrapper; }
 
-class XMLSignatureTemplateImpl : public ::cppu::WeakImplHelper<
+class XMLSignatureTemplateImpl final : public ::cppu::WeakImplHelper<
     css::xml::crypto::XXMLSignatureTemplate ,
     css::lang::XServiceInfo >
 {
diff --git a/xmlsecurity/inc/gpg/SEInitializer.hxx b/xmlsecurity/inc/gpg/SEInitializer.hxx
index 0aef1dd8b7de..67ab7a53188e 100644
--- a/xmlsecurity/inc/gpg/SEInitializer.hxx
+++ b/xmlsecurity/inc/gpg/SEInitializer.hxx
@@ -20,7 +20,7 @@
 
 namespace com::sun::star::xml::crypto { class XXMLSecurityContext; }
 
-class XSECXMLSEC_DLLPUBLIC SEInitializerGpg : public cppu::WeakImplHelper
+class XSECXMLSEC_DLLPUBLIC SEInitializerGpg final : public cppu::WeakImplHelper
 <
     css::xml::crypto::XSEInitializer,
     css::lang::XServiceInfo
diff --git a/xmlsecurity/inc/gpg/xmlsignature_gpgimpl.hxx b/xmlsecurity/inc/gpg/xmlsignature_gpgimpl.hxx
index 15d58528d805..39c8496f2218 100644
--- a/xmlsecurity/inc/gpg/xmlsignature_gpgimpl.hxx
+++ b/xmlsecurity/inc/gpg/xmlsignature_gpgimpl.hxx
@@ -36,7 +36,7 @@ namespace com::sun::star::xml::crypto { class XXMLSecurityContext; }
 namespace com::sun::star::lang { class XMultiServiceFactory; }
 
 
-class XSECXMLSEC_DLLPUBLIC XMLSignature_GpgImpl : public ::cppu::WeakImplHelper<
+class XSECXMLSEC_DLLPUBLIC XMLSignature_GpgImpl final : public ::cppu::WeakImplHelper<
     css::xml::crypto::XXMLSignature ,
     css::lang::XServiceInfo >
 {
diff --git a/xmlsecurity/inc/macrosecurity.hxx b/xmlsecurity/inc/macrosecurity.hxx
index 88d1c18a325d..ef17e3b20efe 100644
--- a/xmlsecurity/inc/macrosecurity.hxx
+++ b/xmlsecurity/inc/macrosecurity.hxx
@@ -32,7 +32,7 @@ namespace xml { namespace crypto {
 
 class MacroSecurityTP;
 
-class MacroSecurity : public weld::GenericDialogController
+class MacroSecurity final : public weld::GenericDialogController
 {
 private:
     friend class MacroSecurityLevelTP;
diff --git a/xmlsecurity/inc/xmlsec/xmldocumentwrapper_xmlsecimpl.hxx b/xmlsecurity/inc/xmlsec/xmldocumentwrapper_xmlsecimpl.hxx
index 86b60f33cb57..ed984cfa176e 100644
--- a/xmlsecurity/inc/xmlsec/xmldocumentwrapper_xmlsecimpl.hxx
+++ b/xmlsecurity/inc/xmlsec/xmldocumentwrapper_xmlsecimpl.hxx
@@ -34,7 +34,7 @@
 
 #include <libxml/tree.h>
 
-class XSECXMLSEC_DLLPUBLIC XMLDocumentWrapper_XmlSecImpl : public cppu::WeakImplHelper
+class XSECXMLSEC_DLLPUBLIC XMLDocumentWrapper_XmlSecImpl final : public cppu::WeakImplHelper
 <
     css::xml::wrapper::XXMLDocumentWrapper,
     css::xml::sax::XDocumentHandler,
diff --git a/xmlsecurity/inc/xmlsignaturehelper2.hxx b/xmlsecurity/inc/xmlsignaturehelper2.hxx
index 340d1e54dd1c..928ea19ed3fa 100644
--- a/xmlsecurity/inc/xmlsignaturehelper2.hxx
+++ b/xmlsecurity/inc/xmlsignaturehelper2.hxx
@@ -37,7 +37,7 @@ namespace embed {
 
 // XUriBinding
 
-class UriBindingHelper : public cppu::WeakImplHelper< css::xml::crypto::XUriBinding >
+class UriBindingHelper final : public cppu::WeakImplHelper< css::xml::crypto::XUriBinding >
 {
 private:
     css::uno::Reference < css::embed::XStorage > mxStorage;
diff --git a/xmlsecurity/inc/xsecctl.hxx b/xmlsecurity/inc/xsecctl.hxx
index 351c94a2a3e6..eed8b9782870 100644
--- a/xmlsecurity/inc/xsecctl.hxx
+++ b/xmlsecurity/inc/xsecctl.hxx
@@ -91,7 +91,7 @@ public:
     }
 };
 
-class XSecController : public cppu::WeakImplHelper
+class XSecController final : public cppu::WeakImplHelper
 <
     css::xml::crypto::sax::XSAXEventKeeperStatusChangeListener,
     css::xml::crypto::sax::XSignatureCreationResultListener,


More information about the Libreoffice-commits mailing list