@@ -1800,6 +1800,22 @@ class PathNode extends TPathNode {
1800
1800
) {
1801
1801
nd .hasLocationInfo ( filepath , startline , startcolumn , endline , endcolumn )
1802
1802
}
1803
+
1804
+ /**
1805
+ * Gets a summary for the path node.
1806
+ */
1807
+ PathSummary getPathSummary ( ) {
1808
+ this = MkMidNode ( _, _, result )
1809
+ or
1810
+ this = MkSinkNode ( _, _) and getASuccessor ( MkMidNode ( _, _, result ) ) = this
1811
+ or
1812
+ this = MkSourceNode ( _, _) and getASuccessor ( this ) = MkMidNode ( _, _, result )
1813
+ }
1814
+
1815
+ /**
1816
+ * Gets a flow label for the path node.
1817
+ */
1818
+ FlowLabel getFlowLabel ( ) { result = getPathSummary ( ) .getEndLabel ( ) }
1803
1819
}
1804
1820
1805
1821
/** Gets the mid node corresponding to `src`. */
@@ -1872,9 +1888,6 @@ class MidPathNode extends PathNode, MkMidNode {
1872
1888
1873
1889
MidPathNode ( ) { this = MkMidNode ( nd , cfg , summary ) }
1874
1890
1875
- /** Gets the summary of the path underlying this path node. */
1876
- PathSummary getPathSummary ( ) { result = summary }
1877
-
1878
1891
/** Holds if this path node wraps data-flow node `nd`, configuration `c` and summary `s`. */
1879
1892
predicate wraps ( DataFlow:: Node n , DataFlow:: Configuration c , PathSummary s ) {
1880
1893
nd = n and cfg = c and summary = s
0 commit comments