interfaces inheritance

This commit is contained in:
Dima Granetchi
2014-12-31 22:42:28 +02:00
parent ffc70136f8
commit 5ab43ca192
3 changed files with 8 additions and 7 deletions
+2 -2
View File
@@ -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"
]
+4 -4
View File
@@ -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);
+2 -1
View File
@@ -40,8 +40,9 @@ class InheritanceTest extends BuddySuite {
}
}
@:bindable
interface IIBindable extends IBindable {
@:bindable
var i(default, set):Int;
}