aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Contexts.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-01-06 12:18:04 +0100
committerMartin Odersky <odersky@gmail.com>2013-01-06 12:19:07 +0100
commitcd0ed1676ac5529b0c04995b9a26f8e165cad4cf (patch)
tree9305347b1f12f315953e93c8b598b93c9dd358aa /src/dotty/tools/dotc/core/Contexts.scala
parenta42900db82a35e612779a8d4ca685a9fa76cc92d (diff)
downloaddotty-cd0ed1676ac5529b0c04995b9a26f8e165cad4cf.tar.gz
dotty-cd0ed1676ac5529b0c04995b9a26f8e165cad4cf.tar.bz2
dotty-cd0ed1676ac5529b0c04995b9a26f8e165cad4cf.zip
Renamed class for SubTypers and added to Context
Diffstat (limited to 'src/dotty/tools/dotc/core/Contexts.scala')
-rw-r--r--src/dotty/tools/dotc/core/Contexts.scala9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/Contexts.scala b/src/dotty/tools/dotc/core/Contexts.scala
index bdec812bf..873bbf377 100644
--- a/src/dotty/tools/dotc/core/Contexts.scala
+++ b/src/dotty/tools/dotc/core/Contexts.scala
@@ -16,6 +16,7 @@ object Contexts {
val underlying: Context
val root: RootContext
val period: Period
+ def constraints: Constraints
def subTyper: SubTyper
def names: NameTable
def phase: Phase = ???
@@ -26,8 +27,11 @@ object Contexts {
abstract class SubContext(val underlying: Context) extends Context {
val root: RootContext = underlying.root
val period: Period = underlying.period
- val subTyper = underlying.subTyper
+ val constraints = underlying.constraints
def names: NameTable = root.names
+ lazy val subTyper =
+ if (constraints eq underlying.constraints) underlying.subTyper
+ else new SubTyper(this)
}
class RootContext extends Context
@@ -37,6 +41,7 @@ object Contexts {
with Types {
val underlying: Context = throw new UnsupportedOperationException("RootContext.underlying")
+ def subTyper: SubTyper = ???
val root: RootContext = this
val period = periodOf(NoRunId, NoPhaseId)
@@ -46,7 +51,7 @@ object Contexts {
var lastPhaseId: Int = NoPhaseId
lazy val definitions = new Definitions()(this)
- val subTyper = new SubTyper(Map())(this)
+ val constraints: Constraints = Map()
}
private final val initialUniquesCapacity = 4096