public override AstNode VisitSelection_statement([NotNull] GLSL_ES300Parser.Selection_statementContext context) { var result = new StatementIf(); result.Condition = (Expression)this.Visit(context.expression()); var statements = context.statement(); result.Then = (Statement)this.Visit(statements[0]); if (statements.Length > 1) { result.Else = (Statement)this.Visit(statements[1]); } return(result); }
/// <summary> /// Visit a parse tree produced by <see cref="GLSL_ES300Parser.selection_statement"/>. /// <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 VisitSelection_statement([NotNull] GLSL_ES300Parser.Selection_statementContext context) { return(VisitChildren(context)); }