aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Contexts.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-01-24 15:20:28 +0100
committerMartin Odersky <odersky@gmail.com>2013-01-24 15:21:16 +0100
commit8621d34646e15b14ffd7ac2a7a8ca6eb587b1426 (patch)
tree454706fcc58e239ede1dcdb7c67d8bfe8ccc2169 /src/dotty/tools/dotc/core/Contexts.scala
parent6ed74c3a2f38aadfb0bf2110cae00309b9050708 (diff)
downloaddotty-8621d34646e15b14ffd7ac2a7a8ca6eb587b1426.tar.gz
dotty-8621d34646e15b14ffd7ac2a7a8ca6eb587b1426.tar.bz2
dotty-8621d34646e15b14ffd7ac2a7a8ca6eb587b1426.zip
Various additions to symbols, denotations, and elsewhere
Diffstat (limited to 'src/dotty/tools/dotc/core/Contexts.scala')
-rw-r--r--src/dotty/tools/dotc/core/Contexts.scala19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/dotty/tools/dotc/core/Contexts.scala b/src/dotty/tools/dotc/core/Contexts.scala
index 74b6e851f..645820792 100644
--- a/src/dotty/tools/dotc/core/Contexts.scala
+++ b/src/dotty/tools/dotc/core/Contexts.scala
@@ -7,7 +7,7 @@ import Names._
import Phases._
import Types._
import Symbols._
-import SubTypers._
+import TypeComparers._, Printers._
import collection.mutable
import collection.immutable.BitSet
@@ -21,27 +21,34 @@ object Contexts {
val root: RootContext
val period: Period
def constraints: Constraints
- def subTyper: SubTyper
+ def typeComparer: TypeComparer
+ def printer: Printer = ???
def names: NameTable
+ def enclClass: Context = ???
def phase: Phase = ???
+ def owner: Symbol = ???
def erasedTypes: Boolean = ???
}
+ abstract class DiagnosticsContext(ctx: Context) extends SubContext(ctx) {
+ var diagnostics: () => String
+ }
+
abstract class SubContext(val underlying: Context) extends Context {
val root: RootContext = underlying.root
val period: Period = underlying.period
val constraints = underlying.constraints
def names: NameTable = root.names
- lazy val subTyper =
- if (constraints eq underlying.constraints) underlying.subTyper
- else new SubTyper(this)
+ lazy val typeComparer =
+ if (constraints eq underlying.constraints) underlying.typeComparer
+ else new TypeComparer(this)
}
class RootContext extends Context
with Transformers {
val underlying: Context = throw new UnsupportedOperationException("RootContext.underlying")
- def subTyper: SubTyper = ???
+ def typeComparer: TypeComparer = ???
val root: RootContext = this
val period = Nowhere