feat(gui): add auto complete for jadx scripts

This commit is contained in:
Skylot
2022-07-17 22:25:04 +01:00
parent 18fe9f305c
commit d9af91bc4d
18 changed files with 388 additions and 23 deletions
@@ -2,7 +2,6 @@ package jadx.plugins.script.runner
import jadx.api.JadxDecompiler
import jadx.api.plugins.JadxPluginContext
import jadx.api.plugins.pass.JadxPassContext
import jadx.plugins.script.runtime.JadxScript
import jadx.plugins.script.runtime.JadxScriptData
import mu.KotlinLogging
@@ -38,11 +37,17 @@ class ScriptEval {
processEvalResult(result, scriptFile)
}
private fun eval(scriptFile: File, scriptData: JadxScriptData): ResultWithDiagnostics<EvaluationResult> {
val compilationConf = createJvmCompilationConfigurationFromTemplate<JadxScript>()
val evalConf = createJvmEvaluationConfigurationFromTemplate<JadxScript> {
fun buildCompileConf() = createJvmCompilationConfigurationFromTemplate<JadxScript>()
fun buildEvalConf(scriptData: JadxScriptData): ScriptEvaluationConfiguration {
return createJvmEvaluationConfigurationFromTemplate<JadxScript> {
constructorArgs(scriptData)
}
}
private fun eval(scriptFile: File, scriptData: JadxScriptData): ResultWithDiagnostics<EvaluationResult> {
val compilationConf = buildCompileConf()
val evalConf = buildEvalConf(scriptData)
return BasicJvmScriptingHost().eval(scriptFile.toScriptSource(), compilationConf, evalConf)
}