Mercurial > projects > qtd
diff d2/qtd/MOC.d @ 402:e67ce7c21758
gdc & 64 bit changes
author | Eldar Insafutdinov |
---|---|
date | Thu, 17 Mar 2011 19:45:42 +0000 |
parents | a032df77b6ab |
children |
line wrap: on
line diff
--- a/d2/qtd/MOC.d Wed Oct 20 09:45:59 2010 +0200 +++ b/d2/qtd/MOC.d Thu Mar 17 19:45:42 2011 +0000 @@ -20,11 +20,11 @@ /** Utils. */ -int lastIndexOf(T)(T[] haystack, T[] needle, int from = -1) +sizediff_t lastIndexOf(T)(T[] haystack, T[] needle, sizediff_t from = -1) { auto l = haystack.length; auto ol = needle.length; - int delta = l - ol; + auto delta = l - ol; if (from < 0) from = delta; if (from < 0 || from > l) @@ -41,7 +41,7 @@ return -1; } -string replicate(int n, char value) +string replicate(size_t n, char value) { char[] ret = "".dup; if (n > 0) @@ -144,11 +144,11 @@ -int lengthOfEscapeSequence(string s, uint i) +int lengthOfEscapeSequence(string s, size_t i) { if (s[i] != '\\' || i >= s.length - 1) return 1; - const int startPos = i; + const startPos = i; ++i; auto ch = s[i]; if (ch == 'x') { @@ -164,7 +164,7 @@ } else { // single character escape sequence i = qMin(i + 1, s.length); } - return i - startPos; + return cast(int)(i - startPos); } int strreg(ref Generator gen, string s) @@ -274,7 +274,7 @@ gen.output ~= format_ctfe(" ${}, ${}, // classinfo\n", gen.cdef.classInfoList.length, gen.cdef.classInfoList.length ? index : 0); index += gen.cdef.classInfoList.length * 2; - int methodCount = gen.cdef.signalList.length + gen.cdef.slotList.length;// + cdef->methodList.count(); + auto methodCount = gen.cdef.signalList.length + gen.cdef.slotList.length;// + cdef->methodList.count(); gen.output ~= format_ctfe(" ${}, ${}, // methods\n", methodCount, methodCount ? index : 0); index += methodCount * 5; gen.output ~= format_ctfe(" ${}, ${}, // properties\n", propertyList.length, propertyList.length ? index : 0); @@ -337,7 +337,7 @@ gen.output ~= "private static immutable char[] qt_meta_stringdata = \n"; gen.output ~= format_ctfe(" \""); int col = 0; - int len = 0; + sizediff_t len = 0; foreach (i, s; gen.strings) { len = s.length; if (col && col + len >= 72) { @@ -353,12 +353,12 @@ col = 0; gen.output ~= format_ctfe("\"\n \""); } - int spanLen = qMin(cast(uint)70, s.length - idx); + sizediff_t spanLen = qMin(cast(size_t)70, s.length - idx); // don't cut escape sequences at the end of a line - int backSlashPos = s.lastIndexOf("\\", idx + spanLen - 1); + auto backSlashPos = s.lastIndexOf("\\", idx + spanLen - 1); if (backSlashPos >= idx) { - int escapeLen = lengthOfEscapeSequence(s, backSlashPos); - spanLen = qBound(spanLen, backSlashPos + escapeLen - idx, cast(int)(s.length - idx)); + auto escapeLen = lengthOfEscapeSequence(s, backSlashPos); + spanLen = qBound(spanLen, backSlashPos + escapeLen - idx, cast(sizediff_t)(s.length - idx)); } gen.output ~= s[idx..idx+spanLen]; idx += spanLen;