优化 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(){
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;
}

View File

@@ -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<JavaScriptSource> {
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() + "'" +
"}";