mirror of
https://github.com/2006-Scape/Parabot.git
synced 2026-07-03 00:37:55 +00:00
Revert "[TASK] Improved JavaScriptLoader"
This reverts commit 2c97fd5177.
This commit is contained in:
@@ -60,6 +60,7 @@ public class LocalJavaScripts extends ScriptParser {
|
|||||||
t.printStackTrace();
|
t.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import java.util.List;
|
|||||||
/**
|
/**
|
||||||
* An environment to load a script
|
* An environment to load a script
|
||||||
*
|
*
|
||||||
* @author Everel, JKetelaar
|
* @author Everel
|
||||||
*/
|
*/
|
||||||
public class JavaScriptLoader extends ASMClassLoader {
|
public class JavaScriptLoader extends ASMClassLoader {
|
||||||
private ClassPath classPath;
|
private ClassPath classPath;
|
||||||
@@ -27,55 +27,15 @@ public class JavaScriptLoader extends ASMClassLoader {
|
|||||||
* @return string array of class names that extends ServerProvider
|
* @return string array of class names that extends ServerProvider
|
||||||
*/
|
*/
|
||||||
public final String[] getScriptClassNames() {
|
public final String[] getScriptClassNames() {
|
||||||
final List<String> classNames = new ArrayList<>();
|
final List<String> classNames = new ArrayList<String>();
|
||||||
for (ClassNode c : classPath.classes.values()) {
|
for (ClassNode c : classPath.classes.values()) {
|
||||||
if (isScriptClass(c)) {
|
if (c.superName.replace('/', '.').equals(
|
||||||
|
Script.class.getName())) {
|
||||||
classNames.add(c.name.replace('/', '.'));
|
classNames.add(c.name.replace('/', '.'));
|
||||||
} else {
|
|
||||||
ClassNode superClass = findClassNodeForName(c.superName);
|
|
||||||
if (superClass != null && isScriptClass(superClass)) {
|
|
||||||
classNames.add(c.name.replace('/', '.'));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return classNames.toArray(new String[classNames.size()]);
|
||||||
String[] classes = new String[classNames.size()];
|
|
||||||
for (int i = 0; i < classNames.size(); i++) {
|
|
||||||
classes[i] = classNames.get(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
return classes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if given ClassNode is Script class
|
|
||||||
*
|
|
||||||
* @param classNode
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private boolean isScriptClass(ClassNode classNode) {
|
|
||||||
return classNode
|
|
||||||
.superName
|
|
||||||
.replace('/', '.')
|
|
||||||
.equals(Script.class.getName());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Finds a ClassNode instance for a given class name
|
|
||||||
*
|
|
||||||
* @param name
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private ClassNode findClassNodeForName(String name) {
|
|
||||||
for (ClassNode classNode : classPath.classes.values()) {
|
|
||||||
if (classNode.name.equals(name)) {
|
|
||||||
return classNode;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user