diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs index 181ae24be5..f573799fd9 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs @@ -553,6 +553,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion void AddTypesAndNamespaces (CompletionDataWrapper wrapper, CSharpResolver state, AstNode node, Predicate typePred = null, Predicate memberPred = null) { var currentType = state.CurrentTypeDefinition ?? this.currentType; + var currentMember = state.CurrentMember ?? this.currentMember; if (currentType != null) { for (var ct = currentType; ct != null; ct = ct.DeclaringTypeDefinition) { foreach (var nestedType in ct.NestedTypes) { @@ -564,12 +565,12 @@ namespace ICSharpCode.NRefactory.CSharp.Completion } } } - - foreach (var member in currentType.Resolve (ctx).GetMembers (ctx)) { - if (memberPred == null || memberPred (member)) - wrapper.AddMember (member); + if (currentMember != null) { + foreach (var member in currentType.Resolve (ctx).GetMembers (ctx)) { + if (memberPred == null || memberPred (member)) + wrapper.AddMember (member); + } } - foreach (var p in currentType.TypeParameters) { wrapper.AddTypeParameter (p); }