Author: spouliot
Date: 2008-02-16 16:11:59 -0500 (Sat, 16 Feb 2008)
New Revision: 95928

Modified:
   
trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/AvoidCodeDuplicatedInSameClassRule.cs
   trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/ChangeLog
   trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/Expression.cs
   
trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/ExpressionFillerVisitor.cs
Log:
2008-02-16  Sebastien Pouliot  <[EMAIL PROTECTED]> 

        * AvoidCodeDuplicatedInSameClassRule.cs: Ignore rule on generated 
        code (e.g. C# compiler generates some duplication for anonymous 
        methods).
        * Expression.cs: Fix some parameters to match base class.
        * ExpressionFillerVisitor.cs: Fix some parameters to match base class.



Modified: 
trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/AvoidCodeDuplicatedInSameClassRule.cs
===================================================================
--- 
trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/AvoidCodeDuplicatedInSameClassRule.cs
 2008-02-16 21:09:12 UTC (rev 95927)
+++ 
trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/AvoidCodeDuplicatedInSameClassRule.cs
 2008-02-16 21:11:59 UTC (rev 95928)
@@ -30,14 +30,20 @@
 
 using Mono.Cecil;
 using Gendarme.Framework;
+using Gendarme.Framework.Rocks;
 
 namespace Gendarme.Rules.Smells {
 
        [Problem ("There are same code structure in various methods in the same 
class.  Your code will be better if you can unify them.")]
        [Solution ("You should apply the Extract Method refactoring and invoke 
the method from the places.")]
        public class AvoidCodeDuplicatedInSameClassRule : Rule, ITypeRule {
+
                public RuleResult CheckType (TypeDefinition type)
                {
+                       // ignore code generated by compiler/tools, since they 
can generate some amount of duplicated code
+                       if (type.IsGeneratedCode ())
+                               return RuleResult.DoesNotApply;
+
                        CodeDuplicatedLocator locator = new 
CodeDuplicatedLocator ();
                        foreach (MethodDefinition current in type.Methods) {
                                locator.CompareMethodAgainstTypeMethods (this, 
current, type);

Modified: trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/ChangeLog
===================================================================
--- trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/ChangeLog     
2008-02-16 21:09:12 UTC (rev 95927)
+++ trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/ChangeLog     
2008-02-16 21:11:59 UTC (rev 95928)
@@ -1,3 +1,11 @@
+2008-02-16  Sebastien Pouliot  <[EMAIL PROTECTED]> 
+
+       * AvoidCodeDuplicatedInSameClassRule.cs: Ignore rule on generated 
+       code (e.g. C# compiler generates some duplication for anonymous 
+       methods).
+       * Expression.cs: Fix some parameters to match base class.
+       * ExpressionFillerVisitor.cs: Fix some parameters to match base class.
+
 2008-02-16  Sebastien Pouliot  <[EMAIL PROTECTED]>
 
        * AvoidLongMethodsRule.cs: Display actual and maximum IL instruction 

Modified: trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/Expression.cs
===================================================================
--- trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/Expression.cs 
2008-02-16 21:09:12 UTC (rev 95927)
+++ trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/Expression.cs 
2008-02-16 21:11:59 UTC (rev 95928)
@@ -58,14 +58,14 @@
                                throw new ArgumentException ("You should use 
this class with Mono.Cecil.Cil.Instruction", "value");
                }
 
-               public override bool Equals (object value)
+               public override bool Equals (object obj)
                {
-                       if (!(value is Expression))
+                       if (!(obj is Expression))
                                throw new ArgumentException ("The value 
argument should be an Expression", "value");
-                       if (value == null)
+                       if (obj == null)
                                return false;
 
-                       Expression targetExpression = (Expression) value;
+                       Expression targetExpression = (Expression) obj;
 
                        if (HasSameSize (targetExpression))
                                return CompareInstructionsInOrder 
(targetExpression);

Modified: 
trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/ExpressionFillerVisitor.cs
===================================================================
--- 
trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/ExpressionFillerVisitor.cs
    2008-02-16 21:09:12 UTC (rev 95927)
+++ 
trunk/mono-tools/gendarme/rules/Gendarme.Rules.Smells/ExpressionFillerVisitor.cs
    2008-02-16 21:11:59 UTC (rev 95928)
@@ -39,7 +39,7 @@
 
                public ExpressionFillerVisitor () : base () {}
 
-               public override void VisitMethodBody (MethodBody methodBody)
+               public override void VisitMethodBody (MethodBody body)
                {
                        expressionContainer = new ArrayList ();
                        currentExpression = null;
@@ -81,9 +81,9 @@
                        currentExpression.Add (instruction);
                }
 
-               public override void VisitInstructionCollection 
(InstructionCollection instructionCollection)
+               public override void VisitInstructionCollection 
(InstructionCollection instructions)
                {
-                       foreach (Instruction instruction in 
instructionCollection) {
+                       foreach (Instruction instruction in instructions) {
                                if (IsDelimiter (instruction))
                                        
CreateExpressionAndAddToExpressionContainer ();
                                if (IsAcceptable (instruction))

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to