Skip to content

Commit 876600c

Browse files
committed
new implementation
1 parent 7c203b5 commit 876600c

13 files changed

+1931
-3108
lines changed

polymod/Polymod.hx

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import polymod.format.JsonHelp;
99
import polymod.format.ParseRules;
1010
import polymod.fs.PolymodFileSystem;
1111
#if hscript
12-
import polymod.hscript._internal.PolymodScriptClass;
12+
import polymod.hscript._internal.PolymodScriptManager;
1313
#end
1414
import polymod.util.DependencyUtil;
1515
import polymod.util.VersionUtil;
@@ -193,7 +193,7 @@ enum Framework
193193
}
194194

195195

196-
@:allow(polymod.hscript._internal.PolymodScriptClass)
196+
@:allow(polymod.hscript._internal.PolymodScriptManager)
197197
class Polymod
198198
{
199199
/**
@@ -337,9 +337,11 @@ class Polymod
337337
} else {
338338
Polymod.registerAllScriptClasses();
339339

340-
var classList = polymod.hscript._internal.PolymodScriptClass.listScriptClasses();
340+
var classList = PolymodScriptManager.instance.listScriptClasses();
341341
Polymod.notice(PolymodErrorCode.SCRIPT_PARSED, 'Parsed and registered ${classList.length} scripted classes.');
342342
}
343+
344+
PolymodScriptManager.instance.validateImports();
343345
}
344346
#else
345347
if (params.useScriptedClasses)
@@ -654,7 +656,7 @@ class Polymod
654656
{
655657
#if hscript
656658
@:privateAccess
657-
polymod.hscript._internal.PolymodScriptClass.clearScriptedClasses();
659+
PolymodScriptManager.instance.clearScriptedClasses();
658660
polymod.hscript.HScriptable.ScriptRunner.clearScripts();
659661
#else
660662
Polymod.warning(SCRIPT_HSCRIPT_NOT_INSTALLED, "Cannot register script classes, HScript is not available.");
@@ -688,7 +690,7 @@ class Polymod
688690
if (!Polymod.assetLibrary.exists(path)) throw 'Couldn\'t find file "$textPath"';
689691
}
690692
Polymod.debug('Registering script class "$path"');
691-
polymod.hscript._internal.PolymodScriptClass.registerScriptClassByPath(path);
693+
PolymodScriptManager.instance.registerScriptClassByPath(path);
692694
}
693695
}
694696
}
@@ -724,7 +726,7 @@ class Polymod
724726
if (!Polymod.assetLibrary.exists(path)) throw 'Couldn\'t find file "$textPath" (tried libraries ${libraryIds})';
725727
}
726728
Polymod.debug('Fetching script class "$path"');
727-
var future = polymod.hscript._internal.PolymodScriptClass.registerScriptClassByPathAsync(path);
729+
var future = PolymodScriptManager.instance.registerScriptClassByPathAsync(path);
728730
if (future != null) futures.push(future);
729731
}
730732
}
@@ -794,15 +796,15 @@ class Polymod
794796
*/
795797
public static function addImportAlias(importAlias:String, importClass:Class<Dynamic>):Void {
796798
#if hscript
797-
PolymodScriptClass.importOverrides.set(importAlias, importClass);
799+
PolymodScriptManager.instance.importOverrides.set(importAlias, importClass);
798800
#else
799801
Polymod.warning(PolymodErrorCode.SCRIPT_HSCRIPT_NOT_INSTALLED, 'Scripted classes imports were requested, but hscript is not installed.');
800802
#end
801803
}
802804

803805
public static function removeImportAlias(importAlias:String):Void {
804806
#if hscript
805-
PolymodScriptClass.importOverrides.remove(importAlias);
807+
PolymodScriptManager.instance.importOverrides.remove(importAlias);
806808
#else
807809
Polymod.warning(PolymodErrorCode.SCRIPT_HSCRIPT_NOT_INSTALLED, 'Scripted classes imports were requested, but hscript is not installed.');
808810
#end
@@ -815,7 +817,7 @@ class Polymod
815817
*/
816818
public static function addDefaultImport(importClass:Class<Dynamic>, ?importAlias:String):Void {
817819
#if hscript
818-
PolymodScriptClass.defaultImports.set(importAlias == null ? Type.getClassName(importClass) : importAlias, importClass);
820+
PolymodScriptManager.instance.defaultImports.set(importAlias == null ? Type.getClassName(importClass) : importAlias, importClass);
819821
#else
820822
Polymod.warning(PolymodErrorCode.SCRIPT_HSCRIPT_NOT_INSTALLED, 'Scripted classes imports were requested, but hscript is not installed.');
821823
#end

polymod/hscript/HScriptable.hx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ class Script
284284
public static function buildInterp():polymod.hscript._internal.PolymodInterpEx
285285
{
286286
// Arguments are only needed in a scripted class context.
287-
return new polymod.hscript._internal.PolymodInterpEx(null, null);
287+
return new polymod.hscript._internal.PolymodInterpEx(null);
288288
}
289289

290290
public function new(script:String, ?origin:String = null)

polymod/hscript/HScriptedClass.hx

Lines changed: 0 additions & 87 deletions
This file was deleted.

0 commit comments

Comments
 (0)