|
|
|
@ -1,4 +1,4 @@ |
|
|
|
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team
|
|
|
|
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
|
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
|
|
|
// software and associated documentation files (the "Software"), to deal in the Software
|
|
|
|
// software and associated documentation files (the "Software"), to deal in the Software
|
|
|
|
@ -54,12 +54,12 @@ namespace XN { |
|
|
|
InvocationResolveResult mrr; |
|
|
|
InvocationResolveResult mrr; |
|
|
|
|
|
|
|
|
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$a.F(1)$")); |
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$a.F(1)$")); |
|
|
|
var member = ((IMethod)mrr.Member).ReducedFrom; |
|
|
|
var member = ((InvocatedExtensionMethod)mrr.Member).InvocatedMethod; |
|
|
|
Assert.AreEqual("XN.XC.F", member.FullName); |
|
|
|
Assert.AreEqual("XN.XC.F", member.FullName); |
|
|
|
Assert.AreEqual("System.Int32", member.Parameters [1].Type.FullName); |
|
|
|
Assert.AreEqual("System.Int32", member.Parameters [1].Type.FullName); |
|
|
|
|
|
|
|
|
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$a.F(\"text\")$")); |
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$a.F(\"text\")$")); |
|
|
|
member = ((IMethod)mrr.Member).ReducedFrom; |
|
|
|
member = ((InvocatedExtensionMethod)mrr.Member).InvocatedMethod; |
|
|
|
Assert.AreEqual("XN.XC.F", member.FullName); |
|
|
|
Assert.AreEqual("XN.XC.F", member.FullName); |
|
|
|
Assert.AreEqual("System.String", member.Parameters[1].Type.FullName); |
|
|
|
Assert.AreEqual("System.String", member.Parameters[1].Type.FullName); |
|
|
|
|
|
|
|
|
|
|
|
@ -67,7 +67,7 @@ namespace XN { |
|
|
|
Assert.AreEqual("B.F", mrr.Member.FullName); |
|
|
|
Assert.AreEqual("B.F", mrr.Member.FullName); |
|
|
|
|
|
|
|
|
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$b.F(\"text\")$")); |
|
|
|
mrr = Resolve<CSharpInvocationResolveResult>(program.Replace("$", "$b.F(\"text\")$")); |
|
|
|
member = ((IMethod)mrr.Member).ReducedFrom; |
|
|
|
member = ((InvocatedExtensionMethod)mrr.Member).InvocatedMethod; |
|
|
|
Assert.AreEqual("XN.XC.F", member.FullName); |
|
|
|
Assert.AreEqual("XN.XC.F", member.FullName); |
|
|
|
Assert.AreEqual("System.String", member.Parameters[1].Type.FullName); |
|
|
|
Assert.AreEqual("System.String", member.Parameters[1].Type.FullName); |
|
|
|
|
|
|
|
|
|
|
|
@ -146,7 +146,7 @@ public static class XC { |
|
|
|
";
|
|
|
|
";
|
|
|
|
var rr = Resolve<CSharpInvocationResolveResult>(program); |
|
|
|
var rr = Resolve<CSharpInvocationResolveResult>(program); |
|
|
|
Assert.AreEqual("A[]", rr.Type.ReflectionName); |
|
|
|
Assert.AreEqual("A[]", rr.Type.ReflectionName); |
|
|
|
var member = ((IMethod)rr.Member).ReducedFrom; |
|
|
|
var member = ((InvocatedExtensionMethod)rr.Member).InvocatedMethod; |
|
|
|
Assert.AreEqual("System.Linq.Enumerable.ToArray", member.FullName); |
|
|
|
Assert.AreEqual("System.Linq.Enumerable.ToArray", member.FullName); |
|
|
|
Assert.AreEqual("A", ((SpecializedMethod)member).TypeArguments.Single().ReflectionName); |
|
|
|
Assert.AreEqual("A", ((SpecializedMethod)member).TypeArguments.Single().ReflectionName); |
|
|
|
} |
|
|
|
} |
|
|
|
|