diff options
Diffstat (limited to 'gendarme/framework')
-rw-r--r-- | gendarme/framework/Gendarme.Framework.Engines/ChangeLog | 4 | ||||
-rw-r--r-- | gendarme/framework/Gendarme.Framework.Engines/OpCodeEngine.cs | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gendarme/framework/Gendarme.Framework.Engines/ChangeLog b/gendarme/framework/Gendarme.Framework.Engines/ChangeLog index 05a00a24..031b9906 100644 --- a/gendarme/framework/Gendarme.Framework.Engines/ChangeLog +++ b/gendarme/framework/Gendarme.Framework.Engines/ChangeLog @@ -1,3 +1,7 @@ +2010-06-18 Sebastien Pouliot <sebastien@ximian.com> + + * OpCodeEngine.cs: Apply AvoidRepetitiveCallsToPropertiesRule + 2010-06-10 Sebastien Pouliot <sebastien@ximian.com> * SuppressMessageEngine.cs: Skip ctors or methods on types that don't diff --git a/gendarme/framework/Gendarme.Framework.Engines/OpCodeEngine.cs b/gendarme/framework/Gendarme.Framework.Engines/OpCodeEngine.cs index 6e174528..6482de67 100644 --- a/gendarme/framework/Gendarme.Framework.Engines/OpCodeEngine.cs +++ b/gendarme/framework/Gendarme.Framework.Engines/OpCodeEngine.cs @@ -26,6 +26,7 @@ // using System; +using System.Collections; using Mono.Cecil; using Mono.Cecil.Cil; @@ -54,17 +55,17 @@ namespace Gendarme.Framework.Engines { void OnMethodBody (object sender, EngineEventArgs e) { MethodBody body = (sender as MethodBody); - IAnnotationProvider ap = (body.Method as IAnnotationProvider); + IDictionary annotations = (body.Method as IAnnotationProvider).Annotations; // some runners, like the wizard, can run this engine several times // and, in this case, the result won't change - if (ap.Annotations.Contains ("OPCODEBITMASK")) + if (annotations.Contains ("OPCODEBITMASK")) return; OpCodeBitmask mask = new OpCodeBitmask (); foreach (Instruction ins in body.Instructions) { mask.Set (ins.OpCode.Code); } - ap.Annotations.Add ("OPCODEBITMASK", mask); + annotations.Add ("OPCODEBITMASK", mask); } // service offered by the engine |