From c9566fbf5d4a20e47726ebfa4e67a050a3ac5078 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 31 Jan 2016 21:06:06 +0100 Subject: [PATCH] Cache simple fields --- .../shared/src/main/scala/coursier/core/Definitions.scala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/shared/src/main/scala/coursier/core/Definitions.scala b/core/shared/src/main/scala/coursier/core/Definitions.scala index 868dd42f7..f178a0cab 100644 --- a/core/shared/src/main/scala/coursier/core/Definitions.scala +++ b/core/shared/src/main/scala/coursier/core/Definitions.scala @@ -28,6 +28,8 @@ final case class Module( override def toString = s"$organization:$name" + (if (attributes.nonEmpty) s";$attributesStr" else "") + + override final lazy val hashCode = Module.unapply(this).get.hashCode() } /** @@ -48,7 +50,9 @@ final case class Dependency( transitive: Boolean ) { - def moduleVersion = (module, version) + lazy val moduleVersion = (module, version) + + override lazy val hashCode = Dependency.unapply(this).get.hashCode() } // Maven-specific @@ -83,7 +87,7 @@ final case class Project( // Extra infos, not used during resolution info: Info ) { - def moduleVersion = (module, version) + lazy val moduleVersion = (module, version) /** All configurations that each configuration extends, including the ones it extends transitively */ lazy val allConfigurations: Map[String, Set[String]] =