summaryrefslogtreecommitdiff
path: root/compilerplugins/clang
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2014-06-09 11:36:13 +0200
committerNoel Grandin <noel@peralex.com>2014-06-09 11:37:17 +0200
commit6921edd448c901cdc9e132886b5b102bdd368ad9 (patch)
tree57bb49bfb81c94578cdbee03b99fe081a7592a79 /compilerplugins/clang
parentd92c199664a122b46ef0d3a64261fe05a84edb20 (diff)
compile fix
after my commit 184a00b96235f6432294ded63ce4a4a318effdb5 "loplugin: inlinesimplememberfunctions" Change-Id: Ib46d862b90566506c3035a12eeb01892b225ed51
Diffstat (limited to 'compilerplugins/clang')
-rw-r--r--compilerplugins/clang/inlinesimplememberfunctions.cxx30
1 files changed, 28 insertions, 2 deletions
diff --git a/compilerplugins/clang/inlinesimplememberfunctions.cxx b/compilerplugins/clang/inlinesimplememberfunctions.cxx
index cd5aa238b66e..0d4428c843dc 100644
--- a/compilerplugins/clang/inlinesimplememberfunctions.cxx
+++ b/compilerplugins/clang/inlinesimplememberfunctions.cxx
@@ -153,6 +153,32 @@ bool InlineSimpleMemberFunctions::VisitCXXMethodDecl(const CXXMethodDecl * funct
MemberExpr
CXXThisExpr
*/
+ childStmt = *(*compoundStmt->child_begin())->child_begin();
+ while (1) {
+ if (! oneAndOnlyOne( childStmt->children() ))
+ return true;
+ if (dyn_cast<CXXThisExpr>( childStmt ) != nullptr) {
+
+ compoundStmt->dump();
+ if (!rewrite(functionDecl))
+ {
+ report(
+ DiagnosticsEngine::Warning,
+ "inlinesimpleaccessmethods",
+ functionDecl->getSourceRange().getBegin())
+ << functionDecl->getSourceRange();
+ // display the location of the class member declaration
+ report(
+ DiagnosticsEngine::Note,
+ "inlinesimpleaccessmethods",
+ functionDecl->getCanonicalDecl()->getSourceRange().getBegin())
+ << functionDecl->getCanonicalDecl()->getSourceRange();
+ }
+ return true;
+ }
+ childStmt = *childStmt->child_begin();
+ }
+/*
if (dyn_cast<ImplicitCastExpr>( childStmt ) != nullptr
&& oneAndOnlyOne( childStmt->children() ))
{
@@ -182,7 +208,7 @@ bool InlineSimpleMemberFunctions::VisitCXXMethodDecl(const CXXMethodDecl * funct
}
}
}
-
+*/
return true;
}
@@ -288,7 +314,7 @@ bool InlineSimpleMemberFunctions::rewrite(const CXXMethodDecl * functionDecl) {
return replaceText(canonicalDecl->getLocEnd().getLocWithOffset(p2 - p1 + 1), 1, s1);
}
-loplugin::Plugin::Registration< InlineSimpleMemberFunctions > X("inlinesimplememberfunctions");
+loplugin::Plugin::Registration< InlineSimpleMemberFunctions > X("inlinesimplememberfunctions", true);
}