java/cs target fixes
This commit is contained in:
+5
-12
@@ -26,7 +26,7 @@ class BindMacros {
|
|||||||
*/
|
*/
|
||||||
static public inline var FORCE = "force";
|
static public inline var FORCE = "force";
|
||||||
|
|
||||||
static public inline var BINDABLE_FIELDS = "bindableFields";
|
static public inline var BINDABLE_FIELDS = ":bindableFields";
|
||||||
|
|
||||||
static var processed:Array<String> = [];
|
static var processed:Array<String> = [];
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ class BindMacros {
|
|||||||
var a = [];
|
var a = [];
|
||||||
for (f in fields) {
|
for (f in fields) {
|
||||||
for (m in f.meta) if (m.name == MetaUtils.BINDABLE_META) {
|
for (m in f.meta) if (m.name == MetaUtils.BINDABLE_META) {
|
||||||
a.push(f.name);
|
a.push(macro $v { f.name } );
|
||||||
if (m.params.length > 0)
|
if (m.params.length > 0)
|
||||||
Context.warning('Interface doesn\'t support @:bindable meta params', m.pos);
|
Context.warning('Interface doesn\'t support @:bindable meta params', m.pos);
|
||||||
}
|
}
|
||||||
@@ -63,7 +63,7 @@ class BindMacros {
|
|||||||
var classMeta = classType.meta;
|
var classMeta = classType.meta;
|
||||||
if (classMeta.has(BINDABLE_FIELDS))
|
if (classMeta.has(BINDABLE_FIELDS))
|
||||||
classMeta.remove(BINDABLE_FIELDS);
|
classMeta.remove(BINDABLE_FIELDS);
|
||||||
classMeta.add(BINDABLE_FIELDS, [macro $v { a } ], classType.pos);
|
classMeta.add(BINDABLE_FIELDS, a, classType.pos);
|
||||||
return fields;
|
return fields;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,17 +94,10 @@ class BindMacros {
|
|||||||
function iter(t:ClassType) {
|
function iter(t:ClassType) {
|
||||||
var meta = t.meta.get();
|
var meta = t.meta.get();
|
||||||
var m = meta.find(function (it) return it.name == BINDABLE_FIELDS);
|
var m = meta.find(function (it) return it.name == BINDABLE_FIELDS);
|
||||||
if (m != null && m.params.length > 0) {
|
if (m != null) for (a in m.params) {
|
||||||
var a = m.params[0];
|
var value = switch a.expr { case EConst(CString(s)): s; case _: null; };
|
||||||
switch a.expr {
|
|
||||||
case EArrayDecl(values):
|
|
||||||
for (v in values) {
|
|
||||||
var value = switch v.expr { case EConst(CString(s)): s; case _: null; };
|
|
||||||
interfaceFields.set(value, t);
|
interfaceFields.set(value, t);
|
||||||
}
|
}
|
||||||
case _:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (it in t.interfaces) iter(it.t.get());
|
for (it in t.interfaces) iter(it.t.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ class BindSignalProvider implements IBindingSignalProvider {
|
|||||||
return macro {
|
return macro {
|
||||||
var meta = haxe.rtti.Meta.getFields(std.Type.getClass($expr));
|
var meta = haxe.rtti.Meta.getFields(std.Type.getClass($expr));
|
||||||
if (meta != null) for (m in std.Reflect.fields(meta)) {
|
if (meta != null) for (m in std.Reflect.fields(meta)) {
|
||||||
var data:Dynamic<String> = std.Reflect.field(meta, m);
|
var data = std.Reflect.field(meta, m);
|
||||||
if (std.Reflect.hasField(data, $v{BIND_SIGNAL_META})) {
|
if (std.Reflect.hasField(data, $v{BIND_SIGNAL_META})) {
|
||||||
var signal:bindx.BindSignal.Signal<Dynamic> = cast Reflect.field($expr, m);
|
var signal:bindx.BindSignal.Signal<Dynamic> = cast Reflect.field($expr, m);
|
||||||
if (signal != null) {
|
if (signal != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user