Ejemplo n.º 1
0
        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)
 {
 }
Ejemplo n.º 5
0
 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>();
 }