diff options
author | Martin Odersky <odersky@gmail.com> | 2015-09-21 22:14:36 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-10-01 19:33:25 +0200 |
commit | 3604a738654effc20be1d31b0e7af3d0847114b4 (patch) | |
tree | 1535a9ee7d2bb23fab69bb3ec6730cc66c32131a /src/dotty | |
parent | fe714ed2b6aaca41f1e6681b217022b301f3049d (diff) | |
download | dotty-3604a738654effc20be1d31b0e7af3d0847114b4.tar.gz dotty-3604a738654effc20be1d31b0e7af3d0847114b4.tar.bz2 dotty-3604a738654effc20be1d31b0e7af3d0847114b4.zip |
Replace withMode by addMode
withMode sets the whole mode, nit an individual bits. This was used
wrongly in several places. Make this less of a trap by renaming
withMode -> withModeBits.
Diffstat (limited to 'src/dotty')
-rw-r--r-- | src/dotty/tools/dotc/ast/tpd.scala | 4 | ||||
-rw-r--r-- | src/dotty/tools/dotc/core/Contexts.scala | 8 | ||||
-rw-r--r-- | src/dotty/tools/dotc/printing/PlainPrinter.scala | 2 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/TreeChecker.scala | 2 |
4 files changed, 8 insertions, 8 deletions
diff --git a/src/dotty/tools/dotc/ast/tpd.scala b/src/dotty/tools/dotc/ast/tpd.scala index 29a31375b..14a36f398 100644 --- a/src/dotty/tools/dotc/ast/tpd.scala +++ b/src/dotty/tools/dotc/ast/tpd.scala @@ -626,7 +626,7 @@ object tpd extends Trees.Instance[Type] with TypedTreeInfo { loop(from.owner, from :: froms, to :: tos) else { //println(i"change owner ${from :: froms}%, % ==> $tos of $tree") - new TreeTypeMap(oldOwners = from :: froms, newOwners = tos)(ctx.withMode(Mode.FutureDefsOK)).apply(tree) + new TreeTypeMap(oldOwners = from :: froms, newOwners = tos)(ctx.addMode(Mode.FutureDefsOK)).apply(tree) } } loop(from, Nil, to :: Nil) @@ -652,7 +652,7 @@ object tpd extends Trees.Instance[Type] with TypedTreeInfo { traverseChildren(tree) } } - traverser.traverse(tree)(ctx.withMode(Mode.FutureDefsOK)) + traverser.traverse(tree)(ctx.addMode(Mode.FutureDefsOK)) tree } diff --git a/src/dotty/tools/dotc/core/Contexts.scala b/src/dotty/tools/dotc/core/Contexts.scala index 206ef9d8b..f9d64b2cc 100644 --- a/src/dotty/tools/dotc/core/Contexts.scala +++ b/src/dotty/tools/dotc/core/Contexts.scala @@ -439,12 +439,12 @@ object Contexts { } implicit class ModeChanges(val c: Context) extends AnyVal { - final def withMode(mode: Mode): Context = + final def withModeBits(mode: Mode): Context = if (mode != c.mode) c.fresh.setMode(mode) else c - final def addMode(mode: Mode): Context = withMode(c.mode | mode) - final def maskMode(mode: Mode): Context = withMode(c.mode & mode) - final def retractMode(mode: Mode): Context = withMode(c.mode &~ mode) + final def addMode(mode: Mode): Context = withModeBits(c.mode | mode) + final def maskMode(mode: Mode): Context = withModeBits(c.mode & mode) + final def retractMode(mode: Mode): Context = withModeBits(c.mode &~ mode) } implicit class FreshModeChanges(val c: FreshContext) extends AnyVal { diff --git a/src/dotty/tools/dotc/printing/PlainPrinter.scala b/src/dotty/tools/dotc/printing/PlainPrinter.scala index 45928af4b..5daef9fb8 100644 --- a/src/dotty/tools/dotc/printing/PlainPrinter.scala +++ b/src/dotty/tools/dotc/printing/PlainPrinter.scala @@ -166,7 +166,7 @@ class PlainPrinter(_ctx: Context) extends Printer { else { val constr = ctx.typerState.constraint val bounds = - if (constr.contains(tp)) constr.fullBounds(tp.origin) + if (constr.contains(tp)) constr.fullBounds(tp.origin)(ctx.addMode(Mode.Printing)) else TypeBounds.empty "(" ~ toText(tp.origin) ~ "?" ~ toText(bounds) ~ ")" } diff --git a/src/dotty/tools/dotc/transform/TreeChecker.scala b/src/dotty/tools/dotc/transform/TreeChecker.scala index f046226d1..2296ae658 100644 --- a/src/dotty/tools/dotc/transform/TreeChecker.scala +++ b/src/dotty/tools/dotc/transform/TreeChecker.scala @@ -66,7 +66,7 @@ class TreeChecker extends Phase with SymTransformer { val cur = symd.linkedClass val prev = ctx.atPhase(ctx.phase.prev) { ct => { - implicit val ctx: Context = ct.withMode(Mode.FutureDefsOK) + implicit val ctx: Context = ct.addMode(Mode.FutureDefsOK) symd.symbol.linkedClass } } |