CMS 3D CMS Logo

EDMPluginDumper.cc
Go to the documentation of this file.
1 #include "EDMPluginDumper.h"
2 #include <iostream>
3 #include <fstream>
4 #include <iterator>
5 #include <string>
6 #include <algorithm>
7 
8 using namespace clang;
9 using namespace clang::ento;
10 using namespace llvm;
11 
12 namespace clangcms {
13 
14 void EDMPluginDumper::checkASTDecl(const clang::ClassTemplateDecl *TD,clang::ento::AnalysisManager& mgr,
15  clang::ento::BugReporter &BR ) const {
16 
17  std::string tname = TD->getTemplatedDecl()->getQualifiedNameAsString();
18  if ( tname == "edm::WorkerMaker" ) {
19  for ( auto I = TD->spec_begin(), E = TD->spec_end(); I != E; ++I) {
20  for (unsigned J = 0, F = I->getTemplateArgs().size(); J!=F; ++J) {
21  llvm::SmallString<100> buf;
22  llvm::raw_svector_ostream os(buf);
23  I->getTemplateArgs().get(J).print(mgr.getASTContext().getPrintingPolicy(),os);
24  std::string rname = os.str();
25  std::string fname("plugins.txt.unsorted");
26  std::string ostring = rname +"\n";
27  support::writeLog(ostring,fname);
28  }
29  }
30  }
31 
32 } //end class
33 
34 
35 }//end namespace
36 
37 
static char const * tname
Definition: GTSchema.h:13
const std::complex< double > I
Definition: I.h:8
string fname
main script
void writeLog(const std::string &ostring, const std::string &tfstring)
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
Definition: blowfish.cc:281