Mercurial > projects > dwt2
diff base/src/java/lang/util.d @ 112:9f4c18c268b2
Update to compile and execute with dmd 2.052.
author | kntroh |
---|---|
date | Wed, 16 Mar 2011 21:53:53 +0900 |
parents | 8939451abc39 |
children | fb3aa8075988 |
line wrap: on
line diff
--- a/base/src/java/lang/util.d Sat Nov 13 14:15:51 2010 +0100 +++ b/base/src/java/lang/util.d Wed Mar 16 21:53:53 2011 +0900 @@ -16,6 +16,9 @@ static import core.exception; static import std.c.stdlib; static import std.stdio; + static import std.array; + static import std.format; + static import std.exception; alias std.c.stdlib.exit exit; } @@ -121,14 +124,25 @@ } else { // Phobos class Format{ static String opCall( String fmt, ... ){ - implMissing(__FILE__,__LINE__); - return null; + fmt = std.array.replace(fmt, "%", "%%"); + fmt = std.array.replace(fmt, "{}", "%s"); + char[] buf; + void putc(dchar c) { + if (c <= 0x7F) { + buf ~= cast(char)c; + } else { + char[4] buf2; + buf ~= std.utf.toUTF8(buf2, c); + } + } + std.format.doFormat(&putc, _arguments, _argptr); + return std.exception.assumeUnique(buf); } } } version( D_Version2 ){ - mixin("invariant(T)[] _idup(T)( T[] str ){ return str.idup; }"); + mixin("immutable(T)[] _idup(T)( T[] str ){ return str.idup; }"); } else { // D1 String16 _idup( String16 str ){ return str.dup;