Browse Source

Fixed SD2-1393: Implicitly typed variable declaration without new keyword throws exception

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3013 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 18 years ago
parent
commit
3b59a03923
  1. 14
      src/Main/Base/Test/NRefactoryResolverTests.cs
  2. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/ResolveVisitor.cs

14
src/Main/Base/Test/NRefactoryResolverTests.cs

@ -2229,5 +2229,19 @@ class TestClass { @@ -2229,5 +2229,19 @@ class TestClass {
var lrr = Resolve<LocalResolveResult>(program, "i", 5, 5, ExpressionContext.Default);
Assert.AreEqual("System.Int32", lrr.ResolvedType.DotNetName);
}
[Test]
public void InvalidAnonymousTypeDeclaration()
{
// see SD2-1393
string program = @"using System;
class TestClass {
static void Main() {
var contact = {id = 54321};
} }";
var lrr = Resolve<LocalResolveResult>(program, "contact", 5);
Assert.AreEqual("?", lrr.ResolvedType.DotNetName);
}
}
}

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/ResolveVisitor.cs

@ -173,6 +173,8 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver @@ -173,6 +173,8 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
IReturnType rt = ResolveType(collectionInitializerExpression.CreateExpressions[i]);
combinedRT = MemberLookupHelper.GetCommonType(resolver.ProjectContent, combinedRT, rt);
}
if (combinedRT == null)
return null;
return CreateResolveResult(new ArrayReturnType(resolver.ProjectContent, combinedRT, 1));
}

Loading…
Cancel
Save