From b79b25cfb3f387f1f8d5226878b8f273611473df Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Fri, 14 Dec 2018 12:39:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20engines.myEngine()?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E5=92=8C=E6=AF=94=E8=BE=83=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- autojs/src/main/assets/modules/__engines__.js | 21 +++++++++---------- .../autojs/engine/JavaScriptEngine.java | 15 +++++++++++-- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/autojs/src/main/assets/modules/__engines__.js b/autojs/src/main/assets/modules/__engines__.js index 828617e6..9c428c78 100644 --- a/autojs/src/main/assets/modules/__engines__.js +++ b/autojs/src/main/assets/modules/__engines__.js @@ -18,17 +18,7 @@ module.exports = function(__runtime__, scope){ } engines.myEngine = function(){ - var engine = Object.create(rtEngines.myEngine()); - if(!execArgv){ - execArgv = {}; - var iterator = engine.getTag("execution.config").arguments.entrySet().iterator(); - while(iterator.hasNext()){ - var entry = iterator.next(); - execArgv[entry.getKey()] = entry.getValue(); - } - } - engine.execArgv = execArgv; - return engine; + return rtEngines.myEngine(); } engines.all = function(){ @@ -59,5 +49,14 @@ module.exports = function(__runtime__, scope){ return config; } + var engine = engines.myEngine(); + var execArgv = {}; + var iterator = engine.getTag("execution.config").arguments.entrySet().iterator(); + while(iterator.hasNext()){ + var entry = iterator.next(); + execArgv[entry.getKey()] = entry.getValue(); + } + engine.execArgv = execArgv; + return engines; } \ No newline at end of file diff --git a/autojs/src/main/java/com/stardust/autojs/engine/JavaScriptEngine.java b/autojs/src/main/java/com/stardust/autojs/engine/JavaScriptEngine.java index 0754d7e9..586ade0d 100644 --- a/autojs/src/main/java/com/stardust/autojs/engine/JavaScriptEngine.java +++ b/autojs/src/main/java/com/stardust/autojs/engine/JavaScriptEngine.java @@ -1,7 +1,5 @@ package com.stardust.autojs.engine; -import androidx.annotation.CallSuper; - import com.stardust.autojs.runtime.ScriptRuntime; import com.stardust.autojs.script.JavaScriptSource; import com.stardust.autojs.script.ScriptSource; @@ -12,6 +10,7 @@ import com.stardust.autojs.script.ScriptSource; public abstract class JavaScriptEngine extends ScriptEngine.AbstractScriptEngine { private ScriptRuntime mRuntime; + private Object mExecArgv; @Override public Object execute(JavaScriptSource scriptSource) { @@ -44,6 +43,17 @@ public abstract class JavaScriptEngine extends ScriptEngine.AbstractScriptEngine return (ScriptSource) getTag(TAG_SOURCE); } + public void setExecArgv(Object execArgv) { + if (mExecArgv != null) { + return; + } + mExecArgv = execArgv; + } + + public Object getExecArgv() { + return mExecArgv; + } + @Override public synchronized void destroy() { mRuntime.onExit(); @@ -53,6 +63,7 @@ public abstract class JavaScriptEngine extends ScriptEngine.AbstractScriptEngine @Override public String toString() { return "ScriptEngine@" + Integer.toHexString(hashCode()) + "{" + + "id=" + getId() + "," + "source='" + getTag(TAG_SOURCE) + "'," + "cwd='" + cwd() + "'" + "}";