Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Update scalameta to 4.9.1-RC1 #6188

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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