Context
Follow-up to #1511. On v8 (0.8.51), declared Java type parameters become sourceless type nodes and references edges.
Reproducer
class Base<X> {}
class Box<T> extends Base<T> {
T value;
List<T> values;
<U> U convert(T input, List<U> mapped) {
return null;
}
}
Cache result
Label-normalized relevant excerpt from graphify-out/cache/ast/v0.8.51/<content-hash>.json:
{
"nodes": [
{"label": "T", "source_file": ""},
{"label": "U", "source_file": ""}
],
"edges": [
{"source": "Box", "target": "T", "relation": "references", "context": "generic_arg"},
{"source": "Box", "target": "T", "relation": "references", "context": "field"},
{"source": "convert", "target": "T", "relation": "references", "context": "parameter_type"},
{"source": "convert", "target": "U", "relation": "references", "context": "return_type"}
]
}
Expected
Do not create nodes or reference edges for declared T and U. Keep real relationships to Base and List.
Context
Follow-up to #1511. On
v8(0.8.51), declared Java type parameters become sourceless type nodes andreferencesedges.Reproducer
Cache result
Label-normalized relevant excerpt from
graphify-out/cache/ast/v0.8.51/<content-hash>.json:{ "nodes": [ {"label": "T", "source_file": ""}, {"label": "U", "source_file": ""} ], "edges": [ {"source": "Box", "target": "T", "relation": "references", "context": "generic_arg"}, {"source": "Box", "target": "T", "relation": "references", "context": "field"}, {"source": "convert", "target": "T", "relation": "references", "context": "parameter_type"}, {"source": "convert", "target": "U", "relation": "references", "context": "return_type"} ] }Expected
Do not create nodes or reference edges for declared
TandU. Keep real relationships toBaseandList.