public override void VisitPatternDeclaration(PatternDeclaration node) { base.VisitPatternDeclaration(node); if (_position > node.Patterns.TextStart) { _binder.AddDeclarationsToLocalScope(node.Parameters); if (node.PathParameter != null) { _binder.AddDeclarationToLocalScope(node.PathParameter.Parameter.Name); } } }
private PatternDeclaration ParsePatternDeclaration() { var start = TakeKeyword(Keyword._Pattern); var name = ParseName(); List<OptionDeclaration> options; List<SourceDeclaration> sources; ParseOptionList(out options, out sources); var body = ParseScope(); if (sources.Count == 0) AddError(Severity.Error, "At least 1 Source is required. Use the 'Source' keyword.", CreateSpan(_current.Span.Start, _tokens.Last().Span.End)); var test = new PatternDeclaration(CreateSpan(start), name, options, sources, body); return test; }
public override T VisitPatternDeclaration(PatternDeclaration node) { throw new NotImplementedException(); }