]> rtime.felk.cvut.cz Git - boost-statechart-viewer.git/blobdiff - src/visualizer.cpp
Add more error messages and TODOs (for Camera example)
[boost-statechart-viewer.git] / src / visualizer.cpp
index c238ba5021aa9f4462ed211769c0d302b2597e7b..4ee95b96ded9c03f3c2339af258f7e7359a7eb3a 100644 (file)
@@ -245,6 +245,7 @@ public:
 
     void HandleReaction(const Type *T, const SourceLocation Loc, CXXRecordDecl *SrcState)
     {
+       // TODO: Improve Loc tracking
        if (const ElaboratedType *ET = dyn_cast<ElaboratedType>(T))
            HandleReaction(ET->getNamedType().getTypePtr(), Loc, SrcState);
        else if (const TemplateSpecializationType *TST = dyn_cast<TemplateSpecializationType>(T)) {
@@ -260,8 +261,8 @@ public:
            } else if (name == "boost::mpl::list") {
                for (TemplateSpecializationType::iterator Arg = TST->begin(), End = TST->end(); Arg != End; ++Arg)
                    HandleReaction(Arg->getAsType().getTypePtr(), Loc, SrcState);
-           }
-           //->getDecl()->getQualifiedNameAsString();
+           } else
+               Diag(Loc, diag_unhandled_reaction_type) << name;
        } else
            Diag(Loc, diag_unhandled_reaction_type) << T->getTypeClassName();
     }
@@ -306,6 +307,7 @@ public:
            Model::Context *c = model.findContext(Context->getName());
            if (c)
                c->add(state);
+           // TODO: else
 
            if (CXXRecordDecl *InnerInitialState = getTemplateArgDecl(Base->getType().getTypePtr(), 2))
                state->setInitialInnerState(InnerInitialState->getName());