Browse Source

r7102@daniel-notebook (orig r3301): daniel | 2008-08-06 15:45:54 +0200

Fixed resolving unknown types


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

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

@ -267,6 +267,20 @@ interface IInterface2 { @@ -267,6 +267,20 @@ interface IInterface2 {
Assert.AreEqual("StringBuilder", result.Identifier);
}
[Test]
public void UnknownTypeTest()
{
string program = @"class A {
void Method() {
}
}
";
UnknownIdentifierResolveResult result = Resolve<UnknownIdentifierResolveResult>(program, "StringBuilder", 3, 1, ExpressionContext.Type);
Assert.IsFalse(result.IsValid);
Assert.AreEqual("StringBuilder", result.Identifier);
}
[Test]
public void InvalidMethodCallTest()
{

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

@ -612,7 +612,11 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver @@ -612,7 +612,11 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
return new NamespaceResolveResult(resolver.CallingClass, resolver.CallingMember, name);
}
}
return rr;
if (rr != null) {
return rr;
} else {
return new UnknownIdentifierResolveResult(resolver.CallingClass, resolver.CallingMember, reference.Type);
}
}
public override object VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression, object data)

Loading…
Cancel
Save