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 @@ -512,6 +512,25 @@ module DataFlow {
512512 override ControlFlowNode getWriteNode ( ) { result = prop }
513513 }
514514
515+ /**
516+ * A field induced by an initializing constructor parameter, seen as a property write (TypeScript only).
517+ */
518+ private class ParameterFieldAsPropWrite extends PropWrite , PropNode {
519+ override ParameterField prop ;
520+
521+ override Node getBase ( ) {
522+ result = thisNode ( prop .getDeclaringClass ( ) .getConstructor ( ) .getBody ( ) )
523+ }
524+
525+ override Expr getPropertyNameExpr ( ) { result = prop .getNameExpr ( ) }
526+
527+ override string getPropertyName ( ) { result = prop .getName ( ) }
528+
529+ override Node getRhs ( ) { result = parameterNode ( prop .getParameter ( ) ) }
530+
531+ override ControlFlowNode getWriteNode ( ) { result = prop .getParameter ( ) }
532+ }
533+
515534 /**
516535 * A data flow node that reads an object property.
517536 */
You can’t perform that action at this time.
0 commit comments