@@ -125,16 +125,21 @@ module SqlExecuteConfig implements DataFlow::ConfigSig {
125
125
/** Tracks flow from SQL queries that update a database to the argument of an execute method call. */
126
126
module SqlExecuteFlow = TaintTracking:: Global< SqlExecuteConfig > ;
127
127
128
+ /** Provides classes and predicates representing call paths. */
128
129
module CallGraph {
129
- newtype TCallPathNode =
130
+ private newtype TCallPathNode =
130
131
TMethod ( Method m ) or
131
132
TCall ( Call c )
132
133
134
+ /** A node in a call path graph */
133
135
class CallPathNode extends TCallPathNode {
136
+ /** Gets the method corresponding to this `CallPathNode`, if any. */
134
137
Method asMethod ( ) { this = TMethod ( result ) }
135
138
139
+ /** Gets the call corresponding to this `CallPathNode`, if any. */
136
140
Call asCall ( ) { this = TCall ( result ) }
137
141
142
+ /** Gets the string representation of this `CallPathNode`. */
138
143
string toString ( ) {
139
144
result = this .asMethod ( ) .toString ( )
140
145
or
@@ -145,6 +150,7 @@ module CallGraph {
145
150
[ viableCallable ( this .asCall ( ) ) , this .asCall ( ) .getCallee ( ) ] = result .asMethod ( )
146
151
}
147
152
153
+ /** Gets a successor node of this `CallPathNode`, if any. */
148
154
CallPathNode getASuccessor ( ) {
149
155
this .asMethod ( ) = result .asCall ( ) .getEnclosingCallable ( )
150
156
or
@@ -159,6 +165,7 @@ module CallGraph {
159
165
)
160
166
}
161
167
168
+ /** Gets the location of this `CallPathNode`. */
162
169
Location getLocation ( ) {
163
170
result = this .asMethod ( ) .getLocation ( )
164
171
or
0 commit comments