]> rtime.felk.cvut.cz Git - boost-statechart-viewer.git/blobdiff - src/visualizer.cpp
Add creation of the transition table. Now the program can show the state machine...
[boost-statechart-viewer.git] / src / visualizer.cpp
index 0c7b7f74de2af76f125501c744a3e9c8a0f6506f..b24fccac2fa360fef83b35ff88f2af846fe25d1c 100644 (file)
@@ -53,12 +53,14 @@ class MyDiagnosticClient : public TextDiagnosticPrinter // My diagnostic Client
        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)
        {
@@ -68,7 +70,9 @@ class MyDiagnosticClient : public TextDiagnosticPrinter // My diagnostic Client
                        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);
                }
        }
        
@@ -78,7 +82,7 @@ class MyDiagnosticClient : public TextDiagnosticPrinter // My diagnostic Client
                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()
@@ -152,7 +156,6 @@ class FindStates : public ASTConsumer
                        loc = decl->getLocation();
                        if(loc.isValid())
                        {
-                               //cout<<decl->getKind()<<"ss\n";
                                if(decl->getKind()==35)
                                {                                       
                                        method_decl(decl);
@@ -218,7 +221,7 @@ class FindStates : public ASTConsumer
                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);
@@ -452,7 +455,7 @@ int main(int argc, char **argv)
        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();