mirror of
https://github.com/github/codeql.git
synced 2025-12-20 10:46:30 +01:00
Merge pull request #2254 from asger-semmle/for-of-propread
Approved by max-schaefer
This commit is contained in:
@@ -741,7 +741,8 @@ module DataFlow {
|
||||
PropReadAsSourceNode() {
|
||||
this = TPropNode(any(PropertyPattern p)) or
|
||||
this instanceof RestPatternNode or
|
||||
this instanceof ElementPatternNode
|
||||
this instanceof ElementPatternNode or
|
||||
this = lvalueNode(any(ForOfStmt stmt).getLValue())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -826,6 +827,24 @@ module DataFlow {
|
||||
override string getPropertyName() { result = astNode.getImportedName() }
|
||||
}
|
||||
|
||||
/**
|
||||
* The left-hand side of a `for..of` statement, seen as a property read
|
||||
* on the object being iterated over.
|
||||
*/
|
||||
private class ForOfLvalueAsPropRead extends PropRead {
|
||||
ForOfStmt stmt;
|
||||
|
||||
ForOfLvalueAsPropRead() {
|
||||
this = lvalueNode(stmt.getLValue())
|
||||
}
|
||||
|
||||
override Node getBase() { result = stmt.getIterationDomain().flow() }
|
||||
|
||||
override Expr getPropertyNameExpr() { none() }
|
||||
|
||||
override string getPropertyName() { none() }
|
||||
}
|
||||
|
||||
/**
|
||||
* A data flow node representing an unused parameter.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user