Browse Source

[CodeIssues] Use IsKnownType in more places.

newNRvisualizers
Simon Lindgren 13 years ago
parent
commit
a747e477fe
  1. 4
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/FormatStringIssue.cs
  2. 10
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantToStringIssue.cs

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

@ -46,12 +46,10 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -46,12 +46,10 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
class GatherVisitor : GatherVisitorBase
{
readonly BaseRefactoringContext context;
readonly IType stringType;
public GatherVisitor(BaseRefactoringContext context) : base (context)
{
this.context = context;
stringType = context.Compilation.FindType(KnownTypeCode.String);
}
public override void VisitInvocationExpression(InvocationExpression invocationExpression)
@ -121,7 +119,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -121,7 +119,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
}
var parameter = resolvedParameters[parameterIndex];
var argument = allArguments[i];
if (parameter.Type.Equals(stringType) && parameterNames.Contains(parameter.Name) && argument is PrimitiveExpression) {
if (parameter.Type.IsKnownType(KnownTypeCode.String) && parameterNames.Contains(parameter.Name) && argument is PrimitiveExpression) {
format = (string)((PrimitiveExpression)argument).Value;
formatStart = argument.StartLocation;
} else if (format != null || parameter.IsParams) {

10
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantToStringIssue.cs

@ -46,10 +46,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -46,10 +46,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
class GatherVisitor : GatherVisitorBase
{
IType stringType;
IType objectType;
static Tuple<int, int> onlyFirst = Tuple.Create (0, 0);
static IDictionary<Tuple<string, int>, Tuple<int, int>> membersCallingToString = new Dictionary<Tuple<string, int>, Tuple<int, int>> {
@ -61,8 +57,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -61,8 +57,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public GatherVisitor (BaseRefactoringContext context) : base (context)
{
stringType = context.Compilation.FindType(KnownTypeCode.String);
objectType = context.Compilation.FindType(KnownTypeCode.Object);
}
HashSet<AstNode> processedNodes = new HashSet<AstNode>();
@ -93,7 +87,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -93,7 +87,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
int stringExpressionCount = 0;
foreach (var expression in expressions) {
var resolveResult = ctx.Resolve(expression);
if (resolveResult.Type == stringType) {
if (resolveResult.Type.IsKnownType(KnownTypeCode.String)) {
stringExpressionCount++;
}
if (stringExpressionCount > 1) {
@ -169,7 +163,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -169,7 +163,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
if (targetResolveResult == null) {
return;
}
if (targetResolveResult.TargetResult.Type == stringType && targetResolveResult.Member.Name == "ToString") {
if (targetResolveResult.TargetResult.Type.IsKnownType(KnownTypeCode.String) && targetResolveResult.Member.Name == "ToString") {
AddRedundantToStringIssue(memberExpression, invocationExpression);
}
IMember member = targetResolveResult.Member;

Loading…
Cancel
Save