|
|
|
|
@ -51,25 +51,23 @@ namespace XN {
@@ -51,25 +51,23 @@ namespace XN {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
";
|
|
|
|
|
InvocationResolveResult mrr; |
|
|
|
|
|
|
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$a.F(1)$")); |
|
|
|
|
var member = ((IMethod)mrr.Member).ReducedFrom; |
|
|
|
|
var mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$a.F(1)$")); |
|
|
|
|
var member = mrr.ReducedMethod; |
|
|
|
|
Assert.AreEqual("XN.XC.F", member.FullName); |
|
|
|
|
Assert.AreEqual("System.Int32", member.Parameters [1].Type.FullName); |
|
|
|
|
Assert.AreEqual("System.Int32", member.Parameters [0].Type.FullName); |
|
|
|
|
|
|
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$a.F(\"text\")$")); |
|
|
|
|
member = ((IMethod)mrr.Member).ReducedFrom; |
|
|
|
|
member = mrr.ReducedMethod; |
|
|
|
|
Assert.AreEqual("XN.XC.F", member.FullName); |
|
|
|
|
Assert.AreEqual("System.String", member.Parameters[1].Type.FullName); |
|
|
|
|
Assert.AreEqual("System.String", member.Parameters[0].Type.FullName); |
|
|
|
|
|
|
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$b.F(1)$")); |
|
|
|
|
Assert.AreEqual("B.F", mrr.Member.FullName); |
|
|
|
|
|
|
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$b.F(\"text\")$")); |
|
|
|
|
member = ((IMethod)mrr.Member).ReducedFrom; |
|
|
|
|
member = mrr.ReducedMethod; |
|
|
|
|
Assert.AreEqual("XN.XC.F", member.FullName); |
|
|
|
|
Assert.AreEqual("System.String", member.Parameters[1].Type.FullName); |
|
|
|
|
Assert.AreEqual("System.String", member.Parameters[0].Type.FullName); |
|
|
|
|
|
|
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$c.F(1)$")); |
|
|
|
|
Assert.AreEqual("C.F", mrr.Member.FullName); |
|
|
|
|
@ -146,9 +144,8 @@ public static class XC {
@@ -146,9 +144,8 @@ public static class XC {
|
|
|
|
|
";
|
|
|
|
|
var rr = Resolve<CSharpInvocationResolveResult>(program); |
|
|
|
|
Assert.AreEqual("A[]", rr.Type.ReflectionName); |
|
|
|
|
var member = ((IMethod)rr.Member).ReducedFrom; |
|
|
|
|
Assert.AreEqual("System.Linq.Enumerable.ToArray", member.FullName); |
|
|
|
|
Assert.AreEqual("A", ((SpecializedMethod)member).TypeArguments.Single().ReflectionName); |
|
|
|
|
Assert.AreEqual("System.Linq.Enumerable.ToArray", rr.Member.FullName); |
|
|
|
|
Assert.AreEqual("A", ((IMethod)rr.Member).TypeArguments.Single().ReflectionName); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
|