diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2014-09-23 10:33:34 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@xamarin.com> | 2014-09-23 10:33:34 +0400 |
commit | 072f298ae97d3d73d50723514f734c274924b0cd (patch) | |
tree | 78e29aff6ce020518703cfa6027ce553a495ba5d /ICSharpCode.NRefactory.CSharp | |
parent | ed69165af0771ffe06c3b8add33c66b36f13f149 (diff) |
Fixed 'Bug 23047 - Completion is not working for is statement'.
Diffstat (limited to 'ICSharpCode.NRefactory.CSharp')
-rw-r--r-- | ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs index 613d1326..e016692d 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs @@ -1942,7 +1942,6 @@ namespace ICSharpCode.NRefactory.CSharp.Completion if (!lookup.IsAccessible(type, false)) continue; IType addType = typePred != null ? typePred(type) : type; - if (onlyAddConstructors && addType != null) { if (!addType.GetConstructors().Any(c => lookup.IsAccessible(c, true))) continue; @@ -2126,8 +2125,14 @@ namespace ICSharpCode.NRefactory.CSharp.Completion if (parent is VariableInitializer) { parent = parent.Parent; } - if (parent is VariableDeclarationStatement) { - var resolved = ResolveExpression(parent); + var varDecl = parent as VariableDeclarationStatement; + if (varDecl != null) { + ExpressionResolveResult resolved; + if (varDecl.Type.IsVar()) { + resolved = null; + } else { + resolved = ResolveExpression(parent); + } if (resolved != null) { isAsType = resolved.Result.Type; } |