Skip to content

Commit

Permalink
chore: Update scalameta to 4.9.1-RC1
Browse files Browse the repository at this point in the history
  • Loading branch information
tgodzik committed Mar 1, 2024
1 parent f1608f8 commit d71746e
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 20 deletions.
Expand Up @@ -42,11 +42,11 @@ import scala.meta.internal.mtags.MtagsEnrichments
import scala.meta.internal.parsing.EmptyResult
import scala.meta.internal.semanticdb.Scala.Descriptor
import scala.meta.internal.semanticdb.Scala.Symbols
import scala.meta.internal.trees.Origin
import scala.meta.internal.trees.Origin.Parsed
import scala.meta.internal.{semanticdb => s}
import scala.meta.io.AbsolutePath
import scala.meta.io.RelativePath
import scala.meta.trees.Origin
import scala.meta.trees.Origin.Parsed

import ch.epfl.scala.{bsp4j => b}
import com.google.gson.Gson
Expand Down Expand Up @@ -1182,17 +1182,17 @@ object MetalsEnrichments

def leadingTokens: Iterator[m.Token] =
tree.origin match {
case Origin.Parsed(input, dialect, pos) =>
val tokens = dialect(input).tokenize.get
tokens.slice(0, pos.start - 1).reverseIterator
case parsed: Origin.Parsed =>
val tokens = parsed.dialect(parsed.input).tokenize.get
tokens.slice(0, parsed.begTokenIdx - 1).reverseIterator
case _ => Iterator.empty
}

def trailingTokens: Iterator[m.Token] =
tree.origin match {
case Origin.Parsed(input, dialect, pos) =>
val tokens = dialect(input).tokenize.get
tokens.slice(pos.end, tokens.length).iterator
case parsed: Origin.Parsed =>
val tokens = parsed.dialect(parsed.input).tokenize.get
tokens.slice(parsed.endTokenIdx, tokens.length).iterator
case _ => Iterator.empty
}

Expand Down
Expand Up @@ -4,8 +4,8 @@ import java.util

import scala.meta._
import scala.meta.internal.metals.MetalsEnrichments._
import scala.meta.internal.trees.Origin
import scala.meta.transversers.SimpleTraverser
import scala.meta.trees.Origin

import org.eclipse.lsp4j.DocumentSymbol
import org.eclipse.lsp4j.SymbolKind
Expand All @@ -29,7 +29,7 @@ final class DocumentSymbolProvider(
tree <- trees.get(path)
} yield {
implicit val dialect = tree.origin match {
case Origin.Parsed(_, dialect, _) => dialect
case parsed: Origin.Parsed => parsed.dialect
case Origin.None => dialects.Scala213
case _ => dialects.Scala213
}
Expand Down
22 changes: 16 additions & 6 deletions metals/src/main/scala/scala/meta/internal/tvp/IndexedSymbols.scala
Expand Up @@ -7,6 +7,7 @@ import scala.collection.concurrent.TrieMap
import scala.meta.Dialect
import scala.meta._
import scala.meta.inputs.Input
import scala.meta.inputs.Input.VirtualFile
import scala.meta.internal.io.FileIO
import scala.meta.internal.metals.Buffers
import scala.meta.internal.metals.MetalsEnrichments._
Expand All @@ -20,8 +21,8 @@ import scala.meta.internal.mtags.Symbol
import scala.meta.internal.mtags.SymbolDefinition
import scala.meta.internal.parsing.Trees
import scala.meta.internal.semanticdb.SymbolInformation
import scala.meta.internal.trees.Origin
import scala.meta.io.AbsolutePath
import scala.meta.trees.Origin

class IndexedSymbols(
isStatisticsEnabled: Boolean,
Expand Down Expand Up @@ -80,12 +81,21 @@ class IndexedSymbols(
(tree, tree.origin) match {
case (
src: Source,
Origin.Parsed(input: Input.VirtualFile, dialect, _),
parsed: Origin.Parsed,
) =>
val mtags = new ScalaMtags(input, dialect, Some(src))
mtags
.index()
.symbols
parsed.input match {
case input: VirtualFile =>
Seq.empty[SymbolInformation]
val mtags = new ScalaMtags(input, parsed.dialect, Some(src))
mtags
.index()
.symbols
case input =>
scribe.error(
s"[$in] Unexpected input type ${input} in IndexedSymbols"
)
Seq.empty[SymbolInformation]
}

case (tree, origin) =>
// Trees don't return anything else than Source, and it should be impossible to get here
Expand Down
Expand Up @@ -11,8 +11,8 @@ import scala.meta.internal.semanticdb.Scala.Descriptor
import scala.meta.internal.semanticdb.Scala.Symbols
import scala.meta.internal.semanticdb.SymbolInformation
import scala.meta.internal.semanticdb.SymbolOccurrence
import scala.meta.internal.trees.Origin
import scala.meta.pc.SymbolDocumentation
import scala.meta.trees.Origin

/**
* Extracts Scaladoc from Scala source code.
Expand All @@ -29,17 +29,17 @@ class ScaladocIndexer(
owner: String
): Unit = {
val docstring = currentTree.origin match {
case Origin.None => ""
case parsed: Origin.Parsed =>
val leadingDocstring =
ScaladocIndexer.findLeadingDocstring(
source.tokens,
parsed.pos.start - 1
parsed.begTokenIdx - 1
)
leadingDocstring match {
case Some(value) => value
case None => ""
}
case _ => ""
}
// Register `@define` macros to use for expanding in later docstrings.
defines ++= ScaladocParser.extractDefines(docstring)
Expand Down
2 changes: 1 addition & 1 deletion project/V.scala
Expand Up @@ -46,7 +46,7 @@ object V {
val scalaCli = "1.1.3"
val scalafix = "0.11.1"
val scalafmt = "3.7.15"
val scalameta = "4.8.15"
val scalameta = "4.9.1-RC1"
val scribe = "3.13.0"
val qdox = "2.1.0"

Expand Down

0 comments on commit d71746e

Please sign in to comment.