优化 engines.myEngine()打印和比较时的问题

This commit is contained in:
hyb1996
2018-12-14 12:39:16 +08:00
parent 549021b18a
commit b79b25cfb3
2 changed files with 23 additions and 13 deletions

View File

@@ -18,17 +18,7 @@ module.exports = function(__runtime__, scope){
} }
engines.myEngine = function(){ engines.myEngine = function(){
var engine = Object.create(rtEngines.myEngine()); return 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;
} }
engines.all = function(){ engines.all = function(){
@@ -59,5 +49,14 @@ module.exports = function(__runtime__, scope){
return config; 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; return engines;
} }

View File

@@ -1,7 +1,5 @@
package com.stardust.autojs.engine; package com.stardust.autojs.engine;
import androidx.annotation.CallSuper;
import com.stardust.autojs.runtime.ScriptRuntime; import com.stardust.autojs.runtime.ScriptRuntime;
import com.stardust.autojs.script.JavaScriptSource; import com.stardust.autojs.script.JavaScriptSource;
import com.stardust.autojs.script.ScriptSource; import com.stardust.autojs.script.ScriptSource;
@@ -12,6 +10,7 @@ import com.stardust.autojs.script.ScriptSource;
public abstract class JavaScriptEngine extends ScriptEngine.AbstractScriptEngine<JavaScriptSource> { public abstract class JavaScriptEngine extends ScriptEngine.AbstractScriptEngine<JavaScriptSource> {
private ScriptRuntime mRuntime; private ScriptRuntime mRuntime;
private Object mExecArgv;
@Override @Override
public Object execute(JavaScriptSource scriptSource) { public Object execute(JavaScriptSource scriptSource) {
@@ -44,6 +43,17 @@ public abstract class JavaScriptEngine extends ScriptEngine.AbstractScriptEngine
return (ScriptSource) getTag(TAG_SOURCE); return (ScriptSource) getTag(TAG_SOURCE);
} }
public void setExecArgv(Object execArgv) {
if (mExecArgv != null) {
return;
}
mExecArgv = execArgv;
}
public Object getExecArgv() {
return mExecArgv;
}
@Override @Override
public synchronized void destroy() { public synchronized void destroy() {
mRuntime.onExit(); mRuntime.onExit();
@@ -53,6 +63,7 @@ public abstract class JavaScriptEngine extends ScriptEngine.AbstractScriptEngine
@Override @Override
public String toString() { public String toString() {
return "ScriptEngine@" + Integer.toHexString(hashCode()) + "{" + return "ScriptEngine@" + Integer.toHexString(hashCode()) + "{" +
"id=" + getId() + "," +
"source='" + getTag(TAG_SOURCE) + "'," + "source='" + getTag(TAG_SOURCE) + "'," +
"cwd='" + cwd() + "'" + "cwd='" + cwd() + "'" +
"}"; "}";