/// <exception cref="ArgumentNullException"> /// <paramref name="context" /> or <paramref name="code" /> or /// <paramref name="conditionExpression" /> is <c>null</c>. /// </exception> internal LSLIfStatementNode(LSLParser.ControlStructureContext context, LSLCodeScopeNode code, ILSLExprNode conditionExpression) { if (context == null) { throw new ArgumentNullException("context"); } if (code == null) { throw new ArgumentNullException("code"); } if (conditionExpression == null) { throw new ArgumentNullException("conditionExpression"); } Code = code; Code.Parent = this; Code.CodeScopeType = LSLCodeScopeType.If; ConditionExpression = conditionExpression; ConditionExpression.Parent = this; SourceRangeIfKeyword = new LSLSourceCodeRange(context.if_keyword); SourceRangeOpenParenth = new LSLSourceCodeRange(context.open_parenth); SourceRangeCloseParenth = new LSLSourceCodeRange(context.close_parenth); SourceRange = new LSLSourceCodeRange(SourceRangeIfKeyword, code.SourceRange); SourceRangesAvailable = true; }
/// <exception cref="ArgumentNullException"><paramref name="context" /> is <c>null</c>.</exception> internal LSLControlStatementNode(LSLParser.ControlStructureContext context) { if (context == null) { throw new ArgumentNullException("context"); } SourceRange = new LSLSourceCodeRange(context); SourceRangesAvailable = true; }
/// <summary> /// Exit a parse tree produced by <see cref="LSLParser.controlStructure"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitControlStructure([NotNull] LSLParser.ControlStructureContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="LSLParser.controlStructure"/>. /// <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 VisitControlStructure([NotNull] LSLParser.ControlStructureContext context) { return(VisitChildren(context)); }