You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am new to using metals and scala + java development. I will try my best to describe exactly how to reproduce this.
My scala project depends on "com.microsoft.azure" % "msal4j" % "1.13.8". I am able to navigate to the source code of some of the classes imported from this module but others I am not.
For instance, I am able to import and navigate to: com.microsoft.aad.msal4j.ClientCredentialParameters. But, I am not able to navigate to com.microsoft.aad.msal4j.ConfidentialClientApplication.
In VSCode output I can see the following error log:
2023.06.22 16:40:49 ERROR searching for `com/microsoft/aad/msal4j/ConfidentialClientApplication#` failed
java.lang.IllegalArgumentException: 162 is not a valid line number, allowed [0..157]
at scala.meta.internal.inputs.InternalInput.lineToOffset(InternalInput.scala:37)
at scala.meta.internal.inputs.InternalInput.lineToOffset$(InternalInput.scala:32)
at scala.meta.inputs.Input$VirtualFile.lineToOffset(Input.scala:80)
at scala.meta.internal.mtags.ScalametaCommonEnrichments$XtensionInputOffset.toOffset(ScalametaCommonEnrichments.scala:471)
at scala.meta.internal.mtags.JavaMtags.toRangePosition(JavaMtags.scala:66)
at scala.meta.internal.mtags.JavaMtags.$anonfun$visitMethods$1(JavaMtags.scala:169)
at scala.meta.internal.mtags.JavaMtags.$anonfun$visitMethods$1$adapted(JavaMtags.scala:166)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:575)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:573)
at scala.collection.AbstractIterable.foreach(Iterable.scala:933)
at scala.meta.internal.mtags.JavaMtags.visitMethods(JavaMtags.scala:166)
at scala.meta.internal.mtags.JavaMtags.$anonfun$visitClass$1(JavaMtags.scala:117)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at scala.meta.internal.mtags.MtagsIndexer.withOwner(MtagsIndexer.scala:48)
at scala.meta.internal.mtags.MtagsIndexer.withOwner$(MtagsIndexer.scala:45)
at scala.meta.internal.mtags.JavaMtags.withOwner(JavaMtags.scala:30)
at scala.meta.internal.mtags.JavaMtags.visitClass(JavaMtags.scala:107)
at scala.meta.internal.mtags.JavaMtags.$anonfun$indexRoot$2(JavaMtags.scala:48)
at scala.meta.internal.mtags.JavaMtags.$anonfun$indexRoot$2$adapted(JavaMtags.scala:48)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:575)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:573)
at scala.collection.AbstractIterable.foreach(Iterable.scala:933)
at scala.meta.internal.mtags.JavaMtags.indexRoot(JavaMtags.scala:48)
at scala.meta.internal.mtags.MtagsIndexer.index(MtagsIndexer.scala:19)
at scala.meta.internal.mtags.MtagsIndexer.index$(MtagsIndexer.scala:18)
at scala.meta.internal.mtags.JavaMtags.index(JavaMtags.scala:30)
at scala.meta.internal.mtags.Mtags.index(Mtags.scala:54)
at scala.meta.internal.mtags.SymbolIndexBucket.addMtagsSourceFile(SymbolIndexBucket.scala:252)
at scala.meta.internal.mtags.SymbolIndexBucket.$anonfun$query0$4(SymbolIndexBucket.scala:188)
at scala.meta.internal.mtags.SymbolIndexBucket.$anonfun$query0$4$adapted(SymbolIndexBucket.scala:188)
at scala.collection.immutable.List.foreach(List.scala:333)
at scala.meta.internal.mtags.SymbolIndexBucket.$anonfun$query0$3(SymbolIndexBucket.scala:188)
at scala.meta.internal.mtags.SymbolIndexBucket.$anonfun$query0$3$adapted(SymbolIndexBucket.scala:188)
at scala.Option.foreach(Option.scala:437)
at scala.meta.internal.mtags.SymbolIndexBucket.query0(SymbolIndexBucket.scala:188)
at scala.meta.internal.mtags.SymbolIndexBucket.query(SymbolIndexBucket.scala:158)
at scala.meta.internal.mtags.OnDemandSymbolIndex.$anonfun$findSymbolDefinition$1(OnDemandSymbolIndex.scala:139)
at scala.collection.immutable.List.flatMap(List.scala:293)
at scala.meta.internal.mtags.OnDemandSymbolIndex.findSymbolDefinition(OnDemandSymbolIndex.scala:139)
at scala.meta.internal.mtags.OnDemandSymbolIndex.definitions(OnDemandSymbolIndex.scala:56)
at scala.meta.internal.metals.WorkspaceSearchVisitor.definition(WorkspaceSearchVisitor.scala:91)
at scala.meta.internal.metals.WorkspaceSearchVisitor.expandClassfile(WorkspaceSearchVisitor.scala:129)
at scala.meta.internal.metals.WorkspaceSearchVisitor.visitClassfile(WorkspaceSearchVisitor.scala:119)
at scala.meta.internal.metals.ClasspathSearch.$anonfun$search$5(ClasspathSearch.scala:49)
at scala.meta.internal.metals.ClasspathSearch.$anonfun$search$5$adapted(ClasspathSearch.scala:39)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:575)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:573)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1300)
at scala.meta.internal.metals.ClasspathSearch.search(ClasspathSearch.scala:39)
at scala.meta.internal.metals.WorkspaceSymbolProvider.search(WorkspaceSymbolProvider.scala:82)
at scala.meta.internal.metals.WorkspaceSymbolProvider.searchExactFrom(WorkspaceSymbolProvider.scala:72)
at scala.meta.internal.metals.DefinitionProvider.$anonfun$fromSearch$5(DefinitionProvider.scala:169)
at scala.Option.map(Option.scala:242)
at scala.meta.internal.metals.DefinitionProvider.$anonfun$fromSearch$4(DefinitionProvider.scala:142)
at scala.Option.flatMap(Option.scala:283)
at scala.meta.internal.metals.DefinitionProvider.$anonfun$fromSearch$3(DefinitionProvider.scala:141)
at scala.Option.flatMap(Option.scala:283)
at scala.meta.internal.metals.DefinitionProvider.$anonfun$fromSearch$2(DefinitionProvider.scala:140)
at scala.Option.flatMap(Option.scala:283)
at scala.meta.internal.metals.DefinitionProvider.fromSearch(DefinitionProvider.scala:138)
at scala.meta.internal.metals.DefinitionProvider.$anonfun$definition$4(DefinitionProvider.scala:115)
at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:467)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
2023.06.22 16:40:49 ERROR searching for `com/microsoft/aad/msal4j/ConfidentialClientApplication.` failed
java.lang.IllegalArgumentException: 162 is not a valid line number, allowed [0..157]
at scala.meta.internal.inputs.InternalInput.lineToOffset(InternalInput.scala:37)
at scala.meta.internal.inputs.InternalInput.lineToOffset$(InternalInput.scala:32)
at scala.meta.inputs.Input$VirtualFile.lineToOffset(Input.scala:80)
at scala.meta.internal.mtags.ScalametaCommonEnrichments$XtensionInputOffset.toOffset(ScalametaCommonEnrichments.scala:471)
at scala.meta.internal.mtags.JavaMtags.toRangePosition(JavaMtags.scala:66)
at scala.meta.internal.mtags.JavaMtags.$anonfun$visitMethods$1(JavaMtags.scala:169)
at scala.meta.internal.mtags.JavaMtags.$anonfun$visitMethods$1$adapted(JavaMtags.scala:166)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:575)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:573)
at scala.collection.AbstractIterable.foreach(Iterable.scala:933)
at scala.meta.internal.mtags.JavaMtags.visitMethods(JavaMtags.scala:166)
at scala.meta.internal.mtags.JavaMtags.$anonfun$visitClass$1(JavaMtags.scala:117)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at scala.meta.internal.mtags.MtagsIndexer.withOwner(MtagsIndexer.scala:48)
at scala.meta.internal.mtags.MtagsIndexer.withOwner$(MtagsIndexer.scala:45)
at scala.meta.internal.mtags.JavaMtags.withOwner(JavaMtags.scala:30)
at scala.meta.internal.mtags.JavaMtags.visitClass(JavaMtags.scala:107)
at scala.meta.internal.mtags.JavaMtags.$anonfun$indexRoot$2(JavaMtags.scala:48)
at scala.meta.internal.mtags.JavaMtags.$anonfun$indexRoot$2$adapted(JavaMtags.scala:48)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:575)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:573)
at scala.collection.AbstractIterable.foreach(Iterable.scala:933)
at scala.meta.internal.mtags.JavaMtags.indexRoot(JavaMtags.scala:48)
at scala.meta.internal.mtags.MtagsIndexer.index(MtagsIndexer.scala:19)
at scala.meta.internal.mtags.MtagsIndexer.index$(MtagsIndexer.scala:18)
at scala.meta.internal.mtags.JavaMtags.index(JavaMtags.scala:30)
at scala.meta.internal.mtags.Mtags.index(Mtags.scala:54)
at scala.meta.internal.mtags.SymbolIndexBucket.addMtagsSourceFile(SymbolIndexBucket.scala:252)
at scala.meta.internal.mtags.SymbolIndexBucket.$anonfun$query0$4(SymbolIndexBucket.scala:188)
at scala.meta.internal.mtags.SymbolIndexBucket.$anonfun$query0$4$adapted(SymbolIndexBucket.scala:188)
at scala.collection.immutable.List.foreach(List.scala:333)
at scala.meta.internal.mtags.SymbolIndexBucket.$anonfun$query0$3(SymbolIndexBucket.scala:188)
at scala.meta.internal.mtags.SymbolIndexBucket.$anonfun$query0$3$adapted(SymbolIndexBucket.scala:188)
at scala.Option.foreach(Option.scala:437)
at scala.meta.internal.mtags.SymbolIndexBucket.query0(SymbolIndexBucket.scala:188)
at scala.meta.internal.mtags.SymbolIndexBucket.query(SymbolIndexBucket.scala:158)
at scala.meta.internal.mtags.OnDemandSymbolIndex.$anonfun$findSymbolDefinition$1(OnDemandSymbolIndex.scala:139)
at scala.collection.immutable.List.flatMap(List.scala:293)
at scala.meta.internal.mtags.OnDemandSymbolIndex.findSymbolDefinition(OnDemandSymbolIndex.scala:139)
at scala.meta.internal.mtags.OnDemandSymbolIndex.definitions(OnDemandSymbolIndex.scala:56)
at scala.meta.internal.metals.WorkspaceSearchVisitor.definition(WorkspaceSearchVisitor.scala:94)
at scala.meta.internal.metals.WorkspaceSearchVisitor.expandClassfile(WorkspaceSearchVisitor.scala:129)
at scala.meta.internal.metals.WorkspaceSearchVisitor.visitClassfile(WorkspaceSearchVisitor.scala:119)
at scala.meta.internal.metals.ClasspathSearch.$anonfun$search$5(ClasspathSearch.scala:49)
at scala.meta.internal.metals.ClasspathSearch.$anonfun$search$5$adapted(ClasspathSearch.scala:39)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:575)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:573)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1300)
at scala.meta.internal.metals.ClasspathSearch.search(ClasspathSearch.scala:39)
at scala.meta.internal.metals.WorkspaceSymbolProvider.search(WorkspaceSymbolProvider.scala:82)
at scala.meta.internal.metals.WorkspaceSymbolProvider.searchExactFrom(WorkspaceSymbolProvider.scala:72)
at scala.meta.internal.metals.DefinitionProvider.$anonfun$fromSearch$5(DefinitionProvider.scala:169)
at scala.Option.map(Option.scala:242)
at scala.meta.internal.metals.DefinitionProvider.$anonfun$fromSearch$4(DefinitionProvider.scala:142)
at scala.Option.flatMap(Option.scala:283)
at scala.meta.internal.metals.DefinitionProvider.$anonfun$fromSearch$3(DefinitionProvider.scala:141)
at scala.Option.flatMap(Option.scala:283)
at scala.meta.internal.metals.DefinitionProvider.$anonfun$fromSearch$2(DefinitionProvider.scala:140)
at scala.Option.flatMap(Option.scala:283)
at scala.meta.internal.metals.DefinitionProvider.fromSearch(DefinitionProvider.scala:138)
at scala.meta.internal.metals.DefinitionProvider.$anonfun$definition$4(DefinitionProvider.scala:115)
at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:467)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Please let me know if you need any more information.
Expected behavior
No response
Operating system
Windows
Editor/Extension
VS Code
Version of Metals
v0.11.12
Extra context or search terms
IllegalArgumentException
The text was updated successfully, but these errors were encountered:
Thanks! Any idea on how I can mitigate this? The java language support in VSCode is able to load and navigate to the symbols but if metals is running, the java extensions won't work properly so I can't use both of them.
Thanks! Any idea on how I can mitigate this? The java language support in VSCode is able to load and navigate to the symbols but if metals is running, the java extensions won't work properly so I can't use both of them.
Unfortunately there is no way for Metals and Java extension work together properly :/ We would need to turn off Java support completely in Metals, but that might cause other issues, which might be hard to anticipate. Ideally, there could be a way to prioritize a language server for a file, but I don't think there is a way.
Though currently, you should get suggestions from both inside Java files 🤔
Ach, that might be because Java plugin doesn't understand the virtual files we create. If you navigate from a Java file it would understand it, but otherwise it will not be able to provide any support.
Describe the bug
I am new to using metals and scala + java development. I will try my best to describe exactly how to reproduce this.
My scala project depends on
"com.microsoft.azure" % "msal4j" % "1.13.8"
. I am able to navigate to the source code of some of the classes imported from this module but others I am not.For instance, I am able to import and navigate to:
com.microsoft.aad.msal4j.ClientCredentialParameters
. But, I am not able to navigate tocom.microsoft.aad.msal4j.ConfidentialClientApplication
.In VSCode output I can see the following error log:
Please let me know if you need any more information.
Expected behavior
No response
Operating system
Windows
Editor/Extension
VS Code
Version of Metals
v0.11.12
Extra context or search terms
IllegalArgumentException
The text was updated successfully, but these errors were encountered: