diff --git a/__tests__/evaluation/results/precision-flask-d73fa1c-0ae0b138.json b/__tests__/evaluation/results/precision-flask-d73fa1c-0ae0b138.json new file mode 100644 index 0000000000..4ad5ed553f --- /dev/null +++ b/__tests__/evaluation/results/precision-flask-d73fa1c-0ae0b138.json @@ -0,0 +1,60 @@ +{ + "timestamp": "2026-10-29T14:52:50.836Z", + "corpus": "flask", + "repo": "https://github.com/pallets/flask.git", + "commit": "d73fa1c", + "codegraphSha": "0ae0b138", + "summary": { + "absentCases": 0, + "absentHeld": 0, + "presentCases": 2, + "presentHeld": 2, + "unjudgeable": 0 + }, + "resolvedBy": { + "(none)": 2474, + "import": 1180, + "instance-method": 730, + "exact-match": 633, + "function-ref": 191 + }, + "edges": 5208, + "results": [ + { + "caseId": "flask-package-reexport-receiver", + "expect": "present", + "pass": true, + "found": [ + { + "from": "file:examples/tutorial/flaskr/auth.py", + "to": "method:31833b8026746e7977b4c2736d71c63e", + "resolvedBy": "instance-method" + }, + { + "from": "file:examples/tutorial/flaskr/auth.py", + "to": "method:31833b8026746e7977b4c2736d71c63e", + "resolvedBy": "instance-method" + }, + { + "from": "file:examples/tutorial/flaskr/auth.py", + "to": "method:31833b8026746e7977b4c2736d71c63e", + "resolvedBy": "instance-method" + } + ], + "missingEndpoints": [] + }, + { + "caseId": "flask-control-relative-from-import", + "expect": "present", + "pass": true, + "found": [ + { + "from": "file:src/flask/app.py", + "to": "function:00d6010e49ed947bc5858174234b23e4", + "resolvedBy": "import" + } + ], + "missingEndpoints": [] + } + ] +} \ No newline at end of file diff --git a/__tests__/evaluation/results/precision-json-aa391dc-0ae0b138.json b/__tests__/evaluation/results/precision-json-aa391dc-0ae0b138.json new file mode 100644 index 0000000000..ca540a12dc --- /dev/null +++ b/__tests__/evaluation/results/precision-json-aa391dc-0ae0b138.json @@ -0,0 +1,200 @@ +{ + "timestamp": "2026-10-29T14:52:49.255Z", + "corpus": "json", + "repo": "https://github.com/nlohmann/json.git", + "commit": "aa391dc", + "codegraphSha": "0ae0b138", + "summary": { + "absentCases": 11, + "absentHeld": 11, + "presentCases": 7, + "presentHeld": 7, + "unjudgeable": 0 + }, + "resolvedBy": { + "(none)": 13070, + "instance-method": 6643, + "qualified-name": 3946, + "exact-match": 2641, + "file-path": 1742, + "import": 670, + "function-ref": 49, + "field-call": 1 + }, + "edges": 28762, + "results": [ + { + "caseId": "json-value-not-internal-serializer", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-fuzzer-contains-word", + "expect": "present", + "pass": true, + "found": [ + { + "from": "method:511ae2bab26a12794fe5b8e38095ef6f", + "to": "method:c7bd7bd104f933f1ecf2fcd44528462f", + "resolvedBy": "instance-method" + } + ], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-fuzzer-end-calls-begin", + "expect": "present", + "pass": true, + "found": [ + { + "from": "method:a583c5de8fb77fcf2e47f72d5f052f20", + "to": "method:c7bd7bd104f933f1ecf2fcd44528462f", + "resolvedBy": "instance-method" + } + ], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-front-member", + "expect": "present", + "pass": true, + "found": [ + { + "from": "method:8654732301dd561330bd7d76aaaac333", + "to": "method:3e3f4b2356976a63aaa31053c5cb2161", + "resolvedBy": "instance-method" + } + ], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-rend-member", + "expect": "present", + "pass": true, + "found": [ + { + "from": "method:0dda1746e6adfea526da71f9367b169b", + "to": "method:3e3f4b2356976a63aaa31053c5cb2161", + "resolvedBy": "instance-method" + } + ], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-subscript-member", + "expect": "present", + "pass": true, + "found": [ + { + "from": "method:77ad649124c3bf33008dde65773f52e6", + "to": "method:3e3f4b2356976a63aaa31053c5cb2161", + "resolvedBy": "instance-method" + } + ], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-emplace-member", + "expect": "present", + "pass": true, + "found": [ + { + "from": "method:c3902fb60811ce9452300172d8c55ee0", + "to": "method:3e3f4b2356976a63aaa31053c5cb2161", + "resolvedBy": "instance-method" + } + ], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-no-cross-test-member", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-no-eigen-member", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-no-udt-member", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-no-fifo-member", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-no-array-member", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-no-ordered-map-this", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-no-adl-to-helper", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-no-using-std-to-proxy", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-no-doctest-to-dictionary", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-begin-no-abi-adl-to-member", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "json-items-calls-proxy-ctor", + "expect": "present", + "pass": true, + "found": [ + { + "from": "method:43fd87584a379054069e29e9f2000a50", + "to": "method:2c30311abef74670c4da1607ca5259fb", + "resolvedBy": "import" + }, + { + "from": "method:b768fbb5951dfeae8fcc4e6af4e53c84", + "to": "method:2c30311abef74670c4da1607ca5259fb", + "resolvedBy": "import" + } + ], + "missingEndpoints": [] + } + ] +} \ No newline at end of file diff --git a/__tests__/evaluation/results/precision-svelte-5895c63-0ae0b138.json b/__tests__/evaluation/results/precision-svelte-5895c63-0ae0b138.json new file mode 100644 index 0000000000..35dc6c9a68 --- /dev/null +++ b/__tests__/evaluation/results/precision-svelte-5895c63-0ae0b138.json @@ -0,0 +1,35 @@ +{ + "timestamp": "2026-10-29T14:53:04.397Z", + "corpus": "svelte", + "repo": "https://github.com/sveltejs/svelte.git", + "commit": "5895c63", + "codegraphSha": "0ae0b138", + "summary": { + "absentCases": 1, + "absentHeld": 1, + "presentCases": 0, + "presentHeld": 0, + "unjudgeable": 0 + }, + "resolvedBy": { + "(none)": 30920, + "import": 22673, + "exact-match": 9040, + "qualified-name": 1874, + "instance-method": 390, + "framework": 220, + "function-ref": 196, + "file-path": 58, + "fuzzy": 13 + }, + "edges": 65384, + "results": [ + { + "caseId": "svelte-bare-import-bundle", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + } + ] +} \ No newline at end of file diff --git a/__tests__/evaluation/results/precision-vite-8492422-0ae0b138.json b/__tests__/evaluation/results/precision-vite-8492422-0ae0b138.json new file mode 100644 index 0000000000..49808c5554 --- /dev/null +++ b/__tests__/evaluation/results/precision-vite-8492422-0ae0b138.json @@ -0,0 +1,95 @@ +{ + "timestamp": "2026-10-29T14:52:56.623Z", + "corpus": "vite", + "repo": "https://github.com/vitejs/vite.git", + "commit": "8492422", + "codegraphSha": "0ae0b138", + "summary": { + "absentCases": 6, + "absentHeld": 6, + "presentCases": 2, + "presentHeld": 2, + "unjudgeable": 0 + }, + "resolvedBy": { + "(none)": 13392, + "import": 11144, + "exact-match": 3389, + "qualified-name": 1009, + "instance-method": 457, + "file-path": 197, + "function-ref": 163, + "framework": 1 + }, + "edges": 29752, + "results": [ + { + "caseId": "vite-factory-receiver-control", + "expect": "present", + "pass": true, + "found": [ + { + "from": "function:d321dd128d90578bc69867835ec73ef8", + "to": "method:db73e5f5d9c7af61d0f22c5b9971ced3", + "resolvedBy": "instance-method" + } + ], + "missingEndpoints": [] + }, + { + "caseId": "vite-external-receiver-not-project-method", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "vite-bare-import-self-edge", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "vite-bare-import-getEnv", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "vite-fuzzy-nested-resolveConfig-getEnv", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "vite-fuzzy-nested-build-scan", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "vite-sealed-module-defineConfig", + "expect": "absent", + "pass": true, + "found": [], + "missingEndpoints": [] + }, + { + "caseId": "vite-control-relative-import", + "expect": "present", + "pass": true, + "found": [ + { + "from": "file:packages/vite/src/node/config.ts", + "to": "function:0c2f36c32c5742aee412978220fd5b23", + "resolvedBy": "import" + } + ], + "missingEndpoints": [] + } + ] +} \ No newline at end of file diff --git a/__tests__/fixtures/golden/payroll-go.dump b/__tests__/fixtures/golden/payroll-go.dump index 968514cc3c..7012d043da 100644 --- a/__tests__/fixtures/golden/payroll-go.dump +++ b/__tests__/fixtures/golden/payroll-go.dump @@ -572,8 +572,8 @@ {"source":"function:0ae098aebe4dbe9d71e324db178702ba","target":"struct:19321b921e8669d1052268136951cb96","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"PayrollCycleRow\"}","line":52,"col":100,"provenance":null} {"source":"function:0ae098aebe4dbe9d71e324db178702ba","target":"struct:a7849e2411e6cccc2a1da578922c7004","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"PayrollCycleUpdateRequest\"}","line":52,"col":72,"provenance":null} {"source":"function:0e6d6dd34d39c0ac54c9a7084b8d8ca8","target":"struct:44ba5408fc435805ad63b792fae78895","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"EmployeeRow\"}","line":84,"col":33,"provenance":null} -{"source":"function:0f4c51f6d4475eb21570beb83cf54ff4","target":"struct:13bfc2acbe1de6557e9a28c0be484ffa","kind":"instantiates","metadata":"{\"framework\":\"go\",\"confidence\":0.8,\"resolvedBy\":\"framework\",\"refName\":\"Store\"}","line":19,"col":43,"provenance":null} -{"source":"function:0f4c51f6d4475eb21570beb83cf54ff4","target":"struct:13bfc2acbe1de6557e9a28c0be484ffa","kind":"references","metadata":"{\"framework\":\"go\",\"confidence\":0.8,\"resolvedBy\":\"framework\",\"refName\":\"Store\"}","line":19,"col":27,"provenance":null} +{"source":"function:0f4c51f6d4475eb21570beb83cf54ff4","target":"struct:13bfc2acbe1de6557e9a28c0be484ffa","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Store\"}","line":19,"col":43,"provenance":null} +{"source":"function:0f4c51f6d4475eb21570beb83cf54ff4","target":"struct:13bfc2acbe1de6557e9a28c0be484ffa","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Store\"}","line":19,"col":27,"provenance":null} {"source":"function:13c7c9632913a7b5c4cb3853ae46f74a","target":"function:d82ab6b26c7b41b587b8d940d1c57034","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"scanPayslip\"}","line":71,"col":8,"provenance":null} {"source":"function:13c7c9632913a7b5c4cb3853ae46f74a","target":"struct:6c93a0c367bc4b0f4392bc71266af6f6","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"PayslipUpdateRequest\"}","line":65,"col":67,"provenance":null} {"source":"function:13c7c9632913a7b5c4cb3853ae46f74a","target":"struct:eed7116b6261c410c79b06f6b3a3aebe","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"PayslipRow\"}","line":65,"col":90,"provenance":null} @@ -635,8 +635,8 @@ {"source":"function:97d5bc1460c9dc0379c4c2016964d601","target":"struct:141301eeb403e252d3f06decd0665c41","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"TimesheetRow\"}","line":71,"col":34,"provenance":null} {"source":"function:9a1275209a1a60e56b21de5aba04f222","target":"function:d82ab6b26c7b41b587b8d940d1c57034","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"scanPayslip\"}","line":61,"col":8,"provenance":null} {"source":"function:9a1275209a1a60e56b21de5aba04f222","target":"struct:eed7116b6261c410c79b06f6b3a3aebe","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"PayslipRow\"}","line":59,"col":61,"provenance":null} -{"source":"function:a2d9b9035f29c64480f1644da96bc32f","target":"struct:33239c589ef83d64d5f6e73c2e021ee6","kind":"instantiates","metadata":"{\"framework\":\"go\",\"confidence\":0.8,\"resolvedBy\":\"framework\",\"refName\":\"Store\"}","line":23,"col":9,"provenance":null} -{"source":"function:a2d9b9035f29c64480f1644da96bc32f","target":"struct:33239c589ef83d64d5f6e73c2e021ee6","kind":"references","metadata":"{\"framework\":\"go\",\"confidence\":0.8,\"resolvedBy\":\"framework\",\"refName\":\"Store\"}","line":22,"col":12,"provenance":null} +{"source":"function:a2d9b9035f29c64480f1644da96bc32f","target":"struct:33239c589ef83d64d5f6e73c2e021ee6","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Store\"}","line":23,"col":9,"provenance":null} +{"source":"function:a2d9b9035f29c64480f1644da96bc32f","target":"struct:33239c589ef83d64d5f6e73c2e021ee6","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Store\"}","line":22,"col":12,"provenance":null} {"source":"function:b11ab260a99f087321b978dfbbcbccbb","target":"function:680f46cf762a57779b8a8dbe6de8c989","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"scanContract\"}","line":49,"col":8,"provenance":null} {"source":"function:b11ab260a99f087321b978dfbbcbccbb","target":"struct:8ae9f91523a30c90667e8f5ba09c3fc1","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"ContractRow\"}","line":47,"col":62,"provenance":null} {"source":"function:b3b725a56ce5377ac34ef157db4d1170","target":"struct:416d70a4ba3bd67a9d4b7114f2abd3a6","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"PayslipDTO\"}","line":40,"col":8,"provenance":null} @@ -690,7 +690,7 @@ {"source":"method:18a9696cad4179d634834650c0684f0c","target":"struct:e66f442bcf28c3bd0a3f42fbacb69b2a","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"RunPayrollCycleResponse\"}","line":37,"col":123,"provenance":null} {"source":"method:24e3292f2546abebcb9d371572f38e20","target":"struct:f1c05936f2b11591d1f90efa9d981fa7","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"import\",\"refName\":\"Payslip\"}","line":50,"col":76,"provenance":null} {"source":"method:2eb01c123ced28db3096d2168949061f","target":"method:412163f69abf5ae22adf9b9141ba79e2","kind":"calls","metadata":"{\"synthesizedBy\":\"interface-impl\",\"via\":\"mustEmbedUnimplementedPayrollServiceServer\",\"registeredAt\":\"internal/gen/payrollpb/payroll_grpc.pb.go:87\"}","line":69,"col":null,"provenance":"heuristic"} -{"source":"method:3367319bda79cdcf1fefc366ce7322ac","target":"struct:d541b867b240edf388feab5ff2002afd","kind":"instantiates","metadata":"{\"framework\":\"go\",\"confidence\":0.7,\"resolvedBy\":\"framework\",\"refName\":\"Payslip\"}","line":102,"col":41,"provenance":null} +{"source":"method:3367319bda79cdcf1fefc366ce7322ac","target":"struct:d541b867b240edf388feab5ff2002afd","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Payslip\"}","line":102,"col":41,"provenance":null} {"source":"method:3708105303f9a5feb2601fa8f3fe731e","target":"function:5e2796c1fbc4081e6b6f6a4307fe4bc0","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"key\"}","line":45,"col":12,"provenance":null} {"source":"method:3708105303f9a5feb2601fa8f3fe731e","target":"struct:f1c05936f2b11591d1f90efa9d981fa7","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"import\",\"refName\":\"Payslip\"}","line":36,"col":57,"provenance":null} {"source":"method:3af34007f72fd40aebe0e4504e8228ae","target":"method:24e3292f2546abebcb9d371572f38e20","kind":"calls","metadata":"{\"confidence\":0.85,\"resolvedBy\":\"instance-method\",\"refName\":\"s.store.ListByCycle\"}","line":206,"col":15,"provenance":null} @@ -724,7 +724,7 @@ {"source":"method:4df364d0c37da3d10e39207b87a94ca8","target":"method:b90cd7088a55c9068e12a8120b256e13","kind":"calls","metadata":"{\"synthesizedBy\":\"interface-impl\",\"via\":\"RunPayrollCycle\",\"registeredAt\":\"internal/gen/payrollpb/payroll_grpc.pb.go:75\"}","line":66,"col":null,"provenance":"heuristic"} {"source":"method:4df364d0c37da3d10e39207b87a94ca8","target":"struct:4325013490f7f7a77604146f5e38c292","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"RunPayrollCycleRequest\"}","line":66,"col":35,"provenance":null} {"source":"method:4df364d0c37da3d10e39207b87a94ca8","target":"struct:e66f442bcf28c3bd0a3f42fbacb69b2a","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"RunPayrollCycleResponse\"}","line":66,"col":61,"provenance":null} -{"source":"method:4f0ac2154c360ad1c55284c03d1f0c73","target":"struct:13bfc2acbe1de6557e9a28c0be484ffa","kind":"references","metadata":"{\"framework\":\"go\",\"confidence\":0.8,\"resolvedBy\":\"framework\",\"refName\":\"Store\"}","line":85,"col":49,"provenance":null} +{"source":"method:4f0ac2154c360ad1c55284c03d1f0c73","target":"struct:13bfc2acbe1de6557e9a28c0be484ffa","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Store\"}","line":85,"col":49,"provenance":null} {"source":"method:4f57884a5e57e13884848a959e466e9d","target":"function:63f3bd99966467470cbabcb097ad36dd","kind":"calls","metadata":"{\"confidence\":0.7,\"resolvedBy\":\"exact-match\",\"refName\":\"ListPayslipsByCycle\"}","line":66,"col":8,"provenance":null} {"source":"method:4f57884a5e57e13884848a959e466e9d","target":"struct:eed7116b6261c410c79b06f6b3a3aebe","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"PayslipRow\"}","line":65,"col":76,"provenance":null} {"source":"method:578c07e761ce9e31fb80ec2ae5ee7713","target":"struct:4325013490f7f7a77604146f5e38c292","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"RunPayrollCycleRequest\"}","line":47,"col":56,"provenance":null} @@ -824,7 +824,7 @@ {"source":"method:e5d8405d7063593214cc4d16d2bbec81","target":"struct:4831ac24c172065fee6e46751021f7ba","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"import\",\"refName\":\"payroll.Cycle\"}","line":67,"col":9,"provenance":null} {"source":"method:e5d8405d7063593214cc4d16d2bbec81","target":"struct:4831ac24c172065fee6e46751021f7ba","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"import\",\"refName\":\"payroll.Cycle\"}","line":73,"col":9,"provenance":null} {"source":"method:e5d8405d7063593214cc4d16d2bbec81","target":"struct:4831ac24c172065fee6e46751021f7ba","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"import\",\"refName\":\"Cycle\"}","line":65,"col":68,"provenance":null} -{"source":"method:eba91430ad280a0c070af5c64e79d2d0","target":"struct:d541b867b240edf388feab5ff2002afd","kind":"references","metadata":"{\"framework\":\"go\",\"confidence\":0.7,\"resolvedBy\":\"framework\",\"refName\":\"Payslip\"}","line":62,"col":51,"provenance":null} +{"source":"method:eba91430ad280a0c070af5c64e79d2d0","target":"struct:d541b867b240edf388feab5ff2002afd","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Payslip\"}","line":62,"col":51,"provenance":null} {"source":"method:ed702f7226c3efff6b07f6f5afd73bf8","target":"method:59c25996edd43745355454c918ca737d","kind":"calls","metadata":"{\"confidence\":0.85,\"resolvedBy\":\"instance-method\",\"refName\":\"s.store.SaveCycle\"}","line":196,"col":8,"provenance":null} {"source":"method:ed702f7226c3efff6b07f6f5afd73bf8","target":"struct:4831ac24c172065fee6e46751021f7ba","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"import\",\"refName\":\"Cycle\"}","line":193,"col":64,"provenance":null} {"source":"method:ee60f0f8c18e9fd703205c637e5b5f8d","target":"function:c68d01c236174f79631f8e8222523fa4","kind":"calls","metadata":"{\"confidence\":0.7,\"resolvedBy\":\"exact-match\",\"refName\":\"ListPayrollCycles\"}","line":81,"col":8,"provenance":null} @@ -962,7 +962,7 @@ {"source":"struct:e66f442bcf28c3bd0a3f42fbacb69b2a","target":"method:2f3ad781c22d07dedb06b0a2f536ba18","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"struct:e66f442bcf28c3bd0a3f42fbacb69b2a","target":"method:3f9811f3a17dc661bfba3de069234279","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"struct:e66f442bcf28c3bd0a3f42fbacb69b2a","target":"method:eba91430ad280a0c070af5c64e79d2d0","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} -{"source":"struct:e66f442bcf28c3bd0a3f42fbacb69b2a","target":"struct:d541b867b240edf388feab5ff2002afd","kind":"references","metadata":"{\"framework\":\"go\",\"confidence\":0.7,\"resolvedBy\":\"framework\",\"refName\":\"Payslip\"}","line":57,"col":15,"provenance":null} +{"source":"struct:e66f442bcf28c3bd0a3f42fbacb69b2a","target":"struct:d541b867b240edf388feab5ff2002afd","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Payslip\"}","line":57,"col":15,"provenance":null} {"source":"struct:f1c05936f2b11591d1f90efa9d981fa7","target":"struct:51160f165aa24865c9ffd701638e08de","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Line\"}","line":53,"col":18,"provenance":null} {"source":"struct:f221a626c8918bb65aeb52f4f2641203","target":"method:dd6580e3209a7f4efedb099a9bd5576d","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"variable:02a9b4868be4f999189e4d930af29b95","target":"interface:9382b4b7c3b120f81bd0566fb2d74864","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"PayrollServiceServer\",\"refKind\":\"calls\"}","line":97,"col":14,"provenance":null} diff --git a/__tests__/fixtures/golden/tail-langs.dump b/__tests__/fixtures/golden/tail-langs.dump index 0aa85d6783..14f19a41aa 100644 --- a/__tests__/fixtures/golden/tail-langs.dump +++ b/__tests__/fixtures/golden/tail-langs.dump @@ -263,7 +263,7 @@ {"source":"method:3e8f1a96504ba0922e3ea15fd67c3af7","target":"method:834675ad82e7c76b57d6b7dbd9c4d007","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"_upper\"}","line":14,"col":68,"provenance":null} {"source":"method:6371e3682b7f64f04708b1f642de336e","target":"method:1b92f98530b02ea1c9bfb4530bca5eb7","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"capitalize\"}","line":8,"col":48,"provenance":null} {"source":"method:6371e3682b7f64f04708b1f642de336e","target":"method:88abbd176ab3dd1c582009f2f0c8c792","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"logIt\"}","line":9,"col":8,"provenance":null} -{"source":"method:bab15b615c718a99979e32483e78a2bd","target":"class:8f245e11bfe6a3d101a39ded206566ec","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Greeter\"}","line":14,"col":39,"provenance":null} +{"source":"method:bab15b615c718a99979e32483e78a2bd","target":"class:8f245e11bfe6a3d101a39ded206566ec","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Greeter\"}","line":14,"col":39,"provenance":null} {"source":"method:bab15b615c718a99979e32483e78a2bd","target":"method:8c9db773f13cb8c0e5a0498432ebc819","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"initWithName:\"}","line":14,"col":37,"provenance":null} {"source":"method:bce8c6cce85fec8bd2df9223eaf629de","target":"method:7021a8a0ecfa8d21106abcf10c74a4d3","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"onlyOwner\"}","line":7,"col":52,"provenance":null} {"source":"method:c43ae451b29e35763223fd3a5fd1ae22","target":"class:5ed1a9fbfc5fad495850f0cc6ac2970c","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Greeter\"}","line":23,"col":19,"provenance":null} diff --git a/__tests__/fixtures/golden/torture-multilang.dump b/__tests__/fixtures/golden/torture-multilang.dump index af86bd28e8..53b8bf0081 100644 --- a/__tests__/fixtures/golden/torture-multilang.dump +++ b/__tests__/fixtures/golden/torture-multilang.dump @@ -2040,7 +2040,7 @@ {"source":"class:129f932b07791059905bc786775e5dff","target":"method:846b59388a77b469427475c32a0d11a3","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:12b0fc1a5b8916f4876df49d6cd78ad7","target":"method:2482c6a39c7a71c514ac4eda10980efa","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:12b8092ee33506020a2ef69ffb0c942f","target":"method:f93cac5b4e9fd958cce4400d8a1fb21a","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} -{"source":"class:184d52a70ca25ab02246ba53448afd84","target":"trait:09af11c47861285a512e31fce265f12b","kind":"extends","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Shape\"}","line":88,"col":21,"provenance":null} +{"source":"class:184d52a70ca25ab02246ba53448afd84","target":"trait:09af11c47861285a512e31fce265f12b","kind":"extends","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Shape\"}","line":88,"col":21,"provenance":null} {"source":"class:185f6260a8d5b738c53be0accb2a4e19","target":"method:2ea1f4137a11a0863dc001320a6553d4","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:185f6260a8d5b738c53be0accb2a4e19","target":"method:56abbc29e06f18840ab8e081a5955345","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:185f6260a8d5b738c53be0accb2a4e19","target":"method:7e714128b5b3c81a4e4f571a142197ba","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} @@ -2127,7 +2127,7 @@ {"source":"class:326854f65c2a15980f69f2865639f179","target":"variable:6adfcec1106f14a610956b32cf60e621","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:339d61243e19865bc9a1abb1bf086ced","target":"class:51e8dab5c341254b6e69fea52526cec0","kind":"extends","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"SealedOp\"}","line":121,"col":33,"provenance":null} {"source":"class:341082c7a6943c8178f54be340ac5776","target":"class:02b8749f9f3f54ac2e63b9af5107cd67","kind":"extends","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"OpenBase\"}","line":103,"col":21,"provenance":null} -{"source":"class:341082c7a6943c8178f54be340ac5776","target":"interface:c81d5cab63db22eb6f15b7c2253d937e","kind":"implements","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Drawable\",\"refKind\":\"extends\"}","line":103,"col":34,"provenance":null} +{"source":"class:341082c7a6943c8178f54be340ac5776","target":"interface:c81d5cab63db22eb6f15b7c2253d937e","kind":"implements","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Drawable\",\"refKind\":\"extends\"}","line":103,"col":34,"provenance":null} {"source":"class:341082c7a6943c8178f54be340ac5776","target":"method:45a51bb86d639c728b97972d1987b72b","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:341082c7a6943c8178f54be340ac5776","target":"method:6f5a2fd43f38fbf52acfdb0b84cb3b93","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:341082c7a6943c8178f54be340ac5776","target":"method:d0c57c6f9abd19cc5263f4b1c36ba5c9","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} @@ -2165,7 +2165,7 @@ {"source":"class:4bd83cdfb5b8540fad90ce018af02e21","target":"constant:b3b1efa0122809a96522516575f0cccb","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:4bd83cdfb5b8540fad90ce018af02e21","target":"field:32f596742e8806ab7d3138e43bb9b86b","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:4bd83cdfb5b8540fad90ce018af02e21","target":"field:530469f189a3fea0785da07779d01767","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} -{"source":"class:4bd83cdfb5b8540fad90ce018af02e21","target":"method:5eb14184151e0e35d5705df793db77a4","kind":"calls","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"isReady\"}","line":14,"col":23,"provenance":null} +{"source":"class:4bd83cdfb5b8540fad90ce018af02e21","target":"method:5eb14184151e0e35d5705df793db77a4","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"isReady\"}","line":14,"col":23,"provenance":null} {"source":"class:4bd83cdfb5b8540fad90ce018af02e21","target":"method:5eb14184151e0e35d5705df793db77a4","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:4bd83cdfb5b8540fad90ce018af02e21","target":"method:73b61c8d80bf0af73a67434ab7f4be86","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:4bd83cdfb5b8540fad90ce018af02e21","target":"method:fa3938cdf0d608dc9a8646d21c39961c","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} @@ -2195,7 +2195,7 @@ {"source":"class:54c0d1e485f298b4f9827706f928657f","target":"method:77e06442f583b8a728ecb572f6730060","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:54c0d1e485f298b4f9827706f928657f","target":"method:a7b6861e2ff780d68310f545ca791d3c","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:54c0d1e485f298b4f9827706f928657f","target":"method:f11a1632c933108942e00d3b2c940adc","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} -{"source":"class:54c0d1e485f298b4f9827706f928657f","target":"trait:f91851c14912462ae9592cb13a51f3b1","kind":"extends","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Drawable\"}","line":42,"col":86,"provenance":null} +{"source":"class:54c0d1e485f298b4f9827706f928657f","target":"trait:f91851c14912462ae9592cb13a51f3b1","kind":"extends","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Drawable\"}","line":42,"col":86,"provenance":null} {"source":"class:5502ac035e1ca2d56c14e093db0d8cec","target":"constant:918bdd1cc2ff2b2cd79d7560e2a8d3e4","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:5545c7494bbd6c81f0a1d85a3cf99570","target":"class:0939ad4dcc3f8b9686a6f2915ddc27f6","kind":"extends","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"qualified-name\",\"refName\":\"Base\"}","line":73,"col":23,"provenance":null} {"source":"class:5545c7494bbd6c81f0a1d85a3cf99570","target":"class:25244cbdbe3e9bc720df9fc4d54fac0a","kind":"extends","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"qualified-name\",\"refName\":\"app::Config\"}","line":73,"col":42,"provenance":null} @@ -2230,7 +2230,7 @@ {"source":"class:63dc577067a8afeda1988d7d6845f698","target":"method:4a64a3754cd246ad0a17464408bb4625","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:63dc577067a8afeda1988d7d6845f698","target":"method:ec47a62d06708c1f02fc28a967649234","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:65d5c81c60b7d34bc7538930f2e979ac","target":"method:3d1787adb831782b4a90413dd941412b","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} -{"source":"class:65d5c81c60b7d34bc7538930f2e979ac","target":"trait:f91851c14912462ae9592cb13a51f3b1","kind":"extends","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Drawable\"}","line":92,"col":41,"provenance":null} +{"source":"class:65d5c81c60b7d34bc7538930f2e979ac","target":"trait:f91851c14912462ae9592cb13a51f3b1","kind":"extends","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Drawable\"}","line":92,"col":41,"provenance":null} {"source":"class:669ed683926cda236e997600e8333886","target":"field:f42ef23569cac66be69e4d9154772969","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:679670ecd455feab2a3da4e81ddddb92","target":"class:ca530cf4e2520283a176c1937131d988","kind":"extends","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"ProviderT\"}","line":53,"col":24,"provenance":null} {"source":"class:679670ecd455feab2a3da4e81ddddb92","target":"method:7f480d6918f98c10a04c91362d661b3e","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} @@ -2484,7 +2484,7 @@ {"source":"class:c70093f83659a119eaf917e29e426544","target":"field:00576f3dd90e6114937e113163da4652","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:c70093f83659a119eaf917e29e426544","target":"field:14b603226804f3f428d49d2f565924f2","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:c70093f83659a119eaf917e29e426544","target":"field:44640a600955ccc0d98ee903194917f8","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} -{"source":"class:c70093f83659a119eaf917e29e426544","target":"interface:de46be0e109ecba28258bf5ab5ad85c2","kind":"implements","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Shape\"}","line":7,"col":64,"provenance":null} +{"source":"class:c70093f83659a119eaf917e29e426544","target":"interface:de46be0e109ecba28258bf5ab5ad85c2","kind":"implements","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Shape\"}","line":7,"col":64,"provenance":null} {"source":"class:c70093f83659a119eaf917e29e426544","target":"method:2026cf93a3b05afc33179fdef3bd9a2e","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:c70093f83659a119eaf917e29e426544","target":"method:208640df2853621ea9e882dbb7a52d5a","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"class:c70093f83659a119eaf917e29e426544","target":"method:5a848545dc28c551fa3193ddb28d9b17","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} @@ -3929,7 +3929,7 @@ {"source":"function:112bb390a54043c8ee6b3ee94ba6c956","target":"class:508cb01a02b2ec3d871fa137a11a8863","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Holder\"}","line":15,"col":14,"provenance":null} {"source":"function:112bb390a54043c8ee6b3ee94ba6c956","target":"function:1932b46aef9b5a9c946962703eaf2c1c","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"localWithNew\"}","line":18,"col":14,"provenance":null} {"source":"function:112bb390a54043c8ee6b3ee94ba6c956","target":"function:1932b46aef9b5a9c946962703eaf2c1c","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} -{"source":"function:112bb390a54043c8ee6b3ee94ba6c956","target":"function:21ca45d9f9601839f9b8698f898ae7d9","kind":"calls","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"localFn\"}","line":13,"col":9,"provenance":null} +{"source":"function:112bb390a54043c8ee6b3ee94ba6c956","target":"function:21ca45d9f9601839f9b8698f898ae7d9","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"localFn\"}","line":13,"col":9,"provenance":null} {"source":"function:112bb390a54043c8ee6b3ee94ba6c956","target":"function:21ca45d9f9601839f9b8698f898ae7d9","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"function:1710f4f05ce5bdd8e1b2662e40746d82","target":"constant:9330a6b515f190e755baa3a37e0d04ba","kind":"references","metadata":"{\"valueRef\":true}","line":null,"col":null,"provenance":null} {"source":"function:1932b46aef9b5a9c946962703eaf2c1c","target":"class:508cb01a02b2ec3d871fa137a11a8863","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Holder\"}","line":15,"col":14,"provenance":null} @@ -3955,15 +3955,15 @@ {"source":"function:1c731d01deb9c8e7eb2881eaebba9e58","target":"function:9880cd7d8361fedda327ff0eb3eb37df","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"legacyHelper\"}","line":123,"col":11,"provenance":null} {"source":"function:1c731d01deb9c8e7eb2881eaebba9e58","target":"function:f54946f3687d20f9751ad94e97e271d7","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"arrow\"}","line":124,"col":17,"provenance":null} {"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"class:2160a464a79ffdc55d54ec63926e795a","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"WidgetK\",\"refKind\":\"calls\"}","line":183,"col":12,"provenance":null} -{"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"class:58dfebdea413c36d40db63cf5abbf568","kind":"references","metadata":"{\"framework\":\"spring\",\"confidence\":0.7,\"resolvedBy\":\"framework\",\"refName\":\"Registry\"}","line":188,"col":4,"provenance":null} +{"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"class:58dfebdea413c36d40db63cf5abbf568","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Registry\"}","line":188,"col":4,"provenance":null} {"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"class:f9fa34d7af7ef38aa701ed9a4fde753e","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"enum:1cf855fc73c828cc6a9624095f50c676","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Color\"}","line":189,"col":4,"provenance":null} {"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:02ea7e14e3e28772587e5187d6cbde25","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"localFn\"}","line":225,"col":4,"provenance":null} {"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:02ea7e14e3e28772587e5187d6cbde25","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:195bf407247f64b7e9a36cd403bed18e","kind":"calls","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"run\"}","line":205,"col":4,"provenance":null} {"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:1cb7a6623f4a42c3a29a0ebe06f99a20","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} -{"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:88e57afaba7a321e02ac14c23164971f","kind":"calls","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"draw\"}","line":220,"col":16,"provenance":null} -{"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:88e57afaba7a321e02ac14c23164971f","kind":"calls","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"draw\"}","line":223,"col":22,"provenance":null} +{"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:88e57afaba7a321e02ac14c23164971f","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"draw\"}","line":220,"col":16,"provenance":null} +{"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:88e57afaba7a321e02ac14c23164971f","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"draw\"}","line":223,"col":22,"provenance":null} {"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:88e57afaba7a321e02ac14c23164971f","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:a835a780a7ca146cededcd8053765be7","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"`weird name`\"}","line":237,"col":19,"provenance":null} {"source":"function:1e94e74590f4532a219d3a0d6e1645f6","target":"function:c062ca02de706ffe85e7dfb2f9586331","kind":"references","metadata":"{\"confidence\":0.95,\"resolvedBy\":\"function-ref\",\"refName\":\"topLevel\",\"refKind\":\"function_ref\",\"fnRef\":true}","line":209,"col":15,"provenance":null} @@ -4000,7 +4000,7 @@ {"source":"function:26ac3e78238b037efdce6f5fac049878","target":"class:ca1f1b5975a06b517d843fd576230997","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Report\"}","line":122,"col":25,"provenance":null} {"source":"function:26ac3e78238b037efdce6f5fac049878","target":"class:ca1f1b5975a06b517d843fd576230997","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Report\"}","line":124,"col":29,"provenance":null} {"source":"function:2cc9a67de84931c83b539237a3d695b9","target":"class:0ea6b25874f3f2740efdf3fe3093b554","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"FieldDelegator\"}","line":255,"col":84,"provenance":null} -{"source":"function:2f5b0cdb31144b6c7277428960de2a32","target":"function:2dbfb7bd9188675ef862d45c0d8fd93c","kind":"calls","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"local\"}","line":192,"col":7,"provenance":null} +{"source":"function:2f5b0cdb31144b6c7277428960de2a32","target":"function:2dbfb7bd9188675ef862d45c0d8fd93c","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"local\"}","line":192,"col":7,"provenance":null} {"source":"function:2f5b0cdb31144b6c7277428960de2a32","target":"function:2dbfb7bd9188675ef862d45c0d8fd93c","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"function:31667d19df8f0e5cd5dfb03fb205a8d7","target":"function:077abb142cd38f50fd7aeb4958ac54b7","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"register\"}","line":76,"col":10,"provenance":null} {"source":"function:31667d19df8f0e5cd5dfb03fb205a8d7","target":"function:112bb390a54043c8ee6b3ee94ba6c956","kind":"references","metadata":"{\"confidence\":0.95,\"resolvedBy\":\"function-ref\",\"refName\":\"hostFn\",\"refKind\":\"function_ref\",\"fnRef\":true}","line":78,"col":28,"provenance":null} @@ -4108,7 +4108,7 @@ {"source":"function:a1998a5fcada0a95b1aebb30d3f1222c","target":"class:fa355652331eee519e97b9ef15a61b2d","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"WidgetT\"}","line":94,"col":14,"provenance":null} {"source":"function:a1998a5fcada0a95b1aebb30d3f1222c","target":"function:ba9868d0ac07f6aadd40bfb18b1f232e","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"helper\"}","line":67,"col":8,"provenance":null} {"source":"function:a1998a5fcada0a95b1aebb30d3f1222c","target":"function:ba9868d0ac07f6aadd40bfb18b1f232e","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"helper\"}","line":83,"col":10,"provenance":null} -{"source":"function:a1998a5fcada0a95b1aebb30d3f1222c","target":"function:de3e7760a8bf304d54651b74e6589aa3","kind":"calls","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"localFn\"}","line":89,"col":9,"provenance":null} +{"source":"function:a1998a5fcada0a95b1aebb30d3f1222c","target":"function:de3e7760a8bf304d54651b74e6589aa3","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"localFn\"}","line":89,"col":9,"provenance":null} {"source":"function:a1998a5fcada0a95b1aebb30d3f1222c","target":"function:de3e7760a8bf304d54651b74e6589aa3","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"function:a1998a5fcada0a95b1aebb30d3f1222c","target":"method:2ec7b72739446515eb6fa0e9a847d996","kind":"calls","metadata":"{\"confidence\":0.85,\"resolvedBy\":\"qualified-name\",\"refName\":\"WidgetT.named\"}","line":79,"col":15,"provenance":null} {"source":"function:a1998a5fcada0a95b1aebb30d3f1222c","target":"method:8073f837979c32f4ea834666de93ff0e","kind":"calls","metadata":"{\"confidence\":0.85,\"resolvedBy\":\"qualified-name\",\"refName\":\"ConfigT.load\"}","line":70,"col":14,"provenance":null} @@ -4154,7 +4154,7 @@ {"source":"function:c2971e4b1912de92c9c1e02416630c6b","target":"class:185f6260a8d5b738c53be0accb2a4e19","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"qualified-name\",\"refName\":\"Widget\"}","line":59,"col":2,"provenance":null} {"source":"function:c2971e4b1912de92c9c1e02416630c6b","target":"method:7e714128b5b3c81a4e4f571a142197ba","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"qualified-name\",\"refName\":\"Widget::Widget/0\"}","line":59,"col":2,"provenance":null} {"source":"function:ca2a58bf9e2fe349053607e85964f54f","target":"class:fa355652331eee519e97b9ef15a61b2d","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"WidgetT\"}","line":56,"col":34,"provenance":null} -{"source":"function:d06c2607f3378f3f3037272d30c5d24b","target":"function:dd3ddcfaee0976e540855839ddc8e1b0","kind":"calls","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"local\"}","line":174,"col":7,"provenance":null} +{"source":"function:d06c2607f3378f3f3037272d30c5d24b","target":"function:dd3ddcfaee0976e540855839ddc8e1b0","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"local\"}","line":174,"col":7,"provenance":null} {"source":"function:d06c2607f3378f3f3037272d30c5d24b","target":"function:dd3ddcfaee0976e540855839ddc8e1b0","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"function:d1b22ce81e4dcd9f8f6bd5f508ed2535","target":"class:54c0d1e485f298b4f9827706f928657f","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"WidgetS\"}","line":26,"col":15,"provenance":null} {"source":"function:d7da4b402ad97a64a1766fcf09e392e0","target":"constant:84e8ca2c7ea91f1d3a3ed700ab7c9298","kind":"references","metadata":"{\"valueRef\":true}","line":null,"col":null,"provenance":null} @@ -4168,7 +4168,7 @@ {"source":"function:e611a10f53cb2352067120211e7632b2","target":"class:54c0d1e485f298b4f9827706f928657f","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"WidgetS\"}","line":10,"col":22,"provenance":null} {"source":"function:f11355267c15b025e65a025974c2a4d1","target":"constant:4d2266cb0f452fd0233976ec146c28eb","kind":"references","metadata":"{\"valueRef\":true}","line":null,"col":null,"provenance":null} {"source":"function:f11355267c15b025e65a025974c2a4d1","target":"constant:7af11b36e8d4ddbbdc72a75e5d163a1f","kind":"references","metadata":"{\"valueRef\":true}","line":null,"col":null,"provenance":null} -{"source":"function:f42d18d9932ecf98835384d2a581205f","target":"function:e611a10f53cb2352067120211e7632b2","kind":"calls","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"topLevel\"}","line":30,"col":26,"provenance":null} +{"source":"function:f42d18d9932ecf98835384d2a581205f","target":"function:e611a10f53cb2352067120211e7632b2","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"topLevel\"}","line":30,"col":26,"provenance":null} {"source":"function:f54946f3687d20f9751ad94e97e271d7","target":"function:9880cd7d8361fedda327ff0eb3eb37df","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"legacyHelper\"}","line":13,"col":21,"provenance":null} {"source":"function:fa31a4bba4af75d85403a627a9e62897","target":"module:3e98a45ef089de69c402c540a05c492e","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"WidgetS\"}","line":108,"col":17,"provenance":null} {"source":"function:fa31a4bba4af75d85403a627a9e62897","target":"module:3e98a45ef089de69c402c540a05c492e","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"WidgetS\"}","line":108,"col":29,"provenance":null} @@ -4215,7 +4215,7 @@ {"source":"method:1edca63b63663ee826e2349f6d040e1c","target":"method:fc93d61b2caa73e9feea003464e6332d","kind":"calls","metadata":"{\"synthesizedBy\":\"interface-impl\",\"via\":\"render\",\"registeredAt\":\"torture.rs:57\"}","line":42,"col":null,"provenance":"heuristic"} {"source":"method:212bbb3d2db529e2eb6e8fdd590a7e89","target":"method:d85e75675c9c25670ba7f631481482f8","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"render\"}","line":59,"col":27,"provenance":null} {"source":"method:255fc37070ede2ebf60c5b5f53829c63","target":"method:d0c57c6f9abd19cc5263f4b1c36ba5c9","kind":"calls","metadata":"{\"synthesizedBy\":\"interface-impl\",\"via\":\"draw\",\"registeredAt\":\"torture.kt:106\"}","line":114,"col":null,"provenance":"heuristic"} -{"source":"method:2596782eaecc1c154a4fdc2334a968a4","target":"enum:2301fa8d1a0b010b91450d59386b4020","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Http\"}","line":166,"col":13,"provenance":null} +{"source":"method:2596782eaecc1c154a4fdc2334a968a4","target":"enum:2301fa8d1a0b010b91450d59386b4020","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Http\"}","line":166,"col":13,"provenance":null} {"source":"method:2596782eaecc1c154a4fdc2334a968a4","target":"module:bc14df23aa624c6e9abad13ed495709a","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Registry\"}","line":165,"col":13,"provenance":null} {"source":"method:2596782eaecc1c154a4fdc2334a968a4","target":"module:bc14df23aa624c6e9abad13ed495709a","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Registry\"}","line":168,"col":4,"provenance":null} {"source":"method:2596782eaecc1c154a4fdc2334a968a4","target":"module:bc14df23aa624c6e9abad13ed495709a","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Registry\"}","line":169,"col":12,"provenance":null} @@ -4296,7 +4296,7 @@ {"source":"method:62962794279c3c99426ab6031814cfb6","target":"method:df9319e9e35228fc08a4c26bb7cac4dc","kind":"references","metadata":"{\"confidence\":0.95,\"resolvedBy\":\"function-ref\",\"refName\":\"items\",\"refKind\":\"function_ref\",\"fnRef\":true}","line":47,"col":12,"provenance":null} {"source":"method:696a13d993cb735ae83777bf41611e4c","target":"class:35d9285764fa4fb28ea1d16db47145a1","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Pair\"}","line":43,"col":24,"provenance":null} {"source":"method:696a13d993cb735ae83777bf41611e4c","target":"class:afd19409ef5bc781bca7198f0f8f0f88","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} -{"source":"method:696a13d993cb735ae83777bf41611e4c","target":"class:afd19409ef5bc781bca7198f0f8f0f88","kind":"instantiates","metadata":"{\"framework\":\"spring\",\"confidence\":0.7,\"resolvedBy\":\"framework\",\"refName\":\"Local\"}","line":45,"col":18,"provenance":null} +{"source":"method:696a13d993cb735ae83777bf41611e4c","target":"class:afd19409ef5bc781bca7198f0f8f0f88","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Local\"}","line":45,"col":18,"provenance":null} {"source":"method:696a13d993cb735ae83777bf41611e4c","target":"class:c70093f83659a119eaf917e29e426544","kind":"references","metadata":"{\"framework\":\"spring\",\"confidence\":0.7,\"resolvedBy\":\"framework\",\"refName\":\"Point\"}","line":43,"col":15,"provenance":null} {"source":"method:696a13d993cb735ae83777bf41611e4c","target":"constant:f5723290218cacb63dda24a45134f84d","kind":"references","metadata":"{\"valueRef\":true}","line":null,"col":null,"provenance":null} {"source":"method:696a13d993cb735ae83777bf41611e4c","target":"method:1d91cdf995f81588bef6345d2c41cab8","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"instance-method\",\"refName\":\"pr.left\"}","line":47,"col":39,"provenance":null} @@ -4367,7 +4367,7 @@ {"source":"method:a7103764da0854afee05bc7d100478a4","target":"method:8cc04f699d9a44f457ad849e48334cf2","kind":"calls","metadata":"{\"confidence\":0.85,\"resolvedBy\":\"qualified-name\",\"refName\":\"ProviderT.value\"}","line":47,"col":16,"provenance":null} {"source":"method:a7b6861e2ff780d68310f545ca791d3c","target":"module:3e98a45ef089de69c402c540a05c492e","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"WidgetS\"}","line":58,"col":20,"provenance":null} {"source":"method:a83a51eab57270a522b9a2b7133e3e55","target":"constant:f3f2f36c072cdfa3d41c0be651e605ce","kind":"references","metadata":"{\"valueRef\":true}","line":null,"col":null,"provenance":null} -{"source":"method:a83a51eab57270a522b9a2b7133e3e55","target":"module:7b0b21e64c28c40d1a3a9a73109bc603","kind":"references","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Config\"}","line":12,"col":16,"provenance":null} +{"source":"method:a83a51eab57270a522b9a2b7133e3e55","target":"module:7b0b21e64c28c40d1a3a9a73109bc603","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Config\"}","line":12,"col":16,"provenance":null} {"source":"method:a935b33c83e72d78f5aba957dc6b5362","target":"function:ba9868d0ac07f6aadd40bfb18b1f232e","kind":"calls","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"helper\"}","line":55,"col":27,"provenance":null} {"source":"method:ac9d754fee3741f21584a0086c577453","target":"struct:0c309a8ed6f33456724d94ba73599e04","kind":"instantiates","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Widget\"}","line":87,"col":8,"provenance":null} {"source":"method:ac9d754fee3741f21584a0086c577453","target":"struct:0c309a8ed6f33456724d94ba73599e04","kind":"references","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"qualified-name\",\"refName\":\"Self\"}","line":85,"col":28,"provenance":null} @@ -4474,7 +4474,7 @@ {"source":"module:3e98a45ef089de69c402c540a05c492e","target":"method:90c2e7d9608647c254c97e9a9cfea8f0","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"module:3e98a45ef089de69c402c540a05c492e","target":"method:f141417138453a1e069cb41778364534","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"module:50656f4b2dd953684ccf0569354e5f6a","target":"constant:afa8c28eaee270ee74f5cac2a4bac4f9","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} -{"source":"module:62d09c593067cc591a381d4b61d3c7cc","target":"trait:09af11c47861285a512e31fce265f12b","kind":"extends","metadata":"{\"confidence\":0.4,\"resolvedBy\":\"exact-match\",\"refName\":\"Shape\"}","line":87,"col":22,"provenance":null} +{"source":"module:62d09c593067cc591a381d4b61d3c7cc","target":"trait:09af11c47861285a512e31fce265f12b","kind":"extends","metadata":"{\"confidence\":0.9,\"resolvedBy\":\"exact-match\",\"refName\":\"Shape\"}","line":87,"col":22,"provenance":null} {"source":"module:6e9593e56da8abba78b4de05c2093067","target":"method:1dd50f72d18602fd517764d7d7f38d07","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"module:6e9593e56da8abba78b4de05c2093067","target":"method:21bccd402845e4d14582f7b3f06c7f98","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} {"source":"module:6e9593e56da8abba78b4de05c2093067","target":"method:6d9dc963c222f94eab797e7bbd0151d3","kind":"contains","metadata":null,"line":null,"col":null,"provenance":null} diff --git a/__tests__/function-ref-project-imports.test.ts b/__tests__/function-ref-project-imports.test.ts index 866280dea2..7b32d8839e 100644 --- a/__tests__/function-ref-project-imports.test.ts +++ b/__tests__/function-ref-project-imports.test.ts @@ -222,4 +222,19 @@ export function list(present: (fn: unknown) => void): void { cg.close(); } }, 60_000); + + it('leaves a name the module does not export unresolved instead of taking an unexported namesake', async () => { + const cg = await indexProject({ + 'package.json': PACKAGE_JSON, + 'tsconfig.json': TSCONFIG, + 'src/empty.ts': 'export const anchor = 1;\n', + 'src/other.ts': 'function secret() { return 1; }\nexport const keep = secret;\n', + 'src/consumer.ts': "import { secret } from './empty';\nfunction register(cb: () => number) { return cb(); }\nregister(secret);\n", + }); + try { + expect(fnRefsFrom(cg, 'src/consumer.ts')).toEqual([]); + } finally { + cg.close(); + } + }, 60_000); }); diff --git a/__tests__/operator-method-names.test.ts b/__tests__/operator-method-names.test.ts index b4ffae8fe4..d73cbbd148 100644 --- a/__tests__/operator-method-names.test.ts +++ b/__tests__/operator-method-names.test.ts @@ -282,4 +282,26 @@ describe('a method whose name is not a plain word', () => { expect(callsFrom(cg, 'src/Vec.scala', lineOf(scala, 'def twice'))).toEqual([`Vec::++@Vec.scala:${lineOf(scala, 'def ++(n: Int, m: Int)')}`]); expect(callsFrom(cg, 'src/Weird.kt', lineOf(kotlin, 'fun use()'))).toEqual([`Weird::\`reads (a value\`@Weird.kt:${lineOf(kotlin, 'x: Int, y: Int')}`]); }, 120_000); + + it('C++: a comment between the dot and the operator name still reads the arguments', async () => { + const hppText = lines( + 'struct Total {', + ' int value = 0;', + ' Total& operator+=(int n) { value += n; return *this; }', + ' Total& operator+=(const Total& other) { value += other.value; return *this; }', + '};', + ); + const cppText = lines( + '#include "total.hpp"', + 'int addUp() {', + ' Total a;', + ' Total b;', + ' b./* note */operator+=(a);', + ' return b.value;', + '}', + ); + const cg = await index(project({ 'src/total.hpp': hppText, 'src/total.cpp': cppText })); + expect(callsFrom(cg, 'src/total.cpp', lineOf(cppText, 'int addUp()'))) + .toEqual([`Total::operator+=@total.hpp:${lineOf(hppText, 'Total& operator+=(const Total& other)')}`]); + }, 120_000); }); diff --git a/__tests__/python-typed-builtin-method-calls.test.ts b/__tests__/python-typed-builtin-method-calls.test.ts index 8f826a33a0..323b10ed02 100644 --- a/__tests__/python-typed-builtin-method-calls.test.ts +++ b/__tests__/python-typed-builtin-method-calls.test.ts @@ -281,6 +281,29 @@ def make(): reg = {} reg.get("k") +`, + 'future_local.py': `class Store: + def get(self): + return 1 + +def direct(): + result = store.get() + store = Store() + return result +`, + 'branches_two.py': `class A: + def get(self): + return 'A' +class B: + def get(self): + return 'B' + +def choose(flag): + if flag: + store = A() + else: + store = B() + return store.get() `, 'outside_base.py': `from somepkg import BaseStore @@ -420,6 +443,14 @@ describe('Python builtin-named methods through typed locals and parameters (#258 it('links nothing for a method a base from outside the project could hold', () => { expect(callsFrom('outside_base.py', 'use_child')).toEqual([]); }); + + it('links nothing for a local read before its only assignment in the same def', () => { + expect(callsFrom('future_local.py', 'direct')).toEqual([]); + }); + + it('links nothing when branches bind the local to different classes', () => { + expect(callsFrom('branches_two.py', 'choose')).toEqual([]); + }); }); describe('sync after an edit to the file a typed local reads (#2583)', () => { diff --git a/__tests__/ts-export-type-star.test.ts b/__tests__/ts-export-type-star.test.ts index 4c43299bba..69c9e4407d 100644 --- a/__tests__/ts-export-type-star.test.ts +++ b/__tests__/ts-export-type-star.test.ts @@ -159,12 +159,19 @@ describe('a type-only star re-export parses in both engines', () => { } } - it.runIf(kernelAvailable)('keeps a re-export as written in a file the kernel hands to the wasm parser', () => { - // `export const = ;` is an error, so the kernel defers the whole file. + it.runIf(kernelAvailable)('keeps a re-export as written in a file with parse errors', () => { + // `export const = ;` is an error. Upstream's kernel defers such a file to + // the wasm parser; the fork's extracts the recovered native tree and flags + // it not-parsed-clean, so this path asserts the signature survives instead + // of the defer. const source = 'export type * from "./types.js";\nexport const = ;\n'; delete process.env.CODEGRAPH_KERNEL; process.env.CODEGRAPH_KERNEL_LANGS = 'all'; - expect(tryKernelExtract('src/broken.ts', source, 'typescript')).toBeNull(); + const kernelResult = tryKernelExtract('src/broken.ts', source, 'typescript'); + expect(kernelResult).not.toBeNull(); + expect(kernelResult?.nodes.filter((n) => n.kind === 'import').map((n) => n.signature)).toEqual([ + 'export type * from "./types.js";', + ]); const result = extractFromSource('src/broken.ts', source, 'typescript'); expect(result.nodes.filter((n) => n.kind === 'import').map((n) => n.signature)).toEqual([ 'export type * from "./types.js";', diff --git a/__tests__/vue-tsx-script.test.ts b/__tests__/vue-tsx-script.test.ts index d20d1ccae0..c84ab98a22 100644 --- a/__tests__/vue-tsx-script.test.ts +++ b/__tests__/vue-tsx-script.test.ts @@ -19,7 +19,7 @@ import * as fs from 'fs'; import * as os from 'os'; import * as path from 'path'; import CodeGraph from '../src/index'; -import { readGrammarWasmBytes } from '../src/extraction/grammars'; +import { hasTreeSitterGrammar } from '../src/extraction/grammars'; import { syntaxRegionsFor } from '../src/extraction/syntax-tokens'; import type { Node } from '../src/types'; @@ -128,9 +128,15 @@ describe('Vue