langtools/src/jdk.jshell/share/classes/jdk/jshell/TaskFactory.java
changeset 39807 ba0ff343d241
parent 39601 5b37e511ae4b
child 39809 74b7aea686d8
equal deleted inserted replaced
39806:d3a13ca6013e 39807:ba0ff343d241
   221         AnalyzeTask(final Collection<OuterWrap> wraps, String... extraArgs) {
   221         AnalyzeTask(final Collection<OuterWrap> wraps, String... extraArgs) {
   222             this(wraps.stream(),
   222             this(wraps.stream(),
   223                     new WrapSourceHandler(),
   223                     new WrapSourceHandler(),
   224                     Util.join(new String[] {
   224                     Util.join(new String[] {
   225                         "-Xshouldstop:at=FLOW", "-Xlint:unchecked",
   225                         "-Xshouldstop:at=FLOW", "-Xlint:unchecked",
   226                         "-XaddExports:jdk.jshell/jdk.internal.jshell.remote=ALL-UNNAMED",
       
   227                         "-proc:none"
   226                         "-proc:none"
   228                     }, extraArgs));
   227                     }, extraArgs));
   229         }
   228         }
   230 
   229 
   231         private <T>AnalyzeTask(final Stream<T> stream, SourceHandler<T> sourceHandler,
   230         private <T>AnalyzeTask(final Stream<T> stream, SourceHandler<T> sourceHandler,
   265 
   264 
   266         private final Map<OuterWrap, List<OutputMemoryJavaFileObject>> classObjs = new HashMap<>();
   265         private final Map<OuterWrap, List<OutputMemoryJavaFileObject>> classObjs = new HashMap<>();
   267 
   266 
   268         CompileTask(final Collection<OuterWrap> wraps) {
   267         CompileTask(final Collection<OuterWrap> wraps) {
   269             super(wraps.stream(), new WrapSourceHandler(),
   268             super(wraps.stream(), new WrapSourceHandler(),
   270                     "-Xlint:unchecked", "-XaddExports:jdk.jshell/jdk.internal.jshell.remote=ALL-UNNAMED", "-proc:none", "-parameters");
   269                     "-Xlint:unchecked", "-proc:none", "-parameters");
   271         }
   270         }
   272 
   271 
   273         boolean compile() {
   272         boolean compile() {
   274             fileManager.registerClassFileCreationListener(this::listenForNewClassFile);
   273             fileManager.registerClassFileCreationListener(this::listenForNewClassFile);
   275             boolean result = task.call();
   274             boolean result = task.call();
   284             if (l == null) {
   283             if (l == null) {
   285                 return Collections.emptyList();
   284                 return Collections.emptyList();
   286             }
   285             }
   287             List<String> list = new ArrayList<>();
   286             List<String> list = new ArrayList<>();
   288             for (OutputMemoryJavaFileObject fo : l) {
   287             for (OutputMemoryJavaFileObject fo : l) {
   289                 state.setClassnameToBytes(fo.getName(), fo.getBytes());
   288                 state.classTracker.setCurrentBytes(fo.getName(), fo.getBytes());
   290                 list.add(fo.getName());
   289                 list.add(fo.getName());
   291             }
   290             }
   292             return list;
   291             return list;
   293         }
   292         }
   294 
   293