aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Types.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-09-05 01:24:13 +0200
committerMartin Odersky <odersky@gmail.com>2014-09-05 02:57:53 +0200
commit795796dbfb0d5617163bcc2d1db856b912b7043a (patch)
tree3536eebc449838fa0846a47ef56e8855245350dc /src/dotty/tools/dotc/core/Types.scala
parentb33f604e4a0864cd88402b2f3e4c75b24beb4435 (diff)
downloaddotty-795796dbfb0d5617163bcc2d1db856b912b7043a.tar.gz
dotty-795796dbfb0d5617163bcc2d1db856b912b7043a.tar.bz2
dotty-795796dbfb0d5617163bcc2d1db856b912b7043a.zip
CyclicError messages now go to printer
Have a configurable printer to which cyclic error messages are sent.
Diffstat (limited to 'src/dotty/tools/dotc/core/Types.scala')
-rw-r--r--src/dotty/tools/dotc/core/Types.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala
index a2cf734ba..7163c2093 100644
--- a/src/dotty/tools/dotc/core/Types.scala
+++ b/src/dotty/tools/dotc/core/Types.scala
@@ -2864,7 +2864,11 @@ object Types {
object CyclicReference {
def apply(denot: SymDenotation)(implicit ctx: Context): CyclicReference = {
val ex = new CyclicReference(denot)
- if (!(ctx.mode is typer.Mode.CheckCyclic)) ex.printStackTrace()
+ if (!(ctx.mode is typer.Mode.CheckCyclic)) {
+ cyclicErrors.println(ex.getMessage)
+ for (elem <- ex.getStackTrace take 40)
+ cyclicErrors.println(elem.toString)
+ }
ex
}
}