Изнутри скрипта jShell можно получить доступ или зарегистрировать переменные, которые определены в коде, который также создает JShell?
В настоящее время, похоже, не существует механизма для доступа или регистрации переменной в экземпляре Shell,или не возвращает ни одного строкового типа изнутри JShell (например, объекты или лямбда и т. д.)
ex:
import jdk.jshell.JShell;
import jdk.jshell.JShellException;
import jdk.jshell.SnippetEvent;
import java.util.List;
public class Main {
public static void main(String[] args) throws JShellException {
var localVar = 1;
JShell shell = JShell.create();
// How to register localVar variable with shell instance or access variables from scope
List events = shell.eval("var x = localVar;");
SnippetEvent event = events.get(0);
System.out.println("Kind: " + event.snippet().kind() + ", Value: " + event.value());
}
}