diff --git a/polymod/hscript/_internal/PolymodInterpEx.hx b/polymod/hscript/_internal/PolymodInterpEx.hx index 9c03315d..140557e9 100644 --- a/polymod/hscript/_internal/PolymodInterpEx.hx +++ b/polymod/hscript/_internal/PolymodInterpEx.hx @@ -67,6 +67,13 @@ class PolymodInterpEx extends Interp var clsRef = PolymodStaticClassReference.tryBuild(cl); if (clsRef != null) return clsRef.instantiate(args); + @:privateAccess + if (getClassDecl().imports != null && getClassDecl().imports.exists(cl)) + { + var clsRef = PolymodStaticClassReference.tryBuild(getClassDecl().imports.get(cl).fullPath); + if (clsRef != null) return clsRef.instantiate(args); + } + @:privateAccess if (getClassDecl()?.pkg != null) { @@ -232,6 +239,12 @@ class PolymodInterpEx extends Interp for (key => imp in cls.importsToValidate) { + if (_scriptClassDescriptors.exists(imp.fullPath)) + { + cls.imports.set(key, imp); + continue; + } + if (_scriptEnumDescriptors.exists(imp.fullPath)) { cls.imports.set(key, imp);