Skip to content

Commit

Permalink
InternalTrees: don't keep token cache per tree (#3652)
Browse files Browse the repository at this point in the history
There's already a token cache per input, so this is excessive and
unnecessary. First introduced in #3484.
  • Loading branch information
kitbellew committed Mar 16, 2024
1 parent 1c1dd4f commit f2111c6
Showing 1 changed file with 1 addition and 9 deletions.
Expand Up @@ -2,9 +2,7 @@ package scala.meta
package internal
package trees

import scala.collection.mutable
import scala.meta.inputs._
import scala.meta.internal.tokenizers.Compat
import scala.meta.internal.prettyprinters.TreeSyntax
import scala.meta.tokenizers._
import scala.meta.tokens._
Expand Down Expand Up @@ -66,13 +64,7 @@ trait InternalTree extends Product {
}

def tokenizeFor(dialect: Dialect): Tokens =
if (origin.dialectOpt.contains(dialect)) tokensOpt.get else lookupOrTokenizeFor(dialect)

private val tokenCache: mutable.Map[Dialect, Tokens] =
Compat.newMutableMap[Dialect, Tokens]

private def lookupOrTokenizeFor(dialect: Dialect): Tokens =
tokenCache.getOrElseUpdate(dialect, tokenizeForDialect(dialect))
if (origin.dialectOpt.contains(dialect)) tokensOpt.get else tokenizeForDialect(dialect)

private lazy val tokensOpt: Option[Tokens] =
origin.tokensOpt.orElse(origin.dialectOpt.map(tokenizeForDialect))
Expand Down

0 comments on commit f2111c6

Please sign in to comment.