1 module rt.typeinfo.ti_AC;
5 class TypeInfo_AC : TypeInfo
7 hash_t getHash(in void* p)
8 { Object[] s = *cast(Object[]*)p;
19 equals_t equals(in void* p1, in void* p2)
21 Object[] s1 = *cast(Object[]*)p1;
22 Object[] s2 = *cast(Object[]*)p2;
24 if (s1.length == s2.length)
26 for (size_t u = 0; u < s1.length; u++)
30 // Do not pass null's to Object.opEquals()
32 (!(o1 is null) && !(o2 is null) && o1.opEquals(o2)))
41 int compare(in void* p1, in void* p2)
43 Object[] s1 = *cast(Object[]*)p1;
44 Object[] s2 = *cast(Object[]*)p2;
47 c = cast(ptrdiff_t)s1.length - cast(ptrdiff_t)s2.length;
50 for (size_t u = 0; u < s1.length; u++)
57 // Regard null references as always being "less than"
83 return (Object[]).sizeof;
93 return typeid(Object);