Skip to content

Commit 9d7b394

Browse files
committed
Make val lazys to improve Dependency performance when adding many types
1 parent 08ef642 commit 9d7b394

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

core/src/main/scala/proteus/Dependency.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ final case class Dependency(
1818
types: ListSet[ProtoIR.TopLevelDef],
1919
dependencies: List[Dependency]
2020
) {
21-
private val typeReferences = types.flatMap(_.collectTypeReferences).toSet
21+
private lazy val typeReferences = types.flatMap(_.collectTypeReferences).toSet
2222
private[proteus] val allDependencies: Set[Dependency] = dependencies.toSet ++ dependencies.flatMap(_.allDependencies)
23-
private[proteus] val filteredDependencies = allDependencies.filter(_.hasAnyOf(typeReferences))
24-
private val dependencyTypes = filteredDependencies.flatMap(_.types).toSet
25-
private val filteredTypes = types -- dependencyTypes
23+
private[proteus] lazy val filteredDependencies = allDependencies.filter(_.hasAnyOf(typeReferences))
24+
private lazy val dependencyTypes = filteredDependencies.flatMap(_.types).toSet
25+
private lazy val filteredTypes = types -- dependencyTypes
2626

2727
private[proteus] val topLevelFqns: Map[String, String] =
2828
(allDependencies.flatMap(_.topLevelFqns) ++ types.map(t => (t.name, packageName.fold("")(_ + ".") + t.name))).toMap

0 commit comments

Comments
 (0)