aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty/tools/dotc/core')
-rw-r--r--src/dotty/tools/dotc/core/Contexts.scala3
-rw-r--r--src/dotty/tools/dotc/core/Decorators.scala4
-rw-r--r--src/dotty/tools/dotc/core/StdNames.scala1
-rw-r--r--src/dotty/tools/dotc/core/SymDenotations.scala5
-rw-r--r--src/dotty/tools/dotc/core/Types.scala2
5 files changed, 12 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/core/Contexts.scala b/src/dotty/tools/dotc/core/Contexts.scala
index af8bd6e91..6ff6e148d 100644
--- a/src/dotty/tools/dotc/core/Contexts.scala
+++ b/src/dotty/tools/dotc/core/Contexts.scala
@@ -293,8 +293,7 @@ object Contexts {
/** The standard fresh name creator */
val freshNames = new FreshNameCreator.Default
- def freshName(): String = freshNames.newName()
- def freshName(prefix: String): String = freshNames.newName(prefix)
+ def freshName(prefix: String = ""): String = freshNames.newName(prefix)
def freshName(prefix: Name): String = freshName(prefix.toString)
/** The loader that loads the members of _root_ */
diff --git a/src/dotty/tools/dotc/core/Decorators.scala b/src/dotty/tools/dotc/core/Decorators.scala
index 031974dfd..094aa7b4a 100644
--- a/src/dotty/tools/dotc/core/Decorators.scala
+++ b/src/dotty/tools/dotc/core/Decorators.scala
@@ -70,6 +70,10 @@ object Decorators {
}
}
+ implicit class ListOfListDecorator[T](val xss: List[List[T]]) extends AnyVal {
+ def nestedMap[U](f: T => U): List[List[U]] = xss map (_ map f)
+ }
+
implicit class TextToString(val text: Text) extends AnyVal {
def show(implicit ctx: Context) = text.mkString(ctx.settings.pageWidth.value)
}
diff --git a/src/dotty/tools/dotc/core/StdNames.scala b/src/dotty/tools/dotc/core/StdNames.scala
index ada74c69d..9ae4729f4 100644
--- a/src/dotty/tools/dotc/core/StdNames.scala
+++ b/src/dotty/tools/dotc/core/StdNames.scala
@@ -380,6 +380,7 @@ object StdNames {
val info: N = "info"
val inlinedEquals: N = "inlinedEquals"
val isArray: N = "isArray"
+ val isDefined: N = "isDefined"
val isDefinedAt: N = "isDefinedAt"
val isEmpty: N = "isEmpty"
val isInstanceOf_ : N = "isInstanceOf"
diff --git a/src/dotty/tools/dotc/core/SymDenotations.scala b/src/dotty/tools/dotc/core/SymDenotations.scala
index bec55720f..51e03aee7 100644
--- a/src/dotty/tools/dotc/core/SymDenotations.scala
+++ b/src/dotty/tools/dotc/core/SymDenotations.scala
@@ -470,6 +470,11 @@ object SymDenotations {
final def enclosingClass(implicit ctx: Context): Symbol =
if (isClass) symbol else owner.enclosingClass
+ final def enclosingClassNamed(name: Name)(implicit ctx: Context): Symbol = {
+ val cls = enclosingClass
+ if (cls.name == name) cls else cls.owner.enclosingClassNamed(name)
+ }
+
/** The top-level class containing this denotation,
* except for a toplevel module, where its module class is returned.
*/
diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala
index 1b21567a0..880cb7174 100644
--- a/src/dotty/tools/dotc/core/Types.scala
+++ b/src/dotty/tools/dotc/core/Types.scala
@@ -1556,7 +1556,7 @@ object Types {
/** The type of an import clause tree */
- case class ImportType(expr: SharedTree) extends UncachedGroundType
+ case class ImportType(expr: Tree) extends UncachedGroundType
/** Sentinal for "missing type" */
case object NoType extends CachedGroundType {