microsoft / microsoft/vscode-java-debug
Evaluation failed when the context is generic method
@testforstephen is already working on this.
Since May 27, 2022.
- Dominant language
- TypeScript
- Stars
- 591
- Forks
- 429
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 19
Description
Ok, I boiled it down to this:
package vscode_bugged;
public class VSCode_Bugged_Example_3 {
public static void main(String[] args) {
foo(tree_builder);
}
static public class Node<T extends Node<T>> {
public T parent;
}
static public class Tree_Builder<T extends Node<T>> {
public T current;
}
static public class Element extends Node<Element> {
public String name;
}
static public Tree_Builder<Element> tree_builder = new Tree_Builder<>();
static public <T extends Node<T>> void foo(Tree_Builder<T> builder) {
String s = "nope";
if (builder.current != null) {
}
System.out.println(s); // breakpoint here
}
}
It might be possible to boil it down a bit further but my attempts failed so far.
So I think generics might have something to do with it as well.
Place a breakpoint on the last line (see the comment), from there you should be able to see (in the watch window!) tree_builder, builder, s and vscode_bugged.VSCode_Bugged_Example_3.tree_builder but none of them works.
This is not a maven project or the like, just VSCode_Bugged_Example_3.java being located in src/vscode_bugged.
Originally posted by @clankill3r in https://github.com/microsoft/vscode-java-debug/issues/1158#issuecomment-1138320434
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.