From cef484b673203b38d1eb00c9d4a98ff46cb3230e Mon Sep 17 00:00:00 2001 From: lemz1 Date: Fri, 21 Feb 2025 12:47:19 +0100 Subject: [PATCH] ability to import scripted classes --- polymod/hscript/_internal/PolymodInterpEx.hx | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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);