Mercurial > projects > ldc
view tango/example/external/GlueFlectioned.d @ 133:44a95ac7368a trunk
[svn r137] Many fixes towards tango.io.Console working, but not quite there yet...
In particular, assertions has been fixed to include file/line info, and much more!
author | lindquist |
---|---|
date | Mon, 14 Jan 2008 05:11:54 +0100 |
parents | 1700239cab2e |
children |
line wrap: on
line source
import tango.core.Exception; import cn.kuehne.flectioned; TracedExceptionInfo traceHandler( void* ptr = null ) { class FlectionedTrace : TracedExceptionInfo { this( void* ptr = null ) { if( ptr ) m_trace = Trace.getTrace( cast(size_t) ptr ); else m_trace = Trace.getTrace(); } int opApply( int delegate( inout char[] ) dg ) { int ret = 0; foreach( t; m_trace ) { char[] buf = t.toString; ret = dg( buf ); if( ret != 0 ) break; } return ret; } private: Trace[] m_trace; } return new FlectionedTrace( ptr ); } static this() { setTraceHandler( &traceHandler ); }