bump product version to 6.3.0.0.beta1
[LibreOffice.git] / compilerplugins / clang / sallogareas.hxx
blobb9f57bdd4d6c75d1af0b273141e8849f334e3e92
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * Based on LLVM/Clang.
7 * This file is distributed under the University of Illinois Open Source
8 * License. See LICENSE.TXT for details.
12 #ifndef SALLOGAREAS_H
13 #define SALLOGAREAS_H
15 #include <set>
17 #include "plugin.hxx"
19 namespace loplugin
22 class SalLogAreas
23 : public FilteringPlugin< SalLogAreas >
25 public:
26 explicit SalLogAreas( const InstantiationData& data );
27 virtual void run() override;
28 bool VisitFunctionDecl( const FunctionDecl* function );
29 bool VisitCallExpr( const CallExpr* call );
30 private:
31 void checkArea( StringRef area, SourceLocation location );
32 void checkAreaSyntax(StringRef area, SourceLocation location);
33 void readLogAreas();
34 const FunctionDecl* inFunction;
35 SourceLocation lastSalDetailLogStreamMacro;
36 std::set< std::string > logAreas;
37 #if 0
38 std::string firstSeenLogArea;
39 SourceLocation firstSeenLocation;
40 #endif
43 } // namespace
45 #endif // SALLOGAREAS_H
47 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */