interfaces inheritance
This commit is contained in:
+2
-2
@@ -5,8 +5,8 @@
|
|||||||
"tags": ["bind", "binding", "bindings", "cross"],
|
"tags": ["bind", "binding", "bindings", "cross"],
|
||||||
"description": "Powerful and fast macro-based data binding engine inspired by Flex Bindings with easy-to-use syntax.",
|
"description": "Powerful and fast macro-based data binding engine inspired by Flex Bindings with easy-to-use syntax.",
|
||||||
"classPath": "src",
|
"classPath": "src",
|
||||||
"version": "2.0.1",
|
"version": "2.1.0",
|
||||||
"releasenote": "haxe night build support, fix interfaces processing",
|
"releasenote": "interface fields support @:bindable meta",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"deep"
|
"deep"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -43,6 +43,9 @@ class BindMacros {
|
|||||||
|
|
||||||
var fields = Context.getBuildFields();
|
var fields = Context.getBuildFields();
|
||||||
|
|
||||||
|
var meta = classType.bindableMeta();
|
||||||
|
if (meta != null) injectBindableMeta(fields, meta);
|
||||||
|
|
||||||
if (classType.isInterface) {
|
if (classType.isInterface) {
|
||||||
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) {
|
||||||
@@ -50,12 +53,9 @@ class BindMacros {
|
|||||||
Context.warning('Interface doesn\'t support @:bindable meta params', m.pos);
|
Context.warning('Interface doesn\'t support @:bindable meta params', m.pos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return fields;
|
||||||
}
|
}
|
||||||
|
|
||||||
var meta = classType.bindableMeta();
|
|
||||||
if (meta != null) injectBindableMeta(fields, meta);
|
|
||||||
|
|
||||||
var interfaceFields = getBindableFieldsFromInterfaces(classType);
|
var interfaceFields = getBindableFieldsFromInterfaces(classType);
|
||||||
|
|
||||||
var res = [];
|
var res = [];
|
||||||
|
|||||||
@@ -40,8 +40,9 @@ class InheritanceTest extends BuddySuite {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
interface IIBindable extends IBindable {
|
|
||||||
@:bindable
|
@:bindable
|
||||||
|
interface IIBindable extends IBindable {
|
||||||
|
|
||||||
var i(default, set):Int;
|
var i(default, set):Int;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user