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