diff --git a/powershell/ql/lib/semmle/code/powershell/ThrowStmt.qll b/powershell/ql/lib/semmle/code/powershell/ThrowStmt.qll index 6476bc590df..af8ccaab5f5 100644 --- a/powershell/ql/lib/semmle/code/powershell/ThrowStmt.qll +++ b/powershell/ql/lib/semmle/code/powershell/ThrowStmt.qll @@ -7,7 +7,7 @@ class ThrowStmt extends @throw_statement, Stmt { if this.hasPipeline() then result = "throw ..." else result = "throw" } - Pipeline getPipeline() { throw_statement_pipeline(this, result) } + PipelineBase getPipeline() { throw_statement_pipeline(this, result) } predicate hasPipeline() { exists(this.getPipeline()) } } diff --git a/powershell/ql/test/library-tests/ast/Statements/statements.expected b/powershell/ql/test/library-tests/ast/Statements/statements.expected index 4d45d2a7c74..4741ebf3dba 100644 --- a/powershell/ql/test/library-tests/ast/Statements/statements.expected +++ b/powershell/ql/test/library-tests/ast/Statements/statements.expected @@ -1,38 +1,24 @@ | ExitStatement.ps1:1:1:1:8 | exit ... | | ExitStatement.ps1:1:6:1:8 | -1 | -| ExitStatement.ps1:1:6:1:8 | -1 | | IfStatement.ps1:1:1:1:7 | ...=... | | IfStatement.ps1:1:6:1:7 | 4 | | IfStatement.ps1:3:1:8:2 | if (...) {...} else {...} | | IfStatement.ps1:3:5:3:13 | ... -ge ... | -| IfStatement.ps1:3:5:3:13 | ... -ge ... | | IfStatement.ps1:4:2:4:36 | $x is greater than or equal to 3 | -| IfStatement.ps1:4:2:4:36 | $x is greater than or equal to 3 | -| IfStatement.ps1:7:2:7:21 | $x is less than 3 | | IfStatement.ps1:7:2:7:21 | $x is less than 3 | | TrapStatement.ps1:1:1:4:2 | TrapTest | | TrapStatement.ps1:2:5:2:26 | TrapStatement at: TrapStatement.ps1:2:5:2:26 | | TrapStatement.ps1:2:11:2:25 | Error found. | -| TrapStatement.ps1:2:11:2:25 | Error found. | | TrapStatement.ps1:3:5:3:19 | nonsenseString | -| TrapStatement.ps1:3:5:3:19 | nonsenseString | -| TrapStatement.ps1:6:1:6:9 | TrapTest | | TrapStatement.ps1:6:1:6:9 | TrapTest | | Try.ps1:1:1:13:2 | try {...} | | Try.ps1:2:4:2:95 | ...=... | | Try.ps1:2:17:2:95 | New-Object | -| Try.ps1:2:17:2:95 | New-Object | -| Try.ps1:2:69:2:94 | ...,... | | Try.ps1:2:69:2:94 | ...,... | | Try.ps1:3:5:3:21 | throw ... | | Try.ps1:3:11:3:21 | Exception | -| Try.ps1:3:11:3:21 | Exception | -| Try.ps1:6:5:6:64 | Unable to download MyDoc.doc from http://www.contoso.com. | | Try.ps1:6:5:6:64 | Unable to download MyDoc.doc from http://www.contoso.com. | | Try.ps1:9:5:9:52 | An error occurred that could not be resolved. | -| Try.ps1:9:5:9:52 | An error occurred that could not be resolved. | -| Try.ps1:12:5:12:37 | The finally block is executed. | | Try.ps1:12:5:12:37 | The finally block is executed. | | UseProcessBlockForPipelineCommand.ps1:1:1:11:2 | Get-Number | | UseProcessBlockForPipelineCommand.ps1:10:5:10:12 | Number | -| UseProcessBlockForPipelineCommand.ps1:10:5:10:12 | Number | diff --git a/powershell/ql/test/library-tests/ast/parent.expected b/powershell/ql/test/library-tests/ast/parent.expected index 2f6fe10b1e4..ae2ede2c654 100644 --- a/powershell/ql/test/library-tests/ast/parent.expected +++ b/powershell/ql/test/library-tests/ast/parent.expected @@ -26,7 +26,6 @@ | Arrays/Arrays.ps1:5:1:5:37 | ...=... | Arrays/Arrays.ps1:1:1:15:15 | {...} | | Arrays/Arrays.ps1:5:11:5:21 | New-Object | Arrays/Arrays.ps1:5:11:5:37 | New-Object | | Arrays/Arrays.ps1:5:11:5:37 | New-Object | Arrays/Arrays.ps1:5:1:5:37 | ...=... | -| Arrays/Arrays.ps1:5:11:5:37 | New-Object | Arrays/Arrays.ps1:5:11:5:37 | New-Object | | Arrays/Arrays.ps1:5:22:5:33 | object[,] | Arrays/Arrays.ps1:5:11:5:37 | New-Object | | Arrays/Arrays.ps1:5:34:5:35 | 2 | Arrays/Arrays.ps1:5:34:5:37 | ...,... | | Arrays/Arrays.ps1:5:34:5:37 | ...,... | Arrays/Arrays.ps1:5:11:5:37 | New-Object | @@ -69,7 +68,6 @@ | Arrays/Arrays.ps1:11:11:11:25 | @(...) | Arrays/Arrays.ps1:11:11:11:25 | @(...) | | Arrays/Arrays.ps1:11:13:11:16 | a | Arrays/Arrays.ps1:11:13:11:24 | ...,... | | Arrays/Arrays.ps1:11:13:11:24 | ...,... | Arrays/Arrays.ps1:11:13:11:24 | ...,... | -| Arrays/Arrays.ps1:11:13:11:24 | ...,... | Arrays/Arrays.ps1:11:13:11:24 | ...,... | | Arrays/Arrays.ps1:11:13:11:24 | ...,... | Arrays/Arrays.ps1:11:13:11:24 | {...} | | Arrays/Arrays.ps1:11:13:11:24 | {...} | Arrays/Arrays.ps1:11:11:11:25 | @(...) | | Arrays/Arrays.ps1:11:17:11:20 | b | Arrays/Arrays.ps1:11:13:11:24 | ...,... | @@ -77,7 +75,6 @@ | Arrays/Arrays.ps1:12:1:12:8 | array3 | Arrays/Arrays.ps1:12:1:12:14 | count | | Arrays/Arrays.ps1:12:1:12:14 | count | Arrays/Arrays.ps1:1:1:15:15 | {...} | | Arrays/Arrays.ps1:12:1:12:14 | count | Arrays/Arrays.ps1:12:1:12:14 | count | -| Arrays/Arrays.ps1:12:1:12:14 | count | Arrays/Arrays.ps1:12:1:12:14 | count | | Arrays/Arrays.ps1:12:9:12:14 | count | Arrays/Arrays.ps1:12:1:12:14 | count | | Arrays/Arrays.ps1:14:1:14:8 | array4 | Arrays/Arrays.ps1:14:1:14:44 | ...=... | | Arrays/Arrays.ps1:14:1:14:44 | ...=... | Arrays/Arrays.ps1:1:1:15:15 | {...} | @@ -88,7 +85,6 @@ | Arrays/Arrays.ps1:15:1:15:8 | array4 | Arrays/Arrays.ps1:15:1:15:15 | call to Add | | Arrays/Arrays.ps1:15:1:15:15 | call to Add | Arrays/Arrays.ps1:1:1:15:15 | {...} | | Arrays/Arrays.ps1:15:1:15:15 | call to Add | Arrays/Arrays.ps1:15:1:15:15 | call to Add | -| Arrays/Arrays.ps1:15:1:15:15 | call to Add | Arrays/Arrays.ps1:15:1:15:15 | call to Add | | Arrays/Arrays.ps1:15:9:15:12 | Add | Arrays/Arrays.ps1:15:1:15:15 | call to Add | | Arrays/Arrays.ps1:15:13:15:14 | 1 | Arrays/Arrays.ps1:15:1:15:15 | call to Add | | Blocks/ParamBlock.ps1:1:1:1:18 | CmdletBinding | Blocks/ParamBlock.ps1:2:1:5:2 | param(...) | @@ -104,25 +100,20 @@ | Dynamic/DynamicExecution.ps1:1:8:1:17 | cmd.exe | Dynamic/DynamicExecution.ps1:1:8:1:17 | cmd.exe | | Dynamic/DynamicExecution.ps1:2:1:2:18 | Invoke-Expression | Dynamic/DynamicExecution.ps1:2:1:2:23 | Invoke-Expression | | Dynamic/DynamicExecution.ps1:2:1:2:23 | Invoke-Expression | Dynamic/DynamicExecution.ps1:1:1:5:8 | {...} | -| Dynamic/DynamicExecution.ps1:2:1:2:23 | Invoke-Expression | Dynamic/DynamicExecution.ps1:2:1:2:23 | Invoke-Expression | | Dynamic/DynamicExecution.ps1:2:19:2:23 | foo | Dynamic/DynamicExecution.ps1:2:1:2:23 | Invoke-Expression | | Dynamic/DynamicExecution.ps1:3:1:3:14 | scriptblock | Dynamic/DynamicExecution.ps1:3:1:3:28 | call to Create | | Dynamic/DynamicExecution.ps1:3:1:3:28 | call to Create | Dynamic/DynamicExecution.ps1:1:1:5:8 | {...} | | Dynamic/DynamicExecution.ps1:3:1:3:28 | call to Create | Dynamic/DynamicExecution.ps1:3:1:3:28 | call to Create | -| Dynamic/DynamicExecution.ps1:3:1:3:28 | call to Create | Dynamic/DynamicExecution.ps1:3:1:3:28 | call to Create | | Dynamic/DynamicExecution.ps1:3:16:3:22 | Create | Dynamic/DynamicExecution.ps1:3:1:3:28 | call to Create | | Dynamic/DynamicExecution.ps1:3:23:3:27 | foo | Dynamic/DynamicExecution.ps1:3:1:3:28 | call to Create | | Dynamic/DynamicExecution.ps1:4:1:4:32 | | Dynamic/DynamicExecution.ps1:1:1:5:8 | {...} | -| Dynamic/DynamicExecution.ps1:4:1:4:32 | | Dynamic/DynamicExecution.ps1:4:1:4:32 | | | Dynamic/DynamicExecution.ps1:4:3:4:32 | (...) | Dynamic/DynamicExecution.ps1:4:1:4:32 | | | Dynamic/DynamicExecution.ps1:4:4:4:17 | scriptblock | Dynamic/DynamicExecution.ps1:4:4:4:31 | call to Create | | Dynamic/DynamicExecution.ps1:4:4:4:31 | call to Create | Dynamic/DynamicExecution.ps1:4:3:4:32 | (...) | | Dynamic/DynamicExecution.ps1:4:4:4:31 | call to Create | Dynamic/DynamicExecution.ps1:4:4:4:31 | call to Create | -| Dynamic/DynamicExecution.ps1:4:4:4:31 | call to Create | Dynamic/DynamicExecution.ps1:4:4:4:31 | call to Create | | Dynamic/DynamicExecution.ps1:4:19:4:25 | Create | Dynamic/DynamicExecution.ps1:4:4:4:31 | call to Create | | Dynamic/DynamicExecution.ps1:4:26:4:30 | foo | Dynamic/DynamicExecution.ps1:4:4:4:31 | call to Create | | Dynamic/DynamicExecution.ps1:5:1:5:8 | | Dynamic/DynamicExecution.ps1:1:1:5:8 | {...} | -| Dynamic/DynamicExecution.ps1:5:1:5:8 | | Dynamic/DynamicExecution.ps1:5:1:5:8 | | | Dynamic/DynamicExecution.ps1:5:2:5:8 | $foo | Dynamic/DynamicExecution.ps1:5:1:5:8 | | | Dynamic/DynamicExecution.ps1:5:3:5:7 | foo | Dynamic/DynamicExecution.ps1:5:2:5:8 | $foo | | Dynamic/DynamicExecutionWithFunc.ps1:1:1:11:2 | ExecuteAThing | Dynamic/DynamicExecutionWithFunc.ps1:1:1:11:2 | {...} | @@ -139,33 +130,26 @@ | Dynamic/DynamicExecutionWithFunc.ps1:5:24:5:34 | userInput | Dynamic/DynamicExecutionWithFunc.ps1:5:12:5:34 | ...+... | | Dynamic/DynamicExecutionWithFunc.ps1:6:5:6:22 | Invoke-Expression | Dynamic/DynamicExecutionWithFunc.ps1:6:5:6:27 | Invoke-Expression | | Dynamic/DynamicExecutionWithFunc.ps1:6:5:6:27 | Invoke-Expression | Dynamic/DynamicExecutionWithFunc.ps1:2:5:10:30 | {...} | -| Dynamic/DynamicExecutionWithFunc.ps1:6:5:6:27 | Invoke-Expression | Dynamic/DynamicExecutionWithFunc.ps1:6:5:6:27 | Invoke-Expression | | Dynamic/DynamicExecutionWithFunc.ps1:6:23:6:27 | foo | Dynamic/DynamicExecutionWithFunc.ps1:6:5:6:27 | Invoke-Expression | | Dynamic/DynamicExecutionWithFunc.ps1:7:5:7:18 | scriptblock | Dynamic/DynamicExecutionWithFunc.ps1:7:5:7:32 | call to Create | | Dynamic/DynamicExecutionWithFunc.ps1:7:5:7:32 | call to Create | Dynamic/DynamicExecutionWithFunc.ps1:2:5:10:30 | {...} | | Dynamic/DynamicExecutionWithFunc.ps1:7:5:7:32 | call to Create | Dynamic/DynamicExecutionWithFunc.ps1:7:5:7:32 | call to Create | -| Dynamic/DynamicExecutionWithFunc.ps1:7:5:7:32 | call to Create | Dynamic/DynamicExecutionWithFunc.ps1:7:5:7:32 | call to Create | | Dynamic/DynamicExecutionWithFunc.ps1:7:20:7:26 | Create | Dynamic/DynamicExecutionWithFunc.ps1:7:5:7:32 | call to Create | | Dynamic/DynamicExecutionWithFunc.ps1:7:27:7:31 | foo | Dynamic/DynamicExecutionWithFunc.ps1:7:5:7:32 | call to Create | | Dynamic/DynamicExecutionWithFunc.ps1:8:5:8:36 | | Dynamic/DynamicExecutionWithFunc.ps1:2:5:10:30 | {...} | -| Dynamic/DynamicExecutionWithFunc.ps1:8:5:8:36 | | Dynamic/DynamicExecutionWithFunc.ps1:8:5:8:36 | | | Dynamic/DynamicExecutionWithFunc.ps1:8:7:8:36 | (...) | Dynamic/DynamicExecutionWithFunc.ps1:8:5:8:36 | | | Dynamic/DynamicExecutionWithFunc.ps1:8:8:8:21 | scriptblock | Dynamic/DynamicExecutionWithFunc.ps1:8:8:8:35 | call to Create | | Dynamic/DynamicExecutionWithFunc.ps1:8:8:8:35 | call to Create | Dynamic/DynamicExecutionWithFunc.ps1:8:7:8:36 | (...) | | Dynamic/DynamicExecutionWithFunc.ps1:8:8:8:35 | call to Create | Dynamic/DynamicExecutionWithFunc.ps1:8:8:8:35 | call to Create | -| Dynamic/DynamicExecutionWithFunc.ps1:8:8:8:35 | call to Create | Dynamic/DynamicExecutionWithFunc.ps1:8:8:8:35 | call to Create | | Dynamic/DynamicExecutionWithFunc.ps1:8:23:8:29 | Create | Dynamic/DynamicExecutionWithFunc.ps1:8:8:8:35 | call to Create | | Dynamic/DynamicExecutionWithFunc.ps1:8:30:8:34 | foo | Dynamic/DynamicExecutionWithFunc.ps1:8:8:8:35 | call to Create | | Dynamic/DynamicExecutionWithFunc.ps1:9:5:9:12 | | Dynamic/DynamicExecutionWithFunc.ps1:2:5:10:30 | {...} | -| Dynamic/DynamicExecutionWithFunc.ps1:9:5:9:12 | | Dynamic/DynamicExecutionWithFunc.ps1:9:5:9:12 | | | Dynamic/DynamicExecutionWithFunc.ps1:9:6:9:12 | $foo | Dynamic/DynamicExecutionWithFunc.ps1:9:5:9:12 | | | Dynamic/DynamicExecutionWithFunc.ps1:9:7:9:11 | foo | Dynamic/DynamicExecutionWithFunc.ps1:9:6:9:12 | $foo | | Dynamic/DynamicExecutionWithFunc.ps1:10:5:10:30 | cmd.exe | Dynamic/DynamicExecutionWithFunc.ps1:2:5:10:30 | {...} | -| Dynamic/DynamicExecutionWithFunc.ps1:10:5:10:30 | cmd.exe | Dynamic/DynamicExecutionWithFunc.ps1:10:5:10:30 | cmd.exe | | Dynamic/DynamicExecutionWithFunc.ps1:10:7:10:16 | cmd.exe | Dynamic/DynamicExecutionWithFunc.ps1:10:5:10:30 | cmd.exe | | Dynamic/DynamicExecutionWithFunc.ps1:10:17:10:30 | @(...) | Dynamic/DynamicExecutionWithFunc.ps1:10:5:10:30 | cmd.exe | | Dynamic/DynamicExecutionWithFunc.ps1:10:19:10:29 | userInput | Dynamic/DynamicExecutionWithFunc.ps1:10:19:10:29 | userInput | -| Dynamic/DynamicExecutionWithFunc.ps1:10:19:10:29 | userInput | Dynamic/DynamicExecutionWithFunc.ps1:10:19:10:29 | userInput | | Dynamic/DynamicExecutionWithFunc.ps1:10:19:10:29 | userInput | Dynamic/DynamicExecutionWithFunc.ps1:10:19:10:29 | {...} | | Dynamic/DynamicExecutionWithFunc.ps1:10:19:10:29 | {...} | Dynamic/DynamicExecutionWithFunc.ps1:10:17:10:30 | @(...) | | Expressions/BinaryExpression.ps1:1:1:1:6 | val1 | Expressions/BinaryExpression.ps1:1:1:1:10 | ...=... | @@ -185,42 +169,35 @@ | Expressions/BinaryExpression.ps1:3:19:3:24 | val2 | Expressions/BinaryExpression.ps1:3:11:3:24 | ...+... | | Expressions/BinaryExpression.ps1:4:1:4:8 | result | Expressions/BinaryExpression.ps1:1:1:4:8 | {...} | | Expressions/BinaryExpression.ps1:4:1:4:8 | result | Expressions/BinaryExpression.ps1:4:1:4:8 | result | -| Expressions/BinaryExpression.ps1:4:1:4:8 | result | Expressions/BinaryExpression.ps1:4:1:4:8 | result | | Expressions/ConvertWithSecureString.ps1:1:1:1:11 | UserInput | Expressions/ConvertWithSecureString.ps1:1:1:1:55 | ...=... | | Expressions/ConvertWithSecureString.ps1:1:1:1:55 | ...=... | Expressions/ConvertWithSecureString.ps1:1:1:2:80 | {...} | | Expressions/ConvertWithSecureString.ps1:1:1:2:80 | {...} | Expressions/ConvertWithSecureString.ps1:1:1:2:80 | ConvertWithSecureString.ps1 | | Expressions/ConvertWithSecureString.ps1:1:14:1:23 | Read-Host | Expressions/ConvertWithSecureString.ps1:1:14:1:55 | Read-Host | | Expressions/ConvertWithSecureString.ps1:1:14:1:55 | Read-Host | Expressions/ConvertWithSecureString.ps1:1:1:1:55 | ...=... | -| Expressions/ConvertWithSecureString.ps1:1:14:1:55 | Read-Host | Expressions/ConvertWithSecureString.ps1:1:14:1:55 | Read-Host | | Expressions/ConvertWithSecureString.ps1:1:24:1:55 | Please enter your secure code | Expressions/ConvertWithSecureString.ps1:1:14:1:55 | Read-Host | | Expressions/ConvertWithSecureString.ps1:2:1:2:16 | EncryptedInput | Expressions/ConvertWithSecureString.ps1:2:1:2:80 | ...=... | | Expressions/ConvertWithSecureString.ps1:2:1:2:80 | ...=... | Expressions/ConvertWithSecureString.ps1:1:1:2:80 | {...} | | Expressions/ConvertWithSecureString.ps1:2:19:2:41 | ConvertTo-SecureString | Expressions/ConvertWithSecureString.ps1:2:19:2:80 | ConvertTo-SecureString | | Expressions/ConvertWithSecureString.ps1:2:19:2:80 | ConvertTo-SecureString | Expressions/ConvertWithSecureString.ps1:2:1:2:80 | ...=... | -| Expressions/ConvertWithSecureString.ps1:2:19:2:80 | ConvertTo-SecureString | Expressions/ConvertWithSecureString.ps1:2:19:2:80 | ConvertTo-SecureString | | Expressions/ConvertWithSecureString.ps1:2:42:2:49 | String | Expressions/ConvertWithSecureString.ps1:2:19:2:80 | ConvertTo-SecureString | | Expressions/ConvertWithSecureString.ps1:2:50:2:60 | UserInput | Expressions/ConvertWithSecureString.ps1:2:19:2:80 | ConvertTo-SecureString | | Expressions/ConvertWithSecureString.ps1:2:61:2:73 | AsPlainText | Expressions/ConvertWithSecureString.ps1:2:19:2:80 | ConvertTo-SecureString | | Expressions/ConvertWithSecureString.ps1:2:74:2:80 | Force | Expressions/ConvertWithSecureString.ps1:2:19:2:80 | ConvertTo-SecureString | | Expressions/ExpandableString.ps1:1:1:1:40 | Date: $([DateTime]::Now)\nName: $name | Expressions/ExpandableString.ps1:1:1:1:40 | Date: $([DateTime]::Now)\nName: $name | -| Expressions/ExpandableString.ps1:1:1:1:40 | Date: $([DateTime]::Now)\nName: $name | Expressions/ExpandableString.ps1:1:1:1:40 | Date: $([DateTime]::Now)\nName: $name | | Expressions/ExpandableString.ps1:1:1:1:40 | Date: $([DateTime]::Now)\nName: $name | Expressions/ExpandableString.ps1:1:1:1:40 | {...} | | Expressions/ExpandableString.ps1:1:1:1:40 | {...} | Expressions/ExpandableString.ps1:1:1:1:40 | ExpandableString.ps1 | | Expressions/ExpandableString.ps1:1:8:1:13 | name | Expressions/ExpandableString.ps1:1:1:1:40 | Date: $([DateTime]::Now)\nName: $name | | Expressions/ExpandableString.ps1:1:21:1:39 | $(...) | Expressions/ExpandableString.ps1:1:1:1:40 | Date: $([DateTime]::Now)\nName: $name | | Expressions/ExpandableString.ps1:1:23:1:33 | DateTime | Expressions/ExpandableString.ps1:1:23:1:38 | Now | | Expressions/ExpandableString.ps1:1:23:1:38 | Now | Expressions/ExpandableString.ps1:1:23:1:38 | Now | -| Expressions/ExpandableString.ps1:1:23:1:38 | Now | Expressions/ExpandableString.ps1:1:23:1:38 | Now | | Expressions/ExpandableString.ps1:1:23:1:38 | Now | Expressions/ExpandableString.ps1:1:23:1:38 | {...} | | Expressions/ExpandableString.ps1:1:23:1:38 | {...} | Expressions/ExpandableString.ps1:1:21:1:39 | $(...) | | Expressions/ExpandableString.ps1:1:35:1:38 | Now | Expressions/ExpandableString.ps1:1:23:1:38 | Now | | Expressions/SubExpression.ps1:1:1:1:12 | $(...) | Expressions/SubExpression.ps1:1:1:1:24 | call to AddDays | | Expressions/SubExpression.ps1:1:1:1:24 | call to AddDays | Expressions/SubExpression.ps1:1:1:1:24 | call to AddDays | -| Expressions/SubExpression.ps1:1:1:1:24 | call to AddDays | Expressions/SubExpression.ps1:1:1:1:24 | call to AddDays | | Expressions/SubExpression.ps1:1:1:1:24 | call to AddDays | Expressions/SubExpression.ps1:1:1:2:22 | {...} | | Expressions/SubExpression.ps1:1:1:2:22 | {...} | Expressions/SubExpression.ps1:1:1:2:22 | SubExpression.ps1 | | Expressions/SubExpression.ps1:1:3:1:11 | Get-Date | Expressions/SubExpression.ps1:1:3:1:11 | Get-Date | -| Expressions/SubExpression.ps1:1:3:1:11 | Get-Date | Expressions/SubExpression.ps1:1:3:1:11 | Get-Date | | Expressions/SubExpression.ps1:1:3:1:11 | Get-Date | Expressions/SubExpression.ps1:1:3:1:11 | {...} | | Expressions/SubExpression.ps1:1:3:1:11 | {...} | Expressions/SubExpression.ps1:1:1:1:12 | $(...) | | Expressions/SubExpression.ps1:1:13:1:20 | AddDays | Expressions/SubExpression.ps1:1:1:1:24 | call to AddDays | @@ -228,8 +205,6 @@ | Expressions/SubExpression.ps1:2:1:2:12 | $(...) | Expressions/SubExpression.ps1:2:1:2:22 | call to AddDays | | Expressions/SubExpression.ps1:2:1:2:22 | call to AddDays | Expressions/SubExpression.ps1:1:1:2:22 | {...} | | Expressions/SubExpression.ps1:2:1:2:22 | call to AddDays | Expressions/SubExpression.ps1:2:1:2:22 | call to AddDays | -| Expressions/SubExpression.ps1:2:1:2:22 | call to AddDays | Expressions/SubExpression.ps1:2:1:2:22 | call to AddDays | -| Expressions/SubExpression.ps1:2:3:2:11 | Get-Date | Expressions/SubExpression.ps1:2:3:2:11 | Get-Date | | Expressions/SubExpression.ps1:2:3:2:11 | Get-Date | Expressions/SubExpression.ps1:2:3:2:11 | Get-Date | | Expressions/SubExpression.ps1:2:3:2:11 | Get-Date | Expressions/SubExpression.ps1:2:3:2:11 | {...} | | Expressions/SubExpression.ps1:2:3:2:11 | {...} | Expressions/SubExpression.ps1:2:1:2:12 | $(...) | @@ -243,7 +218,6 @@ | Expressions/TernaryExpression.ps1:1:9:1:10 | 6 | Expressions/TernaryExpression.ps1:1:9:1:16 | ... -gt ... | | Expressions/TernaryExpression.ps1:1:9:1:16 | ... -gt ... | Expressions/TernaryExpression.ps1:1:8:1:17 | (...) | | Expressions/TernaryExpression.ps1:1:9:1:16 | ... -gt ... | Expressions/TernaryExpression.ps1:1:9:1:16 | ... -gt ... | -| Expressions/TernaryExpression.ps1:1:9:1:16 | ... -gt ... | Expressions/TernaryExpression.ps1:1:9:1:16 | ... -gt ... | | Expressions/TernaryExpression.ps1:1:15:1:16 | 7 | Expressions/TernaryExpression.ps1:1:9:1:16 | ... -gt ... | | Expressions/TernaryExpression.ps1:1:20:1:21 | 1 | Expressions/TernaryExpression.ps1:1:8:1:23 | ...?...:... | | Expressions/TernaryExpression.ps1:1:22:1:23 | 2 | Expressions/TernaryExpression.ps1:1:8:1:23 | ...?...:... | @@ -252,46 +226,36 @@ | Loops/DoUntil.ps1:2:1:7:2 | {...} | Loops/DoUntil.ps1:1:1:7:19 | DoUntil | | Loops/DoUntil.ps1:3:2:3:20 | Starting Loop $a | Loops/DoUntil.ps1:2:1:7:2 | {...} | | Loops/DoUntil.ps1:3:2:3:20 | Starting Loop $a | Loops/DoUntil.ps1:3:2:3:20 | Starting Loop $a | -| Loops/DoUntil.ps1:3:2:3:20 | Starting Loop $a | Loops/DoUntil.ps1:3:2:3:20 | Starting Loop $a | | Loops/DoUntil.ps1:3:17:3:19 | a | Loops/DoUntil.ps1:3:2:3:20 | Starting Loop $a | | Loops/DoUntil.ps1:4:2:4:4 | a | Loops/DoUntil.ps1:2:1:7:2 | {...} | | Loops/DoUntil.ps1:4:2:4:4 | a | Loops/DoUntil.ps1:4:2:4:4 | a | -| Loops/DoUntil.ps1:4:2:4:4 | a | Loops/DoUntil.ps1:4:2:4:4 | a | | Loops/DoUntil.ps1:5:2:5:4 | a | Loops/DoUntil.ps1:5:2:5:6 | ...++ | | Loops/DoUntil.ps1:5:2:5:6 | ...++ | Loops/DoUntil.ps1:2:1:7:2 | {...} | | Loops/DoUntil.ps1:5:2:5:6 | ...++ | Loops/DoUntil.ps1:5:2:5:6 | ...++ | -| Loops/DoUntil.ps1:5:2:5:6 | ...++ | Loops/DoUntil.ps1:5:2:5:6 | ...++ | | Loops/DoUntil.ps1:6:2:6:17 | Now $a is $a | Loops/DoUntil.ps1:2:1:7:2 | {...} | | Loops/DoUntil.ps1:6:2:6:17 | Now $a is $a | Loops/DoUntil.ps1:6:2:6:17 | Now $a is $a | -| Loops/DoUntil.ps1:6:2:6:17 | Now $a is $a | Loops/DoUntil.ps1:6:2:6:17 | Now $a is $a | | Loops/DoUntil.ps1:6:14:6:16 | a | Loops/DoUntil.ps1:6:2:6:17 | Now $a is $a | | Loops/DoUntil.ps1:7:10:7:12 | a | Loops/DoUntil.ps1:7:10:7:18 | ... -le ... | | Loops/DoUntil.ps1:7:10:7:18 | ... -le ... | Loops/DoUntil.ps1:1:1:7:19 | DoUntil | | Loops/DoUntil.ps1:7:10:7:18 | ... -le ... | Loops/DoUntil.ps1:7:10:7:18 | ... -le ... | -| Loops/DoUntil.ps1:7:10:7:18 | ... -le ... | Loops/DoUntil.ps1:7:10:7:18 | ... -le ... | | Loops/DoUntil.ps1:7:17:7:18 | 5 | Loops/DoUntil.ps1:7:10:7:18 | ... -le ... | | Loops/DoWhile.ps1:1:1:7:19 | DoWhile | Loops/DoWhile.ps1:1:1:7:19 | {...} | | Loops/DoWhile.ps1:1:1:7:19 | {...} | Loops/DoWhile.ps1:1:1:7:19 | DoWhile.ps1 | | Loops/DoWhile.ps1:2:1:7:2 | {...} | Loops/DoWhile.ps1:1:1:7:19 | DoWhile | | Loops/DoWhile.ps1:3:2:3:20 | Starting Loop $a | Loops/DoWhile.ps1:2:1:7:2 | {...} | | Loops/DoWhile.ps1:3:2:3:20 | Starting Loop $a | Loops/DoWhile.ps1:3:2:3:20 | Starting Loop $a | -| Loops/DoWhile.ps1:3:2:3:20 | Starting Loop $a | Loops/DoWhile.ps1:3:2:3:20 | Starting Loop $a | | Loops/DoWhile.ps1:3:17:3:19 | a | Loops/DoWhile.ps1:3:2:3:20 | Starting Loop $a | | Loops/DoWhile.ps1:4:2:4:4 | a | Loops/DoWhile.ps1:2:1:7:2 | {...} | | Loops/DoWhile.ps1:4:2:4:4 | a | Loops/DoWhile.ps1:4:2:4:4 | a | -| Loops/DoWhile.ps1:4:2:4:4 | a | Loops/DoWhile.ps1:4:2:4:4 | a | | Loops/DoWhile.ps1:5:2:5:4 | a | Loops/DoWhile.ps1:5:2:5:6 | ...++ | | Loops/DoWhile.ps1:5:2:5:6 | ...++ | Loops/DoWhile.ps1:2:1:7:2 | {...} | | Loops/DoWhile.ps1:5:2:5:6 | ...++ | Loops/DoWhile.ps1:5:2:5:6 | ...++ | -| Loops/DoWhile.ps1:5:2:5:6 | ...++ | Loops/DoWhile.ps1:5:2:5:6 | ...++ | | Loops/DoWhile.ps1:6:2:6:17 | Now $a is $a | Loops/DoWhile.ps1:2:1:7:2 | {...} | | Loops/DoWhile.ps1:6:2:6:17 | Now $a is $a | Loops/DoWhile.ps1:6:2:6:17 | Now $a is $a | -| Loops/DoWhile.ps1:6:2:6:17 | Now $a is $a | Loops/DoWhile.ps1:6:2:6:17 | Now $a is $a | | Loops/DoWhile.ps1:6:14:6:16 | a | Loops/DoWhile.ps1:6:2:6:17 | Now $a is $a | | Loops/DoWhile.ps1:7:10:7:12 | a | Loops/DoWhile.ps1:7:10:7:18 | ... -le ... | | Loops/DoWhile.ps1:7:10:7:18 | ... -le ... | Loops/DoWhile.ps1:1:1:7:19 | DoWhile | | Loops/DoWhile.ps1:7:10:7:18 | ... -le ... | Loops/DoWhile.ps1:7:10:7:18 | ... -le ... | -| Loops/DoWhile.ps1:7:10:7:18 | ... -le ... | Loops/DoWhile.ps1:7:10:7:18 | ... -le ... | | Loops/DoWhile.ps1:7:17:7:18 | 5 | Loops/DoWhile.ps1:7:10:7:18 | ... -le ... | | Loops/While.ps1:1:1:1:5 | var | Loops/While.ps1:1:1:1:9 | ...=... | | Loops/While.ps1:1:1:1:9 | ...=... | Loops/While.ps1:1:1:13:2 | {...} | @@ -302,12 +266,10 @@ | Loops/While.ps1:2:8:2:12 | var | Loops/While.ps1:2:8:2:18 | ... -le ... | | Loops/While.ps1:2:8:2:18 | ... -le ... | Loops/While.ps1:2:1:13:2 | while(...) {...} | | Loops/While.ps1:2:8:2:18 | ... -le ... | Loops/While.ps1:2:8:2:18 | ... -le ... | -| Loops/While.ps1:2:8:2:18 | ... -le ... | Loops/While.ps1:2:8:2:18 | ... -le ... | | Loops/While.ps1:2:17:2:18 | 5 | Loops/While.ps1:2:8:2:18 | ... -le ... | | Loops/While.ps1:3:1:13:2 | {...} | Loops/While.ps1:2:1:13:2 | while(...) {...} | | Loops/While.ps1:4:5:4:15 | Write-Host | Loops/While.ps1:4:5:4:41 | Write-Host | | Loops/While.ps1:4:5:4:41 | Write-Host | Loops/While.ps1:3:1:13:2 | {...} | -| Loops/While.ps1:4:5:4:41 | Write-Host | Loops/While.ps1:4:5:4:41 | Write-Host | | Loops/While.ps1:4:16:4:19 | The | Loops/While.ps1:4:5:4:41 | Write-Host | | Loops/While.ps1:4:20:4:25 | value | Loops/While.ps1:4:5:4:41 | Write-Host | | Loops/While.ps1:4:26:4:28 | of | Loops/While.ps1:4:5:4:41 | Write-Host | @@ -317,23 +279,19 @@ | Loops/While.ps1:5:5:5:9 | var | Loops/While.ps1:5:5:5:11 | ...++ | | Loops/While.ps1:5:5:5:11 | ...++ | Loops/While.ps1:3:1:13:2 | {...} | | Loops/While.ps1:5:5:5:11 | ...++ | Loops/While.ps1:5:5:5:11 | ...++ | -| Loops/While.ps1:5:5:5:11 | ...++ | Loops/While.ps1:5:5:5:11 | ...++ | | Loops/While.ps1:6:5:12:6 | if (...) {...} else {...} | Loops/While.ps1:3:1:13:2 | {...} | | Loops/While.ps1:6:9:6:13 | var | Loops/While.ps1:6:9:6:19 | ... -le ... | | Loops/While.ps1:6:9:6:19 | ... -le ... | Loops/While.ps1:6:5:12:6 | if (...) {...} else {...} | | Loops/While.ps1:6:9:6:19 | ... -le ... | Loops/While.ps1:6:9:6:19 | ... -le ... | -| Loops/While.ps1:6:9:6:19 | ... -le ... | Loops/While.ps1:6:9:6:19 | ... -le ... | | Loops/While.ps1:6:18:6:19 | 3 | Loops/While.ps1:6:9:6:19 | ... -le ... | | Loops/While.ps1:6:20:8:6 | {...} | Loops/While.ps1:6:5:12:6 | if (...) {...} else {...} | | Loops/While.ps1:7:9:7:17 | continue | Loops/While.ps1:6:20:8:6 | {...} | | Loops/While.ps1:10:5:12:6 | {...} | Loops/While.ps1:6:5:12:6 | if (...) {...} else {...} | | Loops/While.ps1:11:9:11:14 | break | Loops/While.ps1:10:5:12:6 | {...} | | Redirections/FileRedirection.ps1:1:1:3:2 | $(...) | Redirections/FileRedirection.ps1:1:1:3:20 | $(...) | -| Redirections/FileRedirection.ps1:1:1:3:20 | $(...) | Redirections/FileRedirection.ps1:1:1:3:20 | $(...) | | Redirections/FileRedirection.ps1:1:1:3:20 | $(...) | Redirections/FileRedirection.ps1:1:1:3:20 | {...} | | Redirections/FileRedirection.ps1:1:1:3:20 | {...} | Redirections/FileRedirection.ps1:1:1:3:20 | FileRedirection.ps1 | | Redirections/FileRedirection.ps1:2:5:2:9 | Here | Redirections/FileRedirection.ps1:2:5:2:32 | Here | -| Redirections/FileRedirection.ps1:2:5:2:32 | Here | Redirections/FileRedirection.ps1:2:5:2:32 | Here | | Redirections/FileRedirection.ps1:2:5:2:32 | Here | Redirections/FileRedirection.ps1:2:5:2:32 | {...} | | Redirections/FileRedirection.ps1:2:5:2:32 | {...} | Redirections/FileRedirection.ps1:1:1:3:2 | $(...) | | Redirections/FileRedirection.ps1:2:10:2:12 | is | Redirections/FileRedirection.ps1:2:5:2:32 | Here | @@ -347,7 +305,6 @@ | Statements/ExitStatement.ps1:1:1:1:8 | {...} | Statements/ExitStatement.ps1:1:1:1:8 | ExitStatement.ps1 | | Statements/ExitStatement.ps1:1:6:1:8 | -1 | Statements/ExitStatement.ps1:1:1:1:8 | exit ... | | Statements/ExitStatement.ps1:1:6:1:8 | -1 | Statements/ExitStatement.ps1:1:6:1:8 | -1 | -| Statements/ExitStatement.ps1:1:6:1:8 | -1 | Statements/ExitStatement.ps1:1:6:1:8 | -1 | | Statements/IfStatement.ps1:1:1:1:3 | x | Statements/IfStatement.ps1:1:1:1:7 | ...=... | | Statements/IfStatement.ps1:1:1:1:7 | ...=... | Statements/IfStatement.ps1:1:1:8:2 | {...} | | Statements/IfStatement.ps1:1:1:8:2 | {...} | Statements/IfStatement.ps1:1:1:8:2 | IfStatement.ps1 | @@ -357,17 +314,14 @@ | Statements/IfStatement.ps1:3:5:3:7 | x | Statements/IfStatement.ps1:3:5:3:13 | ... -ge ... | | Statements/IfStatement.ps1:3:5:3:13 | ... -ge ... | Statements/IfStatement.ps1:3:1:8:2 | if (...) {...} else {...} | | Statements/IfStatement.ps1:3:5:3:13 | ... -ge ... | Statements/IfStatement.ps1:3:5:3:13 | ... -ge ... | -| Statements/IfStatement.ps1:3:5:3:13 | ... -ge ... | Statements/IfStatement.ps1:3:5:3:13 | ... -ge ... | | Statements/IfStatement.ps1:3:12:3:13 | 3 | Statements/IfStatement.ps1:3:5:3:13 | ... -ge ... | | Statements/IfStatement.ps1:3:15:5:2 | {...} | Statements/IfStatement.ps1:3:1:8:2 | if (...) {...} else {...} | | Statements/IfStatement.ps1:4:2:4:36 | $x is greater than or equal to 3 | Statements/IfStatement.ps1:3:15:5:2 | {...} | | Statements/IfStatement.ps1:4:2:4:36 | $x is greater than or equal to 3 | Statements/IfStatement.ps1:4:2:4:36 | $x is greater than or equal to 3 | -| Statements/IfStatement.ps1:4:2:4:36 | $x is greater than or equal to 3 | Statements/IfStatement.ps1:4:2:4:36 | $x is greater than or equal to 3 | | Statements/IfStatement.ps1:4:3:4:5 | x | Statements/IfStatement.ps1:4:2:4:36 | $x is greater than or equal to 3 | | Statements/IfStatement.ps1:6:6:8:2 | {...} | Statements/IfStatement.ps1:3:1:8:2 | if (...) {...} else {...} | | Statements/IfStatement.ps1:7:2:7:21 | $x is less than 3 | Statements/IfStatement.ps1:6:6:8:2 | {...} | | Statements/IfStatement.ps1:7:2:7:21 | $x is less than 3 | Statements/IfStatement.ps1:7:2:7:21 | $x is less than 3 | -| Statements/IfStatement.ps1:7:2:7:21 | $x is less than 3 | Statements/IfStatement.ps1:7:2:7:21 | $x is less than 3 | | Statements/IfStatement.ps1:7:3:7:5 | x | Statements/IfStatement.ps1:7:2:7:21 | $x is less than 3 | | Statements/TrapStatement.ps1:1:1:4:2 | TrapTest | Statements/TrapStatement.ps1:1:1:6:9 | {...} | | Statements/TrapStatement.ps1:1:1:6:9 | {...} | Statements/TrapStatement.ps1:1:1:6:9 | TrapStatement.ps1 | @@ -377,13 +331,10 @@ | Statements/TrapStatement.ps1:2:10:2:26 | {...} | Statements/TrapStatement.ps1:2:5:2:26 | TrapStatement at: Statements/TrapStatement.ps1:2:5:2:26 | | Statements/TrapStatement.ps1:2:11:2:25 | Error found. | Statements/TrapStatement.ps1:2:10:2:26 | {...} | | Statements/TrapStatement.ps1:2:11:2:25 | Error found. | Statements/TrapStatement.ps1:2:11:2:25 | Error found. | -| Statements/TrapStatement.ps1:2:11:2:25 | Error found. | Statements/TrapStatement.ps1:2:11:2:25 | Error found. | | Statements/TrapStatement.ps1:3:5:3:19 | nonsenseString | Statements/TrapStatement.ps1:2:5:3:19 | {...} | | Statements/TrapStatement.ps1:3:5:3:19 | nonsenseString | Statements/TrapStatement.ps1:3:5:3:19 | nonsenseString | -| Statements/TrapStatement.ps1:3:5:3:19 | nonsenseString | Statements/TrapStatement.ps1:3:5:3:19 | nonsenseString | | Statements/TrapStatement.ps1:6:1:6:9 | TrapTest | Statements/TrapStatement.ps1:1:1:6:9 | {...} | | Statements/TrapStatement.ps1:6:1:6:9 | TrapTest | Statements/TrapStatement.ps1:6:1:6:9 | TrapTest | -| Statements/TrapStatement.ps1:6:1:6:9 | TrapTest | Statements/TrapStatement.ps1:6:1:6:9 | TrapTest | | Statements/Try.ps1:1:1:13:2 | try {...} | Statements/Try.ps1:1:1:13:2 | {...} | | Statements/Try.ps1:1:1:13:2 | {...} | Statements/Try.ps1:1:1:13:2 | Try.ps1 | | Statements/Try.ps1:1:5:4:2 | {...} | Statements/Try.ps1:1:1:13:2 | try {...} | @@ -391,37 +342,31 @@ | Statements/Try.ps1:2:4:2:95 | ...=... | Statements/Try.ps1:1:5:4:2 | {...} | | Statements/Try.ps1:2:17:2:27 | New-Object | Statements/Try.ps1:2:17:2:95 | New-Object | | Statements/Try.ps1:2:17:2:95 | New-Object | Statements/Try.ps1:2:4:2:95 | ...=... | -| Statements/Try.ps1:2:17:2:95 | New-Object | Statements/Try.ps1:2:17:2:95 | New-Object | | Statements/Try.ps1:2:28:2:53 | System.Xaml.XamlException | Statements/Try.ps1:2:17:2:95 | New-Object | | Statements/Try.ps1:2:54:2:67 | ArgumentList | Statements/Try.ps1:2:17:2:95 | New-Object | | Statements/Try.ps1:2:68:2:95 | (...) | Statements/Try.ps1:2:17:2:95 | New-Object | | Statements/Try.ps1:2:69:2:80 | Bad XAML! | Statements/Try.ps1:2:69:2:94 | ...,... | | Statements/Try.ps1:2:69:2:94 | ...,... | Statements/Try.ps1:2:68:2:95 | (...) | | Statements/Try.ps1:2:69:2:94 | ...,... | Statements/Try.ps1:2:69:2:94 | ...,... | -| Statements/Try.ps1:2:69:2:94 | ...,... | Statements/Try.ps1:2:69:2:94 | ...,... | | Statements/Try.ps1:2:82:2:87 | null | Statements/Try.ps1:2:69:2:94 | ...,... | | Statements/Try.ps1:2:89:2:91 | 10 | Statements/Try.ps1:2:69:2:94 | ...,... | | Statements/Try.ps1:2:93:2:94 | 2 | Statements/Try.ps1:2:69:2:94 | ...,... | | Statements/Try.ps1:3:5:3:21 | throw ... | Statements/Try.ps1:1:5:4:2 | {...} | | Statements/Try.ps1:3:11:3:21 | Exception | Statements/Try.ps1:3:5:3:21 | throw ... | | Statements/Try.ps1:3:11:3:21 | Exception | Statements/Try.ps1:3:11:3:21 | Exception | -| Statements/Try.ps1:3:11:3:21 | Exception | Statements/Try.ps1:3:11:3:21 | Exception | | Statements/Try.ps1:5:1:7:2 | catch[...] {...} | Statements/Try.ps1:1:1:13:2 | try {...} | | Statements/Try.ps1:5:7:5:32 | System.Net.WebException | Statements/Try.ps1:5:1:7:2 | catch[...] {...} | | Statements/Try.ps1:5:33:5:56 | System.IO.IOException | Statements/Try.ps1:5:1:7:2 | catch[...] {...} | | Statements/Try.ps1:5:57:7:2 | {...} | Statements/Try.ps1:5:1:7:2 | catch[...] {...} | | Statements/Try.ps1:6:5:6:64 | Unable to download MyDoc.doc from http://www.contoso.com. | Statements/Try.ps1:5:57:7:2 | {...} | | Statements/Try.ps1:6:5:6:64 | Unable to download MyDoc.doc from http://www.contoso.com. | Statements/Try.ps1:6:5:6:64 | Unable to download MyDoc.doc from http://www.contoso.com. | -| Statements/Try.ps1:6:5:6:64 | Unable to download MyDoc.doc from http://www.contoso.com. | Statements/Try.ps1:6:5:6:64 | Unable to download MyDoc.doc from http://www.contoso.com. | | Statements/Try.ps1:8:1:10:2 | catch {...} | Statements/Try.ps1:1:1:13:2 | try {...} | | Statements/Try.ps1:8:7:10:2 | {...} | Statements/Try.ps1:8:1:10:2 | catch {...} | | Statements/Try.ps1:9:5:9:52 | An error occurred that could not be resolved. | Statements/Try.ps1:8:7:10:2 | {...} | | Statements/Try.ps1:9:5:9:52 | An error occurred that could not be resolved. | Statements/Try.ps1:9:5:9:52 | An error occurred that could not be resolved. | -| Statements/Try.ps1:9:5:9:52 | An error occurred that could not be resolved. | Statements/Try.ps1:9:5:9:52 | An error occurred that could not be resolved. | | Statements/Try.ps1:11:9:13:2 | {...} | Statements/Try.ps1:1:1:13:2 | try {...} | | Statements/Try.ps1:12:5:12:37 | The finally block is executed. | Statements/Try.ps1:11:9:13:2 | {...} | | Statements/Try.ps1:12:5:12:37 | The finally block is executed. | Statements/Try.ps1:12:5:12:37 | The finally block is executed. | -| Statements/Try.ps1:12:5:12:37 | The finally block is executed. | Statements/Try.ps1:12:5:12:37 | The finally block is executed. | | Statements/UseProcessBlockForPipelineCommand.ps1:1:1:11:2 | Get-Number | Statements/UseProcessBlockForPipelineCommand.ps1:1:1:11:2 | {...} | | Statements/UseProcessBlockForPipelineCommand.ps1:1:1:11:2 | {...} | Statements/UseProcessBlockForPipelineCommand.ps1:1:1:11:2 | UseProcessBlockForPipelineCommand.ps1 | | Statements/UseProcessBlockForPipelineCommand.ps1:2:1:11:2 | {...} | Statements/UseProcessBlockForPipelineCommand.ps1:1:1:11:2 | Get-Number | @@ -435,7 +380,6 @@ | Statements/UseProcessBlockForPipelineCommand.ps1:6:9:6:14 | int | Statements/UseProcessBlockForPipelineCommand.ps1:5:9:7:16 | Number | | Statements/UseProcessBlockForPipelineCommand.ps1:10:5:10:12 | Number | Statements/UseProcessBlockForPipelineCommand.ps1:4:5:10:12 | {...} | | Statements/UseProcessBlockForPipelineCommand.ps1:10:5:10:12 | Number | Statements/UseProcessBlockForPipelineCommand.ps1:10:5:10:12 | Number | -| Statements/UseProcessBlockForPipelineCommand.ps1:10:5:10:12 | Number | Statements/UseProcessBlockForPipelineCommand.ps1:10:5:10:12 | Number | | file://:0:0:0:0 | (no string representation) | Blocks/ParamBlock.ps1:3:5:4:23 | Parameter | | file://:0:0:0:0 | (no string representation) | Dynamic/DynamicExecutionWithFunc.ps1:3:9:3:19 | userInput | | file://:0:0:0:0 | (no string representation) | Statements/UseProcessBlockForPipelineCommand.ps1:5:9:7:16 | Number | diff --git a/powershell/ql/test/library-tests/controlflow/graph/Cfg.expected b/powershell/ql/test/library-tests/controlflow/graph/Cfg.expected index 73a78318b12..13bec0de80d 100644 --- a/powershell/ql/test/library-tests/controlflow/graph/Cfg.expected +++ b/powershell/ql/test/library-tests/controlflow/graph/Cfg.expected @@ -31,9 +31,6 @@ conditionals.ps1: # 4| if (...) {...} #-----| -> myBool -# 4| myBool -#-----| -> myBool - # 4| myBool #-----| true -> {...} @@ -60,9 +57,6 @@ conditionals.ps1: # 14| if (...) {...} else {...} #-----| -> myBool -# 14| myBool -#-----| -> myBool - # 14| myBool #-----| true -> {...} #-----| false -> {...} @@ -95,14 +89,11 @@ conditionals.ps1: # 27| myBool1 #-----| false, true -> myBool2 -# 27| ... -and ... -#-----| -> myBool1 - # 27| ... -and ... #-----| true -> {...} # 27| ... -and ... -#-----| -> ... -and ... +#-----| -> myBool1 # 27| myBool2 #-----| false, true -> ... -and ... @@ -130,15 +121,12 @@ conditionals.ps1: # 37| myBool1 #-----| false, true -> myBool2 -# 37| ... -and ... -#-----| -> myBool1 - # 37| ... -and ... #-----| true -> {...} #-----| false -> {...} # 37| ... -and ... -#-----| -> ... -and ... +#-----| -> myBool1 # 37| myBool2 #-----| false, true -> ... -and ... @@ -168,14 +156,11 @@ conditionals.ps1: # 50| myBool1 #-----| false, true -> myBool2 -# 50| ... -or ... -#-----| -> myBool1 - # 50| ... -or ... #-----| true -> {...} # 50| ... -or ... -#-----| -> ... -or ... +#-----| -> myBool1 # 50| myBool2 #-----| false, true -> ... -or ... @@ -203,15 +188,12 @@ conditionals.ps1: # 60| myBool1 #-----| false, true -> myBool2 -# 60| ... -or ... -#-----| -> myBool1 - # 60| ... -or ... #-----| true -> {...} #-----| false -> {...} # 60| ... -or ... -#-----| -> ... -or ... +#-----| -> myBool1 # 60| myBool2 #-----| false, true -> ... -or ... @@ -238,9 +220,6 @@ conditionals.ps1: # 73| if (...) {...} #-----| -> myBool1 -# 73| myBool1 -#-----| -> myBool1 - # 73| myBool1 #-----| true -> {...} @@ -267,9 +246,6 @@ conditionals.ps1: # 87| if (...) {...} else {...} #-----| -> myBool1 -# 87| myBool1 -#-----| -> myBool1 - # 87| myBool1 #-----| true -> {...} #-----| false -> {...} @@ -296,9 +272,6 @@ conditionals.ps1: # 102| {...} #-----| -> switch(...) {...} -# 102| n -#-----| -> n - # 102| n # 102| n @@ -319,9 +292,6 @@ conditionals.ps1: # 111| {...} #-----| -> switch(...) {...} -# 111| n -#-----| -> n - # 111| n # 111| n @@ -348,9 +318,6 @@ conditionals.ps1: # 124| switch(...) {...} #-----| -> n -# 124| n -#-----| -> n - # 124| n # 124| n @@ -394,14 +361,11 @@ functions.ps1: # 8| number1 #-----| -> number2 -# 8| ...+... -#-----| -> number1 - # 8| ...+... #-----| -> exit {...} (normal) # 8| ...+... -#-----| -> ...+... +#-----| -> number1 # 8| number2 #-----| -> ...+... @@ -461,14 +425,11 @@ functions.ps1: # 19| name #-----| -> name2 -# 19| ...+... -#-----| -> name - # 19| ...+... #-----| -> exit {...} (normal) # 19| ...+... -#-----| -> ...+... +#-----| -> name # 19| name2 #-----| -> ...+... @@ -512,9 +473,6 @@ functions.ps1: # 29| number #-----| -> {...} -# 29| numbers -#-----| -> numbers - # 29| numbers #-----| -> forach(... in ...) @@ -536,9 +494,6 @@ functions.ps1: # 31| number #-----| -> number -# 33| sum -#-----| -> sum - # 33| sum #-----| -> exit {...} (normal) @@ -596,9 +551,6 @@ functions.ps1: # 48| {...} #-----| -> sum -# 50| sum -#-----| -> sum - # 50| sum #-----| -> exit {...} (normal) @@ -715,15 +667,12 @@ loops.ps1: # 4| a #-----| -> 10 -# 4| ... -le ... -#-----| -> a - # 4| ... -le ... #-----| false -> exit {...} (normal) #-----| true -> {...} # 4| ... -le ... -#-----| -> ... -le ... +#-----| -> a # 4| 10 #-----| -> ... -le ... @@ -784,15 +733,12 @@ loops.ps1: # 11| a #-----| -> 10 -# 11| ... -le ... -#-----| -> a - # 11| ... -le ... #-----| false -> exit {...} (normal) #-----| true -> {...} # 11| ... -le ... -#-----| -> ... -le ... +#-----| -> a # 11| 10 #-----| -> ... -le ... @@ -838,15 +784,12 @@ loops.ps1: # 19| a #-----| -> 10 -# 19| ... -le ... -#-----| -> a - # 19| ... -le ... #-----| false -> exit {...} (normal) #-----| true -> {...} # 19| ... -le ... -#-----| -> ... -le ... +#-----| -> a # 19| 10 #-----| -> ... -le ... @@ -913,15 +856,12 @@ loops.ps1: # 30| a #-----| -> 10 -# 30| ... -le ... -#-----| -> a - # 30| ... -le ... #-----| false -> exit {...} (normal) #-----| true -> {...} # 30| ... -le ... -#-----| -> ... -le ... +#-----| -> a # 30| 10 #-----| -> ... -le ... @@ -982,15 +922,12 @@ loops.ps1: # 38| a #-----| -> 10 -# 38| ... -ge ... -#-----| -> a - # 38| ... -ge ... #-----| true -> exit {...} (normal) #-----| false -> {...} # 38| ... -ge ... -#-----| -> ... -ge ... +#-----| -> a # 38| 10 #-----| -> ... -ge ... @@ -1042,15 +979,12 @@ loops.ps1: # 44| i #-----| -> 10 -# 44| ... -le ... -#-----| -> i - # 44| ... -le ... #-----| false -> exit {...} (normal) #-----| true -> {...} # 44| ... -le ... -#-----| -> ... -le ... +#-----| -> i # 44| 10 #-----| -> ... -le ... @@ -1171,9 +1105,6 @@ try.ps1: #-----| -> try {...} # 2| {...} -#-----| -> Write-Output - -# 3| Write-Output # 10| test-try-with-throw-catch #-----| -> test-try-with-throw-catch-with-throw @@ -1196,9 +1127,6 @@ try.ps1: # 12| if (...) {...} #-----| -> b -# 12| b -#-----| -> b - # 12| b #-----| true -> {...} @@ -1211,9 +1139,6 @@ try.ps1: # 13| throw ... #-----| -> 42 -# 13| 42 -#-----| -> 42 - # 13| 42 # 13| 42 @@ -1240,9 +1165,6 @@ try.ps1: # 23| if (...) {...} #-----| -> b -# 23| b -#-----| -> b - # 23| b #-----| true -> {...} @@ -1255,9 +1177,6 @@ try.ps1: # 24| throw ... #-----| -> 42 -# 24| 42 -#-----| -> 42 - # 24| 42 # 24| 42 @@ -1284,9 +1203,6 @@ try.ps1: # 34| if (...) {...} #-----| -> b -# 34| b -#-----| -> b - # 34| b #-----| true -> {...} @@ -1299,9 +1215,6 @@ try.ps1: # 35| throw ... #-----| -> 42 -# 35| 42 -#-----| -> 42 - # 35| 42 # 35| 42 @@ -1323,9 +1236,6 @@ try.ps1: #-----| -> try {...} # 44| {...} -#-----| -> Write-Output - -# 45| Write-Output # 52| test-try-catch-specific-1 #-----| -> test-try-two-catch-specific-1 @@ -1343,9 +1253,6 @@ try.ps1: #-----| -> try {...} # 53| {...} -#-----| -> Write-Output - -# 54| Write-Output # 61| test-try-two-catch-specific-1 #-----| -> test-try-catch-specific-2 @@ -1363,9 +1270,6 @@ try.ps1: #-----| -> try {...} # 62| {...} -#-----| -> Write-Output - -# 63| Write-Output # 72| test-try-catch-specific-2 #-----| -> test-try-two-catch-specific-2 @@ -1383,9 +1287,6 @@ try.ps1: #-----| -> try {...} # 73| {...} -#-----| -> Write-Output - -# 74| Write-Output # 81| test-try-two-catch-specific-2 #-----| -> test-try-three-catch-specific-2 @@ -1403,9 +1304,6 @@ try.ps1: #-----| -> try {...} # 82| {...} -#-----| -> Write-Output - -# 83| Write-Output # 92| test-try-three-catch-specific-2 #-----| -> test-try-catch-finally @@ -1423,9 +1321,6 @@ try.ps1: #-----| -> try {...} # 93| {...} -#-----| -> Write-Output - -# 94| Write-Output # 105| test-try-catch-finally #-----| -> test-try-finally @@ -1443,9 +1338,6 @@ try.ps1: #-----| -> try {...} # 106| {...} -#-----| -> Write-Output - -# 107| Write-Output # 116| test-try-finally #-----| -> test-try-finally-catch-specific-1 @@ -1463,9 +1355,6 @@ try.ps1: #-----| -> try {...} # 117| {...} -#-----| -> Write-Output - -# 118| Write-Output # 125| test-try-finally-catch-specific-1 #-----| -> test-nested-try-inner-finally @@ -1483,9 +1372,6 @@ try.ps1: #-----| -> try {...} # 126| {...} -#-----| -> Write-Output - -# 127| Write-Output # 136| test-nested-try-inner-finally #-----| -> test-nested-try-inner-finally @@ -1509,9 +1395,6 @@ try.ps1: #-----| -> {...} # 138| {...} -#-----| -> Write-Output - -# 139| Write-Output # 149| test-nested-try-inner-finally #-----| -> test-nested-try-outer-finally @@ -1535,9 +1418,6 @@ try.ps1: #-----| -> {...} # 151| {...} -#-----| -> Write-Output - -# 152| Write-Output # 164| test-nested-try-outer-finally #-----| -> test-nested-try-inner-outer-finally @@ -1561,9 +1441,6 @@ try.ps1: #-----| -> {...} # 166| {...} -#-----| -> Write-Output - -# 167| Write-Output # 179| test-nested-try-inner-outer-finally #-----| -> exit try.ps1 (normal) @@ -1587,6 +1464,3 @@ try.ps1: #-----| -> {...} # 181| {...} -#-----| -> Write-Output - -# 182| Write-Output