diff --git a/powershell/ql/test/library-tests/ast/Expressions/MemberExpression.ps1 b/powershell/ql/test/library-tests/ast/Expressions/MemberExpression.ps1 new file mode 100644 index 00000000000..01c6623c620 --- /dev/null +++ b/powershell/ql/test/library-tests/ast/Expressions/MemberExpression.ps1 @@ -0,0 +1,2 @@ +param($x) +[DateTime]::$x \ No newline at end of file diff --git a/powershell/ql/test/library-tests/ast/Expressions/expressions.expected b/powershell/ql/test/library-tests/ast/Expressions/expressions.expected index 7deaa7795dd..115b87064a2 100644 --- a/powershell/ql/test/library-tests/ast/Expressions/expressions.expected +++ b/powershell/ql/test/library-tests/ast/Expressions/expressions.expected @@ -5,6 +5,7 @@ cmdExpr | BinaryExpression.ps1:4:1:4:7 | [Stmt] result | BinaryExpression.ps1:4:1:4:7 | result | | ExpandableString.ps1:1:1:1:39 | [Stmt] Date: $([DateTime]::Now)\nName: $name | ExpandableString.ps1:1:1:1:39 | Date: $([DateTime]::Now)\nName: $name | | ExpandableString.ps1:1:23:1:37 | [Stmt] Now | ExpandableString.ps1:1:23:1:37 | Now | +| MemberExpression.ps1:2:1:2:14 | (no string representation) | MemberExpression.ps1:2:1:2:14 | (no string representation) | | SubExpression.ps1:1:1:1:23 | [Stmt] Call to AddDays | SubExpression.ps1:1:1:1:23 | Call to AddDays | | SubExpression.ps1:1:3:1:10 | [Stmt] Call to Get-Date | SubExpression.ps1:1:3:1:10 | Call to Get-Date | | SubExpression.ps1:2:1:2:21 | [Stmt] Call to AddDays | SubExpression.ps1:2:1:2:21 | Call to AddDays | @@ -13,3 +14,6 @@ invokeMemoryExpression | SubExpression.ps1:1:1:1:23 | Call to AddDays | SubExpression.ps1:1:1:1:11 | $(...) | 0 | SubExpression.ps1:1:21:1:22 | 10 | expandableString | ExpandableString.ps1:1:1:1:39 | Date: $([DateTime]::Now)\nName: $name | 1 | ExpandableString.ps1:1:21:1:38 | $(...) | +memberExpr +| ExpandableString.ps1:1:23:1:37 | Now | ExpandableString.ps1:1:23:1:32 | DateTime | +| MemberExpression.ps1:2:1:2:14 | (no string representation) | MemberExpression.ps1:2:1:2:10 | DateTime | diff --git a/powershell/ql/test/library-tests/ast/Expressions/expressions.ql b/powershell/ql/test/library-tests/ast/Expressions/expressions.ql index 2583cdef4b8..3cd2e9c91a0 100644 --- a/powershell/ql/test/library-tests/ast/Expressions/expressions.ql +++ b/powershell/ql/test/library-tests/ast/Expressions/expressions.ql @@ -1,19 +1,19 @@ import powershell query predicate binaryExpr(BinaryExpr e, Expr e1, Expr e2) { - e1 = e.getLeft() and - e2 = e.getRight() + e1 = e.getLeft() and + e2 = e.getRight() } -query predicate cmdExpr(ExprStmt exprStmt, Expr e) { - e = exprStmt.getExpr() -} +query predicate cmdExpr(ExprStmt exprStmt, Expr e) { e = exprStmt.getExpr() } query predicate invokeMemoryExpression(InvokeMemberExpr invoke, Expr e, int i, Expr arg) { - e = invoke.getQualifier() and - arg = invoke.getArgument(i) + e = invoke.getQualifier() and + arg = invoke.getArgument(i) } query predicate expandableString(ExpandableStringExpr expandable, int i, Expr e) { - e = expandable.getExpr(i) + e = expandable.getExpr(i) } + +query predicate memberExpr(MemberExpr expr, Expr e) { e = expr.getQualifier() }