Skip to content
1 change: 0 additions & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -476,7 +476,6 @@ val mtagsSettings = List(
libraryDependencies ++= Seq(
"org.ow2.asm" % "asm" % "9.9",
"com.lihaoyi" %% "geny" % V.genyVersion,
"com.thoughtworks.qdox" % "qdox" % V.qdox, // for java mtags
"org.scala-lang.modules" %% "scala-java8-compat" % V.java8Compat,
"org.jsoup" % "jsoup" % V.jsoup, // for extracting HTML from javadocs
// for ivy completions
Expand Down
11 changes: 2 additions & 9 deletions metals-bench/src/main/scala/bench/MetalsBench.scala
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import scala.meta.internal.mtags.JavaToplevelMtags
import scala.meta.internal.mtags.JavacMtags
import scala.meta.internal.mtags.Mtags
import scala.meta.internal.mtags.OnDemandSymbolIndex
import scala.meta.internal.mtags.QdoxJavaMtags
import scala.meta.internal.mtags.ScalaMtags
import scala.meta.internal.mtags.ScalaToplevelMtags
import scala.meta.internal.mtags.SemanticdbClasspath
Expand Down Expand Up @@ -162,16 +161,10 @@ class MetalsBench {

@Benchmark
@BenchmarkMode(Array(Mode.SingleShotTime))
def mtagsJavaQdoxParse(): Unit = {
javaDependencySources.foreach { input =>
new QdoxJavaMtags(input, includeMembers = true)(EmptyReportContext)
.index()
}
}

def mtagsJavacParse(): Unit = {
javaDependencySources.foreach { input =>
new JavacMtags(input, includeMembers = true)(EmptyReportContext).index()
new JavacMtags(input, includeMembers = true)(EmptyReportContext)
.index()
}
}

Expand Down
38 changes: 0 additions & 38 deletions metals/src/main/scala/scala/meta/internal/metals/Configs.scala
Original file line number Diff line number Diff line change
Expand Up @@ -369,44 +369,6 @@ object Configs {
}
}

final case class JavaOutlineProviderConfig(val value: String) {
require(List("qdox", "javac").contains(value), value)
def isQdox: Boolean =
value == "qdox"
def isJavac: Boolean =
value == "javac"
}

object JavaOutlineProviderConfig {
def qdox: JavaOutlineProviderConfig =
JavaOutlineProviderConfig("qdox")
def javac: JavaOutlineProviderConfig =
JavaOutlineProviderConfig("javac")
def default: JavaOutlineProviderConfig = javac
def fromConfigOrFeatureFlag(
value: Option[String],
featureFlags: FeatureFlagProvider,
): Either[String, JavaOutlineProviderConfig] = {
value match {
case Some(ok @ ("qdox" | "javac")) =>
Right(JavaOutlineProviderConfig(ok))
case Some(invalid) =>
Left(
s"invalid config value '$invalid' for javaOutlineProvider. Valid values are \"qdox\" and \"javac\""
)
case None =>
val isJavacEnabled = featureFlags
.readBoolean(FeatureFlag.JAVAC_OUTLINE_PROVIDER)
.orElse(false)
if (isJavacEnabled) {
Right(JavaOutlineProviderConfig.javac)
} else {
Right(JavaOutlineProviderConfig.default)
}
}
}
}

final case class ProtoOutlineProviderConfig(val value: String) {
require(List("v1", "v2").contains(value), value)
def isV1: Boolean =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -889,12 +889,6 @@ abstract class MetalsLspService(
}
}

if (old.javaOutlineProvider != newConfig.javaOutlineProvider) {
mtags = new Mtags(
mtags.config.copy(useQdox = newConfig.javaOutlineProvider.isQdox)
)
}

if (userConfig.excludedPackages != old.excludedPackages) {
workspaceSymbols.indexClasspath()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import scala.meta.internal.metals.Configs.DefinitionIndexStrategy
import scala.meta.internal.metals.Configs.DefinitionProviderConfig
import scala.meta.internal.metals.Configs.FallbackClasspathConfig
import scala.meta.internal.metals.Configs.FallbackSourcepathConfig
import scala.meta.internal.metals.Configs.JavaOutlineProviderConfig
import scala.meta.internal.metals.Configs.JavaSymbolLoaderConfig
import scala.meta.internal.metals.Configs.JavacServicesOverrides
import scala.meta.internal.metals.Configs.ProtoOutlineProviderConfig
Expand Down Expand Up @@ -102,8 +101,6 @@ case class UserConfiguration(
DefinitionProviderConfig.default,
definitionIndexStrategy: DefinitionIndexStrategy =
DefinitionIndexStrategy.default,
javaOutlineProvider: JavaOutlineProviderConfig =
JavaOutlineProviderConfig.default,
protoOutlineProvider: ProtoOutlineProviderConfig =
ProtoOutlineProviderConfig.default,
javaSymbolLoader: JavaSymbolLoaderConfig = JavaSymbolLoaderConfig.default,
Expand Down Expand Up @@ -283,12 +280,6 @@ case class UserConfiguration(
definitionIndexStrategy.value,
)
),
Some(
(
"javaOutlineProvider",
javaOutlineProvider.value,
)
),
Some(
(
"protoOutlineProvider",
Expand Down Expand Up @@ -1366,14 +1357,6 @@ object UserConfiguration {
featureFlags,
),
).getOrElse(DefinitionProviderConfig.default)
val javaOutlineProvider = getParsedKey(
"java-outline-provider",
value =>
JavaOutlineProviderConfig.fromConfigOrFeatureFlag(
value,
featureFlags,
),
).getOrElse(JavaOutlineProviderConfig.default)
val protoOutlineProvider = getParsedKey(
"proto-outline-provider",
value =>
Expand Down Expand Up @@ -1519,7 +1502,6 @@ object UserConfiguration {
workspaceSymbolProvider,
definitionProviders,
definitionIndexStrategy,
javaOutlineProvider,
protoOutlineProvider,
javaSymbolLoader,
javaTurbineRecompileDelay,
Expand Down
Loading
Loading