Files
libreoffice/compilerplugins/clang/sallogareas.hxx
Luboš Luňák 153a69cad2 pass around CompilerInstance rather than ASTContext
It's possible to get the latter from the former, and the former
is useful for other things too (access to the preprocessor, for example).

Change-Id: I708d709129fd3a35bf7c63da4de09c2e696b382d
2013-03-28 18:01:00 +01:00

41 lines
887 B
C++

/*
* This file is part of the LibreOffice project.
*
* Based on LLVM/Clang.
*
* This file is distributed under the University of Illinois Open Source
* License. See LICENSE.TXT for details.
*
*/
#ifndef SALLOGAREAS_H
#define SALLOGAREAS_H
#include <set>
#include "plugin.hxx"
namespace loplugin
{
class SalLogAreas
: public RecursiveASTVisitor< SalLogAreas >
, public Plugin
{
public:
explicit SalLogAreas( CompilerInstance& compiler );
virtual void run();
bool VisitFunctionDecl( FunctionDecl* function );
bool VisitCallExpr( CallExpr* call );
private:
void checkArea( StringRef area, SourceLocation location );
void readLogAreas();
const FunctionDecl* inFunction;
SourceLocation lastSalDetailLogStreamMacro;
set< string > logAreas;
};
} // namespace
#endif // SALLOGAREAS_H