File tree Expand file tree Collapse file tree
javascript/ql/test/library-tests/RecursionPrevention Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ | Success |
Original file line number Diff line number Diff line change 1+ /**
2+ * Test that fails to compile if the domain of `SourceNode` depends on `SourceNode.flowsTo` (recursively).
3+ *
4+ * This tests adds a negative dependency `flowsTo --!--> SourceNode`
5+ * so that the undesired edge `SourceNode --> flowsTo` completes a negative cycle.
6+ */
7+ import javascript
8+
9+ class BadSourceNode extends DataFlow:: SourceNode {
10+ BadSourceNode ( ) {
11+ this .( DataFlow:: PropRead ) .getPropertyName ( ) = "foo"
12+ }
13+
14+ override predicate flowsTo ( DataFlow:: Node node ) {
15+ not node instanceof DataFlow:: SourceNode
16+ }
17+ }
18+
19+ select "Success"
Original file line number Diff line number Diff line change 1+ // The contents of this file don't matter
2+ let x = 1 ;
You can’t perform that action at this time.
0 commit comments