summaryrefslogtreecommitdiff
path: root/compilerplugins/clang/sharedvisitor
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-07-16 14:54:14 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-07-17 09:56:25 +0200
commit8e3f4317823aa83e0ad9e7dc008a1550ef3c9798 (patch)
treeb4bf7ece126d0b7838cc8d27fc1a081fe5b01abe /compilerplugins/clang/sharedvisitor
parente557bd4eb73ecee802c724c7f7f16ad8b3793bed (diff)
make overrridevirtual a shared plugin
Change-Id: Ied3b772bdd54cb0e8d6214e7a51866364523b83b Reviewed-on: https://gerrit.libreoffice.org/75742 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'compilerplugins/clang/sharedvisitor')
-rw-r--r--compilerplugins/clang/sharedvisitor/sharedvisitor.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/compilerplugins/clang/sharedvisitor/sharedvisitor.cxx b/compilerplugins/clang/sharedvisitor/sharedvisitor.cxx
index ed07569f5431..f3fe66c98fa2 100644
--- a/compilerplugins/clang/sharedvisitor/sharedvisitor.cxx
+++ b/compilerplugins/clang/sharedvisitor/sharedvisitor.cxx
@@ -25,6 +25,7 @@
#include "../inlinevisible.cxx"
#include "../loopvartoosmall.cxx"
#include "../overrideparam.cxx"
+#include "../overridevirtual.cxx"
#include "../pointerbool.cxx"
#include "../privatebase.cxx"
#include "../rangedforcopy.cxx"
@@ -82,6 +83,7 @@ public:
, inlineVisible( nullptr )
, loopVarTooSmall( nullptr )
, overrideParam( nullptr )
+ , overrideVirtual( nullptr )
, pointerBool( nullptr )
, privateBase( nullptr )
, rangedForCopy( nullptr )
@@ -140,6 +142,8 @@ public:
loopVarTooSmall = nullptr;
if( overrideParam && !overrideParam->preRun())
overrideParam = nullptr;
+ if( overrideVirtual && !overrideVirtual->preRun())
+ overrideVirtual = nullptr;
if( pointerBool && !pointerBool->preRun())
pointerBool = nullptr;
if( privateBase && !privateBase->preRun())
@@ -226,6 +230,8 @@ public:
loopVarTooSmall->postRun();
if( overrideParam )
overrideParam->postRun();
+ if( overrideVirtual )
+ overrideVirtual->postRun();
if( pointerBool )
pointerBool->postRun();
if( privateBase )
@@ -318,6 +324,8 @@ public:
loopVarTooSmall = static_cast< LoopVarTooSmall* >( plugin );
else if( strcmp( name, "overrideparam" ) == 0 )
overrideParam = static_cast< OverrideParam* >( plugin );
+ else if( strcmp( name, "overridevirtual" ) == 0 )
+ overrideVirtual = static_cast< OverrideVirtual* >( plugin );
else if( strcmp( name, "pointerbool" ) == 0 )
pointerBool = static_cast< PointerBool* >( plugin );
else if( strcmp( name, "privatebase" ) == 0 )
@@ -549,6 +557,11 @@ public:
if( !overrideParam->VisitCXXMethodDecl( arg ))
overrideParam = nullptr;
}
+ if( overrideVirtual != nullptr )
+ {
+ if( !overrideVirtual->VisitCXXMethodDecl( arg ))
+ overrideVirtual = nullptr;
+ }
if( typedefParam != nullptr )
{
if( !typedefParam->VisitCXXMethodDecl( arg ))
@@ -1130,6 +1143,7 @@ private:
|| inlineVisible != nullptr
|| loopVarTooSmall != nullptr
|| overrideParam != nullptr
+ || overrideVirtual != nullptr
|| pointerBool != nullptr
|| privateBase != nullptr
|| rangedForCopy != nullptr
@@ -1172,6 +1186,7 @@ private:
InlineVisible* inlineVisible;
LoopVarTooSmall* loopVarTooSmall;
OverrideParam* overrideParam;
+ OverrideVirtual* overrideVirtual;
PointerBool* pointerBool;
PrivateBase* privateBase;
RangedForCopy* rangedForCopy;