public void MemberInfoSlimEqualityComparer_Method_Simple() { var tq = new TypeSlimEqualityComparer(); var eq = new MemberInfoSlimEqualityComparer(tq); var asm = new AssemblySlim("foo"); var tp1 = TypeSlim.Simple(asm, "bar"); var i4 = typeof(int).ToTypeSlim(); var i8 = typeof(long).ToTypeSlim(); var args0 = new List <TypeSlim> { i4, i8 }.AsReadOnly(); var args1 = new List <TypeSlim> { i4 }.AsReadOnly(); var args2 = new List <TypeSlim> { i8, i4 }.AsReadOnly(); var args3 = new List <TypeSlim> { i4, i8, i4 }.AsReadOnly(); var mtd_0_i4i8_i4_0 = new SimpleMethodInfoSlim(tp1, "Qux0", args0, i4); var mtd_0_i4i8_i4_1 = new SimpleMethodInfoSlim(tp1, "Qux0", args0, i4); var mtd_0_i4i8_i8_0 = new SimpleMethodInfoSlim(tp1, "Qux0", args0, i8); var mtd_0_i4i8_i8_1 = new SimpleMethodInfoSlim(tp1, "Qux0", args0, i8); var mtd_0_i4_i4_0 = new SimpleMethodInfoSlim(tp1, "Qux0", args1, i4); var mtd_0_i8i4_i4_0 = new SimpleMethodInfoSlim(tp1, "Qux0", args2, i4); var mtd_0_i4i8i4_i4_0 = new SimpleMethodInfoSlim(tp1, "Qux0", args3, i4); Assert.IsTrue(eq.Equals(mtd_0_i4i8_i4_0, mtd_0_i4i8_i4_0)); Assert.IsTrue(eq.Equals(mtd_0_i4i8_i4_0, mtd_0_i4i8_i4_1)); Assert.IsTrue(eq.Equals(mtd_0_i4i8_i4_1, mtd_0_i4i8_i4_0)); Assert.IsTrue(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i4i8_i8_0)); Assert.IsTrue(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i4i8_i8_1)); Assert.IsTrue(eq.Equals(mtd_0_i4i8_i8_1, mtd_0_i4i8_i8_0)); Assert.IsFalse(eq.Equals(mtd_0_i4i8_i4_0, mtd_0_i4i8_i8_0)); Assert.IsFalse(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i4i8_i4_0)); Assert.IsFalse(eq.Equals(mtd_0_i4_i4_0, mtd_0_i4i8_i8_0)); Assert.IsFalse(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i4_i4_0)); Assert.IsFalse(eq.Equals(mtd_0_i8i4_i4_0, mtd_0_i4i8_i8_0)); Assert.IsFalse(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i8i4_i4_0)); Assert.IsFalse(eq.Equals(mtd_0_i4i8i4_i4_0, mtd_0_i4i8_i8_0)); Assert.IsFalse(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i4i8i4_i4_0)); Assert.AreEqual(eq.GetHashCode(mtd_0_i4i8_i4_0), eq.GetHashCode(mtd_0_i4i8_i4_0)); Assert.AreEqual(eq.GetHashCode(mtd_0_i4i8_i4_0), eq.GetHashCode(mtd_0_i4i8_i4_1)); Assert.AreEqual(eq.GetHashCode(mtd_0_i4i8_i4_1), eq.GetHashCode(mtd_0_i4i8_i4_1)); }
protected override int VisitSimpleMethod(SimpleMethodInfoSlim method) => Combine((int)method.MemberType, Visit(method.DeclaringType), Visit(method.ReturnType), Visit(method.Name), Visit(method.ParameterTypes));
protected override int VisitSimpleMethod(SimpleMethodInfoSlim method) => throw new NotImplementedException();
private static void AssertAreSameSimpleMethod(MethodInfo methodInfo, SimpleMethodInfoSlim simpleMethodInfoSlim) { Assert.AreEqual(methodInfo.Name, simpleMethodInfoSlim.Name); }
public SimpleMethodDef(TypeRef declaringType, SimpleMethodInfoSlim method, TypeRef returnType, params TypeRef[] parameters) : base(declaringType, method, returnType, parameters) { }