Browse Source

GatherVisitor: make sure base visit methods are always called

newNRvisualizers
Mansheng Yang 14 years ago
parent
commit
9d37b9a29a
  1. 4
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/TypeParameterNotUsedIssue.cs
  2. 7
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableNotUsedIssues/LocalVariableNotUsedIssue.cs
  3. 4
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableNotUsedIssues/ParameterNotUsedIssue.cs
  4. 4
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableOnlyAssignedIssues/LocalVariableOnlyAssignedIssue.cs
  5. 4
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableOnlyAssignedIssues/ParameterOnlyAssignedIssue.cs

4
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/TypeParameterNotUsedIssue.cs

@ -73,6 +73,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -73,6 +73,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public override void VisitTypeParameterDeclaration (TypeParameterDeclaration decl)
{
base.VisitTypeParameterDeclaration (decl);
var resolveResult = ctx.Resolve (decl) as TypeResolveResult;
if (resolveResult == null)
return;
@ -87,8 +89,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -87,8 +89,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
return;
AddIssue (decl.NameToken, ctx.TranslateString ("Type parameter is never used"));
base.VisitTypeParameterDeclaration (decl);
}
}
}

7
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableNotUsedIssues/LocalVariableNotUsedIssue.cs

@ -52,6 +52,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -52,6 +52,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public override void VisitVariableInitializer (VariableInitializer variableInitializer)
{
base.VisitVariableInitializer (variableInitializer);
// check if variable is assigned
if (!variableInitializer.Initializer.IsNull)
return;
@ -78,11 +80,12 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -78,11 +80,12 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
script.Replace (decl, newDeclaration);
}
});
base.VisitVariableInitializer (variableInitializer);
}
public override void VisitForeachStatement (ForeachStatement foreachStatement)
{
base.VisitForeachStatement (foreachStatement);
var resolveResult = ctx.Resolve (foreachStatement.VariableNameToken) as LocalResolveResult;
if (resolveResult == null)
return;
@ -91,8 +94,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -91,8 +94,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
return;
AddIssue (foreachStatement.VariableNameToken, ctx.TranslateString ("Local variable is never used"));
base.VisitForeachStatement (foreachStatement);
}
}

4
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableNotUsedIssues/ParameterNotUsedIssue.cs

@ -53,6 +53,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -53,6 +53,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public override void VisitParameterDeclaration (ParameterDeclaration parameterDeclaration)
{
base.VisitParameterDeclaration (parameterDeclaration);
var resolveResult = ctx.Resolve (parameterDeclaration) as LocalResolveResult;
if (resolveResult == null)
return;
@ -60,8 +62,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -60,8 +62,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
return;
AddIssue (parameterDeclaration.NameToken, ctx.TranslateString ("Parameter is never used"));
base.VisitParameterDeclaration (parameterDeclaration);
}
}
}

4
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableOnlyAssignedIssues/LocalVariableOnlyAssignedIssue.cs

@ -53,6 +53,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -53,6 +53,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public override void VisitVariableInitializer (VariableInitializer variableInitializer)
{
base.VisitVariableInitializer (variableInitializer);
var decl = variableInitializer.Parent as VariableDeclarationStatement;
if (decl == null)
return;
@ -64,8 +66,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -64,8 +66,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
return;
AddIssue (variableInitializer.NameToken,
ctx.TranslateString ("Local variable is assigned by its value is never used"));
base.VisitVariableInitializer (variableInitializer);
}
}
}

4
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableOnlyAssignedIssues/ParameterOnlyAssignedIssue.cs

@ -53,6 +53,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -53,6 +53,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public override void VisitParameterDeclaration (ParameterDeclaration parameterDeclaration)
{
base.VisitParameterDeclaration (parameterDeclaration);
var resolveResult = ctx.Resolve (parameterDeclaration) as LocalResolveResult;
if (resolveResult == null)
return;
@ -60,8 +62,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -60,8 +62,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
return;
AddIssue (parameterDeclaration.NameToken,
ctx.TranslateString ("Parameter is assigned by its value is never used"));
base.VisitParameterDeclaration (parameterDeclaration);
}
}
}

Loading…
Cancel
Save