Kaydet (Commit) 948c9c0a authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Use unique class names for better FlameGraph results

...of measuring loplugin performance, when gathering data with perf and all
plugins that used "Visitor" as class name were lumped together.  (Cf.
<https://whatofhow.wordpress.com/2016/06/28/plugin-flamed/>.)

Change-Id: Ie482f443faced7469528da4772e735bc2eda596d
Reviewed-on: https://gerrit.libreoffice.org/43324Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
Tested-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst 10ba813b
......@@ -43,11 +43,11 @@ Expr const * lookThroughInitListExpr(Expr const * expr) {
return expr;
}
class Visitor final:
public RecursiveASTVisitor<Visitor>, public loplugin::Plugin
class CastToVoid final:
public RecursiveASTVisitor<CastToVoid>, public loplugin::Plugin
{
public:
explicit Visitor(InstantiationData const & data): Plugin(data) {}
explicit CastToVoid(InstantiationData const & data): Plugin(data) {}
bool TraverseCStyleCastExpr(CStyleCastExpr * expr) {
auto const dre = checkCast(expr);
......@@ -325,13 +325,13 @@ private:
DeclRefExpr const * firstConsumption = nullptr;
};
struct CastToVoid {
struct Cast {
ExplicitCastExpr const * cast;
DeclRefExpr const * sub;
};
std::map<VarDecl const *, Usage> vars_;
std::stack<CastToVoid> castToVoid_;
std::stack<Cast> castToVoid_;
std::stack<QualType> returnTypes_;
void run() override {
......@@ -490,7 +490,7 @@ private:
}
};
static loplugin::Plugin::Registration<Visitor> reg("casttovoid");
static loplugin::Plugin::Registration<CastToVoid> reg("casttovoid");
}
......
......@@ -11,11 +11,11 @@
namespace {
class Visitor final:
public RecursiveASTVisitor<Visitor>, public loplugin::Plugin
class DllPrivate final:
public RecursiveASTVisitor<DllPrivate>, public loplugin::Plugin
{
public:
explicit Visitor(InstantiationData const & data): Plugin(data) {}
explicit DllPrivate(InstantiationData const & data): Plugin(data) {}
bool VisitNamedDecl(NamedDecl const * decl) {
if (!decl->getLocation().isInvalid()&&ignoreLocation(decl)) {
......@@ -72,7 +72,7 @@ private:
}
};
static loplugin::Plugin::Registration<Visitor> reg("dllprivate");
static loplugin::Plugin::Registration<DllPrivate> reg("dllprivate");
}
......
......@@ -75,11 +75,11 @@ StringRef vis(Visibility v) {
}
}
class Visitor final:
public RecursiveASTVisitor<Visitor>, public loplugin::Plugin
class DynCastVisibility final:
public RecursiveASTVisitor<DynCastVisibility>, public loplugin::Plugin
{
public:
explicit Visitor(InstantiationData const & data): Plugin(data) {}
explicit DynCastVisibility(InstantiationData const & data): Plugin(data) {}
bool shouldVisitTemplateInstantiations() const { return true; }
......@@ -156,7 +156,8 @@ private:
}
};
static loplugin::Plugin::Registration<Visitor> reg("dyncastvisibility");
static loplugin::Plugin::Registration<DynCastVisibility> reg(
"dyncastvisibility");
}
......
......@@ -13,11 +13,11 @@
namespace {
class Visitor final:
public RecursiveASTVisitor<Visitor>, public loplugin::Plugin
class RedundantCopy final:
public RecursiveASTVisitor<RedundantCopy>, public loplugin::Plugin
{
public:
explicit Visitor(InstantiationData const & data): Plugin(data) {}
explicit RedundantCopy(InstantiationData const & data): Plugin(data) {}
bool VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr const * expr) {
if (ignoreLocation(expr)) {
......@@ -51,7 +51,7 @@ private:
}
};
static loplugin::Plugin::Registration<Visitor> reg("redundantcopy");
static loplugin::Plugin::Registration<RedundantCopy> reg("redundantcopy");
}
......
......@@ -13,11 +13,12 @@
namespace {
class Visitor:
public RecursiveASTVisitor<Visitor>, public loplugin::RewritePlugin
class RedundantInline:
public RecursiveASTVisitor<RedundantInline>, public loplugin::RewritePlugin
{
public:
explicit Visitor(InstantiationData const & data): RewritePlugin(data) {}
explicit RedundantInline(InstantiationData const & data):
RewritePlugin(data) {}
void run() override {
if (compiler.getLangOpts().CPlusPlus) {
......@@ -120,7 +121,7 @@ private:
}
};
loplugin::Plugin::Registration<Visitor> reg("redundantinline", true);
loplugin::Plugin::Registration<RedundantInline> reg("redundantinline", true);
}
......
......@@ -19,11 +19,11 @@ bool isAsciiCharacterLiteral(Expr const * expr) {
return false;
}
class Visitor final:
public RecursiveASTVisitor<Visitor>, public loplugin::Plugin
class SalUnicodeLiteral final:
public RecursiveASTVisitor<SalUnicodeLiteral>, public loplugin::Plugin
{
public:
explicit Visitor(InstantiationData const & data): Plugin(data) {}
explicit SalUnicodeLiteral(InstantiationData const & data): Plugin(data) {}
bool VisitCXXStaticCastExpr(CXXStaticCastExpr const * expr) {
check(expr);
......@@ -89,7 +89,8 @@ private:
}
};
static loplugin::Plugin::Registration<Visitor> reg("salunicodeliteral");
static loplugin::Plugin::Registration<SalUnicodeLiteral> reg(
"salunicodeliteral");
}
......
......@@ -17,11 +17,11 @@
namespace {
class Visitor final:
public RecursiveASTVisitor<Visitor>, public loplugin::Plugin
class SubtleZeroInit final:
public RecursiveASTVisitor<SubtleZeroInit>, public loplugin::Plugin
{
public:
explicit Visitor(InstantiationData const & data): Plugin(data) {}
explicit SubtleZeroInit(InstantiationData const & data): Plugin(data) {}
bool VisitCXXNewExpr(CXXNewExpr const * expr) {
if (ignoreLocation(expr)) {
......@@ -52,7 +52,7 @@ private:
}
};
static loplugin::Plugin::Registration<Visitor> reg("subtlezeroinit");
static loplugin::Plugin::Registration<SubtleZeroInit> reg("subtlezeroinit");
}
......
......@@ -17,11 +17,11 @@
namespace {
class Visitor final:
public RecursiveASTVisitor<Visitor>, public loplugin::Plugin
class UnicodeToChar final:
public RecursiveASTVisitor<UnicodeToChar>, public loplugin::Plugin
{
public:
explicit Visitor(InstantiationData const & data): Plugin(data) {}
explicit UnicodeToChar(InstantiationData const & data): Plugin(data) {}
bool TraverseCStyleCastExpr(CStyleCastExpr * expr) {
subExprs_.push(expr->getSubExpr());
......@@ -81,7 +81,7 @@ private:
std::stack<Expr const *> subExprs_;
};
static loplugin::Plugin::Registration<Visitor> reg("unicodetochar");
static loplugin::Plugin::Registration<UnicodeToChar> reg("unicodetochar");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment