public IReadOnlyList <DiagnosticsEntry> Lint(IDocumentAnalysis analysis, IServiceContainer services) { var w = new UndefinedVariablesWalker(analysis, services); analysis.Ast.Walk(w); return(w.Diagnostics); }
public LambdaWalker(UndefinedVariablesWalker walker) { _walker = walker; }
/// <summary> /// Creates walker for detection of undefined variables. /// </summary> /// <param name="walker">Undefined variables walker.</param> /// <param name="localNames">Locally defined names, such as variables in a comprehension.</param> /// <param name="localNameExpressions">Name nodes for local names.</param> public ExpressionWalker(UndefinedVariablesWalker walker, IEnumerable <string> localNames, IEnumerable <NameExpression> localNameExpressions) { _walker = walker; _localNames = new HashSet <string>(localNames ?? Enumerable.Empty <string>()); _localNameExpressions = new HashSet <NameExpression>(localNameExpressions ?? Enumerable.Empty <NameExpression>()); }
public ExpressionWalker(UndefinedVariablesWalker walker) : this(walker, null, null) { }
public ComprehensionWalker(UndefinedVariablesWalker walker, HashSet <string> localNames, HashSet <NameExpression> localNameNodes) { _walker = walker; _localNames = localNames; _localNameNodes = localNameNodes; }
/// <summary> /// Creates walker for detection of undefined variables. /// </summary> /// <param name="walker">Undefined variables walker.</param> /// <param name="localNames">Locally defined names, such as variables in a comprehension.</param> /// <param name="localNameNodes">Name nodes for local names.</param> public ExpressionWalker(UndefinedVariablesWalker walker, HashSet <string> localNames, HashSet <NameExpression> localNameNodes) { _walker = walker; _localNames = localNames ?? new HashSet <string>(); _localNameNodes = localNameNodes ?? new HashSet <NameExpression>(); }