public override object VisitRos_message(RosMessageParser.Ros_messageContext context) { var messageDescriptor = new MessageDescriptor(); for (int i = 0; i < context.ChildCount; ++i) { var result = Visit(context.GetChild(i)); if (result is FieldDescriptor field) { messageDescriptor.AddField(field); } if (result is ConstantDescriptor constant) { messageDescriptor.AddConstant(constant); } if (result is string comment) { messageDescriptor.AddComment(comment); } } _listener.OnVisitRosMessage(messageDescriptor); return(messageDescriptor); }
/// <summary> /// Visit a parse tree produced by <see cref="RosMessageParser.ros_message"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitRos_message([NotNull] RosMessageParser.Ros_messageContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="RosMessageParser.ros_message"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitRos_message([NotNull] RosMessageParser.Ros_messageContext context) { }