File tree Expand file tree Collapse file tree
javascript/ql/src/semmle/javascript/dataflow Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -709,6 +709,12 @@ class ClassNode extends DataFlow::SourceNode {
709709 t .start ( ) and
710710 result = getAReceiverNode ( )
711711 or
712+ t .call ( ) and
713+ exists ( Parameter param |
714+ this = param .getTypeAnnotation ( ) .getClass ( ) and
715+ result = DataFlow:: parameterNode ( param )
716+ )
717+ or
712718 result = getAnInstanceReferenceAux ( t ) and
713719 // Avoid tracking into the receiver of other classes.
714720 // Note that this also blocks flows into a property of the receiver,
Original file line number Diff line number Diff line change @@ -158,6 +158,12 @@ class TypeTracker extends TTypeTracker {
158158 */
159159 predicate start ( ) { hasCall = false and prop = "" }
160160
161+ /**
162+ * Holds if this is the starting point of type tracking
163+ * when tracking a parameter into a call, but not out of it.
164+ */
165+ predicate call ( ) { hasCall = true and prop = "" }
166+
161167 /**
162168 * Holds if this is the end point of type tracking.
163169 */
You can’t perform that action at this time.
0 commit comments