diff --git a/LanguageRecogniser/Cpp/CppActivityDiagramVisitor.cs b/LanguageRecogniser/Cpp/CppActivityDiagramVisitor.cs index d6844ccbdc68eb8f8b6f6264b6a11668d56fb4a5..3fdd30f31ded1c1c8d7f89a73bc31dca1bdc631c 100644 --- a/LanguageRecogniser/Cpp/CppActivityDiagramVisitor.cs +++ b/LanguageRecogniser/Cpp/CppActivityDiagramVisitor.cs @@ -99,15 +99,18 @@ public class CppActivityDiagramVisitor : CPP14ParserBaseVisitor<object> public override object VisitCompoundStatement(CPP14Parser.CompoundStatementContext context) { - foreach (var statement in context.statementSeq().statement()) + if(context.statementSeq() != null) { - var text = Visit(statement); - - if (text != null) + foreach (var statement in context.statementSeq().statement()) { - var pop = _decisionBuilderStack.Pop(); - var push = pop.Item1.AddAction(text.ToString(), pop.Item2.Peek()); - _decisionBuilderStack.Push((push, pop.Item2)); + var text = Visit(statement); + + if (text != null) + { + var pop = _decisionBuilderStack.Pop(); + var push = pop.Item1.AddAction(text.ToString(), pop.Item2.Peek()); + _decisionBuilderStack.Push((push, pop.Item2)); + } } } return null;