mirror of
https://github.com/github/codeql.git
synced 2026-04-25 08:45:14 +02:00
Swift: fix CFG inconsistency on TapExpr
This commit is contained in:
@@ -111,31 +111,21 @@ module Stmts {
|
||||
|
||||
override predicate propagatesAbnormal(ControlFlowElement node) { none() }
|
||||
|
||||
private predicate isBodyOfTapExpr() { any(TapExpr tap).getBody() = ast }
|
||||
|
||||
// Note: If the brace statement is the body of a `TapExpr`, the first element is the variable
|
||||
// declaration (see https://github.com/apple/swift/blob/main/include/swift/AST/Expr.h#L848)
|
||||
// that's initialized by the `TapExpr`. In `TapExprTree` we've already visited this declaration,
|
||||
// along with its initializer. So we skip the first element here.
|
||||
private AstNode getFirstElement() {
|
||||
if this.isBodyOfTapExpr() then result = ast.getElement(1) else result = ast.getFirstElement()
|
||||
}
|
||||
|
||||
override predicate first(ControlFlowElement first) {
|
||||
this.firstInner(first)
|
||||
or
|
||||
not exists(this.getFirstElement()) and first.asAstNode() = ast
|
||||
not exists(ast.getFirstElement()) and first.asAstNode() = ast
|
||||
}
|
||||
|
||||
override predicate last(ControlFlowElement last, Completion c) {
|
||||
this.lastInner(last, c)
|
||||
or
|
||||
not exists(this.getFirstElement()) and
|
||||
not exists(ast.getFirstElement()) and
|
||||
last.asAstNode() = ast and
|
||||
c instanceof SimpleCompletion
|
||||
}
|
||||
|
||||
predicate firstInner(ControlFlowElement first) { astFirst(this.getFirstElement(), first) }
|
||||
predicate firstInner(ControlFlowElement first) { astFirst(ast.getFirstElement(), first) }
|
||||
|
||||
/** Gets the body of the i'th `defer` statement. */
|
||||
private BraceStmt getDeferStmtBody(int i) {
|
||||
@@ -1406,20 +1396,12 @@ module Exprs {
|
||||
override TapExpr ast;
|
||||
|
||||
final override ControlFlowElement getChildElement(int i) {
|
||||
// We first visit the local variable declaration.
|
||||
// We first visit the expression that gives the local variable its initial value.
|
||||
i = 0 and
|
||||
result.asAstNode() = ast.getVar()
|
||||
or
|
||||
// Then we visit the expression that gives the local variable its initial value.
|
||||
i = 1 and
|
||||
result.asAstNode() = ast.getSubExpr().getFullyConverted()
|
||||
or
|
||||
// And finally, we visit the body that potentially mutates the local variable.
|
||||
// Note that the CFG for the body will skip the first element in the
|
||||
// body because it's guaranteed to be the variable declaration
|
||||
// that we've already visited at i = 0. See the explanation
|
||||
// in `BraceStmtTree` for why this is necessary.
|
||||
i = 2 and
|
||||
// And then we visit the body that potentially mutates the local variable.
|
||||
i = 1 and
|
||||
result.asAstNode() = ast.getBody()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,6 @@ multipleSuccessors
|
||||
| cfg.swift:144:10:144:10 | =~ ... | no-match | cfg.swift:146:5:147:14 | case ... |
|
||||
| cfg.swift:515:6:515:28 | #available | false | cfg.swift:515:42:515:46 | iOS 12 |
|
||||
| cfg.swift:515:6:515:28 | #available | false | cfg.swift:519:10:519:10 | x |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cfg.swift:40:11:40:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cfg.swift:40:12:40:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cfg.swift:263:10:263:10 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cfg.swift:263:11:263:11 | .appendLiteral(_:) |
|
||||
deadEnd
|
||||
| cfg.swift:33:49:33:60 | call to isZero(x:) |
|
||||
| cfg.swift:144:18:144:34 | ... .&&(_:_:) ... |
|
||||
|
||||
@@ -5,10 +5,6 @@ multipleSuccessors
|
||||
| cfg.swift:144:10:144:10 | =~ ... | no-match | cfg.swift:146:5:147:14 | case ... |
|
||||
| cfg.swift:515:6:515:28 | #available | false | cfg.swift:515:42:515:46 | iOS 12 |
|
||||
| cfg.swift:515:6:515:28 | #available | false | cfg.swift:519:10:519:10 | x |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cfg.swift:40:11:40:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cfg.swift:40:12:40:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cfg.swift:263:10:263:10 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cfg.swift:263:11:263:11 | .appendLiteral(_:) |
|
||||
deadEnd
|
||||
| cfg.swift:33:49:33:60 | call to isZero(x:) |
|
||||
| cfg.swift:144:18:144:34 | ... .&&(_:_:) ... |
|
||||
|
||||
@@ -349,6 +349,7 @@ cfg.swift:
|
||||
#-----| match -> print(_:separator:terminator:)
|
||||
|
||||
# 40| print(_:separator:terminator:)
|
||||
#-----| -> OpaqueValueExpr
|
||||
|
||||
# 40| call to print(_:separator:terminator:)
|
||||
#-----| -> 0
|
||||
@@ -366,7 +367,6 @@ cfg.swift:
|
||||
#-----| -> [...]
|
||||
|
||||
# 40| OpaqueValueExpr
|
||||
#-----| -> .appendLiteral(_:)
|
||||
|
||||
# 40| TapExpr
|
||||
#-----| -> "..."
|
||||
@@ -2777,6 +2777,7 @@ cfg.swift:
|
||||
#-----| -> y
|
||||
|
||||
# 262| y
|
||||
#-----| -> OpaqueValueExpr
|
||||
|
||||
# 263| return ...
|
||||
#-----| return -> exit interpolatedString(x:y:) (normal)
|
||||
@@ -2788,7 +2789,6 @@ cfg.swift:
|
||||
#-----| -> return ...
|
||||
|
||||
# 263| OpaqueValueExpr
|
||||
#-----| -> .appendLiteral(_:)
|
||||
|
||||
# 263| TapExpr
|
||||
#-----| -> "..."
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
multipleSuccessors
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:13:23:13:23 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:13:24:13:24 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:22:12:22:12 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:22:13:22:13 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:23:12:23:12 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:23:13:23:13 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:24:12:24:12 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:24:13:24:13 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:30:12:30:12 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:30:13:30:13 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:31:12:31:12 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:31:13:31:13 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:32:12:32:12 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | stringinterpolation.swift:32:13:32:13 | .appendLiteral(_:) |
|
||||
@@ -150,7 +150,7 @@
|
||||
| stringinterpolation.swift:13:3:13:3 | self | stringinterpolation.swift:13:3:13:3 | &... |
|
||||
| stringinterpolation.swift:13:23:13:23 | "..." | stringinterpolation.swift:13:3:13:3 | [post] &... |
|
||||
| stringinterpolation.swift:13:23:13:23 | "..." | stringinterpolation.swift:13:23:13:23 | [post] "..." |
|
||||
| stringinterpolation.swift:13:23:13:23 | SSA def($interpolation) | stringinterpolation.swift:13:24:13:24 | SSA phi($interpolation) |
|
||||
| stringinterpolation.swift:13:23:13:23 | SSA def($interpolation) | stringinterpolation.swift:13:24:13:24 | $interpolation |
|
||||
| stringinterpolation.swift:13:23:13:23 | TapExpr | stringinterpolation.swift:13:23:13:23 | "..." |
|
||||
| stringinterpolation.swift:13:23:13:23 | first is: | stringinterpolation.swift:13:23:13:23 | [post] first is: |
|
||||
| stringinterpolation.swift:13:23:13:23 | first is: | stringinterpolation.swift:13:24:13:24 | [post] &... |
|
||||
@@ -158,7 +158,6 @@
|
||||
| stringinterpolation.swift:13:24:13:24 | &... | stringinterpolation.swift:13:23:13:23 | [post] first is: |
|
||||
| stringinterpolation.swift:13:24:13:24 | &... | stringinterpolation.swift:13:24:13:24 | [post] &... |
|
||||
| stringinterpolation.swift:13:24:13:24 | &... | stringinterpolation.swift:13:35:13:35 | $interpolation |
|
||||
| stringinterpolation.swift:13:24:13:24 | SSA phi($interpolation) | stringinterpolation.swift:13:24:13:24 | $interpolation |
|
||||
| stringinterpolation.swift:13:24:13:24 | [post] &... | stringinterpolation.swift:13:35:13:35 | $interpolation |
|
||||
| stringinterpolation.swift:13:35:13:35 | $interpolation | stringinterpolation.swift:13:35:13:35 | &... |
|
||||
| stringinterpolation.swift:13:35:13:35 | &... | stringinterpolation.swift:13:35:13:35 | [post] &... |
|
||||
@@ -179,7 +178,7 @@
|
||||
| stringinterpolation.swift:19:2:19:2 | p1 | stringinterpolation.swift:20:2:20:2 | p1 |
|
||||
| stringinterpolation.swift:20:2:20:2 | [post] p1 | stringinterpolation.swift:22:21:22:21 | p1 |
|
||||
| stringinterpolation.swift:20:2:20:2 | p1 | stringinterpolation.swift:22:21:22:21 | p1 |
|
||||
| stringinterpolation.swift:22:12:22:12 | SSA def($interpolation) | stringinterpolation.swift:22:13:22:13 | SSA phi($interpolation) |
|
||||
| stringinterpolation.swift:22:12:22:12 | SSA def($interpolation) | stringinterpolation.swift:22:13:22:13 | $interpolation |
|
||||
| stringinterpolation.swift:22:12:22:12 | TapExpr | stringinterpolation.swift:22:12:22:12 | "..." |
|
||||
| stringinterpolation.swift:22:12:22:12 | pair: | stringinterpolation.swift:22:12:22:12 | [post] pair: |
|
||||
| stringinterpolation.swift:22:12:22:12 | pair: | stringinterpolation.swift:22:13:22:13 | [post] &... |
|
||||
@@ -187,7 +186,6 @@
|
||||
| stringinterpolation.swift:22:13:22:13 | &... | stringinterpolation.swift:22:12:22:12 | [post] pair: |
|
||||
| stringinterpolation.swift:22:13:22:13 | &... | stringinterpolation.swift:22:13:22:13 | [post] &... |
|
||||
| stringinterpolation.swift:22:13:22:13 | &... | stringinterpolation.swift:22:20:22:20 | $interpolation |
|
||||
| stringinterpolation.swift:22:13:22:13 | SSA phi($interpolation) | stringinterpolation.swift:22:13:22:13 | $interpolation |
|
||||
| stringinterpolation.swift:22:13:22:13 | [post] &... | stringinterpolation.swift:22:20:22:20 | $interpolation |
|
||||
| stringinterpolation.swift:22:20:22:20 | $interpolation | stringinterpolation.swift:22:20:22:20 | &... |
|
||||
| stringinterpolation.swift:22:20:22:20 | &... | stringinterpolation.swift:22:20:22:20 | [post] &... |
|
||||
@@ -203,7 +201,7 @@
|
||||
| stringinterpolation.swift:22:30:22:30 | &... | stringinterpolation.swift:22:30:22:30 | [post] |
|
||||
| stringinterpolation.swift:22:30:22:30 | &... | stringinterpolation.swift:22:30:22:30 | [post] &... |
|
||||
| stringinterpolation.swift:22:30:22:30 | [post] &... | stringinterpolation.swift:22:12:22:12 | TapExpr |
|
||||
| stringinterpolation.swift:23:12:23:12 | SSA def($interpolation) | stringinterpolation.swift:23:13:23:13 | SSA phi($interpolation) |
|
||||
| stringinterpolation.swift:23:12:23:12 | SSA def($interpolation) | stringinterpolation.swift:23:13:23:13 | $interpolation |
|
||||
| stringinterpolation.swift:23:12:23:12 | TapExpr | stringinterpolation.swift:23:12:23:12 | "..." |
|
||||
| stringinterpolation.swift:23:12:23:12 | pair: | stringinterpolation.swift:23:12:23:12 | [post] pair: |
|
||||
| stringinterpolation.swift:23:12:23:12 | pair: | stringinterpolation.swift:23:13:23:13 | [post] &... |
|
||||
@@ -211,7 +209,6 @@
|
||||
| stringinterpolation.swift:23:13:23:13 | &... | stringinterpolation.swift:23:12:23:12 | [post] pair: |
|
||||
| stringinterpolation.swift:23:13:23:13 | &... | stringinterpolation.swift:23:13:23:13 | [post] &... |
|
||||
| stringinterpolation.swift:23:13:23:13 | &... | stringinterpolation.swift:23:20:23:20 | $interpolation |
|
||||
| stringinterpolation.swift:23:13:23:13 | SSA phi($interpolation) | stringinterpolation.swift:23:13:23:13 | $interpolation |
|
||||
| stringinterpolation.swift:23:13:23:13 | [post] &... | stringinterpolation.swift:23:20:23:20 | $interpolation |
|
||||
| stringinterpolation.swift:23:20:23:20 | $interpolation | stringinterpolation.swift:23:20:23:20 | &... |
|
||||
| stringinterpolation.swift:23:20:23:20 | &... | stringinterpolation.swift:23:20:23:20 | [post] &... |
|
||||
@@ -227,7 +224,7 @@
|
||||
| stringinterpolation.swift:23:31:23:31 | &... | stringinterpolation.swift:23:31:23:31 | [post] |
|
||||
| stringinterpolation.swift:23:31:23:31 | &... | stringinterpolation.swift:23:31:23:31 | [post] &... |
|
||||
| stringinterpolation.swift:23:31:23:31 | [post] &... | stringinterpolation.swift:23:12:23:12 | TapExpr |
|
||||
| stringinterpolation.swift:24:12:24:12 | SSA def($interpolation) | stringinterpolation.swift:24:13:24:13 | SSA phi($interpolation) |
|
||||
| stringinterpolation.swift:24:12:24:12 | SSA def($interpolation) | stringinterpolation.swift:24:13:24:13 | $interpolation |
|
||||
| stringinterpolation.swift:24:12:24:12 | TapExpr | stringinterpolation.swift:24:12:24:12 | "..." |
|
||||
| stringinterpolation.swift:24:12:24:12 | pair: | stringinterpolation.swift:24:12:24:12 | [post] pair: |
|
||||
| stringinterpolation.swift:24:12:24:12 | pair: | stringinterpolation.swift:24:13:24:13 | [post] &... |
|
||||
@@ -235,7 +232,6 @@
|
||||
| stringinterpolation.swift:24:13:24:13 | &... | stringinterpolation.swift:24:12:24:12 | [post] pair: |
|
||||
| stringinterpolation.swift:24:13:24:13 | &... | stringinterpolation.swift:24:13:24:13 | [post] &... |
|
||||
| stringinterpolation.swift:24:13:24:13 | &... | stringinterpolation.swift:24:20:24:20 | $interpolation |
|
||||
| stringinterpolation.swift:24:13:24:13 | SSA phi($interpolation) | stringinterpolation.swift:24:13:24:13 | $interpolation |
|
||||
| stringinterpolation.swift:24:13:24:13 | [post] &... | stringinterpolation.swift:24:20:24:20 | $interpolation |
|
||||
| stringinterpolation.swift:24:20:24:20 | $interpolation | stringinterpolation.swift:24:20:24:20 | &... |
|
||||
| stringinterpolation.swift:24:20:24:20 | &... | stringinterpolation.swift:24:20:24:20 | [post] &... |
|
||||
@@ -258,7 +254,7 @@
|
||||
| stringinterpolation.swift:27:2:27:2 | p2 | stringinterpolation.swift:28:2:28:2 | p2 |
|
||||
| stringinterpolation.swift:28:2:28:2 | [post] p2 | stringinterpolation.swift:30:21:30:21 | p2 |
|
||||
| stringinterpolation.swift:28:2:28:2 | p2 | stringinterpolation.swift:30:21:30:21 | p2 |
|
||||
| stringinterpolation.swift:30:12:30:12 | SSA def($interpolation) | stringinterpolation.swift:30:13:30:13 | SSA phi($interpolation) |
|
||||
| stringinterpolation.swift:30:12:30:12 | SSA def($interpolation) | stringinterpolation.swift:30:13:30:13 | $interpolation |
|
||||
| stringinterpolation.swift:30:12:30:12 | TapExpr | stringinterpolation.swift:30:12:30:12 | "..." |
|
||||
| stringinterpolation.swift:30:12:30:12 | pair: | stringinterpolation.swift:30:12:30:12 | [post] pair: |
|
||||
| stringinterpolation.swift:30:12:30:12 | pair: | stringinterpolation.swift:30:13:30:13 | [post] &... |
|
||||
@@ -266,7 +262,6 @@
|
||||
| stringinterpolation.swift:30:13:30:13 | &... | stringinterpolation.swift:30:12:30:12 | [post] pair: |
|
||||
| stringinterpolation.swift:30:13:30:13 | &... | stringinterpolation.swift:30:13:30:13 | [post] &... |
|
||||
| stringinterpolation.swift:30:13:30:13 | &... | stringinterpolation.swift:30:20:30:20 | $interpolation |
|
||||
| stringinterpolation.swift:30:13:30:13 | SSA phi($interpolation) | stringinterpolation.swift:30:13:30:13 | $interpolation |
|
||||
| stringinterpolation.swift:30:13:30:13 | [post] &... | stringinterpolation.swift:30:20:30:20 | $interpolation |
|
||||
| stringinterpolation.swift:30:20:30:20 | $interpolation | stringinterpolation.swift:30:20:30:20 | &... |
|
||||
| stringinterpolation.swift:30:20:30:20 | &... | stringinterpolation.swift:30:20:30:20 | [post] &... |
|
||||
@@ -282,7 +277,7 @@
|
||||
| stringinterpolation.swift:30:30:30:30 | &... | stringinterpolation.swift:30:30:30:30 | [post] |
|
||||
| stringinterpolation.swift:30:30:30:30 | &... | stringinterpolation.swift:30:30:30:30 | [post] &... |
|
||||
| stringinterpolation.swift:30:30:30:30 | [post] &... | stringinterpolation.swift:30:12:30:12 | TapExpr |
|
||||
| stringinterpolation.swift:31:12:31:12 | SSA def($interpolation) | stringinterpolation.swift:31:13:31:13 | SSA phi($interpolation) |
|
||||
| stringinterpolation.swift:31:12:31:12 | SSA def($interpolation) | stringinterpolation.swift:31:13:31:13 | $interpolation |
|
||||
| stringinterpolation.swift:31:12:31:12 | TapExpr | stringinterpolation.swift:31:12:31:12 | "..." |
|
||||
| stringinterpolation.swift:31:12:31:12 | pair: | stringinterpolation.swift:31:12:31:12 | [post] pair: |
|
||||
| stringinterpolation.swift:31:12:31:12 | pair: | stringinterpolation.swift:31:13:31:13 | [post] &... |
|
||||
@@ -290,7 +285,6 @@
|
||||
| stringinterpolation.swift:31:13:31:13 | &... | stringinterpolation.swift:31:12:31:12 | [post] pair: |
|
||||
| stringinterpolation.swift:31:13:31:13 | &... | stringinterpolation.swift:31:13:31:13 | [post] &... |
|
||||
| stringinterpolation.swift:31:13:31:13 | &... | stringinterpolation.swift:31:20:31:20 | $interpolation |
|
||||
| stringinterpolation.swift:31:13:31:13 | SSA phi($interpolation) | stringinterpolation.swift:31:13:31:13 | $interpolation |
|
||||
| stringinterpolation.swift:31:13:31:13 | [post] &... | stringinterpolation.swift:31:20:31:20 | $interpolation |
|
||||
| stringinterpolation.swift:31:20:31:20 | $interpolation | stringinterpolation.swift:31:20:31:20 | &... |
|
||||
| stringinterpolation.swift:31:20:31:20 | &... | stringinterpolation.swift:31:20:31:20 | [post] &... |
|
||||
@@ -306,7 +300,7 @@
|
||||
| stringinterpolation.swift:31:31:31:31 | &... | stringinterpolation.swift:31:31:31:31 | [post] |
|
||||
| stringinterpolation.swift:31:31:31:31 | &... | stringinterpolation.swift:31:31:31:31 | [post] &... |
|
||||
| stringinterpolation.swift:31:31:31:31 | [post] &... | stringinterpolation.swift:31:12:31:12 | TapExpr |
|
||||
| stringinterpolation.swift:32:12:32:12 | SSA def($interpolation) | stringinterpolation.swift:32:13:32:13 | SSA phi($interpolation) |
|
||||
| stringinterpolation.swift:32:12:32:12 | SSA def($interpolation) | stringinterpolation.swift:32:13:32:13 | $interpolation |
|
||||
| stringinterpolation.swift:32:12:32:12 | TapExpr | stringinterpolation.swift:32:12:32:12 | "..." |
|
||||
| stringinterpolation.swift:32:12:32:12 | pair: | stringinterpolation.swift:32:12:32:12 | [post] pair: |
|
||||
| stringinterpolation.swift:32:12:32:12 | pair: | stringinterpolation.swift:32:13:32:13 | [post] &... |
|
||||
@@ -314,7 +308,6 @@
|
||||
| stringinterpolation.swift:32:13:32:13 | &... | stringinterpolation.swift:32:12:32:12 | [post] pair: |
|
||||
| stringinterpolation.swift:32:13:32:13 | &... | stringinterpolation.swift:32:13:32:13 | [post] &... |
|
||||
| stringinterpolation.swift:32:13:32:13 | &... | stringinterpolation.swift:32:20:32:20 | $interpolation |
|
||||
| stringinterpolation.swift:32:13:32:13 | SSA phi($interpolation) | stringinterpolation.swift:32:13:32:13 | $interpolation |
|
||||
| stringinterpolation.swift:32:13:32:13 | [post] &... | stringinterpolation.swift:32:20:32:20 | $interpolation |
|
||||
| stringinterpolation.swift:32:20:32:20 | $interpolation | stringinterpolation.swift:32:20:32:20 | &... |
|
||||
| stringinterpolation.swift:32:20:32:20 | &... | stringinterpolation.swift:32:20:32:20 | [post] &... |
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
multipleSuccessors
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:139:13:139:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:139:14:139:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:141:13:141:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:141:14:141:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:143:13:143:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:143:14:143:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:147:13:147:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:147:14:147:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:149:13:149:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:149:14:149:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:151:13:151:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:151:14:151:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:154:13:154:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | string.swift:154:14:154:14 | .appendLiteral(_:) |
|
||||
deadEnd
|
||||
| file://:0:0:0:0 | ... = ... |
|
||||
| file://:0:0:0:0 | ... = ... |
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
multipleSuccessors
|
||||
| file://:0:0:0:0 | $interpolation | successor | UnsafeWebViewFetch.swift:126:25:126:25 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | UnsafeWebViewFetch.swift:126:26:126:26 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | UnsafeWebViewFetch.swift:127:25:127:25 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | UnsafeWebViewFetch.swift:127:26:127:26 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | UnsafeWebViewFetch.swift:173:25:173:25 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | UnsafeWebViewFetch.swift:173:26:173:26 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | UnsafeWebViewFetch.swift:174:25:174:25 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | UnsafeWebViewFetch.swift:174:26:174:26 | .appendLiteral(_:) |
|
||||
@@ -1,15 +1,2 @@
|
||||
multipleSuccessors
|
||||
| file://:0:0:0:0 | $interpolation | successor | SQLite.swift:67:21:67:21 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | SQLite.swift:67:22:67:22 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | SQLite.swift:68:19:68:19 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | SQLite.swift:68:20:68:20 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | SQLite.swift:69:19:69:19 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | SQLite.swift:69:20:69:20 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | sqlite3_c_api.swift:127:21:127:21 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | sqlite3_c_api.swift:127:22:127:22 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | sqlite3_c_api.swift:128:19:128:19 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | sqlite3_c_api.swift:128:20:128:20 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | sqlite3_c_api.swift:129:19:129:19 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | sqlite3_c_api.swift:129:20:129:20 | .appendLiteral(_:) |
|
||||
deadEnd
|
||||
| file://:0:0:0:0 | ... = ... |
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
multipleSuccessors
|
||||
| file://:0:0:0:0 | $interpolation | successor | UncontrolledFormatString.swift:94:22:94:22 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | UncontrolledFormatString.swift:94:23:94:23 | .appendLiteral(_:) |
|
||||
@@ -1,41 +0,0 @@
|
||||
multipleSuccessors
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation2.swift:38:11:38:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation2.swift:38:12:38:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:46:11:46:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:46:12:46:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:47:11:47:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:47:12:47:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:48:11:48:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:48:12:48:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:57:11:57:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:57:12:57:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:61:11:61:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:61:12:61:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:67:11:67:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:67:12:67:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:75:11:75:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:75:12:75:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:82:11:82:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:82:12:82:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:91:11:91:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:91:12:91:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:97:11:97:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:97:12:97:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:101:11:101:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:101:12:101:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:105:11:105:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:105:12:105:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:109:11:109:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:109:12:109:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:115:11:115:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:115:12:115:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:121:11:121:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:121:12:121:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:127:11:127:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:127:12:127:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:133:11:133:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:133:12:133:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:139:11:139:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:139:12:139:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:145:11:145:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | StringLengthConflation.swift:145:12:145:12 | .appendLiteral(_:) |
|
||||
@@ -1,62 +1,3 @@
|
||||
multipleSuccessors
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:98:11:98:11 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:98:12:98:12 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:107:13:107:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:107:14:107:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:108:13:108:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:108:14:108:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:109:13:109:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:109:14:109:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:110:13:110:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:110:14:110:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:111:13:111:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:111:14:111:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:112:13:112:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:112:14:112:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:113:13:113:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:113:14:113:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:114:13:114:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:114:14:114:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:115:13:115:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:115:14:115:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:116:13:116:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:116:14:116:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:117:13:117:13 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:117:14:117:14 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:118:30:118:30 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:118:31:118:31 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:119:15:119:15 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:119:16:119:16 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:120:15:120:15 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:120:16:120:16 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:121:15:121:15 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:121:16:121:16 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:122:15:122:15 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:122:16:122:16 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:123:14:123:14 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:123:15:123:15 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:124:14:124:14 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:124:15:124:15 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:125:16:125:16 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:125:17:125:17 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:126:16:126:16 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:126:17:126:17 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:127:17:127:17 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:127:18:127:18 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:128:17:128:17 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:128:18:128:18 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:129:15:129:15 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:129:16:129:16 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:130:15:130:15 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:130:16:130:16 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:131:18:131:18 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:131:19:131:19 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:132:18:132:18 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:132:19:132:19 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:133:15:133:15 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:133:16:133:16 | .appendLiteral(_:) |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:134:15:134:15 | OpaqueValueExpr |
|
||||
| file://:0:0:0:0 | $interpolation | successor | cleartextLoggingTest.swift:134:16:134:16 | .appendLiteral(_:) |
|
||||
deadEnd
|
||||
| file://:0:0:0:0 | ... = ... |
|
||||
| file://:0:0:0:0 | ... = ... |
|
||||
|
||||
Reference in New Issue
Block a user