Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xamarin/NRefactory.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2014-09-23 10:33:34 +0400
committerMike Krüger <mkrueger@xamarin.com>2014-09-23 10:33:34 +0400
commit072f298ae97d3d73d50723514f734c274924b0cd (patch)
tree78e29aff6ce020518703cfa6027ce553a495ba5d /ICSharpCode.NRefactory.CSharp
parented69165af0771ffe06c3b8add33c66b36f13f149 (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.cs11
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;
}