simplify isBindable check method
This commit is contained in:
@@ -96,16 +96,15 @@ class BindMacros {
|
|||||||
static inline function isBindable(classType:ClassType):Bool {
|
static inline function isBindable(classType:ClassType):Bool {
|
||||||
var check = [classType];
|
var check = [classType];
|
||||||
var res = false;
|
var res = false;
|
||||||
while (check.length > 0 && !res) {
|
while (!res && check.length > 0) {
|
||||||
var t = check.shift();
|
var t = check.shift();
|
||||||
while (t != null) {
|
while (!res && t != null) {
|
||||||
if (t.module == "bindx.IBindable" && t.name == "IBindable") {
|
switch t {
|
||||||
res = true;
|
case {module: "bindx.IBindable", name: "IBindable"}: res = true;
|
||||||
break;
|
case _:
|
||||||
|
for (it in t.interfaces) check.push(it.t.get());
|
||||||
|
t = t.superClass != null ? t.superClass.t.get() : null;
|
||||||
}
|
}
|
||||||
for (it in t.interfaces)
|
|
||||||
check.push(it.t.get());
|
|
||||||
t = t.superClass != null ? t.superClass.t.get() : null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
Reference in New Issue
Block a user