From 1975334ec23cf36e11e6fb4676a6236875660cff Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Wed, 29 Aug 2012 08:35:37 +0200 Subject: [PATCH] Preliminary support for custom reactions --- src/visualizer.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/visualizer.cpp b/src/visualizer.cpp index 0d8f64f..0e4e74c 100644 --- a/src/visualizer.cpp +++ b/src/visualizer.cpp @@ -277,6 +277,18 @@ public: Model::Transition *T = new Model::Transition(SrcState->getName(), DstState->getName(), Event->getName()); model.transitions.push_back(T); + } else if (name == "boost::statechart::custom_reaction") { + const Type *EventType = TST->getArg(0).getAsType().getTypePtr(); + CXXRecordDecl *Event = EventType->getAsCXXRecordDecl(); + + Model::Transition *T = new Model::Transition(SrcState->getName(), "\"???\"", Event->getName()); + model.transitions.push_back(T); + } else if (name == "boost::statechart::deferral") { + const Type *EventType = TST->getArg(0).getAsType().getTypePtr(); + CXXRecordDecl *Event = EventType->getAsCXXRecordDecl(); + + Model::Transition *T = new Model::Transition(SrcState->getName(), "\"??? deferral\"", Event->getName()); + model.transitions.push_back(T); } else if (name == "boost::mpl::list") { for (TemplateSpecializationType::iterator Arg = TST->begin(), End = TST->end(); Arg != End; ++Arg) HandleReaction(Arg->getAsType().getTypePtr(), Loc, SrcState); -- 2.39.2