Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions source/funkin/util/ReflectUtil.hx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package funkin.util;

import Type.ValueType;
import polymod.hscript._internal.PolymodScriptClass;

/**
* Provides sanitized and blacklisted access to haxe's Reflection functions.
Expand Down Expand Up @@ -315,13 +316,21 @@ class ReflectUtil
}

/**
* This function is not allowed to be used by scripts.
* @throws error When called by a script.
* Resolve a class by name
* @param name The class name to resolve
* @throws error When trying to resolve a blacklisted class.
* @return Resolved class
*/
@SuppressWarnings("checkstyle:FieldDocComment")
public static function resolveClass(name:String):Class<Any>
{
throw "Function Type.resolveClass is blacklisted.";
var className = name;
if (PolymodScriptClass.importOverrides.exists(className))
{
if (PolymodScriptClass.importOverrides.get(className) == null) throw 'Class $className is blacklisted.';
var cls = cast PolymodScriptClass.importOverrides.get(className);
className = Type.getClassName(cls);
}
return Type.resolveClass(className);
}

/**
Expand Down