diff --git a/polymod/hscript/_internal/PolymodScriptClass.hx b/polymod/hscript/_internal/PolymodScriptClass.hx index 9e43b181..7555363a 100644 --- a/polymod/hscript/_internal/PolymodScriptClass.hx +++ b/polymod/hscript/_internal/PolymodScriptClass.hx @@ -329,7 +329,7 @@ class PolymodScriptClass baseSuperClsName = baseSuperClsName.split('<')[0]; } - var superCls:Class = null; + var superCls:Dynamic = null; if (classDecl.imports.exists(baseSuperClsName)) { @@ -356,10 +356,14 @@ class PolymodScriptClass while (superCls != null) { // Recursively add this class's superclasses. - result.push(Type.getClassName(superCls)); + if (Std.isOfType(superCls, PolymodScriptClass)) result.push(superCls.fullyQualifiedName); + else + result.push(Type.getClassName(superCls)); // This returns null when the class has no superclass. - superCls = Type.getSuperClass(superCls); + if (Std.isOfType(superCls, PolymodScriptClass)) superCls = superCls.superClass; + else + superCls = Type.getSuperClass(superCls); } return result; }