private void StyleCopIssueProvider_CheckCodeIssues(object sender, CheckCodeIssuesEventArgs ea) { if (this.checkForSuppressions && ea.IsSuppressed(ea.Scope)) { return; } var scope = ea.Scope as SourceFile; if (scope == null) { return; } var project = scope.Project as ProjectElement; if (project == null) { return; } ISourceCode sourceCode = this.SetupSourceCode(scope); foreach (var violationList in this.styleCopRunner.GetViolations(project, sourceCode).Values) { foreach (var violation in violationList) { IStyleCopRule rule = this.issuesFactory.GetRuleFor(violation); rule.AddViolationIssue(ea, sourceCode, violation); } } }
private void closureScopeIssueProvider_CheckCodeIssues(object sender, CheckCodeIssuesEventArgs ea) { if (ea.IsSuppressed(ea.Scope)) { return; } foreach (IElement loop in ea.GetEnumerable(ea.Scope, new LoopFilter())) { var forEachLoop = loop as IForEachStatement; if (forEachLoop != null) { foreach (IElement lambda in ea.GetEnumerable(forEachLoop, new LambdaFilter())) { var lambdaElement = lambda as IAnonymousMethodExpression; if (lambdaElement == null) { continue; } foreach (IElement element in lambdaElement.Children) { CheckIssuesForReferencedLocalOrField(ea, forEachLoop, lambdaElement, element); } } } var forLoop = loop as IForStatement; if (forLoop != null) { foreach (IElement lambda in ea.GetEnumerable(forLoop, new LambdaFilter())) { var lambdaElement = lambda as IAnonymousMethodExpression; if (lambdaElement == null) { continue; } foreach (IElement element in lambdaElement.Children) { CheckIssuesForReferencedLocalOrField(ea, forLoop, lambdaElement, element); } } } } }
private void wrongNamespaceIssueProvider_CheckCodeIssues(object sender, CheckCodeIssuesEventArgs ea) { if (ea.IsSuppressed(ea.Scope)) { return; } var scope = ea.Scope as SourceFile; if (scope == null) { return; } var project = scope.Project as ProjectElement; if (project == null) { return; } string path = scope.FilePath; string expectedNamespace = ExpectedNamespace(project, path); var issueRanges = new HashSet <TextRange>(); foreach (IElement element in ea.GetEnumerable(ea.Scope, ElementFilters.Namespace)) { var namespaceElement = element as INamespaceElement; if (namespaceElement == null) { continue; } if (NamespaceShouldBeUpdated(scope, namespaceElement, expectedNamespace)) { foreach (var fullNameRange in GetWrongNamespaceNameRanges(scope, namespaceElement)) { issueRanges.Add(fullNameRange); } } } foreach (TextRange range in issueRanges) { ea.AddHint(range, "Namespace is not default", 10); } }
private void StackOverflowInGetterIssueProvider_CheckCodeIssues(object sender, CheckCodeIssuesEventArgs ea) { if (ea.IsSuppressed(ea.Scope)) { return; } foreach (IElement element in ea.GetEnumerable(ea.Scope, ElementFilters.Property)) { var propertyElement = element as IPropertyElement; if (propertyElement == null) { continue; } Property property = (Property)propertyElement.ToLanguageElement(); if (property == null) { continue; } if (property.Getter != null) { foreach (LanguageElement getterElement in property.Getter.Nodes) { CheckIssuesForPropertyReturn(ea, property, getterElement); } } if (property.Setter != null) { foreach (LanguageElement setterElement in property.Setter.Nodes) { CheckIssuesForPropertyAssignment(ea, property, setterElement); } } } }
private void wrongNamespaceIssueProvider_CheckCodeIssues(object sender, CheckCodeIssuesEventArgs ea) { if (ea.IsSuppressed(ea.Scope)) return; var scope = ea.Scope as SourceFile; if (scope == null) return; var project = scope.Project as ProjectElement; if (project == null) return; string path = scope.FilePath; string expectedNamespace = ExpectedNamespace(project, path); var issueRanges = new HashSet<TextRange>(); foreach (IElement element in ea.GetEnumerable(ea.Scope, ElementFilters.Namespace)) { var namespaceElement = element as INamespaceElement; if (namespaceElement == null) continue; if (NamespaceShouldBeUpdated(scope, namespaceElement, expectedNamespace)) { foreach (var fullNameRange in GetWrongNamespaceNameRanges(scope, namespaceElement)) { issueRanges.Add(fullNameRange); } } } foreach (TextRange range in issueRanges) { ea.AddHint(range, "Namespace is not default", 10); } }
private void closureScopeIssueProvider_CheckCodeIssues(object sender, CheckCodeIssuesEventArgs ea) { if (ea.IsSuppressed(ea.Scope)) return; foreach (IElement loop in ea.GetEnumerable(ea.Scope, new LoopFilter())) { var forEachLoop = loop as IForEachStatement; if (forEachLoop != null) { foreach (IElement lambda in ea.GetEnumerable(forEachLoop, new LambdaFilter())) { var lambdaElement = lambda as IAnonymousMethodExpression; if (lambdaElement == null) continue; foreach (IElement element in lambdaElement.Children) { CheckIssuesForReferencedLocalOrField(ea, forEachLoop, lambdaElement, element); } } } var forLoop = loop as IForStatement; if (forLoop != null) { foreach (IElement lambda in ea.GetEnumerable(forLoop, new LambdaFilter())) { var lambdaElement = lambda as IAnonymousMethodExpression; if (lambdaElement == null) continue; foreach (IElement element in lambdaElement.Children) { CheckIssuesForReferencedLocalOrField(ea, forLoop, lambdaElement, element); } } } } }