Asger F
587ad5c600
JS: Refine criteria so that explicit this-passing is not affected
2025-10-06 11:43:18 +02:00
Asger F
4d33190241
JS: Restrict this-argument passing in API graphs
2025-10-06 11:42:36 +02:00
Asger F
84c788a027
JS: Add API graph test for explicit 'this' passing
2025-10-06 11:40:40 +02:00
Asger F
e1784bb10c
JS: Fix handling of spread args on a bound function
2025-04-01 16:20:57 +02:00
Asger F
1ad471cb32
JS: Track through spread/rest params in API graphs
2025-03-28 09:14:36 +01:00
Asger F
ff99d5c688
JS: Add test for API graph through spread args
2025-03-28 09:13:06 +01:00
Asger F
fe1bdf2468
JS: Update a test
2025-03-14 23:08:20 +01:00
Asger F
08ee51cbc4
JS: Move some promise-related store steps into PromiseFlow::storeStep
...
API graphs calls PromiseFlow::storeStep to propagate promises, which means it missed a store steps added elsewhere in the old promise library model.
We want API graphs to rely on type-tracking steps in general, like in Ruby, but for now just fixing the bug.
2025-03-13 12:53:04 +01:00
Asger F
89410d07b3
JS: Add failing test
2025-03-13 11:59:23 +01:00
Asger F
eab96988bf
JS: Add test for use steps
2024-04-17 14:46:00 +02:00
Asger F
55b9724f59
JS: Add store step into namespace re-export specifier
2024-04-17 14:14:12 +02:00
Asger F
0a7af90454
JS: Add test with ESModule re-exports
2024-04-17 14:14:12 +02:00
Rasmus Wriedt Larsen
c82f5dad56
JS: show test changes after #15823
2024-03-18 13:09:37 +01:00
Rasmus Wriedt Larsen
f9309cec0b
JS: Add tests before #15823 changes
2024-03-18 13:08:39 +01:00
erik-krogh
9b6501787a
add API-graph test for the new tagged template calls
2023-10-06 21:25:34 +02:00
Kasper Svendsen
67950c8e6b
JS: Make implicit this receivers explicit
2023-05-03 15:31:00 +02:00
Asger F
2e3413c9b8
JS: Merge package/type columns
2022-11-23 11:17:42 +01:00
Asger F
b545bbb477
JS: Update NodeOfType test
2022-09-20 11:40:17 +02:00
Asger F
2cbba65617
JS: Sync with JS
...
fixup JS
2022-09-06 09:30:02 +02:00
Asger F
55fdf84d15
Ruby+JS: change LabelEntryPoint.toString()
...
fixup Ruby entry point tests
2022-09-03 13:24:45 +02:00
Asger F
cc42f2f824
Merge pull request #8606 from asgerf/js/api-graph-api
...
JS/Python/Ruby: Document how API graphs should be interpreted
2022-05-30 10:49:14 +02:00
Asger F
631527fe49
JS: Rename Node.{getASource -> asSource, getASink -> asSink}
2022-05-24 11:57:30 +02:00
Asger Feldthaus
76ba78294f
JS: Make API::EntryPoint overrides optional
2022-05-24 11:57:30 +02:00
Asger Feldthaus
ce9c3b3eb5
JS: Also rename predicates on API::EntryPoint
2022-05-24 11:57:30 +02:00
Asger Feldthaus
19a5db9f89
JS: Rename getARhs -> getASink
2022-05-24 11:57:30 +02:00
Asger Feldthaus
4c6192670e
JS: Rename getAnImmediateUse -> getASource
2022-05-24 11:57:30 +02:00
Erik Krogh Kristensen
d58fe8e193
add explicit this
2022-05-24 10:59:13 +02:00
Asger F
0929f5eb49
JS: Update test assertions to new syntax
2022-05-23 13:12:52 +02:00
Asger Feldthaus
33dac5e95f
JS: API graph support for accessors (and classes)
2022-05-23 13:12:52 +02:00
Erik Krogh Kristensen
c5fb19c377
update the JS API-graph labels toString() to print the predicate calls on the API-graphs
2022-03-28 13:19:16 +02:00
Asger Feldthaus
6bef5a70b3
JS: Add dedicated API graph label for receiver, instead of parameter -1
2022-03-23 10:42:51 +01:00
Erik Krogh Kristensen
c13cad7e87
Merge branch 'main' into apiLabel2
2021-11-29 13:43:11 +01:00
Erik Krogh Kristensen
08ce03cd93
Merge branch 'main' into explicit-this
2021-11-24 15:24:58 +01:00
Erik Krogh Kristensen
e9df860431
refactor implementation to make Label implementations private
2021-11-22 12:17:19 +01:00
Erik Krogh Kristensen
089d030bc2
make ApiLabel into a IPA type, and cache the public API of ApiGraphs
2021-11-22 09:03:33 +01:00
Erik Krogh Kristensen
db40ccae81
add explicit this to all member calls
2021-11-01 09:51:15 +01:00
Max Schaefer
bc91f664ac
JavaScript: Teach API graphs to handle some forms of property copying.
...
In particular, copied promises are now handled better.
2021-10-29 11:19:54 +01:00
Asger Feldthaus
2a3bc0f110
JS: Add spread step when bactracking in API graphs
2021-07-02 12:47:54 +02:00
Erik Krogh Kristensen
8b931626ce
add edge from root type MkHasUnderlyingType
2021-03-18 11:04:08 +01:00
CodeQL CI
76e1e4d668
Merge pull request #4712 from asgerf/js/api-graph-tweaks
...
Approved by max-schaefer
2021-01-26 04:04:05 -08:00
Max Schaefer
3853da0969
JavaScript: Teach API-graphs about bound arguments.
2021-01-11 13:53:46 +00:00
Max Schaefer
ecab17a626
JavaScript: Teach API graphs to handle promisify.
...
Following a suggestion by Asger, we track use nodes through calls to `promisify`. When we see a call to a promisified function, we introduce a new synthetic API-graph node representing the callback argument synthesised by the promisification, and track the result of the call to an `await` (or other promise resolution), which is then considered to be a use of the first parameter of the synthetic callback (the zeroth parameter being an error code, which we do not model yet).
2021-01-11 13:53:46 +00:00
Asger Feldthaus
cf12b65c80
JS: Autoformat
2020-11-24 14:32:20 +00:00
Asger Feldthaus
d3412bb0ec
JS: Fix typo in NoSQL model
2020-11-23 21:19:17 +00:00
Asger Feldthaus
b6b8a55b37
JS: Add test case
2020-11-23 16:16:50 +00:00
CodeQL CI
e2b0c60627
Merge pull request #4449 from max-schaefer/js/api-graphs-type-handling-improvements
...
Approved by erik-krogh
2020-10-12 11:41:21 -07:00
CodeQL CI
8eb84b2599
Merge pull request #4391 from max-schaefer/js/api-graph-reexport
...
Approved by asgerf
2020-10-12 05:26:53 -07:00
Max Schaefer
4bf6f6ac7c
JavaScript: Add a negative test for API graphs.
...
The test ensures that flow summarization won't label property `f` of the first parameter of `assertNotNull` as a sink, which would be very imprecise.
2020-10-08 19:53:23 +01:00
Max Schaefer
98ab38a630
JavaScript: Add yet another API-graph test with re-exports.
2020-10-06 15:32:21 +01:00
Max Schaefer
1d8051eee0
JavaScript: Further improve handling of re-exports in API graphs.
2020-10-06 14:22:55 +01:00