Problem
def renders method definitions with a qualified label, but cannot use that same label as input.
For example:
def Ignore.checkIgnore in node_modules/ignore/index.js
No definition found for "Ignore.checkIgnore"
The bare name succeeds:
def checkIgnore in node_modules/ignore/index.js
1 definition of "checkIgnore":
method_definition Ignore.checkIgnore ...
This is a recurring tool-use failure because qualified names are natural for methods and the successful output itself presents Parent.method.
Cause
Symbols store the leaf name (checkIgnore) and parent relationship (Ignore) separately. findDefinition() currently compares the entire input only against symbols.name:
The extension passes the input unchanged while rendering results as ${parent_name}.${name}.
Expected behavior
def("checkIgnore", scope) continues to perform the current bare-name lookup.
def("Ignore.checkIgnore", scope) finds checkIgnore under Ignore and can disambiguate same-named methods in different parents.
- A qualified label emitted by
def should be valid input to a subsequent def query.
- Add a black-box regression test through the public query boundary.
Supporting qualified callers queries is out of scope: callers are syntactic and do not resolve receiver types, so a class qualifier cannot reliably constrain call sites.
Problem
defrenders method definitions with a qualified label, but cannot use that same label as input.For example:
The bare name succeeds:
This is a recurring tool-use failure because qualified names are natural for methods and the successful output itself presents
Parent.method.Cause
Symbols store the leaf name (
checkIgnore) and parent relationship (Ignore) separately.findDefinition()currently compares the entire input only againstsymbols.name:The extension passes the input unchanged while rendering results as
${parent_name}.${name}.Expected behavior
def("checkIgnore", scope)continues to perform the current bare-name lookup.def("Ignore.checkIgnore", scope)findscheckIgnoreunderIgnoreand can disambiguate same-named methods in different parents.defshould be valid input to a subsequentdefquery.Supporting qualified
callersqueries is out of scope: callers are syntactic and do not resolve receiver types, so a class qualifier cannot reliably constrain call sites.