microsoft / microsoft/vscode-java-debug
can't refer to java.lang static methods in expression
@testforstephen is already working on this.
Since Jan 9, 2024.
- Dominant language
- TypeScript
- Stars
- 591
- Forks
- 429
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 19
Description
Add breakpoint in a constructor (such as NoSuchMethodError) with this log expression:
new StringBuilder().append(s).append("->").append(java.util.Arrays.stream(Thread.currentThread().getStackTrace()).map(StackTraceElement::toString).collect(java.util.stream.Collectors.joining("\n"))).toString()
This works in intellij but in vscode I get:
[Logpoint] Log message '{new StringBuilder().append(s).append("->").append(java.util.Arrays.stream(Thread.currentThread().getStackTrace()).map(StackTraceElement::toString).collect(java.util.stream.Collectors.joining("\n"))).toString()}' error: Cannot evaluate because of compilation error(s): [The package java.lang collides with a type, The package java.lang conflicts with a package accessible from another module: java.base].
When works it should print the message + stacktrace.
I expect the error has something to do with the static java.lang.Thread implicit reference for Thread.currentThread() call. I also added explicit java.lang.Thread but same error.
Environment
- Operating System: osx
- JDK version: temurin java 21
- Visual Studio Code version: 1.84.2
- Java extension version: "v1.25.1"
- Java Debugger extension version: "v0.55.0"
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.