Mercurial > projects > dwt2
diff java/src/java/lang/Runnable.d @ 0:6dd524f61e62
add dwt win and basic java stuff
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Mon, 02 Mar 2009 14:44:16 +0100 |
parents | |
children | 9b96950f2c3c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/src/java/lang/Runnable.d Mon Mar 02 14:44:16 2009 +0100 @@ -0,0 +1,39 @@ +/** + * Authors: Frank Benoit <benoit@tionex.de> + */ +module java.lang.Runnable; + + +import tango.core.Tuple; +import tango.core.Traits; + +public interface Runnable { + + public abstract void run(); + +} + +class _DgRunnableT(Dg,T...) : Runnable { + + alias ParameterTupleOf!(Dg) DgArgs; + static assert( is(DgArgs == Tuple!(T)), + "Delegate args not correct: "~DgArgs.stringof~" vs "~T.stringof ); + + Dg dg; + T t; + + private this( Dg dg, T t ){ + this.dg = dg; + static if( T.length > 0 ){ + this.t = t; + } + } + + void run( ){ + dg(t); + } +} + +_DgRunnableT!(Dg,T) dgRunnable(Dg,T...)( Dg dg, T args ){ + return new _DgRunnableT!(Dg,T)(dg,args); +}