From 7bcffbd8bb29a8bfd98f3838afa041927abdae15 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 4 Mar 2013 18:16:06 +0100 Subject: Rewrite of isVolatile Also, now all calls to NamedType#underlying are montored for infinite cycles. --- src/dotty/tools/dotc/core/Contexts.scala | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/dotty/tools/dotc/core/Contexts.scala') diff --git a/src/dotty/tools/dotc/core/Contexts.scala b/src/dotty/tools/dotc/core/Contexts.scala index a77910684..8c10c12f4 100644 --- a/src/dotty/tools/dotc/core/Contexts.scala +++ b/src/dotty/tools/dotc/core/Contexts.scala @@ -300,12 +300,12 @@ object Contexts { override def hash(x: Type): Int = x.hash } - // TypeOps state - /** The number of recursive invocation of isVolatile */ - private[core] var volatileRecursions: Int = 0 + // Types state + /** The number of recursive invocation of underlying on a NamedType */ + private[core] var underlyingRecursions: Int = 0 - /** The set of types on which a currently active invocation of isVolatile exists. */ - private[core] val pendingVolatiles = new mutable.HashSet[Type] + /** The set of named types on which a currently active invocation of underlying exists. */ + private[core] val pendingUnderlying = new mutable.HashSet[Type] // Phases state /** Phases by id */ @@ -338,5 +338,5 @@ object Contexts { /** How many recursive calls to isVolatile are performed before * logging starts. */ - private[core] final val LogVolatileThreshold = 50 + private[core] final val LogUnderlyingThreshold = 50 } -- cgit v1.2.3