public FuncDefStmtNode(string Name, ParamsNode Parameters, string Type, SuiteNode Body) { this.Name = Name; this.Parameters = Parameters; this.Type = Type; this.Body = Body; }
/// <summary> /// Visits the test parameters block /// </summary> /// <param name="line">Line to add the tag for</param> /// <param name="context">ParamsNode to visit</param> /// <param name="lineNo">Current line numer</param> /// <param name="collectedSpans">Collection of spans found</param> private void Visit(ITextSnapshotLine line, ParamsNode context, int lineNo, List <TagSpan <Z80TestTokenTag> > collectedSpans) { if (context == null || lineNo < context.Span.StartLine || lineNo > context.Span.EndLine) { return; } Visit(line, context.ParamsKeywordSpan, lineNo, collectedSpans, Z80TestTokenType.Keyword); foreach (var id in context.Ids) { Visit(line, id.Span, lineNo, collectedSpans, Z80TestTokenType.Identifier); } }
public void Visit(ParamsNode node) { var notFirst = false; foreach (var param in node.Children) { if (notFirst) { source.Append(", "); } notFirst = true; param.Visit(this); } }
/// <summary> /// Visit a parse tree produced by <see cref="Z80TestParser.testParams"/>. /// <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 override object VisitTestParams(Z80TestParser.TestParamsContext context) { if (IsInvalidContext(context)) { return(null); } var node = new ParamsNode(context); foreach (var id in context.IDENTIFIER()) { node.Ids.Add(new IdentifierNameNode(id)); } return(node); }
/// <summary> /// Visits the test parameters block /// </summary> /// <param name="line">Line to add the tag for</param> /// <param name="context">ParamsNode to visit</param> /// <param name="lineNo">Current line number</param> /// <param name="collectedSpans">Collection of spans found</param> private void Visit(ITextSnapshotLine line, ParamsNode context, int lineNo, List <ClassificationSpan> collectedSpans) { if (context == null || lineNo < context.Span.StartLine || lineNo > context.Span.EndLine) { return; } Visit(line, context.ParamsKeywordSpan, lineNo, collectedSpans, _keyword); foreach (var id in context.Ids) { Visit(line, id.Span, lineNo, collectedSpans, _keyword); } }
/// <summary> /// Visits the parameters of a test block /// </summary> /// <param name="plan">Test file plan</param> /// <param name="testBlock">TestBlockPlan to visit</param> /// <param name="paramsNode">Parameters syntax node</param> private void VisitTestParameters(TestFilePlan plan, TestBlockPlan testBlock, ParamsNode paramsNode) { if (paramsNode == null) { return; } foreach (var param in paramsNode.Ids) { if (testBlock.ContainsParameter(param.Id)) { ReportError(Errors.T0008, plan, param.Span, param.Id); continue; } testBlock.AddParameter(param.Id); } }
public void Visit(ParamsNode node) { visitor.OnVisit((n, v) => Result = IsSameChildren(n, node)); reference.Visit(visitor); }
public CtorDefStmtNode(ParamsNode Parameters, SuiteNode Body) { this.Parameters = Parameters; this.Body = Body; }