aboutsummaryrefslogtreecommitdiff
path: root/tests/disabled/scalac-dependent/pos/t5604
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2017-02-18 23:13:59 +0100
committerGitHub <noreply@github.com>2017-02-18 23:13:59 +0100
commitf3f1c4623b3815f1385317190bf72baabd98fdff (patch)
tree526aece2cd29373a6a693e6cdd56bdc700f91d02 /tests/disabled/scalac-dependent/pos/t5604
parent1946b36ca4abb7ba8264c18af95bc9c9c94f67ee (diff)
parent5aac086d63807331e380bb2d861e4e07800b1f63 (diff)
downloaddotty-f3f1c4623b3815f1385317190bf72baabd98fdff.tar.gz
dotty-f3f1c4623b3815f1385317190bf72baabd98fdff.tar.bz2
dotty-f3f1c4623b3815f1385317190bf72baabd98fdff.zip
Merge pull request #1989 from dotty-staging/remove/scalac-tests
Disable tests that require scala-compiler
Diffstat (limited to 'tests/disabled/scalac-dependent/pos/t5604')
-rw-r--r--tests/disabled/scalac-dependent/pos/t5604/ReplConfig.scala53
-rw-r--r--tests/disabled/scalac-dependent/pos/t5604/ReplReporter.scala30
2 files changed, 83 insertions, 0 deletions
diff --git a/tests/disabled/scalac-dependent/pos/t5604/ReplConfig.scala b/tests/disabled/scalac-dependent/pos/t5604/ReplConfig.scala
new file mode 100644
index 000000000..8c589eba6
--- /dev/null
+++ b/tests/disabled/scalac-dependent/pos/t5604/ReplConfig.scala
@@ -0,0 +1,53 @@
+/* NSC -- new Scala compiler
+ * Copyright 2005-2011 LAMP/EPFL
+ * @author Paul Phillips
+ */
+
+package scala.tools.nsc
+package interpreter
+
+import util.Exceptional.unwrap
+import util.stackTraceString
+
+trait ReplConfig {
+ lazy val replProps = new ReplProps
+
+ class TapMaker[T](x: T) {
+ def tapInfo(msg: => String): T = tap(x => replinfo(parens(x)))
+ def tapDebug(msg: => String): T = tap(x => repldbg(parens(x)))
+ def tapTrace(msg: => String): T = tap(x => repltrace(parens(x)))
+ def tap[U](f: T => U): T = {
+ f(x)
+ x
+ }
+ }
+
+ private def parens(x: Any) = "(" + x + ")"
+ private def echo(msg: => String) =
+ try Console println msg
+ catch { case x: AssertionError => Console.println("Assertion error printing debugging output: " + x) }
+
+ private[nsc] def repldbg(msg: => String) = if (isReplDebug) echo(msg)
+ private[nsc] def repltrace(msg: => String) = if (isReplTrace) echo(msg)
+ private[nsc] def replinfo(msg: => String) = if (isReplInfo) echo(msg)
+
+ private[nsc] def logAndDiscard[T](label: String, alt: => T): PartialFunction[Throwable, T] = {
+ case t =>
+ repldbg(label + ": " + unwrap(t))
+ repltrace(stackTraceString(unwrap(t)))
+ alt
+ }
+ private[nsc] def substituteAndLog[T](alt: => T)(body: => T): T =
+ substituteAndLog("" + alt, alt)(body)
+ private[nsc] def substituteAndLog[T](label: String, alt: => T)(body: => T): T = {
+ try body
+ catch logAndDiscard(label, alt)
+ }
+ private[nsc] def squashAndLog(label: String)(body: => Unit): Unit =
+ substituteAndLog(label, ())(body)
+
+ def isReplTrace: Boolean = replProps.trace
+ def isReplDebug: Boolean = replProps.debug || isReplTrace
+ def isReplInfo: Boolean = replProps.info || isReplDebug
+ def isReplPower: Boolean = replProps.power
+}
diff --git a/tests/disabled/scalac-dependent/pos/t5604/ReplReporter.scala b/tests/disabled/scalac-dependent/pos/t5604/ReplReporter.scala
new file mode 100644
index 000000000..9423efd8a
--- /dev/null
+++ b/tests/disabled/scalac-dependent/pos/t5604/ReplReporter.scala
@@ -0,0 +1,30 @@
+/* NSC -- new Scala compiler
+ * Copyright 2002-2011 LAMP/EPFL
+ * @author Paul Phillips
+ */
+
+package scala.tools.nsc
+package interpreter
+
+import reporters._
+import IMain._
+
+class ReplReporter(intp: IMain) extends ConsoleReporter(intp.settings, Console.in, new ReplStrippingWriter(intp)) {
+ override def printMessage(msg: String): Unit = {
+ // Avoiding deadlock if the compiler starts logging before
+ // the lazy val is complete.
+ if (intp.isInitializeComplete) {
+ if (intp.totalSilence) {
+ if (isReplTrace)
+ super.printMessage("[silent] " + msg)
+ }
+ else super.printMessage(msg)
+ }
+ else Console.println("[init] " + msg)
+ }
+
+ override def displayPrompt(): Unit = {
+ if (intp.totalSilence) ()
+ else super.displayPrompt()
+ }
+}