more robust: retain Classpath value;
authorwenzelm
Wed, 27 Jul 2022 11:08:15 +0200
changeset 75705 95879204cb21
parent 75704 1fac896c2b69
child 75706 f719bbee1721
more robust: retain Classpath value;
src/Pure/System/scala.scala
--- a/src/Pure/System/scala.scala	Wed Jul 27 11:03:33 2022 +0200
+++ b/src/Pure/System/scala.scala	Wed Jul 27 11:08:15 2022 +0200
@@ -163,16 +163,18 @@
     ): Context = {
       val isabelle_settings =
         Word.explode(Isabelle_System.getenv_strict("ISABELLE_SCALAC_OPTIONS"))
-
-      val classpath = Classpath(jar_files = jar_files).platform_path
-      val settings1 = isabelle_settings ::: settings ::: List("-classpath", classpath)
-      new Context(settings1, class_loader)
+      val classpath = Classpath(jar_files = jar_files)
+      new Context(isabelle_settings ::: settings, classpath, class_loader)
     }
 
     class Context private [Compiler](
-      val settings: List[String],
+      _settings: List[String],
+      val classpath: Classpath,
       val class_loader: Option[ClassLoader] = None
     ) {
+      def settings: List[String] =
+        _settings ::: List("-classpath", classpath.platform_path)
+
       private val out_stream = new ByteArrayOutputStream(1024)
       private val out = new PrintStream(out_stream)
       private val driver: ReplDriver = new ReplDriver(settings.toArray, out, class_loader)