diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/CreatePropertyAction.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/CreatePropertyAction.cs
index 478f926d06..2356067981 100644
--- a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/CreatePropertyAction.cs
+++ b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/CreatePropertyAction.cs
@@ -1,4 +1,4 @@
-//
+//
// CreateProperty.cs
//
// Author:
@@ -64,15 +64,14 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
createInOtherType = !state.CurrentTypeDefinition.Equals(targetResolveResult.Type.GetDefinition());
}
- bool isStatic;
+ bool isStatic = targetResolveResult is TypeResolveResult;
if (createInOtherType) {
- isStatic = targetResolveResult is TypeResolveResult;
if (isStatic && targetResolveResult.Type.Kind == TypeKind.Interface)
yield break;
} else {
if (state.CurrentMember == null || state.CurrentTypeDefinition == null)
yield break;
- isStatic = state.CurrentMember.IsStatic || state.CurrentTypeDefinition.IsStatic;
+ isStatic |= state.CurrentMember.IsStatic || state.CurrentTypeDefinition.IsStatic;
}
// var service = (NamingConventionService)context.GetService(typeof(NamingConventionService));
diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantInternalIssue.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantInternalIssue.cs
index fe90501774..2f958d0b1b 100644
--- a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantInternalIssue.cs
+++ b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantInternalIssue.cs
@@ -1,4 +1,4 @@
-//
+//
// RedundantInternalInspector.cs
//
// Author:
@@ -34,7 +34,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
///
/// Finds redundant internal modifiers.
///
- [IssueDescription("Remove redunant 'internal' modifier",
+ [IssueDescription("Remove redundant 'internal' modifier",
Description="Removes 'internal' modifiers that are not required.",
Category = IssueCategories.Redundancies,
Severity = Severity.Hint,
diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantNamespaceUsageIssue.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantNamespaceUsageIssue.cs
index 00fc2af3d5..8cb331d394 100644
--- a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantNamespaceUsageIssue.cs
+++ b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantNamespaceUsageIssue.cs
@@ -1,6 +1,6 @@
-//
+//
// RedundantNamespaceUsageInspector.cs
-//
+//
// Author:
// Mike Krüger
//
@@ -37,10 +37,10 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
/// Finds redundant namespace usages.
///
[IssueDescription("Remove redundant namespace usages",
- Description = "Removes namespace usages that are obsolete.",
- Category = IssueCategories.Redundancies,
- Severity = Severity.Hint,
- IssueMarker = IssueMarker.GrayOut)]
+ Description = "Removes namespace usages that are obsolete.",
+ Category = IssueCategories.Redundancies,
+ Severity = Severity.Hint,
+ IssueMarker = IssueMarker.GrayOut)]
public class RedundantNamespaceUsageIssue : ICodeIssueProvider
{
public IEnumerable GetIssues (BaseRefactoringContext context)
@@ -62,24 +62,40 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public override void VisitMemberReferenceExpression(MemberReferenceExpression memberReferenceExpression)
{
base.VisitMemberReferenceExpression(memberReferenceExpression);
-
- var result = ctx.Resolve(memberReferenceExpression.Target);
+ HandleMemberReference(
+ memberReferenceExpression, memberReferenceExpression.Target, memberReferenceExpression.MemberNameToken, memberReferenceExpression.TypeArguments, SimpleNameLookupMode.Expression,
+ script => {
+ script.Replace(memberReferenceExpression, RefactoringAstHelper.RemoveTarget(memberReferenceExpression));
+ });
+ }
+
+ public override void VisitMemberType(MemberType memberType)
+ {
+ base.VisitMemberType(memberType);
+ HandleMemberReference(
+ memberType, memberType.Target, memberType.MemberNameToken, memberType.TypeArguments, SimpleNameLookupMode.Type,
+ script => {
+ script.Replace(memberType, RefactoringAstHelper.RemoveTarget(memberType));
+ });
+ }
+
+ void HandleMemberReference(AstNode wholeNode, AstNode targetNode, Identifier memberName, IEnumerable typeArguments, SimpleNameLookupMode mode, Action