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 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);
                }
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 7
0
        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);
                        }
                    }
                }
            }
        }