Skip to content

Commit 1f558a0

Browse files
committed
PS: Add CFG classes for array literals.
1 parent 28b654d commit 1f558a0

File tree

1 file changed

+14
-0
lines changed
  • powershell/ql/lib/semmle/code/powershell/controlflow

1 file changed

+14
-0
lines changed

powershell/ql/lib/semmle/code/powershell/controlflow/CfgNodes.qll

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,20 @@ module ExprNodes {
334334
MemberCfgReadAccessNode() { this.getExpr() instanceof MemberExprReadAccess }
335335
}
336336

337+
class ArrayLiteralChildMapping extends ExprChildMapping, ArrayLiteral {
338+
override predicate relevantChild(Ast n) { n = this.getAnElement() }
339+
}
340+
341+
class ArrayLiteralCfgNode extends ExprCfgNode {
342+
override string getAPrimaryQlClass() { result = "ArrayLiteralCfgNode" }
343+
344+
override ArrayLiteralChildMapping e;
345+
346+
ExprCfgNode getElement(int i) { e.hasCfgChild(e.getElement(i), this, result) }
347+
348+
ExprCfgNode getAnElement() { e.hasCfgChild(e.getAnElement(), this, result) }
349+
}
350+
337351
class IndexChildMapping extends ExprChildMapping, IndexExpr {
338352
override predicate relevantChild(Ast n) { n = this.getBase() or n = this.getIndex() }
339353
}

0 commit comments

Comments
 (0)