diff options
author | Martin Odersky <odersky@gmail.com> | 2015-01-24 11:18:39 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-01-24 11:18:45 +0100 |
commit | 80618207e1ec169178f037bfab01a2b3bbd27ebe (patch) | |
tree | 583a8be444240cd4e4b1529cb6ac77c998842f4a /src/dotty/tools/dotc/core/TyperState.scala | |
parent | fd3a5beb5176581c07badaaa15beb88dc06752ed (diff) | |
download | dotty-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.scala | 3 |
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 */ |