stop override this var
This commit is contained in:
@@ -137,17 +137,15 @@ class BindExt {
|
|||||||
case _: macro if (!init) { var v:Null<$type> = null; try { v = $expr; } catch (e:Dynamic) { }; $i{zeroListener}(null, v); };
|
case _: macro if (!init) { var v:Null<$type> = null; try { v = $expr; } catch (e:Dynamic) { }; $i{zeroListener}(null, v); };
|
||||||
}
|
}
|
||||||
|
|
||||||
var base = [
|
|
||||||
(macro var init:Bool = true),
|
|
||||||
];
|
|
||||||
|
|
||||||
var init = [
|
var init = [
|
||||||
macro function $fieldListenerName(?from:Dynamic, ?to:Dynamic) $callListener,
|
macro function $fieldListenerName(?from:Dynamic, ?to:Dynamic) $callListener,
|
||||||
macro function $methodListenerName() $callListener
|
macro function $methodListenerName() $callListener
|
||||||
];
|
];
|
||||||
|
|
||||||
|
init = [macro var init:Bool = true].concat(chain.init).concat(init).concat(chain.bind);
|
||||||
|
|
||||||
var res = macro (function ($zeroListener):Void->Void
|
var res = macro (function ($zeroListener):Void->Void
|
||||||
$b { base.concat(chain.init).concat(init).concat(chain.bind).concat([macro init = false, macro $i{methodListenerName}(), macro return function ():Void $b { chain.unbind }]) }
|
$b { init.concat([macro init = false, macro $i{methodListenerName}(), macro return function ():Void $b { chain.unbind }]) }
|
||||||
)($listener);
|
)($listener);
|
||||||
|
|
||||||
trace(new Printer().printExpr(res));
|
trace(new Printer().printExpr(res));
|
||||||
@@ -294,6 +292,7 @@ class BindExt {
|
|||||||
throw new bindx.Error("Chain is not bindable.", pos);
|
throw new bindx.Error("Chain is not bindable.", pos);
|
||||||
|
|
||||||
var zeroName = res.zeroName = zeroListener.f.e.toString();
|
var zeroName = res.zeroName = zeroListener.f.e.toString();
|
||||||
|
if (zeroName != "this")
|
||||||
res.init.unshift(macro var $zeroName = $i{zeroName});
|
res.init.unshift(macro var $zeroName = $i{zeroName});
|
||||||
|
|
||||||
// TODO: local var
|
// TODO: local var
|
||||||
|
|||||||
Reference in New Issue
Block a user