Skip to content

Commit cdc640b

Browse files
committed
Revert "Ruby: Allow custom edges in API graph EntryPoints"
This reverts commit ab061fb.
1 parent d5ef853 commit cdc640b

File tree

1 file changed

+0
-41
lines changed

1 file changed

+0
-41
lines changed

ruby/ql/lib/codeql/ruby/ApiGraphs.qll

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -378,10 +378,6 @@ module API {
378378
*
379379
* Anything in the global scope is considered to be an entry point, but
380380
* additional entry points may be added by extending this class.
381-
*
382-
* By default, instances of this class will have a single edge from the root
383-
* of the API graph. If you wish to construct more complex paths to an entry
384-
* point, override the `edge` predicate.
385381
*/
386382
abstract class EntryPoint extends string {
387383
bindingset[this]
@@ -404,41 +400,6 @@ module API {
404400

405401
/** Gets an API-node for this entry point. */
406402
API::Node getANode() { result = root().getASuccessor(Label::entryPoint(this)) }
407-
408-
/**
409-
* Holds if there is an edge from `pred` to this entry point, with label
410-
* `lbl`. Override this predicate to define new paths to this entry point.
411-
*
412-
* For example, to define an entry point for `ActiveStorage::Attachment` we
413-
* can use an intermediate entry point for `ActiveStorage`:
414-
*
415-
* ```ql
416-
* class ActiveStorage extends EntryPoint {
417-
* ActiveStorage() { this = "ActiveStorage" }
418-
*
419-
* override predicate edge(Node pred, Label::ApiLabel lbl) {
420-
* pred = root() and lbl = Label::member("ActiveStorage")
421-
* }
422-
* }
423-
*
424-
* class Attachment extends EntryPoint {
425-
* Attachment() { this = "ActiveStorage::Attachment" }
426-
*
427-
* override predicate edge(Node pred, Label::ApiLabel lbl) {
428-
* pred = getTopLevelMember("ActiveStorage") and
429-
* lbl = Label::member("Attachment")
430-
* }
431-
*
432-
* override DataFlow::LocalSourceNode getAUse() { result = customAttachmentPredicate() }
433-
* }
434-
* ```
435-
*
436-
* This means that
437-
* `getTopLevelMember("ActiveStorage").getMember("Attachment")` will return
438-
* results from `customAttachmentPredicate()`, even if there are no
439-
* references to `ActiveStorage` or `Attachment` in the codebase.
440-
*/
441-
predicate edge(API::Node pred, Label::ApiLabel lbl) { none() }
442403
}
443404

444405
// Ensure all entry points are imported from ApiGraphs.qll
@@ -757,8 +718,6 @@ module API {
757718
exists(EntryPoint entry |
758719
pred = root() and
759720
lbl = Label::entryPoint(entry)
760-
or
761-
entry.edge(pred, lbl)
762721
|
763722
succ = MkDef(entry.getASink())
764723
or

0 commit comments

Comments
 (0)