Ejemplo n.º 1
0
        //public bool AreEqual(bool p1, bool p2)
        //{
        //	if (p1 = p2)
        //		return true;
        //	p1 = p2;
        //	return p2 = p1;
        //}

        private void ipAssignmentIntended_CheckCodeIssues(object sender, CheckCodeIssuesEventArgs ea)
        {
            // Not inside the UI thread anymore.
            // Don't use CodeRush.Source.Xxxxx, in fact, don't use any CodeRush.Xxxxxx is my recommendation.
            ElementTypeFilter      assignmentExpressionFilter = new ElementTypeFilter(LanguageElementType.AssignmentExpression);
            IEnumerable <IElement> enumerable = ea.GetEnumerable(ea.Scope, assignmentExpressionFilter);

            foreach (IElement element in enumerable)
            {
                // For every LanguageElement type, there is a corresponding interface, that starts with an I.
                IAssignmentExpression assignmentExpression = element as IAssignmentExpression;
                if (assignmentExpression == null)
                {
                    continue;
                }
                TextPoint   start = assignmentExpression.LeftSide.FirstNameRange.Start;
                TextPoint   end   = assignmentExpression.RightSide.FirstNameRange.End;
                SourceRange range = new SourceRange(start, end);
                ea.AddIssue(CodeIssueType.Warning, range, cpAssignmentExpressionToEqualityCheck.CodeIssueMessage);

                // Other code we were playing with...
                //AssignmentExpression assignmentExpressionReal = LanguageElementRestorer.ConvertToLanguageElement(element) as AssignmentExpression;
                //assignmentExpressionReal.OperatorRange
                //ea.AddIssue(CodeIssueType.Warning, assignmentExpression.Range, cpAssignmentExpressionToEqualityCheck.CodeIssueMessage);
            }
        }
 public void FindCodeIssues(CheckCodeIssuesEventArgs ea)
 {
     var resolveScope = ea.ResolveScope();
     foreach (IMethodElement element in resolveScope.GetElementEnumerator(ea.Scope,new ElementTypeFilter(LanguageElementType.Method)))
     {
         if (MethodHasIssue(element))
         {
             foreach (TextRange range in element.Ranges)
             {
                 ea.AddIssue(IssueType, (SourceRange)range, IssueMessage);
             }
         }
     }
 }
        public void AddViolationIssue(CheckCodeIssuesEventArgs ea, ISourceCode sourceCode, Violation violation)
        {
            var message = string.Format("{0}: {1}", violation.Rule.CheckId, violation.Message);
            var csElement = violation.Element as CsElement;
            if (csElement == null)
            {
                ea.AddSmell(new SourceRange(violation.Line, 1, violation.Line, sourceCode.LengthOfLine(violation.Line) + 1), message, violation, 10);
                return;
            }

            foreach (var styleCopCodeIssue in this.issueLocator.GetCodeIssues(sourceCode, filter => ea.GetEnumerable(ea.Scope, filter), violation, csElement))
            {
                ea.AddIssue(styleCopCodeIssue.IssueType, styleCopCodeIssue.Range, message, violation);
            }
        }
Ejemplo n.º 4
0
        public void AddViolationIssue(CheckCodeIssuesEventArgs ea, ISourceCode sourceCode, Violation violation)
        {
            var message   = string.Format("{0}: {1}", violation.Rule.CheckId, violation.Message);
            var csElement = violation.Element as CsElement;

            if (csElement == null)
            {
                ea.AddSmell(new SourceRange(violation.Line, 1, violation.Line, sourceCode.LengthOfLine(violation.Line) + 1), message, violation, 10);
                return;
            }

            foreach (var styleCopCodeIssue in this.issueLocator.GetCodeIssues(sourceCode, filter => ea.GetEnumerable(ea.Scope, filter), violation, csElement))
            {
                ea.AddIssue(styleCopCodeIssue.IssueType, styleCopCodeIssue.Range, message, violation);
            }
        }
Ejemplo n.º 5
0
		//public bool AreEqual(bool p1, bool p2)
		//{
		//	if (p1 = p2)
		//		return true;
		//	p1 = p2;
		//	return p2 = p1;
		//}

		private void ipAssignmentIntended_CheckCodeIssues(object sender, CheckCodeIssuesEventArgs ea)
		{
			// Not inside the UI thread anymore.
			// Don't use CodeRush.Source.Xxxxx, in fact, don't use any CodeRush.Xxxxxx is my recommendation.
			ElementTypeFilter assignmentExpressionFilter = new ElementTypeFilter(LanguageElementType.AssignmentExpression);
			IEnumerable<IElement> enumerable = ea.GetEnumerable(ea.Scope, assignmentExpressionFilter);
			foreach (IElement element in enumerable)
			{
				// For every LanguageElement type, there is a corresponding interface, that starts with an I.
				IAssignmentExpression assignmentExpression = element as IAssignmentExpression;
				if (assignmentExpression == null)
					continue;
				TextPoint start = assignmentExpression.LeftSide.FirstNameRange.Start;
				TextPoint end = assignmentExpression.RightSide.FirstNameRange.End;
				SourceRange range = new SourceRange(start, end);
				ea.AddIssue(CodeIssueType.Warning, range, cpAssignmentExpressionToEqualityCheck.CodeIssueMessage);

				// Other code we were playing with...
				//AssignmentExpression assignmentExpressionReal = LanguageElementRestorer.ConvertToLanguageElement(element) as AssignmentExpression;
				//assignmentExpressionReal.OperatorRange
				//ea.AddIssue(CodeIssueType.Warning, assignmentExpression.Range, cpAssignmentExpressionToEqualityCheck.CodeIssueMessage);
			}
		}