|
@@ -197,6 +197,13 @@ class Eval {
|
|
for( a in args )
|
|
for( a in args )
|
|
haxe.Log.trace(Printer.toString(a), { fileName : #if macro haxe.macro.Context.getPosInfos(a.p).file #else a.p.file #end, lineNumber : 0, className : null, methodName : null });
|
|
haxe.Log.trace(Printer.toString(a), { fileName : #if macro haxe.macro.Context.getPosInfos(a.p).file #else a.p.file #end, lineNumber : 0, className : null, methodName : null });
|
|
TBlock([]);
|
|
TBlock([]);
|
|
|
|
+ case [Length, [{ e : TVar(v) }]]:
|
|
|
|
+ switch( v.type ) {
|
|
|
|
+ case TArray(_, SConst(v)):
|
|
|
|
+ TConst(CInt(v));
|
|
|
|
+ default:
|
|
|
|
+ Error.t("Length() on invalid type "+Printer.toString(args[0]), pos);
|
|
|
|
+ }
|
|
case [ChannelRead|ChannelReadLod, _]:
|
|
case [ChannelRead|ChannelReadLod, _]:
|
|
var i = switch( args[0].e ) { case TConst(CInt(i)): i; default: Error.t("Cannot eval complex channel " + Printer.toString(args[0],true)+" "+constantsToString(), pos); throw "assert"; };
|
|
var i = switch( args[0].e ) { case TConst(CInt(i)): i; default: Error.t("Cannot eval complex channel " + Printer.toString(args[0],true)+" "+constantsToString(), pos); throw "assert"; };
|
|
var channel = oldArgs[0];
|
|
var channel = oldArgs[0];
|