Mercurial > projects > ldc
view tango/example/external/GlueFlectioned.d @ 193:aca17e55b7a5 trunk
[svn r209] Fixed: exotic array to pointer casts were broken.
Changed: classes now have opaque vtables.
author | lindquist |
---|---|
date | Mon, 12 May 2008 18:44:11 +0200 |
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 ); }