From e7dab60a0a38f40b75b919a91b73052b510f1711 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Thu, 13 Oct 2016 01:16:48 +0000 Subject: do not interpret exceptions during redirectOutToErr as scalac crashes --- stage1/Stage1Lib.scala | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) (limited to 'stage1') diff --git a/stage1/Stage1Lib.scala b/stage1/Stage1Lib.scala index eea9be6..68648fe 100644 --- a/stage1/Stage1Lib.scala +++ b/stage1/Stage1Lib.scala @@ -256,9 +256,9 @@ class Stage1Lib( val logger: Logger ) extends BaseLib{ val singleArgs = scalacOptions.map( "-S" ++ _ ) val code = - try{ + redirectOutToErr{ System.err.println("Compiling to " ++ compileTarget.toString) - redirectOutToErr{ + try{ lib.runMain( _class, dualArgs ++ singleArgs ++ Seq( @@ -266,27 +266,27 @@ class Stage1Lib( val logger: Logger ) extends BaseLib{ ) ++ files.map(_.toString), zinc.classLoader(classLoaderCache) ) + } catch { + case e: Exception => + System.err.println(red("The Scala compiler crashed. Try running it by hand:")) + System.out.println(s""" + java -cp \\ + ${zinc.classpath.strings.mkString(":\\\n")} \\ + \\ + ${_class} \\ + \\ + ${dualArgs.grouped(2).map(_.mkString(" ")).mkString(" \\\n")} \\ + \\ + ${singleArgs.mkString(" \\\n")} \\ + \\ + -cp \\ + ${classpath.strings.mkString(":\\\n")} \\ + \\ + ${files.sorted.mkString(" \\\n")} + """ + ) + ExitCode.Failure } - } catch { - case e: Exception => - System.err.println(red("The Scala compiler crashed. Try running it by hand:")) - System.out.println(s""" -java -cp \\ -${zinc.classpath.strings.mkString(":\\\n")} \\ -\\ -${_class} \\ -\\ -${dualArgs.grouped(2).map(_.mkString(" ")).mkString(" \\\n")} \\ -\\ -${singleArgs.mkString(" \\\n")} \\ -\\ --cp \\ -${classpath.strings.mkString(":\\\n")} \\ -\\ -${files.sorted.mkString(" \\\n")} -""" - ) - ExitCode.Failure } if(code == ExitCode.Success){ -- cgit v1.2.3