int nwarnings;
int nnotes;
int nignored;
+ int nerrors;
public:
MyDiagnosticClient(llvm::raw_ostream &os, const DiagnosticOptions &diags, bool OwnsOutputStream = false):TextDiagnosticPrinter(os, diags, OwnsOutputStream = false)
{
nwarnings=0;
nnotes=0;
nignored=0;
+ nerrors = 0;
}
virtual void HandleDiagnostic(Diagnostic::Level DiagLevel, const DiagnosticInfo &Info)
{
case 0 : nignored+=1; break;
case 1 : nnotes+=1; break;
case 2 : nwarnings+=1; break;
- default : print_stats(); exit(1);
+ default : nerrors+=1;
+ print_stats();
+ exit(1);
}
}
cout<<"Number of ignored: "<<nignored<<"\n";
cout<<"Number of notes: "<<nnotes<<"\n";
cout<<"Number of warnings: "<<nwarnings<<"\n";
- cout<<"Number of errors and fatal errors: "<<1<<"\n";
+ cout<<"Number of errors and fatal errors: "<<nerrors<<"\n";
}
int getNbrOfWarnings()
loc = decl->getLocation();
if(loc.isValid())
{
- //cout<<decl->getKind()<<"ss\n";
if(decl->getKind()==35)
{
method_decl(decl);
line = get_line_of_code(x.str());
output = "";
int pos;
- const NamedDecl *namedDecl = dyn_cast<NamedDecl>(decl);
+ const NamedDecl *namedDecl = dyn_cast<NamedDecl>(decl);
if(is_derived(line))
{
const CXXRecordDecl *cRecDecl = dyn_cast<CXXRecordDecl>(decl);
mdc->BeginSourceFile(lang, &pp);//start using diagnostic
ParseAST(pp, &c, ctx, false, false);
mdc->EndSourceFile(); //end using diagnostic
- IO_operations *io = new IO_operations(outputFilename, c.getStateMachine(), c.getNameOfFirstState(), c.getTransitions(), c.getStates(), c.getEvents());
+ IO_operations *io = new IO_operations(outputFilename, c.getStateMachine(), c.getNameOfFirstState(), c.getTransitions(), c.getStates(), c.getEvents());
io->save_to_file();
io->print_stats();
mdc->print_stats();