]> rtime.felk.cvut.cz Git - boost-statechart-viewer.git/commitdiff
Problem in printing transitions using custom_reactions (wrong parameter).
authorpetr000 <silhavik.p@gmail.com>
Mon, 7 Nov 2011 22:15:17 +0000 (23:15 +0100)
committerpetr000 <silhavik.p@gmail.com>
Mon, 7 Nov 2011 22:15:17 +0000 (23:15 +0100)
Solved changing a parameter in calling function method_decl.

src/visualizer.cpp

index 1a0af5ac467f996dff2bedf4d5d3d34f29468bc8..522606c2fd558c2634533871243e7c09d2215939 100644 (file)
@@ -288,11 +288,12 @@ class FindStates : public ASTConsumer
                const TagDecl *tagDecl = dyn_cast<TagDecl>(decl);
                const DeclContext *declCont = tagDecl->castToDeclContext(tagDecl);                      
                output="";
+               std::cout<<state<<std::endl;
                for (DeclContext::decl_iterator i = declCont->decls_begin(), e = declCont->decls_end(); i != e; ++i) 
                {
+                       i->print(x);
                        if (i->getKind()==26) // typedefs
                        {
-                               i->print(x);
                                output = x.str();
                                line = clean_spaces(cut_type(output));          
                                ret = find_transitions(state,line);
@@ -320,8 +321,9 @@ class FindStates : public ASTConsumer
                                        output="";
                                }
                        }
-                       if(i->getKind()==35) method_decl(decl);// C++ method
+                       if(i->getKind()==35) method_decl(*i);// C++ method
                }
+               
        }
 
  /**
@@ -331,12 +333,14 @@ class FindStates : public ASTConsumer
        {
                string output, line, event;     
                llvm::raw_string_ostream x(output);
+
                if(decl->hasBody())
                {
                        decl->print(x);
-                       line = get_return(x.str());
+                       line = get_return(x.str());                     
                        if(get_model(line)==5)
                        {
+                               //std::cout<<"metodass"<<std::endl;
                                const FunctionDecl *fDecl = dyn_cast<FunctionDecl>(decl);
                                const ParmVarDecl *pvd = fDecl->getParamDecl(0);
                                QualType qt = pvd->getOriginalType();