annotate lphobos/typeinfo2/ti_Along.d @ 1607:207a8a438dea

Merge DMD r253: refactor: Argument => Parameter --- dmd/arrayop.c | 30 ++++---- dmd/arraytypes.h | 2 +- dmd/class.c | 8 +- dmd/declaration.c | 10 ++-- dmd/declaration.h | 16 ++-- dmd/doc.c | 12 ++-- dmd/dsymbol.c | 4 +- dmd/expression.c | 48 +++++++------- dmd/expression.h | 32 +++++----- dmd/func.c | 78 +++++++++++----------- dmd/init.c | 2 +- dmd/interpret.c | 8 +- dmd/mtype.c | 190 ++++++++++++++++++++++++++-------------------------- dmd/mtype.h | 32 +++++----- dmd/opover.c | 34 +++++----- dmd/parse.c | 40 ++++++------ dmd/parse.h | 2 +- dmd/statement.c | 90 +++++++++++++------------- dmd/statement.h | 14 ++-- dmd/struct.c | 8 +- dmd/template.c | 30 ++++---- gen/functions.cpp | 10 ++-- gen/functions.h | 2 +- gen/tocall.cpp | 10 ++-- gen/typinf.cpp | 6 +- 25 files changed, 359 insertions(+), 359 deletions(-)
author Leandro Lucarella <llucax@gmail.com>
date Wed, 06 Jan 2010 15:18:20 -0300
parents 362825278842
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
59
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
1 module typeinfo2.ti_Along;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
2
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
3 extern(C) int memcmp(void*,void*,size_t);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
4
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
5 // long[]
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
6
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
7 class TypeInfo_Al : TypeInfo
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
8 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
9 char[] toString() { return "long[]"; }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
10
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
11 hash_t getHash(void *p)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
12 { long[] s = *cast(long[]*)p;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
13 size_t len = s.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
14 auto str = s.ptr;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
15 hash_t hash = 0;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
16
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
17 while (len)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
18 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
19 hash *= 9;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
20 hash += *cast(uint *)str + *(cast(uint *)str + 1);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
21 str++;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
22 len--;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
23 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
24
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
25 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
26 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
27
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
28 int equals(void *p1, void *p2)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
29 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
30 long[] s1 = *cast(long[]*)p1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
31 long[] s2 = *cast(long[]*)p2;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
32
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
33 return s1.length == s2.length &&
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
34 memcmp(cast(void *)s1, cast(void *)s2, s1.length * long.sizeof) == 0;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
35 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
36
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
37 int compare(void *p1, void *p2)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
38 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
39 long[] s1 = *cast(long[]*)p1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
40 long[] s2 = *cast(long[]*)p2;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
41 size_t len = s1.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
42
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
43 if (s2.length < len)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
44 len = s2.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
45 for (size_t u = 0; u < len; u++)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
46 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
47 if (s1[u] < s2[u])
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
48 return -1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
49 else if (s1[u] > s2[u])
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
50 return 1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
51 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
52 return cast(int)s1.length - cast(int)s2.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
53 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
54
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
55 size_t tsize()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
56 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
57 return (long[]).sizeof;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
58 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
59
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
60 uint flags()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
61 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
62 return 1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
63 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
64
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
65 TypeInfo next()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
66 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
67 return typeid(long);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
68 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
69 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
70
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
71
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
72 // ulong[]
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
73
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
74 class TypeInfo_Am : TypeInfo_Al
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
75 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
76 char[] toString() { return "ulong[]"; }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
77
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
78 int compare(void *p1, void *p2)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
79 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
80 ulong[] s1 = *cast(ulong[]*)p1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
81 ulong[] s2 = *cast(ulong[]*)p2;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
82 size_t len = s1.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
83
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
84 if (s2.length < len)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
85 len = s2.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
86 for (size_t u = 0; u < len; u++)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
87 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
88 if (s1[u] < s2[u])
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
89 return -1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
90 else if (s1[u] > s2[u])
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
91 return 1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
92 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
93 return cast(int)s1.length - cast(int)s2.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
94 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
95
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
96 TypeInfo next()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
97 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
98 return typeid(ulong);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
99 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
100 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
101
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
102