Swift: Add more tests for Numerics.

This commit is contained in:
Geoffrey White
2023-09-28 16:00:27 +01:00
parent 39499142a6
commit df1bc1a597
3 changed files with 498 additions and 356 deletions

View File

@@ -1,125 +1,176 @@
| conversions.swift:9:7:9:7 | SSA def(self) | conversions.swift:9:7:9:7 | self[return] |
| conversions.swift:9:7:9:7 | SSA def(self) | conversions.swift:9:7:9:7 | self[return] |
| conversions.swift:9:7:9:7 | self | conversions.swift:9:7:9:7 | SSA def(self) |
| conversions.swift:9:7:9:7 | self | conversions.swift:9:7:9:7 | SSA def(self) |
| conversions.swift:12:7:12:7 | SSA def(self) | conversions.swift:12:7:12:7 | self[return] |
| conversions.swift:12:7:12:7 | self | conversions.swift:12:7:12:7 | SSA def(self) |
| conversions.swift:12:36:12:36 | SSA def(self) | conversions.swift:12:36:12:36 | self[return] |
| conversions.swift:12:36:12:36 | self | conversions.swift:12:36:12:36 | SSA def(self) |
| conversions.swift:15:7:15:7 | SSA def(self) | conversions.swift:15:7:15:7 | self[return] |
| conversions.swift:15:7:15:7 | SSA def(self) | conversions.swift:15:7:15:7 | self[return] |
| conversions.swift:15:7:15:7 | self | conversions.swift:15:7:15:7 | SSA def(self) |
| conversions.swift:16:11:16:11 | SSA def(self) | conversions.swift:16:11:16:42 | self[return] |
| conversions.swift:16:11:16:11 | self | conversions.swift:16:11:16:11 | SSA def(self) |
| conversions.swift:16:11:16:42 | [summary param] 0 in MyString.init(_:) | conversions.swift:16:11:16:42 | [summary] to write: ReturnValue in MyString.init(_:) |
| conversions.swift:18:28:18:28 | SSA def(self) | conversions.swift:18:28:18:44 | self[return] |
| conversions.swift:18:28:18:28 | self | conversions.swift:18:28:18:28 | SSA def(self) |
| conversions.swift:19:33:19:33 | SSA def(self) | conversions.swift:19:33:19:49 | self[return] |
| conversions.swift:19:33:19:33 | self | conversions.swift:19:33:19:33 | SSA def(self) |
| conversions.swift:20:22:20:22 | SSA def(self) | conversions.swift:20:22:20:38 | self[return] |
| conversions.swift:20:22:20:22 | self | conversions.swift:20:22:20:22 | SSA def(self) |
| conversions.swift:27:16:27:26 | call to sourceInt() | conversions.swift:27:12:27:27 | call to Self.init(_:) |
| conversions.swift:28:18:28:28 | call to sourceInt() | conversions.swift:28:12:28:29 | call to Self.init(_:) |
| conversions.swift:29:18:29:28 | call to sourceInt() | conversions.swift:29:12:29:29 | call to Float.init(_:) |
| conversions.swift:30:19:30:29 | call to sourceInt() | conversions.swift:30:12:30:30 | call to String.init(_:) |
| conversions.swift:31:12:31:30 | call to String.init(_:) | conversions.swift:31:12:31:32 | .utf8 |
| conversions.swift:31:19:31:29 | call to sourceInt() | conversions.swift:31:12:31:30 | call to String.init(_:) |
| conversions.swift:33:6:33:6 | SSA def(arr) | conversions.swift:34:12:34:12 | arr |
| conversions.swift:33:6:33:6 | arr | conversions.swift:33:6:33:6 | SSA def(arr) |
| conversions.swift:33:12:33:30 | [...] | conversions.swift:33:6:33:6 | arr |
| conversions.swift:34:12:34:12 | arr | conversions.swift:35:12:35:12 | arr |
| conversions.swift:35:12:35:12 | [post] arr | conversions.swift:36:20:36:20 | arr |
| conversions.swift:35:12:35:12 | arr | conversions.swift:35:12:35:17 | ...[...] |
| conversions.swift:35:12:35:12 | arr | conversions.swift:36:20:36:20 | arr |
| conversions.swift:36:20:36:20 | arr | conversions.swift:37:20:37:20 | arr |
| conversions.swift:37:12:37:23 | call to Array<Element>.init(_:) | conversions.swift:37:12:37:26 | ...[...] |
| conversions.swift:38:20:38:33 | call to sourceString() | conversions.swift:38:20:38:35 | .utf8 |
| conversions.swift:39:12:39:39 | call to Array<Element>.init(_:) | conversions.swift:39:12:39:42 | ...[...] |
| conversions.swift:39:20:39:33 | call to sourceString() | conversions.swift:39:20:39:35 | .utf8 |
| conversions.swift:41:5:41:9 | let ...? | conversions.swift:41:9:41:9 | v |
| conversions.swift:41:9:41:9 | SSA def(v) | conversions.swift:42:13:42:13 | v |
| conversions.swift:41:9:41:9 | v | conversions.swift:41:9:41:9 | SSA def(v) |
| conversions.swift:41:13:41:23 | call to sourceInt() | conversions.swift:41:5:41:9 | let ...? |
| conversions.swift:45:6:45:6 | SSA def(v2) | conversions.swift:46:12:46:12 | v2 |
| conversions.swift:45:6:45:6 | v2 | conversions.swift:45:6:45:6 | SSA def(v2) |
| conversions.swift:45:6:45:10 | ... as ... | conversions.swift:45:6:45:6 | v2 |
| conversions.swift:45:18:45:41 | call to numericCast(_:) | conversions.swift:45:6:45:10 | ... as ... |
| conversions.swift:45:30:45:40 | call to sourceInt() | conversions.swift:45:18:45:41 | call to numericCast(_:) |
| conversions.swift:48:6:48:6 | SSA def(v4) | conversions.swift:49:12:49:12 | v4 |
| conversions.swift:48:6:48:6 | v4 | conversions.swift:48:6:48:6 | SSA def(v4) |
| conversions.swift:48:6:48:10 | ... as ... | conversions.swift:48:6:48:6 | v4 |
| conversions.swift:48:17:48:57 | call to unsafeBitCast(_:to:) | conversions.swift:48:6:48:10 | ... as ... |
| conversions.swift:48:31:48:41 | call to sourceInt() | conversions.swift:48:17:48:57 | call to unsafeBitCast(_:to:) |
| conversions.swift:51:6:51:6 | SSA def(v5) | conversions.swift:52:12:52:12 | v5 |
| conversions.swift:51:6:51:6 | v5 | conversions.swift:51:6:51:6 | SSA def(v5) |
| conversions.swift:51:11:51:47 | call to Self.init(truncatingIfNeeded:) | conversions.swift:51:6:51:6 | v5 |
| conversions.swift:51:36:51:46 | call to sourceInt() | conversions.swift:51:11:51:47 | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:54:6:54:6 | SSA def(v6) | conversions.swift:55:12:55:12 | v6 |
| conversions.swift:54:6:54:6 | v6 | conversions.swift:54:6:54:6 | SSA def(v6) |
| conversions.swift:54:11:54:39 | call to UInt.init(bitPattern:) | conversions.swift:54:6:54:6 | v6 |
| conversions.swift:54:28:54:38 | call to sourceInt() | conversions.swift:54:11:54:39 | call to UInt.init(bitPattern:) |
| conversions.swift:57:12:57:36 | call to Self.init(exactly:) | conversions.swift:57:12:57:37 | ...! |
| conversions.swift:58:26:58:36 | call to sourceInt() | conversions.swift:58:12:58:37 | call to Self.init(clamping:) |
| conversions.swift:59:36:59:46 | call to sourceInt() | conversions.swift:59:12:59:47 | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:60:12:60:41 | call to Self.init(_:radix:) | conversions.swift:60:12:60:42 | ...! |
| conversions.swift:60:16:60:29 | call to sourceString() | conversions.swift:60:12:60:41 | call to Self.init(_:radix:) |
| conversions.swift:62:30:62:40 | call to sourceInt() | conversions.swift:62:12:62:41 | call to Self.init(littleEndian:) |
| conversions.swift:63:27:63:37 | call to sourceInt() | conversions.swift:63:12:63:38 | call to Self.init(bigEndian:) |
| conversions.swift:64:12:64:22 | call to sourceInt() | conversions.swift:64:12:64:24 | .littleEndian |
| conversions.swift:65:12:65:22 | call to sourceInt() | conversions.swift:65:12:65:24 | .bigEndian |
| conversions.swift:70:18:70:30 | call to sourceFloat() | conversions.swift:70:12:70:31 | call to Float.init(_:) |
| conversions.swift:71:18:71:30 | call to sourceFloat() | conversions.swift:71:12:71:31 | call to UInt8.init(_:) |
| conversions.swift:72:19:72:31 | call to sourceFloat() | conversions.swift:72:12:72:32 | call to String.init(_:) |
| conversions.swift:73:12:73:32 | call to String.init(_:) | conversions.swift:73:12:73:34 | .utf8 |
| conversions.swift:73:19:73:31 | call to sourceFloat() | conversions.swift:73:12:73:32 | call to String.init(_:) |
| conversions.swift:75:18:75:30 | call to sourceFloat() | conversions.swift:75:12:75:31 | call to Float.init(_:) |
| conversions.swift:76:41:76:51 | call to sourceInt() | conversions.swift:76:12:76:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:76:67:76:67 | 0.0 | conversions.swift:76:12:76:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:77:41:77:41 | 0 | conversions.swift:77:12:77:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:77:57:77:69 | call to sourceFloat() | conversions.swift:77:12:77:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:78:54:78:54 | 0.0 | conversions.swift:78:12:78:57 | call to Float.init(signOf:magnitudeOf:) |
| conversions.swift:79:44:79:56 | call to sourceFloat() | conversions.swift:79:12:79:57 | call to Float.init(signOf:magnitudeOf:) |
| conversions.swift:81:12:81:24 | call to sourceFloat() | conversions.swift:81:12:81:26 | .exponent |
| conversions.swift:82:12:82:24 | call to sourceFloat() | conversions.swift:82:12:82:26 | .significand |
| conversions.swift:87:19:87:32 | call to sourceString() | conversions.swift:87:12:87:33 | call to String.init(_:) |
| conversions.swift:89:6:89:6 | SSA def(ms1) | conversions.swift:90:12:90:12 | ms1 |
| conversions.swift:89:6:89:6 | ms1 | conversions.swift:89:6:89:6 | SSA def(ms1) |
| conversions.swift:89:12:89:26 | call to MyString.init(_:) | conversions.swift:89:12:89:27 | ...! |
| conversions.swift:89:12:89:27 | ...! | conversions.swift:89:6:89:6 | ms1 |
| conversions.swift:89:21:89:21 | abc | conversions.swift:89:12:89:26 | call to MyString.init(_:) |
| conversions.swift:90:12:90:12 | [post] ms1 | conversions.swift:91:12:91:12 | ms1 |
| conversions.swift:90:12:90:12 | ms1 | conversions.swift:91:12:91:12 | ms1 |
| conversions.swift:91:12:91:12 | [post] ms1 | conversions.swift:92:12:92:12 | ms1 |
| conversions.swift:91:12:91:12 | ms1 | conversions.swift:92:12:92:12 | ms1 |
| conversions.swift:92:12:92:12 | [post] ms1 | conversions.swift:93:12:93:12 | ms1 |
| conversions.swift:92:12:92:12 | ms1 | conversions.swift:93:12:93:12 | ms1 |
| conversions.swift:95:6:95:6 | SSA def(ms2) | conversions.swift:96:12:96:12 | ms2 |
| conversions.swift:95:6:95:6 | ms2 | conversions.swift:95:6:95:6 | SSA def(ms2) |
| conversions.swift:95:12:95:35 | call to MyString.init(_:) | conversions.swift:95:12:95:36 | ...! |
| conversions.swift:95:12:95:36 | ...! | conversions.swift:95:6:95:6 | ms2 |
| conversions.swift:95:21:95:34 | call to sourceString() | conversions.swift:95:12:95:35 | call to MyString.init(_:) |
| conversions.swift:96:12:96:12 | [post] ms2 | conversions.swift:97:12:97:12 | ms2 |
| conversions.swift:96:12:96:12 | ms2 | conversions.swift:97:12:97:12 | ms2 |
| conversions.swift:97:12:97:12 | [post] ms2 | conversions.swift:98:12:98:12 | ms2 |
| conversions.swift:97:12:97:12 | ms2 | conversions.swift:98:12:98:12 | ms2 |
| conversions.swift:98:12:98:12 | [post] ms2 | conversions.swift:99:12:99:12 | ms2 |
| conversions.swift:98:12:98:12 | ms2 | conversions.swift:99:12:99:12 | ms2 |
| conversions.swift:103:6:103:6 | SSA def(parent) | conversions.swift:104:12:104:12 | parent |
| conversions.swift:103:6:103:6 | parent | conversions.swift:103:6:103:6 | SSA def(parent) |
| conversions.swift:103:6:103:15 | ... as ... | conversions.swift:103:6:103:6 | parent |
| conversions.swift:103:31:103:44 | call to sourceString() | conversions.swift:103:6:103:15 | ... as ... |
| conversions.swift:104:12:104:12 | [post] parent | conversions.swift:105:12:105:12 | parent |
| conversions.swift:104:12:104:12 | parent | conversions.swift:105:12:105:12 | parent |
| conversions.swift:105:12:105:12 | [post] parent | conversions.swift:107:40:107:40 | parent |
| conversions.swift:105:12:105:12 | parent | conversions.swift:107:40:107:40 | parent |
| conversions.swift:107:6:107:6 | SSA def(v3) | conversions.swift:108:12:108:12 | v3 |
| conversions.swift:107:6:107:6 | v3 | conversions.swift:107:6:107:6 | SSA def(v3) |
| conversions.swift:107:6:107:10 | ... as ... | conversions.swift:107:6:107:6 | v3 |
| conversions.swift:107:25:107:69 | call to unsafeDowncast(_:to:) | conversions.swift:107:6:107:10 | ... as ... |
| conversions.swift:107:40:107:40 | parent | conversions.swift:107:25:107:69 | call to unsafeDowncast(_:to:) |
| conversions.swift:108:12:108:12 | [post] v3 | conversions.swift:109:12:109:12 | v3 |
| conversions.swift:108:12:108:12 | v3 | conversions.swift:109:12:109:12 | v3 |
| conversions.swift:116:24:116:24 | myCEnumConst | conversions.swift:116:12:116:36 | call to Self.init(_:) |
| conversions.swift:117:24:117:34 | call to sourceInt() | conversions.swift:117:12:117:35 | call to Self.init(_:) |
| conversions.swift:15:7:15:7 | self | conversions.swift:15:7:15:7 | SSA def(self) |
| conversions.swift:18:7:18:7 | SSA def(self) | conversions.swift:18:7:18:7 | self[return] |
| conversions.swift:18:7:18:7 | self | conversions.swift:18:7:18:7 | SSA def(self) |
| conversions.swift:18:36:18:36 | SSA def(self) | conversions.swift:18:36:18:36 | self[return] |
| conversions.swift:18:36:18:36 | self | conversions.swift:18:36:18:36 | SSA def(self) |
| conversions.swift:21:7:21:7 | SSA def(self) | conversions.swift:21:7:21:7 | self[return] |
| conversions.swift:21:7:21:7 | self | conversions.swift:21:7:21:7 | SSA def(self) |
| conversions.swift:22:11:22:11 | SSA def(self) | conversions.swift:22:11:22:42 | self[return] |
| conversions.swift:22:11:22:11 | self | conversions.swift:22:11:22:11 | SSA def(self) |
| conversions.swift:22:11:22:42 | [summary param] 0 in MyString.init(_:) | conversions.swift:22:11:22:42 | [summary] to write: ReturnValue in MyString.init(_:) |
| conversions.swift:24:28:24:28 | SSA def(self) | conversions.swift:24:28:24:44 | self[return] |
| conversions.swift:24:28:24:28 | self | conversions.swift:24:28:24:28 | SSA def(self) |
| conversions.swift:25:33:25:33 | SSA def(self) | conversions.swift:25:33:25:49 | self[return] |
| conversions.swift:25:33:25:33 | self | conversions.swift:25:33:25:33 | SSA def(self) |
| conversions.swift:26:22:26:22 | SSA def(self) | conversions.swift:26:22:26:38 | self[return] |
| conversions.swift:26:22:26:22 | self | conversions.swift:26:22:26:22 | SSA def(self) |
| conversions.swift:33:16:33:26 | call to sourceInt() | conversions.swift:33:12:33:27 | call to Self.init(_:) |
| conversions.swift:34:18:34:28 | call to sourceInt() | conversions.swift:34:12:34:29 | call to Self.init(_:) |
| conversions.swift:35:18:35:28 | call to sourceInt() | conversions.swift:35:12:35:29 | call to Float.init(_:) |
| conversions.swift:36:19:36:29 | call to sourceInt() | conversions.swift:36:12:36:30 | call to String.init(_:) |
| conversions.swift:37:12:37:30 | call to String.init(_:) | conversions.swift:37:12:37:32 | .utf8 |
| conversions.swift:37:19:37:29 | call to sourceInt() | conversions.swift:37:12:37:30 | call to String.init(_:) |
| conversions.swift:39:6:39:6 | SSA def(arr) | conversions.swift:40:12:40:12 | arr |
| conversions.swift:39:6:39:6 | arr | conversions.swift:39:6:39:6 | SSA def(arr) |
| conversions.swift:39:12:39:30 | [...] | conversions.swift:39:6:39:6 | arr |
| conversions.swift:40:12:40:12 | arr | conversions.swift:41:12:41:12 | arr |
| conversions.swift:41:12:41:12 | [post] arr | conversions.swift:42:20:42:20 | arr |
| conversions.swift:41:12:41:12 | arr | conversions.swift:41:12:41:17 | ...[...] |
| conversions.swift:41:12:41:12 | arr | conversions.swift:42:20:42:20 | arr |
| conversions.swift:42:20:42:20 | arr | conversions.swift:43:20:43:20 | arr |
| conversions.swift:43:12:43:23 | call to Array<Element>.init(_:) | conversions.swift:43:12:43:26 | ...[...] |
| conversions.swift:44:20:44:33 | call to sourceString() | conversions.swift:44:20:44:35 | .utf8 |
| conversions.swift:45:12:45:39 | call to Array<Element>.init(_:) | conversions.swift:45:12:45:42 | ...[...] |
| conversions.swift:45:20:45:33 | call to sourceString() | conversions.swift:45:20:45:35 | .utf8 |
| conversions.swift:47:5:47:9 | let ...? | conversions.swift:47:9:47:9 | v |
| conversions.swift:47:9:47:9 | SSA def(v) | conversions.swift:48:13:48:13 | v |
| conversions.swift:47:9:47:9 | v | conversions.swift:47:9:47:9 | SSA def(v) |
| conversions.swift:47:13:47:23 | call to sourceInt() | conversions.swift:47:5:47:9 | let ...? |
| conversions.swift:51:6:51:6 | SSA def(v2) | conversions.swift:52:12:52:12 | v2 |
| conversions.swift:51:6:51:6 | v2 | conversions.swift:51:6:51:6 | SSA def(v2) |
| conversions.swift:51:6:51:10 | ... as ... | conversions.swift:51:6:51:6 | v2 |
| conversions.swift:51:18:51:41 | call to numericCast(_:) | conversions.swift:51:6:51:10 | ... as ... |
| conversions.swift:51:30:51:40 | call to sourceInt() | conversions.swift:51:18:51:41 | call to numericCast(_:) |
| conversions.swift:54:6:54:6 | SSA def(v4) | conversions.swift:55:12:55:12 | v4 |
| conversions.swift:54:6:54:6 | v4 | conversions.swift:54:6:54:6 | SSA def(v4) |
| conversions.swift:54:6:54:10 | ... as ... | conversions.swift:54:6:54:6 | v4 |
| conversions.swift:54:17:54:57 | call to unsafeBitCast(_:to:) | conversions.swift:54:6:54:10 | ... as ... |
| conversions.swift:54:31:54:41 | call to sourceInt() | conversions.swift:54:17:54:57 | call to unsafeBitCast(_:to:) |
| conversions.swift:57:6:57:6 | SSA def(v5) | conversions.swift:58:12:58:12 | v5 |
| conversions.swift:57:6:57:6 | v5 | conversions.swift:57:6:57:6 | SSA def(v5) |
| conversions.swift:57:11:57:47 | call to Self.init(truncatingIfNeeded:) | conversions.swift:57:6:57:6 | v5 |
| conversions.swift:57:36:57:46 | call to sourceInt() | conversions.swift:57:11:57:47 | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:60:6:60:6 | SSA def(v6) | conversions.swift:61:12:61:12 | v6 |
| conversions.swift:60:6:60:6 | v6 | conversions.swift:60:6:60:6 | SSA def(v6) |
| conversions.swift:60:11:60:39 | call to UInt.init(bitPattern:) | conversions.swift:60:6:60:6 | v6 |
| conversions.swift:60:28:60:38 | call to sourceInt() | conversions.swift:60:11:60:39 | call to UInt.init(bitPattern:) |
| conversions.swift:63:6:63:6 | SSA def(v7) | conversions.swift:64:12:64:12 | v7 |
| conversions.swift:63:6:63:6 | v7 | conversions.swift:63:6:63:6 | SSA def(v7) |
| conversions.swift:63:11:63:26 | call to abs(_:) | conversions.swift:63:6:63:6 | v7 |
| conversions.swift:66:6:66:6 | SSA def(v8) | conversions.swift:67:12:67:12 | v8 |
| conversions.swift:66:6:66:6 | v8 | conversions.swift:66:6:66:6 | SSA def(v8) |
| conversions.swift:66:18:66:18 | 0 | conversions.swift:66:6:66:6 | v8 |
| conversions.swift:67:12:67:12 | [post] v8 | conversions.swift:68:12:68:12 | v8 |
| conversions.swift:67:12:67:12 | v8 | conversions.swift:68:12:68:12 | v8 |
| conversions.swift:68:12:68:12 | [post] v8 | conversions.swift:69:12:69:12 | v8 |
| conversions.swift:68:12:68:12 | v8 | conversions.swift:69:12:69:12 | v8 |
| conversions.swift:71:12:71:36 | call to Self.init(exactly:) | conversions.swift:71:12:71:37 | ...! |
| conversions.swift:72:12:72:39 | call to Self.init(exactly:) | conversions.swift:72:12:72:40 | ...! |
| conversions.swift:73:26:73:36 | call to sourceInt() | conversions.swift:73:12:73:37 | call to Self.init(clamping:) |
| conversions.swift:74:36:74:46 | call to sourceInt() | conversions.swift:74:12:74:47 | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:75:12:75:41 | call to Self.init(_:radix:) | conversions.swift:75:12:75:42 | ...! |
| conversions.swift:75:16:75:29 | call to sourceString() | conversions.swift:75:12:75:41 | call to Self.init(_:radix:) |
| conversions.swift:77:30:77:40 | call to sourceInt() | conversions.swift:77:12:77:41 | call to Self.init(littleEndian:) |
| conversions.swift:78:27:78:37 | call to sourceInt() | conversions.swift:78:12:78:38 | call to Self.init(bigEndian:) |
| conversions.swift:79:12:79:22 | call to sourceInt() | conversions.swift:79:12:79:24 | .littleEndian |
| conversions.swift:80:12:80:22 | call to sourceInt() | conversions.swift:80:12:80:24 | .bigEndian |
| conversions.swift:82:7:82:7 | SSA def(q1) | conversions.swift:83:12:83:12 | q1 |
| conversions.swift:82:7:82:7 | q1 | conversions.swift:82:7:82:7 | SSA def(q1) |
| conversions.swift:82:11:82:11 | SSA def(r1) | conversions.swift:84:12:84:12 | r1 |
| conversions.swift:82:11:82:11 | r1 | conversions.swift:82:11:82:11 | SSA def(r1) |
| conversions.swift:82:17:82:56 | call to quotientAndRemainder(dividingBy:) | conversions.swift:82:6:82:13 | (...) |
| conversions.swift:86:7:86:7 | SSA def(q2) | conversions.swift:87:12:87:12 | q2 |
| conversions.swift:86:7:86:7 | q2 | conversions.swift:86:7:86:7 | SSA def(q2) |
| conversions.swift:86:11:86:11 | SSA def(r2) | conversions.swift:88:12:88:12 | r2 |
| conversions.swift:86:11:86:11 | r2 | conversions.swift:86:11:86:11 | SSA def(r2) |
| conversions.swift:86:17:86:63 | call to quotientAndRemainder(dividingBy:) | conversions.swift:86:6:86:13 | (...) |
| conversions.swift:90:7:90:7 | SSA def(q3) | conversions.swift:91:12:91:12 | q3 |
| conversions.swift:90:7:90:7 | q3 | conversions.swift:90:7:90:7 | SSA def(q3) |
| conversions.swift:90:11:90:11 | SSA def(r3) | conversions.swift:92:12:92:12 | r3 |
| conversions.swift:90:11:90:11 | r3 | conversions.swift:90:11:90:11 | SSA def(r3) |
| conversions.swift:90:17:90:66 | call to quotientAndRemainder(dividingBy:) | conversions.swift:90:6:90:13 | (...) |
| conversions.swift:94:6:94:6 | SSA def(pair1) | conversions.swift:95:12:95:12 | pair1 |
| conversions.swift:94:6:94:6 | pair1 | conversions.swift:94:6:94:6 | SSA def(pair1) |
| conversions.swift:94:14:94:44 | call to addingReportingOverflow(_:) | conversions.swift:94:6:94:6 | pair1 |
| conversions.swift:95:12:95:12 | [post] pair1 | conversions.swift:96:12:96:12 | pair1 |
| conversions.swift:95:12:95:12 | pair1 | conversions.swift:96:12:96:12 | pair1 |
| conversions.swift:98:6:98:6 | SSA def(pair2) | conversions.swift:99:12:99:12 | pair2 |
| conversions.swift:98:6:98:6 | pair2 | conversions.swift:98:6:98:6 | SSA def(pair2) |
| conversions.swift:98:14:98:51 | call to addingReportingOverflow(_:) | conversions.swift:98:6:98:6 | pair2 |
| conversions.swift:99:12:99:12 | [post] pair2 | conversions.swift:100:12:100:12 | pair2 |
| conversions.swift:99:12:99:12 | pair2 | conversions.swift:100:12:100:12 | pair2 |
| conversions.swift:102:6:102:6 | SSA def(pair3) | conversions.swift:103:12:103:12 | pair3 |
| conversions.swift:102:6:102:6 | pair3 | conversions.swift:102:6:102:6 | SSA def(pair3) |
| conversions.swift:102:14:102:54 | call to addingReportingOverflow(_:) | conversions.swift:102:6:102:6 | pair3 |
| conversions.swift:103:12:103:12 | [post] pair3 | conversions.swift:104:12:104:12 | pair3 |
| conversions.swift:103:12:103:12 | pair3 | conversions.swift:104:12:104:12 | pair3 |
| conversions.swift:109:18:109:30 | call to sourceFloat() | conversions.swift:109:12:109:31 | call to Float.init(_:) |
| conversions.swift:110:18:110:30 | call to sourceFloat() | conversions.swift:110:12:110:31 | call to UInt8.init(_:) |
| conversions.swift:111:19:111:31 | call to sourceFloat() | conversions.swift:111:12:111:32 | call to String.init(_:) |
| conversions.swift:112:12:112:32 | call to String.init(_:) | conversions.swift:112:12:112:34 | .utf8 |
| conversions.swift:112:19:112:31 | call to sourceFloat() | conversions.swift:112:12:112:32 | call to String.init(_:) |
| conversions.swift:113:19:113:33 | call to sourceFloat80() | conversions.swift:113:12:113:34 | call to String.init(_:) |
| conversions.swift:114:12:114:34 | call to String.init(_:) | conversions.swift:114:12:114:36 | .utf8 |
| conversions.swift:114:19:114:33 | call to sourceFloat80() | conversions.swift:114:12:114:34 | call to String.init(_:) |
| conversions.swift:115:19:115:32 | call to sourceDouble() | conversions.swift:115:12:115:33 | call to String.init(_:) |
| conversions.swift:116:12:116:33 | call to String.init(_:) | conversions.swift:116:12:116:35 | .utf8 |
| conversions.swift:116:19:116:32 | call to sourceDouble() | conversions.swift:116:12:116:33 | call to String.init(_:) |
| conversions.swift:118:18:118:30 | call to sourceFloat() | conversions.swift:118:12:118:31 | call to Float.init(_:) |
| conversions.swift:119:41:119:51 | call to sourceInt() | conversions.swift:119:12:119:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:119:67:119:67 | 0.0 | conversions.swift:119:12:119:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:120:41:120:41 | 0 | conversions.swift:120:12:120:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:120:57:120:69 | call to sourceFloat() | conversions.swift:120:12:120:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:121:54:121:54 | 0.0 | conversions.swift:121:12:121:57 | call to Float.init(signOf:magnitudeOf:) |
| conversions.swift:122:44:122:56 | call to sourceFloat() | conversions.swift:122:12:122:57 | call to Float.init(signOf:magnitudeOf:) |
| conversions.swift:124:12:124:24 | call to sourceFloat() | conversions.swift:124:12:124:26 | .exponent |
| conversions.swift:125:12:125:24 | call to sourceFloat() | conversions.swift:125:12:125:26 | .significand |
| conversions.swift:126:12:126:26 | call to sourceFloat80() | conversions.swift:126:12:126:28 | .exponent |
| conversions.swift:127:12:127:26 | call to sourceFloat80() | conversions.swift:127:12:127:28 | .significand |
| conversions.swift:128:12:128:25 | call to sourceDouble() | conversions.swift:128:12:128:27 | .exponent |
| conversions.swift:129:12:129:25 | call to sourceDouble() | conversions.swift:129:12:129:27 | .significand |
| conversions.swift:136:19:136:32 | call to sourceString() | conversions.swift:136:12:136:33 | call to String.init(_:) |
| conversions.swift:138:6:138:6 | SSA def(ms1) | conversions.swift:139:12:139:12 | ms1 |
| conversions.swift:138:6:138:6 | ms1 | conversions.swift:138:6:138:6 | SSA def(ms1) |
| conversions.swift:138:12:138:26 | call to MyString.init(_:) | conversions.swift:138:12:138:27 | ...! |
| conversions.swift:138:12:138:27 | ...! | conversions.swift:138:6:138:6 | ms1 |
| conversions.swift:138:21:138:21 | abc | conversions.swift:138:12:138:26 | call to MyString.init(_:) |
| conversions.swift:139:12:139:12 | [post] ms1 | conversions.swift:140:12:140:12 | ms1 |
| conversions.swift:139:12:139:12 | ms1 | conversions.swift:140:12:140:12 | ms1 |
| conversions.swift:140:12:140:12 | [post] ms1 | conversions.swift:141:12:141:12 | ms1 |
| conversions.swift:140:12:140:12 | ms1 | conversions.swift:141:12:141:12 | ms1 |
| conversions.swift:141:12:141:12 | [post] ms1 | conversions.swift:142:12:142:12 | ms1 |
| conversions.swift:141:12:141:12 | ms1 | conversions.swift:142:12:142:12 | ms1 |
| conversions.swift:144:6:144:6 | SSA def(ms2) | conversions.swift:145:12:145:12 | ms2 |
| conversions.swift:144:6:144:6 | ms2 | conversions.swift:144:6:144:6 | SSA def(ms2) |
| conversions.swift:144:12:144:35 | call to MyString.init(_:) | conversions.swift:144:12:144:36 | ...! |
| conversions.swift:144:12:144:36 | ...! | conversions.swift:144:6:144:6 | ms2 |
| conversions.swift:144:21:144:34 | call to sourceString() | conversions.swift:144:12:144:35 | call to MyString.init(_:) |
| conversions.swift:145:12:145:12 | [post] ms2 | conversions.swift:146:12:146:12 | ms2 |
| conversions.swift:145:12:145:12 | ms2 | conversions.swift:146:12:146:12 | ms2 |
| conversions.swift:146:12:146:12 | [post] ms2 | conversions.swift:147:12:147:12 | ms2 |
| conversions.swift:146:12:146:12 | ms2 | conversions.swift:147:12:147:12 | ms2 |
| conversions.swift:147:12:147:12 | [post] ms2 | conversions.swift:148:12:148:12 | ms2 |
| conversions.swift:147:12:147:12 | ms2 | conversions.swift:148:12:148:12 | ms2 |
| conversions.swift:152:6:152:6 | SSA def(parent) | conversions.swift:153:12:153:12 | parent |
| conversions.swift:152:6:152:6 | parent | conversions.swift:152:6:152:6 | SSA def(parent) |
| conversions.swift:152:6:152:15 | ... as ... | conversions.swift:152:6:152:6 | parent |
| conversions.swift:152:31:152:44 | call to sourceString() | conversions.swift:152:6:152:15 | ... as ... |
| conversions.swift:153:12:153:12 | [post] parent | conversions.swift:154:12:154:12 | parent |
| conversions.swift:153:12:153:12 | parent | conversions.swift:154:12:154:12 | parent |
| conversions.swift:154:12:154:12 | [post] parent | conversions.swift:156:40:156:40 | parent |
| conversions.swift:154:12:154:12 | parent | conversions.swift:156:40:156:40 | parent |
| conversions.swift:156:6:156:6 | SSA def(v3) | conversions.swift:157:12:157:12 | v3 |
| conversions.swift:156:6:156:6 | v3 | conversions.swift:156:6:156:6 | SSA def(v3) |
| conversions.swift:156:6:156:10 | ... as ... | conversions.swift:156:6:156:6 | v3 |
| conversions.swift:156:25:156:69 | call to unsafeDowncast(_:to:) | conversions.swift:156:6:156:10 | ... as ... |
| conversions.swift:156:40:156:40 | parent | conversions.swift:156:25:156:69 | call to unsafeDowncast(_:to:) |
| conversions.swift:157:12:157:12 | [post] v3 | conversions.swift:158:12:158:12 | v3 |
| conversions.swift:157:12:157:12 | v3 | conversions.swift:158:12:158:12 | v3 |
| conversions.swift:165:24:165:24 | myCEnumConst | conversions.swift:165:12:165:36 | call to Self.init(_:) |
| conversions.swift:166:24:166:34 | call to sourceInt() | conversions.swift:166:12:166:35 | call to Self.init(_:) |
| simple.swift:12:13:12:13 | 1 | simple.swift:12:13:12:24 | ... .+(_:_:) ... |
| simple.swift:12:17:12:24 | call to source() | simple.swift:12:13:12:24 | ... .+(_:_:) ... |
| simple.swift:13:13:13:20 | call to source() | simple.swift:13:13:13:24 | ... .+(_:_:) ... |

View File

@@ -1,62 +1,74 @@
edges
| conversions.swift:27:16:27:26 | call to sourceInt() | conversions.swift:27:12:27:27 | call to Self.init(_:) |
| conversions.swift:28:18:28:28 | call to sourceInt() | conversions.swift:28:12:28:29 | call to Self.init(_:) |
| conversions.swift:29:18:29:28 | call to sourceInt() | conversions.swift:29:12:29:29 | call to Float.init(_:) |
| conversions.swift:30:19:30:29 | call to sourceInt() | conversions.swift:30:12:30:30 | call to String.init(_:) |
| conversions.swift:31:12:31:30 | call to String.init(_:) | conversions.swift:31:12:31:32 | .utf8 |
| conversions.swift:31:19:31:29 | call to sourceInt() | conversions.swift:31:12:31:30 | call to String.init(_:) |
| conversions.swift:33:12:33:30 | [...] [Collection element] | conversions.swift:35:12:35:12 | arr [Collection element] |
| conversions.swift:33:12:33:30 | [...] [Collection element] | conversions.swift:37:20:37:20 | arr [Collection element] |
| conversions.swift:33:19:33:29 | call to sourceInt() | conversions.swift:33:12:33:30 | [...] [Collection element] |
| conversions.swift:35:12:35:12 | arr [Collection element] | conversions.swift:35:12:35:17 | ...[...] |
| conversions.swift:37:12:37:23 | call to Array<Element>.init(_:) [Collection element] | conversions.swift:37:12:37:26 | ...[...] |
| conversions.swift:37:20:37:20 | arr [Collection element] | conversions.swift:37:12:37:23 | call to Array<Element>.init(_:) [Collection element] |
| conversions.swift:39:12:39:39 | call to Array<Element>.init(_:) [Collection element] | conversions.swift:39:12:39:42 | ...[...] |
| conversions.swift:39:20:39:33 | call to sourceString() | conversions.swift:39:20:39:35 | .utf8 |
| conversions.swift:39:20:39:35 | .utf8 | conversions.swift:39:12:39:39 | call to Array<Element>.init(_:) [Collection element] |
| conversions.swift:41:13:41:23 | call to sourceInt() | conversions.swift:42:13:42:13 | v |
| conversions.swift:45:18:45:41 | call to numericCast(_:) | conversions.swift:46:12:46:12 | v2 |
| conversions.swift:45:30:45:40 | call to sourceInt() | conversions.swift:45:18:45:41 | call to numericCast(_:) |
| conversions.swift:48:17:48:57 | call to unsafeBitCast(_:to:) | conversions.swift:49:12:49:12 | v4 |
| conversions.swift:48:31:48:41 | call to sourceInt() | conversions.swift:48:17:48:57 | call to unsafeBitCast(_:to:) |
| conversions.swift:51:11:51:47 | call to Self.init(truncatingIfNeeded:) | conversions.swift:52:12:52:12 | v5 |
| conversions.swift:51:36:51:46 | call to sourceInt() | conversions.swift:51:11:51:47 | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:54:11:54:39 | call to UInt.init(bitPattern:) | conversions.swift:55:12:55:12 | v6 |
| conversions.swift:54:28:54:38 | call to sourceInt() | conversions.swift:54:11:54:39 | call to UInt.init(bitPattern:) |
| conversions.swift:57:12:57:36 | call to Self.init(exactly:) [some:0] | conversions.swift:57:12:57:37 | ...! |
| conversions.swift:57:25:57:35 | call to sourceInt() | conversions.swift:57:12:57:36 | call to Self.init(exactly:) [some:0] |
| conversions.swift:58:26:58:36 | call to sourceInt() | conversions.swift:58:12:58:37 | call to Self.init(clamping:) |
| conversions.swift:59:36:59:46 | call to sourceInt() | conversions.swift:59:12:59:47 | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:60:12:60:41 | call to Self.init(_:radix:) | conversions.swift:60:12:60:42 | ...! |
| conversions.swift:60:16:60:29 | call to sourceString() | conversions.swift:60:12:60:41 | call to Self.init(_:radix:) |
| conversions.swift:62:30:62:40 | call to sourceInt() | conversions.swift:62:12:62:41 | call to Self.init(littleEndian:) |
| conversions.swift:63:27:63:37 | call to sourceInt() | conversions.swift:63:12:63:38 | call to Self.init(bigEndian:) |
| conversions.swift:64:12:64:22 | call to sourceInt() | conversions.swift:64:12:64:24 | .littleEndian |
| conversions.swift:65:12:65:22 | call to sourceInt() | conversions.swift:65:12:65:24 | .bigEndian |
| conversions.swift:70:18:70:30 | call to sourceFloat() | conversions.swift:70:12:70:31 | call to Float.init(_:) |
| conversions.swift:71:18:71:30 | call to sourceFloat() | conversions.swift:71:12:71:31 | call to UInt8.init(_:) |
| conversions.swift:72:19:72:31 | call to sourceFloat() | conversions.swift:72:12:72:32 | call to String.init(_:) |
| conversions.swift:73:12:73:32 | call to String.init(_:) | conversions.swift:73:12:73:34 | .utf8 |
| conversions.swift:73:19:73:31 | call to sourceFloat() | conversions.swift:73:12:73:32 | call to String.init(_:) |
| conversions.swift:75:18:75:30 | call to sourceFloat() | conversions.swift:75:12:75:31 | call to Float.init(_:) |
| conversions.swift:76:41:76:51 | call to sourceInt() | conversions.swift:76:12:76:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:77:57:77:69 | call to sourceFloat() | conversions.swift:77:12:77:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:79:44:79:56 | call to sourceFloat() | conversions.swift:79:12:79:57 | call to Float.init(signOf:magnitudeOf:) |
| conversions.swift:81:12:81:24 | call to sourceFloat() | conversions.swift:81:12:81:26 | .exponent |
| conversions.swift:82:12:82:24 | call to sourceFloat() | conversions.swift:82:12:82:26 | .significand |
| conversions.swift:87:19:87:32 | call to sourceString() | conversions.swift:87:12:87:33 | call to String.init(_:) |
| conversions.swift:95:12:95:35 | call to MyString.init(_:) | conversions.swift:95:12:95:35 | call to MyString.init(_:) [some:0] |
| conversions.swift:95:12:95:35 | call to MyString.init(_:) | conversions.swift:96:12:96:12 | ms2 |
| conversions.swift:95:12:95:35 | call to MyString.init(_:) [some:0] | conversions.swift:95:12:95:36 | ...! |
| conversions.swift:95:12:95:36 | ...! | conversions.swift:96:12:96:12 | ms2 |
| conversions.swift:95:21:95:34 | call to sourceString() | conversions.swift:95:12:95:35 | call to MyString.init(_:) |
| conversions.swift:103:31:103:44 | call to sourceString() | conversions.swift:104:12:104:12 | parent |
| conversions.swift:103:31:103:44 | call to sourceString() | conversions.swift:105:12:105:12 | parent |
| conversions.swift:103:31:103:44 | call to sourceString() | conversions.swift:107:40:107:40 | parent |
| conversions.swift:107:25:107:69 | call to unsafeDowncast(_:to:) | conversions.swift:108:12:108:12 | v3 |
| conversions.swift:107:25:107:69 | call to unsafeDowncast(_:to:) | conversions.swift:109:12:109:12 | v3 |
| conversions.swift:107:40:107:40 | parent | conversions.swift:107:25:107:69 | call to unsafeDowncast(_:to:) |
| conversions.swift:117:24:117:34 | call to sourceInt() | conversions.swift:117:12:117:35 | call to Self.init(_:) |
| conversions.swift:33:16:33:26 | call to sourceInt() | conversions.swift:33:12:33:27 | call to Self.init(_:) |
| conversions.swift:34:18:34:28 | call to sourceInt() | conversions.swift:34:12:34:29 | call to Self.init(_:) |
| conversions.swift:35:18:35:28 | call to sourceInt() | conversions.swift:35:12:35:29 | call to Float.init(_:) |
| conversions.swift:36:19:36:29 | call to sourceInt() | conversions.swift:36:12:36:30 | call to String.init(_:) |
| conversions.swift:37:12:37:30 | call to String.init(_:) | conversions.swift:37:12:37:32 | .utf8 |
| conversions.swift:37:19:37:29 | call to sourceInt() | conversions.swift:37:12:37:30 | call to String.init(_:) |
| conversions.swift:39:12:39:30 | [...] [Collection element] | conversions.swift:41:12:41:12 | arr [Collection element] |
| conversions.swift:39:12:39:30 | [...] [Collection element] | conversions.swift:43:20:43:20 | arr [Collection element] |
| conversions.swift:39:19:39:29 | call to sourceInt() | conversions.swift:39:12:39:30 | [...] [Collection element] |
| conversions.swift:41:12:41:12 | arr [Collection element] | conversions.swift:41:12:41:17 | ...[...] |
| conversions.swift:43:12:43:23 | call to Array<Element>.init(_:) [Collection element] | conversions.swift:43:12:43:26 | ...[...] |
| conversions.swift:43:20:43:20 | arr [Collection element] | conversions.swift:43:12:43:23 | call to Array<Element>.init(_:) [Collection element] |
| conversions.swift:45:12:45:39 | call to Array<Element>.init(_:) [Collection element] | conversions.swift:45:12:45:42 | ...[...] |
| conversions.swift:45:20:45:33 | call to sourceString() | conversions.swift:45:20:45:35 | .utf8 |
| conversions.swift:45:20:45:35 | .utf8 | conversions.swift:45:12:45:39 | call to Array<Element>.init(_:) [Collection element] |
| conversions.swift:47:13:47:23 | call to sourceInt() | conversions.swift:48:13:48:13 | v |
| conversions.swift:51:18:51:41 | call to numericCast(_:) | conversions.swift:52:12:52:12 | v2 |
| conversions.swift:51:30:51:40 | call to sourceInt() | conversions.swift:51:18:51:41 | call to numericCast(_:) |
| conversions.swift:54:17:54:57 | call to unsafeBitCast(_:to:) | conversions.swift:55:12:55:12 | v4 |
| conversions.swift:54:31:54:41 | call to sourceInt() | conversions.swift:54:17:54:57 | call to unsafeBitCast(_:to:) |
| conversions.swift:57:11:57:47 | call to Self.init(truncatingIfNeeded:) | conversions.swift:58:12:58:12 | v5 |
| conversions.swift:57:36:57:46 | call to sourceInt() | conversions.swift:57:11:57:47 | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:60:11:60:39 | call to UInt.init(bitPattern:) | conversions.swift:61:12:61:12 | v6 |
| conversions.swift:60:28:60:38 | call to sourceInt() | conversions.swift:60:11:60:39 | call to UInt.init(bitPattern:) |
| conversions.swift:71:12:71:36 | call to Self.init(exactly:) [some:0] | conversions.swift:71:12:71:37 | ...! |
| conversions.swift:71:25:71:35 | call to sourceInt() | conversions.swift:71:12:71:36 | call to Self.init(exactly:) [some:0] |
| conversions.swift:72:12:72:39 | call to Self.init(exactly:) [some:0] | conversions.swift:72:12:72:40 | ...! |
| conversions.swift:72:28:72:38 | call to sourceInt() | conversions.swift:72:12:72:39 | call to Self.init(exactly:) [some:0] |
| conversions.swift:73:26:73:36 | call to sourceInt() | conversions.swift:73:12:73:37 | call to Self.init(clamping:) |
| conversions.swift:74:36:74:46 | call to sourceInt() | conversions.swift:74:12:74:47 | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:75:12:75:41 | call to Self.init(_:radix:) | conversions.swift:75:12:75:42 | ...! |
| conversions.swift:75:16:75:29 | call to sourceString() | conversions.swift:75:12:75:41 | call to Self.init(_:radix:) |
| conversions.swift:77:30:77:40 | call to sourceInt() | conversions.swift:77:12:77:41 | call to Self.init(littleEndian:) |
| conversions.swift:78:27:78:37 | call to sourceInt() | conversions.swift:78:12:78:38 | call to Self.init(bigEndian:) |
| conversions.swift:79:12:79:22 | call to sourceInt() | conversions.swift:79:12:79:24 | .littleEndian |
| conversions.swift:80:12:80:22 | call to sourceInt() | conversions.swift:80:12:80:24 | .bigEndian |
| conversions.swift:109:18:109:30 | call to sourceFloat() | conversions.swift:109:12:109:31 | call to Float.init(_:) |
| conversions.swift:110:18:110:30 | call to sourceFloat() | conversions.swift:110:12:110:31 | call to UInt8.init(_:) |
| conversions.swift:111:19:111:31 | call to sourceFloat() | conversions.swift:111:12:111:32 | call to String.init(_:) |
| conversions.swift:112:12:112:32 | call to String.init(_:) | conversions.swift:112:12:112:34 | .utf8 |
| conversions.swift:112:19:112:31 | call to sourceFloat() | conversions.swift:112:12:112:32 | call to String.init(_:) |
| conversions.swift:113:19:113:33 | call to sourceFloat80() | conversions.swift:113:12:113:34 | call to String.init(_:) |
| conversions.swift:114:12:114:34 | call to String.init(_:) | conversions.swift:114:12:114:36 | .utf8 |
| conversions.swift:114:19:114:33 | call to sourceFloat80() | conversions.swift:114:12:114:34 | call to String.init(_:) |
| conversions.swift:115:19:115:32 | call to sourceDouble() | conversions.swift:115:12:115:33 | call to String.init(_:) |
| conversions.swift:116:12:116:33 | call to String.init(_:) | conversions.swift:116:12:116:35 | .utf8 |
| conversions.swift:116:19:116:32 | call to sourceDouble() | conversions.swift:116:12:116:33 | call to String.init(_:) |
| conversions.swift:118:18:118:30 | call to sourceFloat() | conversions.swift:118:12:118:31 | call to Float.init(_:) |
| conversions.swift:119:41:119:51 | call to sourceInt() | conversions.swift:119:12:119:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:120:57:120:69 | call to sourceFloat() | conversions.swift:120:12:120:70 | call to Float.init(sign:exponent:significand:) |
| conversions.swift:122:44:122:56 | call to sourceFloat() | conversions.swift:122:12:122:57 | call to Float.init(signOf:magnitudeOf:) |
| conversions.swift:124:12:124:24 | call to sourceFloat() | conversions.swift:124:12:124:26 | .exponent |
| conversions.swift:125:12:125:24 | call to sourceFloat() | conversions.swift:125:12:125:26 | .significand |
| conversions.swift:126:12:126:26 | call to sourceFloat80() | conversions.swift:126:12:126:28 | .exponent |
| conversions.swift:127:12:127:26 | call to sourceFloat80() | conversions.swift:127:12:127:28 | .significand |
| conversions.swift:128:12:128:25 | call to sourceDouble() | conversions.swift:128:12:128:27 | .exponent |
| conversions.swift:129:12:129:25 | call to sourceDouble() | conversions.swift:129:12:129:27 | .significand |
| conversions.swift:136:19:136:32 | call to sourceString() | conversions.swift:136:12:136:33 | call to String.init(_:) |
| conversions.swift:144:12:144:35 | call to MyString.init(_:) | conversions.swift:144:12:144:35 | call to MyString.init(_:) [some:0] |
| conversions.swift:144:12:144:35 | call to MyString.init(_:) | conversions.swift:145:12:145:12 | ms2 |
| conversions.swift:144:12:144:35 | call to MyString.init(_:) [some:0] | conversions.swift:144:12:144:36 | ...! |
| conversions.swift:144:12:144:36 | ...! | conversions.swift:145:12:145:12 | ms2 |
| conversions.swift:144:21:144:34 | call to sourceString() | conversions.swift:144:12:144:35 | call to MyString.init(_:) |
| conversions.swift:152:31:152:44 | call to sourceString() | conversions.swift:153:12:153:12 | parent |
| conversions.swift:152:31:152:44 | call to sourceString() | conversions.swift:154:12:154:12 | parent |
| conversions.swift:152:31:152:44 | call to sourceString() | conversions.swift:156:40:156:40 | parent |
| conversions.swift:156:25:156:69 | call to unsafeDowncast(_:to:) | conversions.swift:157:12:157:12 | v3 |
| conversions.swift:156:25:156:69 | call to unsafeDowncast(_:to:) | conversions.swift:158:12:158:12 | v3 |
| conversions.swift:156:40:156:40 | parent | conversions.swift:156:25:156:69 | call to unsafeDowncast(_:to:) |
| conversions.swift:166:24:166:34 | call to sourceInt() | conversions.swift:166:12:166:35 | call to Self.init(_:) |
| file://:0:0:0:0 | self [first] | file://:0:0:0:0 | .first |
| file://:0:0:0:0 | self [second] | file://:0:0:0:0 | .second |
| file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [first] |
@@ -138,100 +150,121 @@ edges
| try.swift:18:18:18:25 | call to source() | try.swift:18:18:18:25 | call to source() [some:0] |
| try.swift:18:18:18:25 | call to source() [some:0] | try.swift:18:13:18:25 | try? ... [some:0] |
nodes
| conversions.swift:26:12:26:22 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:27:12:27:27 | call to Self.init(_:) | semmle.label | call to Self.init(_:) |
| conversions.swift:27:16:27:26 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:28:12:28:29 | call to Self.init(_:) | semmle.label | call to Self.init(_:) |
| conversions.swift:28:18:28:28 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:29:12:29:29 | call to Float.init(_:) | semmle.label | call to Float.init(_:) |
| conversions.swift:29:18:29:28 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:30:12:30:30 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:30:19:30:29 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:31:12:31:30 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:31:12:31:32 | .utf8 | semmle.label | .utf8 |
| conversions.swift:31:19:31:29 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:33:12:33:30 | [...] [Collection element] | semmle.label | [...] [Collection element] |
| conversions.swift:33:19:33:29 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:35:12:35:12 | arr [Collection element] | semmle.label | arr [Collection element] |
| conversions.swift:35:12:35:17 | ...[...] | semmle.label | ...[...] |
| conversions.swift:37:12:37:23 | call to Array<Element>.init(_:) [Collection element] | semmle.label | call to Array<Element>.init(_:) [Collection element] |
| conversions.swift:37:12:37:26 | ...[...] | semmle.label | ...[...] |
| conversions.swift:37:20:37:20 | arr [Collection element] | semmle.label | arr [Collection element] |
| conversions.swift:39:12:39:39 | call to Array<Element>.init(_:) [Collection element] | semmle.label | call to Array<Element>.init(_:) [Collection element] |
| conversions.swift:39:12:39:42 | ...[...] | semmle.label | ...[...] |
| conversions.swift:39:20:39:33 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:39:20:39:35 | .utf8 | semmle.label | .utf8 |
| conversions.swift:41:13:41:23 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:42:13:42:13 | v | semmle.label | v |
| conversions.swift:45:18:45:41 | call to numericCast(_:) | semmle.label | call to numericCast(_:) |
| conversions.swift:45:30:45:40 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:46:12:46:12 | v2 | semmle.label | v2 |
| conversions.swift:48:17:48:57 | call to unsafeBitCast(_:to:) | semmle.label | call to unsafeBitCast(_:to:) |
| conversions.swift:48:31:48:41 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:49:12:49:12 | v4 | semmle.label | v4 |
| conversions.swift:51:11:51:47 | call to Self.init(truncatingIfNeeded:) | semmle.label | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:51:36:51:46 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:52:12:52:12 | v5 | semmle.label | v5 |
| conversions.swift:54:11:54:39 | call to UInt.init(bitPattern:) | semmle.label | call to UInt.init(bitPattern:) |
| conversions.swift:54:28:54:38 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:55:12:55:12 | v6 | semmle.label | v6 |
| conversions.swift:57:12:57:36 | call to Self.init(exactly:) [some:0] | semmle.label | call to Self.init(exactly:) [some:0] |
| conversions.swift:57:12:57:37 | ...! | semmle.label | ...! |
| conversions.swift:57:25:57:35 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:58:12:58:37 | call to Self.init(clamping:) | semmle.label | call to Self.init(clamping:) |
| conversions.swift:58:26:58:36 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:59:12:59:47 | call to Self.init(truncatingIfNeeded:) | semmle.label | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:59:36:59:46 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:60:12:60:41 | call to Self.init(_:radix:) | semmle.label | call to Self.init(_:radix:) |
| conversions.swift:60:12:60:42 | ...! | semmle.label | ...! |
| conversions.swift:60:16:60:29 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:62:12:62:41 | call to Self.init(littleEndian:) | semmle.label | call to Self.init(littleEndian:) |
| conversions.swift:62:30:62:40 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:63:12:63:38 | call to Self.init(bigEndian:) | semmle.label | call to Self.init(bigEndian:) |
| conversions.swift:63:27:63:37 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:64:12:64:22 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:64:12:64:24 | .littleEndian | semmle.label | .littleEndian |
| conversions.swift:65:12:65:22 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:65:12:65:24 | .bigEndian | semmle.label | .bigEndian |
| conversions.swift:69:12:69:24 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:70:12:70:31 | call to Float.init(_:) | semmle.label | call to Float.init(_:) |
| conversions.swift:70:18:70:30 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:71:12:71:31 | call to UInt8.init(_:) | semmle.label | call to UInt8.init(_:) |
| conversions.swift:71:18:71:30 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:72:12:72:32 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:72:19:72:31 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:73:12:73:32 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:73:12:73:34 | .utf8 | semmle.label | .utf8 |
| conversions.swift:73:19:73:31 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:75:12:75:31 | call to Float.init(_:) | semmle.label | call to Float.init(_:) |
| conversions.swift:75:18:75:30 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:76:12:76:70 | call to Float.init(sign:exponent:significand:) | semmle.label | call to Float.init(sign:exponent:significand:) |
| conversions.swift:76:41:76:51 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:77:12:77:70 | call to Float.init(sign:exponent:significand:) | semmle.label | call to Float.init(sign:exponent:significand:) |
| conversions.swift:77:57:77:69 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:79:12:79:57 | call to Float.init(signOf:magnitudeOf:) | semmle.label | call to Float.init(signOf:magnitudeOf:) |
| conversions.swift:79:44:79:56 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:81:12:81:24 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:81:12:81:26 | .exponent | semmle.label | .exponent |
| conversions.swift:82:12:82:24 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:82:12:82:26 | .significand | semmle.label | .significand |
| conversions.swift:86:12:86:25 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:87:12:87:33 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:87:19:87:32 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:95:12:95:35 | call to MyString.init(_:) | semmle.label | call to MyString.init(_:) |
| conversions.swift:95:12:95:35 | call to MyString.init(_:) [some:0] | semmle.label | call to MyString.init(_:) [some:0] |
| conversions.swift:95:12:95:36 | ...! | semmle.label | ...! |
| conversions.swift:95:21:95:34 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:96:12:96:12 | ms2 | semmle.label | ms2 |
| conversions.swift:103:31:103:44 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:104:12:104:12 | parent | semmle.label | parent |
| conversions.swift:105:12:105:12 | parent | semmle.label | parent |
| conversions.swift:107:25:107:69 | call to unsafeDowncast(_:to:) | semmle.label | call to unsafeDowncast(_:to:) |
| conversions.swift:107:40:107:40 | parent | semmle.label | parent |
| conversions.swift:108:12:108:12 | v3 | semmle.label | v3 |
| conversions.swift:109:12:109:12 | v3 | semmle.label | v3 |
| conversions.swift:117:12:117:35 | call to Self.init(_:) | semmle.label | call to Self.init(_:) |
| conversions.swift:117:24:117:34 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:32:12:32:22 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:33:12:33:27 | call to Self.init(_:) | semmle.label | call to Self.init(_:) |
| conversions.swift:33:16:33:26 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:34:12:34:29 | call to Self.init(_:) | semmle.label | call to Self.init(_:) |
| conversions.swift:34:18:34:28 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:35:12:35:29 | call to Float.init(_:) | semmle.label | call to Float.init(_:) |
| conversions.swift:35:18:35:28 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:36:12:36:30 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:36:19:36:29 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:37:12:37:30 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:37:12:37:32 | .utf8 | semmle.label | .utf8 |
| conversions.swift:37:19:37:29 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:39:12:39:30 | [...] [Collection element] | semmle.label | [...] [Collection element] |
| conversions.swift:39:19:39:29 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:41:12:41:12 | arr [Collection element] | semmle.label | arr [Collection element] |
| conversions.swift:41:12:41:17 | ...[...] | semmle.label | ...[...] |
| conversions.swift:43:12:43:23 | call to Array<Element>.init(_:) [Collection element] | semmle.label | call to Array<Element>.init(_:) [Collection element] |
| conversions.swift:43:12:43:26 | ...[...] | semmle.label | ...[...] |
| conversions.swift:43:20:43:20 | arr [Collection element] | semmle.label | arr [Collection element] |
| conversions.swift:45:12:45:39 | call to Array<Element>.init(_:) [Collection element] | semmle.label | call to Array<Element>.init(_:) [Collection element] |
| conversions.swift:45:12:45:42 | ...[...] | semmle.label | ...[...] |
| conversions.swift:45:20:45:33 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:45:20:45:35 | .utf8 | semmle.label | .utf8 |
| conversions.swift:47:13:47:23 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:48:13:48:13 | v | semmle.label | v |
| conversions.swift:51:18:51:41 | call to numericCast(_:) | semmle.label | call to numericCast(_:) |
| conversions.swift:51:30:51:40 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:52:12:52:12 | v2 | semmle.label | v2 |
| conversions.swift:54:17:54:57 | call to unsafeBitCast(_:to:) | semmle.label | call to unsafeBitCast(_:to:) |
| conversions.swift:54:31:54:41 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:55:12:55:12 | v4 | semmle.label | v4 |
| conversions.swift:57:11:57:47 | call to Self.init(truncatingIfNeeded:) | semmle.label | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:57:36:57:46 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:58:12:58:12 | v5 | semmle.label | v5 |
| conversions.swift:60:11:60:39 | call to UInt.init(bitPattern:) | semmle.label | call to UInt.init(bitPattern:) |
| conversions.swift:60:28:60:38 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:61:12:61:12 | v6 | semmle.label | v6 |
| conversions.swift:71:12:71:36 | call to Self.init(exactly:) [some:0] | semmle.label | call to Self.init(exactly:) [some:0] |
| conversions.swift:71:12:71:37 | ...! | semmle.label | ...! |
| conversions.swift:71:25:71:35 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:72:12:72:39 | call to Self.init(exactly:) [some:0] | semmle.label | call to Self.init(exactly:) [some:0] |
| conversions.swift:72:12:72:40 | ...! | semmle.label | ...! |
| conversions.swift:72:28:72:38 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:73:12:73:37 | call to Self.init(clamping:) | semmle.label | call to Self.init(clamping:) |
| conversions.swift:73:26:73:36 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:74:12:74:47 | call to Self.init(truncatingIfNeeded:) | semmle.label | call to Self.init(truncatingIfNeeded:) |
| conversions.swift:74:36:74:46 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:75:12:75:41 | call to Self.init(_:radix:) | semmle.label | call to Self.init(_:radix:) |
| conversions.swift:75:12:75:42 | ...! | semmle.label | ...! |
| conversions.swift:75:16:75:29 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:77:12:77:41 | call to Self.init(littleEndian:) | semmle.label | call to Self.init(littleEndian:) |
| conversions.swift:77:30:77:40 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:78:12:78:38 | call to Self.init(bigEndian:) | semmle.label | call to Self.init(bigEndian:) |
| conversions.swift:78:27:78:37 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:79:12:79:22 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:79:12:79:24 | .littleEndian | semmle.label | .littleEndian |
| conversions.swift:80:12:80:22 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:80:12:80:24 | .bigEndian | semmle.label | .bigEndian |
| conversions.swift:108:12:108:24 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:109:12:109:31 | call to Float.init(_:) | semmle.label | call to Float.init(_:) |
| conversions.swift:109:18:109:30 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:110:12:110:31 | call to UInt8.init(_:) | semmle.label | call to UInt8.init(_:) |
| conversions.swift:110:18:110:30 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:111:12:111:32 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:111:19:111:31 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:112:12:112:32 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:112:12:112:34 | .utf8 | semmle.label | .utf8 |
| conversions.swift:112:19:112:31 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:113:12:113:34 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:113:19:113:33 | call to sourceFloat80() | semmle.label | call to sourceFloat80() |
| conversions.swift:114:12:114:34 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:114:12:114:36 | .utf8 | semmle.label | .utf8 |
| conversions.swift:114:19:114:33 | call to sourceFloat80() | semmle.label | call to sourceFloat80() |
| conversions.swift:115:12:115:33 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:115:19:115:32 | call to sourceDouble() | semmle.label | call to sourceDouble() |
| conversions.swift:116:12:116:33 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:116:12:116:35 | .utf8 | semmle.label | .utf8 |
| conversions.swift:116:19:116:32 | call to sourceDouble() | semmle.label | call to sourceDouble() |
| conversions.swift:118:12:118:31 | call to Float.init(_:) | semmle.label | call to Float.init(_:) |
| conversions.swift:118:18:118:30 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:119:12:119:70 | call to Float.init(sign:exponent:significand:) | semmle.label | call to Float.init(sign:exponent:significand:) |
| conversions.swift:119:41:119:51 | call to sourceInt() | semmle.label | call to sourceInt() |
| conversions.swift:120:12:120:70 | call to Float.init(sign:exponent:significand:) | semmle.label | call to Float.init(sign:exponent:significand:) |
| conversions.swift:120:57:120:69 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:122:12:122:57 | call to Float.init(signOf:magnitudeOf:) | semmle.label | call to Float.init(signOf:magnitudeOf:) |
| conversions.swift:122:44:122:56 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:124:12:124:24 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:124:12:124:26 | .exponent | semmle.label | .exponent |
| conversions.swift:125:12:125:24 | call to sourceFloat() | semmle.label | call to sourceFloat() |
| conversions.swift:125:12:125:26 | .significand | semmle.label | .significand |
| conversions.swift:126:12:126:26 | call to sourceFloat80() | semmle.label | call to sourceFloat80() |
| conversions.swift:126:12:126:28 | .exponent | semmle.label | .exponent |
| conversions.swift:127:12:127:26 | call to sourceFloat80() | semmle.label | call to sourceFloat80() |
| conversions.swift:127:12:127:28 | .significand | semmle.label | .significand |
| conversions.swift:128:12:128:25 | call to sourceDouble() | semmle.label | call to sourceDouble() |
| conversions.swift:128:12:128:27 | .exponent | semmle.label | .exponent |
| conversions.swift:129:12:129:25 | call to sourceDouble() | semmle.label | call to sourceDouble() |
| conversions.swift:129:12:129:27 | .significand | semmle.label | .significand |
| conversions.swift:135:12:135:25 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:136:12:136:33 | call to String.init(_:) | semmle.label | call to String.init(_:) |
| conversions.swift:136:19:136:32 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:144:12:144:35 | call to MyString.init(_:) | semmle.label | call to MyString.init(_:) |
| conversions.swift:144:12:144:35 | call to MyString.init(_:) [some:0] | semmle.label | call to MyString.init(_:) [some:0] |
| conversions.swift:144:12:144:36 | ...! | semmle.label | ...! |
| conversions.swift:144:21:144:34 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:145:12:145:12 | ms2 | semmle.label | ms2 |
| conversions.swift:152:31:152:44 | call to sourceString() | semmle.label | call to sourceString() |
| conversions.swift:153:12:153:12 | parent | semmle.label | parent |
| conversions.swift:154:12:154:12 | parent | semmle.label | parent |
| conversions.swift:156:25:156:69 | call to unsafeDowncast(_:to:) | semmle.label | call to unsafeDowncast(_:to:) |
| conversions.swift:156:40:156:40 | parent | semmle.label | parent |
| conversions.swift:157:12:157:12 | v3 | semmle.label | v3 |
| conversions.swift:158:12:158:12 | v3 | semmle.label | v3 |
| conversions.swift:166:12:166:35 | call to Self.init(_:) | semmle.label | call to Self.init(_:) |
| conversions.swift:166:24:166:34 | call to sourceInt() | semmle.label | call to sourceInt() |
| file://:0:0:0:0 | .first | semmle.label | .first |
| file://:0:0:0:0 | .second | semmle.label | .second |
| file://:0:0:0:0 | [post] self [first] | semmle.label | [post] self [first] |
@@ -359,47 +392,56 @@ subpaths
| stringinterpolation.swift:28:14:28:21 | call to source() | stringinterpolation.swift:7:6:7:6 | value | file://:0:0:0:0 | [post] self [second] | stringinterpolation.swift:28:2:28:2 | [post] p2 [second] |
| stringinterpolation.swift:31:21:31:21 | p2 [second] | stringinterpolation.swift:7:6:7:6 | self [second] | file://:0:0:0:0 | .second | stringinterpolation.swift:31:21:31:24 | .second |
#select
| conversions.swift:26:12:26:22 | call to sourceInt() | conversions.swift:26:12:26:22 | call to sourceInt() | conversions.swift:26:12:26:22 | call to sourceInt() | result |
| conversions.swift:27:12:27:27 | call to Self.init(_:) | conversions.swift:27:16:27:26 | call to sourceInt() | conversions.swift:27:12:27:27 | call to Self.init(_:) | result |
| conversions.swift:28:12:28:29 | call to Self.init(_:) | conversions.swift:28:18:28:28 | call to sourceInt() | conversions.swift:28:12:28:29 | call to Self.init(_:) | result |
| conversions.swift:29:12:29:29 | call to Float.init(_:) | conversions.swift:29:18:29:28 | call to sourceInt() | conversions.swift:29:12:29:29 | call to Float.init(_:) | result |
| conversions.swift:30:12:30:30 | call to String.init(_:) | conversions.swift:30:19:30:29 | call to sourceInt() | conversions.swift:30:12:30:30 | call to String.init(_:) | result |
| conversions.swift:31:12:31:32 | .utf8 | conversions.swift:31:19:31:29 | call to sourceInt() | conversions.swift:31:12:31:32 | .utf8 | result |
| conversions.swift:35:12:35:17 | ...[...] | conversions.swift:33:19:33:29 | call to sourceInt() | conversions.swift:35:12:35:17 | ...[...] | result |
| conversions.swift:37:12:37:26 | ...[...] | conversions.swift:33:19:33:29 | call to sourceInt() | conversions.swift:37:12:37:26 | ...[...] | result |
| conversions.swift:39:12:39:42 | ...[...] | conversions.swift:39:20:39:33 | call to sourceString() | conversions.swift:39:12:39:42 | ...[...] | result |
| conversions.swift:42:13:42:13 | v | conversions.swift:41:13:41:23 | call to sourceInt() | conversions.swift:42:13:42:13 | v | result |
| conversions.swift:46:12:46:12 | v2 | conversions.swift:45:30:45:40 | call to sourceInt() | conversions.swift:46:12:46:12 | v2 | result |
| conversions.swift:49:12:49:12 | v4 | conversions.swift:48:31:48:41 | call to sourceInt() | conversions.swift:49:12:49:12 | v4 | result |
| conversions.swift:52:12:52:12 | v5 | conversions.swift:51:36:51:46 | call to sourceInt() | conversions.swift:52:12:52:12 | v5 | result |
| conversions.swift:55:12:55:12 | v6 | conversions.swift:54:28:54:38 | call to sourceInt() | conversions.swift:55:12:55:12 | v6 | result |
| conversions.swift:57:12:57:37 | ...! | conversions.swift:57:25:57:35 | call to sourceInt() | conversions.swift:57:12:57:37 | ...! | result |
| conversions.swift:58:12:58:37 | call to Self.init(clamping:) | conversions.swift:58:26:58:36 | call to sourceInt() | conversions.swift:58:12:58:37 | call to Self.init(clamping:) | result |
| conversions.swift:59:12:59:47 | call to Self.init(truncatingIfNeeded:) | conversions.swift:59:36:59:46 | call to sourceInt() | conversions.swift:59:12:59:47 | call to Self.init(truncatingIfNeeded:) | result |
| conversions.swift:60:12:60:42 | ...! | conversions.swift:60:16:60:29 | call to sourceString() | conversions.swift:60:12:60:42 | ...! | result |
| conversions.swift:62:12:62:41 | call to Self.init(littleEndian:) | conversions.swift:62:30:62:40 | call to sourceInt() | conversions.swift:62:12:62:41 | call to Self.init(littleEndian:) | result |
| conversions.swift:63:12:63:38 | call to Self.init(bigEndian:) | conversions.swift:63:27:63:37 | call to sourceInt() | conversions.swift:63:12:63:38 | call to Self.init(bigEndian:) | result |
| conversions.swift:64:12:64:24 | .littleEndian | conversions.swift:64:12:64:22 | call to sourceInt() | conversions.swift:64:12:64:24 | .littleEndian | result |
| conversions.swift:65:12:65:24 | .bigEndian | conversions.swift:65:12:65:22 | call to sourceInt() | conversions.swift:65:12:65:24 | .bigEndian | result |
| conversions.swift:69:12:69:24 | call to sourceFloat() | conversions.swift:69:12:69:24 | call to sourceFloat() | conversions.swift:69:12:69:24 | call to sourceFloat() | result |
| conversions.swift:70:12:70:31 | call to Float.init(_:) | conversions.swift:70:18:70:30 | call to sourceFloat() | conversions.swift:70:12:70:31 | call to Float.init(_:) | result |
| conversions.swift:71:12:71:31 | call to UInt8.init(_:) | conversions.swift:71:18:71:30 | call to sourceFloat() | conversions.swift:71:12:71:31 | call to UInt8.init(_:) | result |
| conversions.swift:72:12:72:32 | call to String.init(_:) | conversions.swift:72:19:72:31 | call to sourceFloat() | conversions.swift:72:12:72:32 | call to String.init(_:) | result |
| conversions.swift:73:12:73:34 | .utf8 | conversions.swift:73:19:73:31 | call to sourceFloat() | conversions.swift:73:12:73:34 | .utf8 | result |
| conversions.swift:75:12:75:31 | call to Float.init(_:) | conversions.swift:75:18:75:30 | call to sourceFloat() | conversions.swift:75:12:75:31 | call to Float.init(_:) | result |
| conversions.swift:76:12:76:70 | call to Float.init(sign:exponent:significand:) | conversions.swift:76:41:76:51 | call to sourceInt() | conversions.swift:76:12:76:70 | call to Float.init(sign:exponent:significand:) | result |
| conversions.swift:77:12:77:70 | call to Float.init(sign:exponent:significand:) | conversions.swift:77:57:77:69 | call to sourceFloat() | conversions.swift:77:12:77:70 | call to Float.init(sign:exponent:significand:) | result |
| conversions.swift:79:12:79:57 | call to Float.init(signOf:magnitudeOf:) | conversions.swift:79:44:79:56 | call to sourceFloat() | conversions.swift:79:12:79:57 | call to Float.init(signOf:magnitudeOf:) | result |
| conversions.swift:81:12:81:26 | .exponent | conversions.swift:81:12:81:24 | call to sourceFloat() | conversions.swift:81:12:81:26 | .exponent | result |
| conversions.swift:82:12:82:26 | .significand | conversions.swift:82:12:82:24 | call to sourceFloat() | conversions.swift:82:12:82:26 | .significand | result |
| conversions.swift:86:12:86:25 | call to sourceString() | conversions.swift:86:12:86:25 | call to sourceString() | conversions.swift:86:12:86:25 | call to sourceString() | result |
| conversions.swift:87:12:87:33 | call to String.init(_:) | conversions.swift:87:19:87:32 | call to sourceString() | conversions.swift:87:12:87:33 | call to String.init(_:) | result |
| conversions.swift:96:12:96:12 | ms2 | conversions.swift:95:21:95:34 | call to sourceString() | conversions.swift:96:12:96:12 | ms2 | result |
| conversions.swift:104:12:104:12 | parent | conversions.swift:103:31:103:44 | call to sourceString() | conversions.swift:104:12:104:12 | parent | result |
| conversions.swift:105:12:105:12 | parent | conversions.swift:103:31:103:44 | call to sourceString() | conversions.swift:105:12:105:12 | parent | result |
| conversions.swift:108:12:108:12 | v3 | conversions.swift:103:31:103:44 | call to sourceString() | conversions.swift:108:12:108:12 | v3 | result |
| conversions.swift:109:12:109:12 | v3 | conversions.swift:103:31:103:44 | call to sourceString() | conversions.swift:109:12:109:12 | v3 | result |
| conversions.swift:117:12:117:35 | call to Self.init(_:) | conversions.swift:117:24:117:34 | call to sourceInt() | conversions.swift:117:12:117:35 | call to Self.init(_:) | result |
| conversions.swift:32:12:32:22 | call to sourceInt() | conversions.swift:32:12:32:22 | call to sourceInt() | conversions.swift:32:12:32:22 | call to sourceInt() | result |
| conversions.swift:33:12:33:27 | call to Self.init(_:) | conversions.swift:33:16:33:26 | call to sourceInt() | conversions.swift:33:12:33:27 | call to Self.init(_:) | result |
| conversions.swift:34:12:34:29 | call to Self.init(_:) | conversions.swift:34:18:34:28 | call to sourceInt() | conversions.swift:34:12:34:29 | call to Self.init(_:) | result |
| conversions.swift:35:12:35:29 | call to Float.init(_:) | conversions.swift:35:18:35:28 | call to sourceInt() | conversions.swift:35:12:35:29 | call to Float.init(_:) | result |
| conversions.swift:36:12:36:30 | call to String.init(_:) | conversions.swift:36:19:36:29 | call to sourceInt() | conversions.swift:36:12:36:30 | call to String.init(_:) | result |
| conversions.swift:37:12:37:32 | .utf8 | conversions.swift:37:19:37:29 | call to sourceInt() | conversions.swift:37:12:37:32 | .utf8 | result |
| conversions.swift:41:12:41:17 | ...[...] | conversions.swift:39:19:39:29 | call to sourceInt() | conversions.swift:41:12:41:17 | ...[...] | result |
| conversions.swift:43:12:43:26 | ...[...] | conversions.swift:39:19:39:29 | call to sourceInt() | conversions.swift:43:12:43:26 | ...[...] | result |
| conversions.swift:45:12:45:42 | ...[...] | conversions.swift:45:20:45:33 | call to sourceString() | conversions.swift:45:12:45:42 | ...[...] | result |
| conversions.swift:48:13:48:13 | v | conversions.swift:47:13:47:23 | call to sourceInt() | conversions.swift:48:13:48:13 | v | result |
| conversions.swift:52:12:52:12 | v2 | conversions.swift:51:30:51:40 | call to sourceInt() | conversions.swift:52:12:52:12 | v2 | result |
| conversions.swift:55:12:55:12 | v4 | conversions.swift:54:31:54:41 | call to sourceInt() | conversions.swift:55:12:55:12 | v4 | result |
| conversions.swift:58:12:58:12 | v5 | conversions.swift:57:36:57:46 | call to sourceInt() | conversions.swift:58:12:58:12 | v5 | result |
| conversions.swift:61:12:61:12 | v6 | conversions.swift:60:28:60:38 | call to sourceInt() | conversions.swift:61:12:61:12 | v6 | result |
| conversions.swift:71:12:71:37 | ...! | conversions.swift:71:25:71:35 | call to sourceInt() | conversions.swift:71:12:71:37 | ...! | result |
| conversions.swift:72:12:72:40 | ...! | conversions.swift:72:28:72:38 | call to sourceInt() | conversions.swift:72:12:72:40 | ...! | result |
| conversions.swift:73:12:73:37 | call to Self.init(clamping:) | conversions.swift:73:26:73:36 | call to sourceInt() | conversions.swift:73:12:73:37 | call to Self.init(clamping:) | result |
| conversions.swift:74:12:74:47 | call to Self.init(truncatingIfNeeded:) | conversions.swift:74:36:74:46 | call to sourceInt() | conversions.swift:74:12:74:47 | call to Self.init(truncatingIfNeeded:) | result |
| conversions.swift:75:12:75:42 | ...! | conversions.swift:75:16:75:29 | call to sourceString() | conversions.swift:75:12:75:42 | ...! | result |
| conversions.swift:77:12:77:41 | call to Self.init(littleEndian:) | conversions.swift:77:30:77:40 | call to sourceInt() | conversions.swift:77:12:77:41 | call to Self.init(littleEndian:) | result |
| conversions.swift:78:12:78:38 | call to Self.init(bigEndian:) | conversions.swift:78:27:78:37 | call to sourceInt() | conversions.swift:78:12:78:38 | call to Self.init(bigEndian:) | result |
| conversions.swift:79:12:79:24 | .littleEndian | conversions.swift:79:12:79:22 | call to sourceInt() | conversions.swift:79:12:79:24 | .littleEndian | result |
| conversions.swift:80:12:80:24 | .bigEndian | conversions.swift:80:12:80:22 | call to sourceInt() | conversions.swift:80:12:80:24 | .bigEndian | result |
| conversions.swift:108:12:108:24 | call to sourceFloat() | conversions.swift:108:12:108:24 | call to sourceFloat() | conversions.swift:108:12:108:24 | call to sourceFloat() | result |
| conversions.swift:109:12:109:31 | call to Float.init(_:) | conversions.swift:109:18:109:30 | call to sourceFloat() | conversions.swift:109:12:109:31 | call to Float.init(_:) | result |
| conversions.swift:110:12:110:31 | call to UInt8.init(_:) | conversions.swift:110:18:110:30 | call to sourceFloat() | conversions.swift:110:12:110:31 | call to UInt8.init(_:) | result |
| conversions.swift:111:12:111:32 | call to String.init(_:) | conversions.swift:111:19:111:31 | call to sourceFloat() | conversions.swift:111:12:111:32 | call to String.init(_:) | result |
| conversions.swift:112:12:112:34 | .utf8 | conversions.swift:112:19:112:31 | call to sourceFloat() | conversions.swift:112:12:112:34 | .utf8 | result |
| conversions.swift:113:12:113:34 | call to String.init(_:) | conversions.swift:113:19:113:33 | call to sourceFloat80() | conversions.swift:113:12:113:34 | call to String.init(_:) | result |
| conversions.swift:114:12:114:36 | .utf8 | conversions.swift:114:19:114:33 | call to sourceFloat80() | conversions.swift:114:12:114:36 | .utf8 | result |
| conversions.swift:115:12:115:33 | call to String.init(_:) | conversions.swift:115:19:115:32 | call to sourceDouble() | conversions.swift:115:12:115:33 | call to String.init(_:) | result |
| conversions.swift:116:12:116:35 | .utf8 | conversions.swift:116:19:116:32 | call to sourceDouble() | conversions.swift:116:12:116:35 | .utf8 | result |
| conversions.swift:118:12:118:31 | call to Float.init(_:) | conversions.swift:118:18:118:30 | call to sourceFloat() | conversions.swift:118:12:118:31 | call to Float.init(_:) | result |
| conversions.swift:119:12:119:70 | call to Float.init(sign:exponent:significand:) | conversions.swift:119:41:119:51 | call to sourceInt() | conversions.swift:119:12:119:70 | call to Float.init(sign:exponent:significand:) | result |
| conversions.swift:120:12:120:70 | call to Float.init(sign:exponent:significand:) | conversions.swift:120:57:120:69 | call to sourceFloat() | conversions.swift:120:12:120:70 | call to Float.init(sign:exponent:significand:) | result |
| conversions.swift:122:12:122:57 | call to Float.init(signOf:magnitudeOf:) | conversions.swift:122:44:122:56 | call to sourceFloat() | conversions.swift:122:12:122:57 | call to Float.init(signOf:magnitudeOf:) | result |
| conversions.swift:124:12:124:26 | .exponent | conversions.swift:124:12:124:24 | call to sourceFloat() | conversions.swift:124:12:124:26 | .exponent | result |
| conversions.swift:125:12:125:26 | .significand | conversions.swift:125:12:125:24 | call to sourceFloat() | conversions.swift:125:12:125:26 | .significand | result |
| conversions.swift:126:12:126:28 | .exponent | conversions.swift:126:12:126:26 | call to sourceFloat80() | conversions.swift:126:12:126:28 | .exponent | result |
| conversions.swift:127:12:127:28 | .significand | conversions.swift:127:12:127:26 | call to sourceFloat80() | conversions.swift:127:12:127:28 | .significand | result |
| conversions.swift:128:12:128:27 | .exponent | conversions.swift:128:12:128:25 | call to sourceDouble() | conversions.swift:128:12:128:27 | .exponent | result |
| conversions.swift:129:12:129:27 | .significand | conversions.swift:129:12:129:25 | call to sourceDouble() | conversions.swift:129:12:129:27 | .significand | result |
| conversions.swift:135:12:135:25 | call to sourceString() | conversions.swift:135:12:135:25 | call to sourceString() | conversions.swift:135:12:135:25 | call to sourceString() | result |
| conversions.swift:136:12:136:33 | call to String.init(_:) | conversions.swift:136:19:136:32 | call to sourceString() | conversions.swift:136:12:136:33 | call to String.init(_:) | result |
| conversions.swift:145:12:145:12 | ms2 | conversions.swift:144:21:144:34 | call to sourceString() | conversions.swift:145:12:145:12 | ms2 | result |
| conversions.swift:153:12:153:12 | parent | conversions.swift:152:31:152:44 | call to sourceString() | conversions.swift:153:12:153:12 | parent | result |
| conversions.swift:154:12:154:12 | parent | conversions.swift:152:31:152:44 | call to sourceString() | conversions.swift:154:12:154:12 | parent | result |
| conversions.swift:157:12:157:12 | v3 | conversions.swift:152:31:152:44 | call to sourceString() | conversions.swift:157:12:157:12 | v3 | result |
| conversions.swift:158:12:158:12 | v3 | conversions.swift:152:31:152:44 | call to sourceString() | conversions.swift:158:12:158:12 | v3 | result |
| conversions.swift:166:12:166:35 | call to Self.init(_:) | conversions.swift:166:24:166:34 | call to sourceInt() | conversions.swift:166:12:166:35 | call to Self.init(_:) | result |
| simple.swift:12:13:12:24 | ... .+(_:_:) ... | simple.swift:12:17:12:24 | call to source() | simple.swift:12:13:12:24 | ... .+(_:_:) ... | result |
| simple.swift:13:13:13:24 | ... .+(_:_:) ... | simple.swift:13:13:13:20 | call to source() | simple.swift:13:13:13:24 | ... .+(_:_:) ... | result |
| simple.swift:14:13:14:24 | ... .-(_:_:) ... | simple.swift:14:17:14:24 | call to source() | simple.swift:14:13:14:24 | ... .-(_:_:) ... | result |

View File

@@ -1,7 +1,13 @@
func sourceInt() -> Int { 0 }
func sourceUInt() -> UInt { 0 }
func sourceUInt64() -> UInt64 { 0 }
func sourceFloat() -> Float { 0.0 }
func sourceFloat80() -> Float80 { 0.0 }
func sourceDouble() -> Double { 0.0 }
func sourceString() -> String { "" }
func sink(arg: Any) { }
// ---
@@ -23,68 +29,111 @@ class MyString : LosslessStringConvertible, CustomStringConvertible, CustomDebug
typealias MyInt = Int
func testConversions() {
sink(arg: sourceInt()) // $ tainted=26
sink(arg: Int(sourceInt())) // $ tainted=27
sink(arg: UInt8(sourceInt())) // $ tainted=28
sink(arg: Float(sourceInt())) // $ tainted=29
sink(arg: String(sourceInt())) // $ tainted=30
sink(arg: String(sourceInt()).utf8) // $ tainted=31
sink(arg: sourceInt()) // $ tainted=32
sink(arg: Int(sourceInt())) // $ tainted=33
sink(arg: UInt8(sourceInt())) // $ tainted=34
sink(arg: Float(sourceInt())) // $ tainted=35
sink(arg: String(sourceInt())) // $ tainted=36
sink(arg: String(sourceInt()).utf8) // $ tainted=37
let arr = [1, 2, sourceInt()]
sink(arg: arr)
sink(arg: arr[0]) // $ tainted=33
sink(arg: arr[0]) // $ tainted=39
sink(arg: [MyInt](arr))
sink(arg: [MyInt](arr)[0]) // $ tainted=33
sink(arg: [MyInt](arr)[0]) // $ tainted=39
sink(arg: [UInt8](sourceString().utf8))
sink(arg: [UInt8](sourceString().utf8)[0]) // $ tainted=39
sink(arg: [UInt8](sourceString().utf8)[0]) // $ tainted=45
if let v = sourceInt() as? UInt {
sink(arg: v) // $ tainted=41
sink(arg: v) // $ tainted=47
}
let v2: UInt8 = numericCast(sourceInt())
sink(arg: v2) // $ tainted=45
sink(arg: v2) // $ tainted=51
let v4: UInt = unsafeBitCast(sourceInt(), to: UInt.self)
sink(arg: v4) // $ tainted=48
sink(arg: v4) // $ tainted=54
let v5 = UInt(truncatingIfNeeded: sourceInt())
sink(arg: v5) // $ tainted=51
sink(arg: v5) // $ tainted=57
let v6 = UInt(bitPattern: sourceInt())
sink(arg: v6) // $ tainted=54
sink(arg: v6) // $ tainted=60
sink(arg: Int(exactly: sourceInt())!) // $ tainted=57
sink(arg: Int(clamping: sourceInt())) // $ tainted=58
sink(arg: Int(truncatingIfNeeded: sourceInt())) // $ tainted=59
sink(arg: Int(sourceString(), radix: 10)!) // $ tainted=60
let v7 = abs(sourceInt())
sink(arg: v7) // $ MISSING: tainted=63
sink(arg: Int(littleEndian: sourceInt())) // $ tainted=62
sink(arg: Int(bigEndian: sourceInt())) // $ tainted=63
sink(arg: sourceInt().littleEndian) // $ tainted=64
sink(arg: sourceInt().bigEndian) // $ tainted=65
let v8 = UInt64(0)
sink(arg: v8)
sink(arg: v8.advanced(by: 1))
sink(arg: v8.advanced(by: sourceInt())) // $ MISSING: tainted=69
sink(arg: Int(exactly: sourceInt())!) // $ tainted=71
sink(arg: UInt32(exactly: sourceInt())!) // $ tainted=72
sink(arg: Int(clamping: sourceInt())) // $ tainted=73
sink(arg: Int(truncatingIfNeeded: sourceInt())) // $ tainted=74
sink(arg: Int(sourceString(), radix: 10)!) // $ tainted=75
sink(arg: Int(littleEndian: sourceInt())) // $ tainted=77
sink(arg: Int(bigEndian: sourceInt())) // $ tainted=78
sink(arg: sourceInt().littleEndian) // $ tainted=79
sink(arg: sourceInt().bigEndian) // $ tainted=80
let (q1, r1) = 1000.quotientAndRemainder(dividingBy: 2)
sink(arg: q1)
sink(arg: r1)
let (q2, r2) = sourceInt().quotientAndRemainder(dividingBy: 2)
sink(arg: q2) // $ MISSING: tainted=86
sink(arg: r2) // $ MISSING: tainted=86
let (q3, r3) = 1000.quotientAndRemainder(dividingBy: sourceInt())
sink(arg: q3) // $ MISSING: tainted=90
sink(arg: r3) // $ MISSING: tainted=90
let pair1 = 1000.addingReportingOverflow(2)
sink(arg: pair1.0) // part
sink(arg: pair1.1) // overflow
let pair2 = sourceInt().addingReportingOverflow(2)
sink(arg: pair2.0) // $ MISSING: tainted=98
sink(arg: pair2.1)
let pair3 = 1000.addingReportingOverflow(sourceInt())
sink(arg: pair3.0) // $ MISSING: tainted=102
sink(arg: pair3.1)
// ---
sink(arg: sourceFloat()) // $ tainted=69
sink(arg: Float(sourceFloat())) // $ tainted=70
sink(arg: UInt8(sourceFloat())) // $ tainted=71
sink(arg: String(sourceFloat())) // $ tainted=72
sink(arg: String(sourceFloat()).utf8) // $ tainted=73
sink(arg: sourceFloat()) // $ tainted=108
sink(arg: Float(sourceFloat())) // $ tainted=109
sink(arg: UInt8(sourceFloat())) // $ tainted=110
sink(arg: String(sourceFloat())) // $ tainted=111
sink(arg: String(sourceFloat()).utf8) // $ tainted=112
sink(arg: String(sourceFloat80())) // $ tainted=113
sink(arg: String(sourceFloat80()).utf8) // $ tainted=114
sink(arg: String(sourceDouble())) // $ tainted=115
sink(arg: String(sourceDouble()).utf8) // $ tainted=116
sink(arg: Float(sourceFloat())) // $ tainted=75
sink(arg: Float(sign: .plus, exponent: sourceInt(), significand: 0.0)) // $ tainted=76
sink(arg: Float(sign: .plus, exponent: 0, significand: sourceFloat())) // $ tainted=77
sink(arg: Float(sourceFloat())) // $ tainted=118
sink(arg: Float(sign: .plus, exponent: sourceInt(), significand: 0.0)) // $ tainted=119
sink(arg: Float(sign: .plus, exponent: 0, significand: sourceFloat())) // $ tainted=120
sink(arg: Float(signOf: sourceFloat(), magnitudeOf: 0.0)) // (good)
sink(arg: Float(signOf: 0.0, magnitudeOf: sourceFloat())) // $ tainted=79
sink(arg: Float(signOf: 0.0, magnitudeOf: sourceFloat())) // $ tainted=122
sink(arg: sourceFloat().exponent) // $ tainted=81
sink(arg: sourceFloat().significand) // $ tainted=82
sink(arg: sourceFloat().exponent) // $ tainted=124
sink(arg: sourceFloat().significand) // $ tainted=125
sink(arg: sourceFloat80().exponent) // $ tainted=126
sink(arg: sourceFloat80().significand) // $ tainted=127
sink(arg: sourceDouble().exponent) // $ tainted=128
sink(arg: sourceDouble().significand) // $ tainted=129
sink(arg: sourceUInt().byteSwapped) // $ MISSING: tainted=130
sink(arg: sourceUInt64().byteSwapped) // $ MISSING: tainted=131
// ---
sink(arg: sourceString()) // $ tainted=86
sink(arg: String(sourceString())) // $ tainted=87
sink(arg: sourceString()) // $ tainted=135
sink(arg: String(sourceString())) // $ tainted=136
let ms1 = MyString("abc")!
sink(arg: ms1)
@@ -93,20 +142,20 @@ func testConversions() {
sink(arg: ms1.clean)
let ms2 = MyString(sourceString())!
sink(arg: ms2) // $ tainted=95
sink(arg: ms2.description) // $ MISSING: tainted=
sink(arg: ms2.debugDescription) // $ MISSING: tainted=
sink(arg: ms2) // $ tainted=144
sink(arg: ms2.description) // $ MISSING: tainted=144
sink(arg: ms2.debugDescription) // $ MISSING: tainted=144
sink(arg: ms2.clean)
// ---
let parent : MyParentClass = sourceString() as! MyChildClass
sink(arg: parent) // $ tainted=103
sink(arg: parent as! MyChildClass) // $ tainted=103
sink(arg: parent) // $ tainted=152
sink(arg: parent as! MyChildClass) // $ tainted=152
let v3: MyChildClass = unsafeDowncast(parent, to: MyChildClass.self)
sink(arg: v3) // $ tainted=103
sink(arg: v3 as! MyParentClass) // $ tainted=103
sink(arg: v3) // $ tainted=152
sink(arg: v3 as! MyParentClass) // $ tainted=152
}
var myCEnumConst : Int = 0
@@ -114,5 +163,5 @@ typealias MyCEnumType = UInt32
func testCEnum() {
sink(arg: MyCEnumType(myCEnumConst))
sink(arg: MyCEnumType(sourceInt())) // $ tainted=117
sink(arg: MyCEnumType(sourceInt())) // $ tainted=166
}