aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/TyperState.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-01-24 11:18:39 +0100
committerMartin Odersky <odersky@gmail.com>2015-01-24 11:18:45 +0100
commit80618207e1ec169178f037bfab01a2b3bbd27ebe (patch)
tree583a8be444240cd4e4b1529cb6ac77c998842f4a /src/dotty/tools/dotc/core/TyperState.scala
parentfd3a5beb5176581c07badaaa15beb88dc06752ed (diff)
downloaddotty-80618207e1ec169178f037bfab01a2b3bbd27ebe.tar.gz
dotty-80618207e1ec169178f037bfab01a2b3bbd27ebe.tar.bz2
dotty-80618207e1ec169178f037bfab01a2b3bbd27ebe.zip
New constraint implementation: OrderingConstraint
This is one both a bit simpler and a faster than TrackingConstraint. Main change is to replace the 2-d bitmap for ordering with two SimpleMaps which record for each parameter the smaller and greater parameters. This is faster in practice because the ordering relation is sparse.
Diffstat (limited to 'src/dotty/tools/dotc/core/TyperState.scala')
-rw-r--r--src/dotty/tools/dotc/core/TyperState.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/TyperState.scala b/src/dotty/tools/dotc/core/TyperState.scala
index bdba128a9..1079af510 100644
--- a/src/dotty/tools/dotc/core/TyperState.scala
+++ b/src/dotty/tools/dotc/core/TyperState.scala
@@ -17,7 +17,8 @@ class TyperState(r: Reporter) extends DotClass with Showable {
def reporter = r
/** The current constraint set */
- def constraint: Constraint = new TrackingConstraint(SimpleMap.Empty, Array(), Array())
+ def constraint: Constraint =
+ new OrderingConstraint(SimpleMap.Empty, SimpleMap.Empty, SimpleMap.Empty)
def constraint_=(c: Constraint): Unit = {}
/** The uninstantiated variables */