Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimotheus Pokorra <timotheus.pokorra@solidcharity.com>2019-08-09 07:00:01 +0300
committerMarek Safar <marek.safar@gmail.com>2019-08-12 23:07:15 +0300
commit9fd453f4282514f42c59483935ab82a651e5a403 (patch)
treed7028e01db8f1fb8f8fc947113f55bf3697f3829
parentbdfe0af88cc7934cff468999386ca50cbce6e2e9 (diff)
Cecil 0.10: The property VariableReference.Name has been removed
see https://cecil.pe/post/149243207656/mono-cecil-010-beta-1
-rw-r--r--gendarme/framework/Gendarme.Framework.Rocks/VariableDefinitionRocks.cs5
-rw-r--r--gendarme/rules/Gendarme.Rules.Concurrency/ProtectCallToEventDelegatesRule.cs3
-rw-r--r--gendarme/rules/Gendarme.Rules.Correctness/AvoidCodeWithSideEffectsInConditionalCodeRule.cs6
-rw-r--r--gendarme/rules/Gendarme.Rules.Correctness/EnsureLocalDisposalRule.cs3
-rw-r--r--gendarme/rules/Gendarme.Rules.Correctness/ReviewDoubleAssignmentRule.cs6
-rw-r--r--gendarme/rules/Gendarme.Rules.Maintainability/PreferStringIsNullOrEmptyRule.cs9
-rw-r--r--gendarme/rules/Gendarme.Rules.Maintainability/VariableNamesShouldNotMatchFieldNamesRule.cs5
-rw-r--r--gendarme/rules/Gendarme.Rules.Performance/RemoveUnusedLocalVariablesRule.cs3
-rw-r--r--gendarme/rules/Gendarme.Rules.Portability/DoNotHardcodePathsRule.cs8
9 files changed, 33 insertions, 15 deletions
diff --git a/gendarme/framework/Gendarme.Framework.Rocks/VariableDefinitionRocks.cs b/gendarme/framework/Gendarme.Framework.Rocks/VariableDefinitionRocks.cs
index 73e03e4f..7b4c8c0c 100644
--- a/gendarme/framework/Gendarme.Framework.Rocks/VariableDefinitionRocks.cs
+++ b/gendarme/framework/Gendarme.Framework.Rocks/VariableDefinitionRocks.cs
@@ -43,7 +43,7 @@ namespace Gendarme.Framework.Rocks {
if (self == null)
return false;
- string name = self.Name;
+ string name = String.Empty; // self.Name is not valid anymore since Mono.Cecil 0.10
if (String.IsNullOrEmpty (name))
return true;
@@ -54,7 +54,8 @@ namespace Gendarme.Framework.Rocks {
{
if (self == null)
return String.Empty;
- return !string.IsNullOrEmpty (self.Name) ? self.Name : "V_" + self.Index.ToString (CultureInfo.InvariantCulture);
+ string name = String.Empty; // self.Name is not valid anymore since Mono.Cecil 0.10
+ return !string.IsNullOrEmpty (name) ? name : "V_" + self.Index.ToString (CultureInfo.InvariantCulture);
}
}
}
diff --git a/gendarme/rules/Gendarme.Rules.Concurrency/ProtectCallToEventDelegatesRule.cs b/gendarme/rules/Gendarme.Rules.Concurrency/ProtectCallToEventDelegatesRule.cs
index 843c9b84..c229c104 100644
--- a/gendarme/rules/Gendarme.Rules.Concurrency/ProtectCallToEventDelegatesRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Concurrency/ProtectCallToEventDelegatesRule.cs
@@ -171,7 +171,8 @@ namespace Gendarme.Rules.Concurrency {
// look for the variable, if it's not then stop analysis
VariableDefinition load = caller.GetVariable (method);
if ((load != null) && !CheckVariable (method, caller, load)) {
- string msg = String.Format (CultureInfo.InvariantCulture, "Variable '{0}' does not seems to be checked against null.", load.Name);
+ string name = String.Empty; // load.Name is not valid since Cecil 0.10
+ string msg = String.Format (CultureInfo.InvariantCulture, "Variable '{0}' does not seems to be checked against null.", name);
Runner.Report (method, ins, Severity.High, Confidence.Normal, msg);
}
}
diff --git a/gendarme/rules/Gendarme.Rules.Correctness/AvoidCodeWithSideEffectsInConditionalCodeRule.cs b/gendarme/rules/Gendarme.Rules.Correctness/AvoidCodeWithSideEffectsInConditionalCodeRule.cs
index 8d967669..7331e74b 100644
--- a/gendarme/rules/Gendarme.Rules.Correctness/AvoidCodeWithSideEffectsInConditionalCodeRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Correctness/AvoidCodeWithSideEffectsInConditionalCodeRule.cs
@@ -145,8 +145,10 @@ namespace Gendarme.Rules.Correctness {
} else if (ins.IsStoreLocal ()) {
VariableDefinition vd = ins.GetVariable (method);
- if (!vd.IsGeneratedName ())
- name = "local " + vd.Name;
+ if (!vd.IsGeneratedName ()) {
+ string variableName = String.Empty; // vd.Name is not valid since Cecil 0.10
+ name = "local " + variableName;
+ }
} else if (ins.OpCode.Code == Code.Stfld || ins.OpCode.Code == Code.Stsfld) {
FieldReference fr = ins.Operand as FieldReference;
diff --git a/gendarme/rules/Gendarme.Rules.Correctness/EnsureLocalDisposalRule.cs b/gendarme/rules/Gendarme.Rules.Correctness/EnsureLocalDisposalRule.cs
index 6d1c73db..2fa32196 100644
--- a/gendarme/rules/Gendarme.Rules.Correctness/EnsureLocalDisposalRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Correctness/EnsureLocalDisposalRule.cs
@@ -344,7 +344,8 @@ namespace Gendarme.Rules.Correctness {
string tname = variable.VariableType.Name;
if (variable.IsGeneratedName ())
return String.Format (CultureInfo.InvariantCulture, "of type '{0}' ", tname);
- return String.Format (CultureInfo.InvariantCulture, "'{0}' of type '{1}' ", variable.Name, tname);
+ string variableName = String.Empty; // variable.Name is not valid anymore since Cecil 0.10
+ return String.Format (CultureInfo.InvariantCulture, "'{0}' of type '{1}' ", variableName, tname);
}
static OpCodeBitmask BuildCallsAndNewobjOpCodeBitmask ()
diff --git a/gendarme/rules/Gendarme.Rules.Correctness/ReviewDoubleAssignmentRule.cs b/gendarme/rules/Gendarme.Rules.Correctness/ReviewDoubleAssignmentRule.cs
index 272f86e7..1ccef2fd 100644
--- a/gendarme/rules/Gendarme.Rules.Correctness/ReviewDoubleAssignmentRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Correctness/ReviewDoubleAssignmentRule.cs
@@ -114,7 +114,8 @@ namespace Gendarme.Rules.Correctness {
if (stfld.TraceBack (method).GetOperand (method) != next.TraceBack (method).GetOperand (method))
return String.Empty;
- return String.Format (CultureInfo.InvariantCulture, "Instance field '{0}' on same variable '{1}'.", fd1.Name, vd1.Name);
+ string vd1Name = String.Empty; // vd1.Name is not valid anymore since Cecil 0.10
+ return String.Format (CultureInfo.InvariantCulture, "Instance field '{0}' on same variable '{1}'.", fd1.Name, vd1Name);
}
static string CheckDoubleAssignement (MethodDefinition method, Instruction ins, Instruction next)
@@ -142,7 +143,8 @@ namespace Gendarme.Rules.Correctness {
if (vd1.Index != vd2.Index)
return String.Empty;
- return String.Format (CultureInfo.InvariantCulture, "Local variable '{0}'.", vd1.Name);
+ string vd1Name = String.Empty; // vd1.Name is not valid since Cecil 0.10
+ return String.Format (CultureInfo.InvariantCulture, "Local variable '{0}'.", vd1Name);
} else if (next.OpCode.Code == Code.Stfld) {
// instance fields are a bit more complex...
return CheckDoubleAssignementOnInstanceFields (method, ins, next);
diff --git a/gendarme/rules/Gendarme.Rules.Maintainability/PreferStringIsNullOrEmptyRule.cs b/gendarme/rules/Gendarme.Rules.Maintainability/PreferStringIsNullOrEmptyRule.cs
index efe46539..c3c0a86e 100644
--- a/gendarme/rules/Gendarme.Rules.Maintainability/PreferStringIsNullOrEmptyRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Maintainability/PreferStringIsNullOrEmptyRule.cs
@@ -111,10 +111,15 @@ namespace Gendarme.Rules.Maintainability {
case Code.Ldloc_2:
case Code.Ldloc_3:
int vindex = ins.OpCode.Code - Code.Ldloc_0;
- return method.Body.Variables [vindex].Name;
+ string name;
+ if (method.DebugInformation.TryGetName(method.Body.Variables [vindex], out name)) {
+ return name;
+ }
+ return String.Empty;
case Code.Ldloc:
case Code.Ldloc_S:
- return (ins.Operand as VariableDefinition).Name;
+ //return (ins.Operand as VariableDefinition).Name; not valid since Cecil 0.10
+ return String.Empty;
default:
object o = ins.Operand;
MemberReference mr = (o as MemberReference);
diff --git a/gendarme/rules/Gendarme.Rules.Maintainability/VariableNamesShouldNotMatchFieldNamesRule.cs b/gendarme/rules/Gendarme.Rules.Maintainability/VariableNamesShouldNotMatchFieldNamesRule.cs
index c62a932e..a9effdff 100644
--- a/gendarme/rules/Gendarme.Rules.Maintainability/VariableNamesShouldNotMatchFieldNamesRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Maintainability/VariableNamesShouldNotMatchFieldNamesRule.cs
@@ -113,8 +113,9 @@ namespace Gendarme.Rules.Maintainability {
// if the name is compiler generated or if we do not have debugging symbols...
if (var.IsGeneratedName ())
continue;
- if (fields.Contains (var.Name))
- Runner.Report (method, Severity.Medium, Confidence.Normal, var.Name);
+ // var.Name is not valid anymore since Cecil 0.10
+ //if (fields.Contains (var.Name))
+ // Runner.Report (method, Severity.Medium, Confidence.Normal, var.Name);
}
}
}
diff --git a/gendarme/rules/Gendarme.Rules.Performance/RemoveUnusedLocalVariablesRule.cs b/gendarme/rules/Gendarme.Rules.Performance/RemoveUnusedLocalVariablesRule.cs
index ac4ece92..2dbd3b99 100644
--- a/gendarme/rules/Gendarme.Rules.Performance/RemoveUnusedLocalVariablesRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Performance/RemoveUnusedLocalVariablesRule.cs
@@ -133,8 +133,9 @@ namespace Gendarme.Rules.Performance {
if (variable.IsGeneratedName ())
continue;
+ string variableName = String.Empty; // variable.Name is not valid anymore since Cecil 0.10
string s = String.Format (CultureInfo.InvariantCulture, "Variable '{0}' of type '{1}'",
- variable.Name, variable.VariableType.GetFullName ());
+ variableName, variable.VariableType.GetFullName ());
Runner.Report (method, Severity.Low, Confidence.Normal, s);
}
}
diff --git a/gendarme/rules/Gendarme.Rules.Portability/DoNotHardcodePathsRule.cs b/gendarme/rules/Gendarme.Rules.Portability/DoNotHardcodePathsRule.cs
index 92b597a0..3e263c64 100644
--- a/gendarme/rules/Gendarme.Rules.Portability/DoNotHardcodePathsRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Portability/DoNotHardcodePathsRule.cs
@@ -337,8 +337,12 @@ namespace Gendarme.Rules.Portability {
CheckIdentifier ((afterLdstr.Operand as FieldReference).Name);
break;
default:
- if (afterLdstr.IsStoreLocal ())
- CheckIdentifier (afterLdstr.GetVariable (method_body.Method).Name);
+ if (afterLdstr.IsStoreLocal ()) {
+ string name;
+ if (method_body.Method.DebugInformation.TryGetName(afterLdstr.GetVariable (method_body.Method), out name)) {
+ CheckIdentifier (name);
+ }
+ }
else
return false;
break;