diff --git a/swift/ql/test/extractor-tests/declarations/accessor.expected b/swift/ql/test/extractor-tests/declarations/accessor.expected index 66db1b8fd0f..d47ce163c5d 100644 --- a/swift/ql/test/extractor-tests/declarations/accessor.expected +++ b/swift/ql/test/extractor-tests/declarations/accessor.expected @@ -1,53 +1,53 @@ -| test.swift:2:7:2:7 | AccessorDecl | ? | -| test.swift:2:7:2:7 | AccessorDecl | get | -| test.swift:2:7:2:7 | AccessorDecl | set | -| test.swift:3:7:3:7 | AccessorDecl | ? | -| test.swift:4:5:4:24 | AccessorDecl | get | -| test.swift:5:5:5:38 | AccessorDecl | set | -| test.swift:9:17:9:17 | AccessorDecl | ? | -| test.swift:9:17:9:17 | AccessorDecl | get | -| test.swift:9:17:9:17 | AccessorDecl | set | -| test.swift:23:9:23:9 | AccessorDecl | ? | -| test.swift:23:31:23:31 | AccessorDecl | get | -| test.swift:23:35:23:35 | AccessorDecl | set | -| test.swift:24:40:24:40 | AccessorDecl | get | -| test.swift:32:3:34:3 | AccessorDecl | get | -| test.swift:35:3:35:18 | AccessorDecl | set | -| test.swift:41:7:41:7 | AccessorDecl | ? | -| test.swift:41:7:41:7 | AccessorDecl | get | -| test.swift:41:7:41:7 | AccessorDecl | set | -| test.swift:70:5:72:5 | AccessorDecl | get | -| test.swift:77:20:77:20 | AccessorDecl | get | -| test.swift:82:7:82:7 | AccessorDecl | ? | -| test.swift:83:5:83:11 | AccessorDecl | set | -| test.swift:84:5:86:5 | AccessorDecl | get | -| test.swift:91:27:93:3 | AccessorDecl | get | -| test.swift:97:5:99:5 | AccessorDecl | get | -| test.swift:102:7:102:7 | AccessorDecl | ? | -| test.swift:102:7:102:7 | AccessorDecl | get | -| test.swift:102:7:102:7 | AccessorDecl | set | -| test.swift:104:3:104:3 | AccessorDecl | ? | -| test.swift:105:5:107:5 | AccessorDecl | get | -| test.swift:108:5:108:11 | AccessorDecl | set | -| test.swift:111:37:113:3 | AccessorDecl | get | -| test.swift:115:7:115:7 | AccessorDecl | ? | -| test.swift:115:7:115:7 | AccessorDecl | get | -| test.swift:115:7:115:7 | AccessorDecl | set | -| test.swift:116:5:116:25 | AccessorDecl | willSet | -| test.swift:119:7:119:7 | AccessorDecl | ? | -| test.swift:119:7:119:7 | AccessorDecl | get | -| test.swift:119:7:119:7 | AccessorDecl | set | -| test.swift:120:5:120:15 | AccessorDecl | willSet | -| test.swift:123:7:123:7 | AccessorDecl | ? | -| test.swift:123:7:123:7 | AccessorDecl | get | -| test.swift:123:7:123:7 | AccessorDecl | set | -| test.swift:124:5:124:24 | AccessorDecl | didSet | -| test.swift:127:7:127:7 | AccessorDecl | ? | -| test.swift:127:7:127:7 | AccessorDecl | get | -| test.swift:127:7:127:7 | AccessorDecl | set | -| test.swift:128:5:128:14 | AccessorDecl | didSet | -| test.swift:131:7:131:7 | AccessorDecl | ? | -| test.swift:131:7:131:7 | AccessorDecl | get | -| test.swift:131:7:131:7 | AccessorDecl | set | -| test.swift:132:5:132:15 | AccessorDecl | willSet | -| test.swift:134:5:134:14 | AccessorDecl | didSet | +| test.swift:2:7:2:7 | (unnamed function decl) | ? | +| test.swift:2:7:2:7 | get | get | +| test.swift:2:7:2:7 | set | set | +| test.swift:3:7:3:7 | (unnamed function decl) | ? | +| test.swift:4:5:4:24 | get | get | +| test.swift:5:5:5:38 | set | set | +| test.swift:9:17:9:17 | (unnamed function decl) | ? | +| test.swift:9:17:9:17 | get | get | +| test.swift:9:17:9:17 | set | set | +| test.swift:23:9:23:9 | (unnamed function decl) | ? | +| test.swift:23:31:23:31 | get | get | +| test.swift:23:35:23:35 | set | set | +| test.swift:24:40:24:40 | get | get | +| test.swift:32:3:34:3 | get | get | +| test.swift:35:3:35:18 | set | set | +| test.swift:41:7:41:7 | (unnamed function decl) | ? | +| test.swift:41:7:41:7 | get | get | +| test.swift:41:7:41:7 | set | set | +| test.swift:70:5:72:5 | get | get | +| test.swift:77:20:77:20 | get | get | +| test.swift:82:7:82:7 | (unnamed function decl) | ? | +| test.swift:83:5:83:11 | set | set | +| test.swift:84:5:86:5 | get | get | +| test.swift:91:27:93:3 | get | get | +| test.swift:97:5:99:5 | get | get | +| test.swift:102:7:102:7 | (unnamed function decl) | ? | +| test.swift:102:7:102:7 | get | get | +| test.swift:102:7:102:7 | set | set | +| test.swift:104:3:104:3 | (unnamed function decl) | ? | +| test.swift:105:5:107:5 | get | get | +| test.swift:108:5:108:11 | set | set | +| test.swift:111:37:113:3 | get | get | +| test.swift:115:7:115:7 | (unnamed function decl) | ? | +| test.swift:115:7:115:7 | get | get | +| test.swift:115:7:115:7 | set | set | +| test.swift:116:5:116:25 | willSet | willSet | +| test.swift:119:7:119:7 | (unnamed function decl) | ? | +| test.swift:119:7:119:7 | get | get | +| test.swift:119:7:119:7 | set | set | +| test.swift:120:5:120:15 | willSet | willSet | +| test.swift:123:7:123:7 | (unnamed function decl) | ? | +| test.swift:123:7:123:7 | get | get | +| test.swift:123:7:123:7 | set | set | +| test.swift:124:5:124:24 | didSet | didSet | +| test.swift:127:7:127:7 | (unnamed function decl) | ? | +| test.swift:127:7:127:7 | get | get | +| test.swift:127:7:127:7 | set | set | +| test.swift:128:5:128:14 | didSet | didSet | +| test.swift:131:7:131:7 | (unnamed function decl) | ? | +| test.swift:131:7:131:7 | get | get | +| test.swift:131:7:131:7 | set | set | +| test.swift:132:5:132:15 | willSet | willSet | +| test.swift:134:5:134:14 | didSet | didSet | diff --git a/swift/ql/test/extractor-tests/declarations/all.expected b/swift/ql/test/extractor-tests/declarations/all.expected index a8e81767731..17398ce97a9 100644 --- a/swift/ql/test/extractor-tests/declarations/all.expected +++ b/swift/ql/test/extractor-tests/declarations/all.expected @@ -1,196 +1,196 @@ -| test.swift:1:1:7:1 | StructDecl | -| test.swift:1:8:1:8 | ConstructorDecl | -| test.swift:1:8:1:8 | ConstructorDecl | -| test.swift:1:8:1:8 | ParamDecl | -| test.swift:2:3:2:11 | PatternBindingDecl | -| test.swift:2:7:2:7 | AccessorDecl | -| test.swift:2:7:2:7 | AccessorDecl | -| test.swift:2:7:2:7 | AccessorDecl | -| test.swift:2:7:2:7 | ConcreteVarDecl | -| test.swift:2:7:2:7 | ParamDecl | -| test.swift:2:7:2:7 | ParamDecl | -| test.swift:2:7:2:7 | ParamDecl | -| test.swift:3:3:6:3 | PatternBindingDecl | -| test.swift:3:7:3:7 | AccessorDecl | -| test.swift:3:7:3:7 | ConcreteVarDecl | -| test.swift:4:5:4:5 | ParamDecl | -| test.swift:4:5:4:24 | AccessorDecl | -| test.swift:5:5:5:5 | ParamDecl | -| test.swift:5:5:5:38 | AccessorDecl | -| test.swift:5:9:5:9 | ParamDecl | -| test.swift:9:1:9:34 | ClassDecl | -| test.swift:9:7:9:7 | ConstructorDecl | -| test.swift:9:7:9:7 | DestructorDecl | -| test.swift:9:13:9:30 | PatternBindingDecl | -| test.swift:9:17:9:17 | AccessorDecl | -| test.swift:9:17:9:17 | AccessorDecl | -| test.swift:9:17:9:17 | AccessorDecl | -| test.swift:9:17:9:17 | ConcreteVarDecl | -| test.swift:9:17:9:17 | ParamDecl | -| test.swift:9:17:9:17 | ParamDecl | -| test.swift:9:17:9:17 | ParamDecl | -| test.swift:11:1:14:1 | EnumDecl | -| test.swift:12:5:12:18 | EnumCaseDecl | -| test.swift:12:10:12:10 | EnumElementDecl | -| test.swift:12:18:12:18 | EnumElementDecl | -| test.swift:13:5:13:26 | EnumCaseDecl | -| test.swift:13:10:13:10 | EnumElementDecl | -| test.swift:13:18:13:18 | EnumElementDecl | -| test.swift:13:26:13:26 | EnumElementDecl | -| test.swift:16:1:20:1 | EnumDecl | -| test.swift:17:5:17:22 | EnumCaseDecl | -| test.swift:17:10:17:22 | EnumElementDecl | -| test.swift:17:18:17:18 | ParamDecl | -| test.swift:18:5:18:21 | EnumCaseDecl | -| test.swift:18:10:18:21 | EnumElementDecl | -| test.swift:18:18:18:18 | ParamDecl | -| test.swift:19:5:19:35 | EnumCaseDecl | -| test.swift:19:10:19:35 | EnumElementDecl | -| test.swift:19:16:19:16 | ParamDecl | -| test.swift:19:21:19:21 | ParamDecl | -| test.swift:19:29:19:29 | ParamDecl | -| test.swift:22:1:26:1 | ProtocolDecl | -| test.swift:23:5:23:39 | PatternBindingDecl | -| test.swift:23:9:23:9 | AccessorDecl | -| test.swift:23:9:23:9 | ConcreteVarDecl | -| test.swift:23:31:23:31 | AccessorDecl | -| test.swift:23:35:23:35 | AccessorDecl | -| test.swift:23:35:23:35 | ParamDecl | -| test.swift:24:5:24:44 | PatternBindingDecl | -| test.swift:24:9:24:9 | ConcreteVarDecl | -| test.swift:24:40:24:40 | AccessorDecl | -| test.swift:25:5:25:22 | ConcreteFuncDecl | -| test.swift:28:1:28:37 | ConcreteFuncDecl | -| test.swift:28:17:28:31 | ParamDecl | -| test.swift:30:1:30:18 | PatternBindingDecl | -| test.swift:30:1:30:18 | TopLevelCodeDecl | -| test.swift:30:5:30:5 | ConcreteVarDecl | -| test.swift:31:1:36:1 | PatternBindingDecl | -| test.swift:31:1:36:1 | TopLevelCodeDecl | -| test.swift:31:5:31:5 | ConcreteVarDecl | -| test.swift:32:3:34:3 | AccessorDecl | -| test.swift:35:3:35:18 | AccessorDecl | -| test.swift:35:7:35:7 | ParamDecl | -| test.swift:38:1:38:33 | TopLevelCodeDecl | -| test.swift:40:1:53:1 | ClassDecl | -| test.swift:41:3:41:14 | PatternBindingDecl | -| test.swift:41:7:41:7 | AccessorDecl | -| test.swift:41:7:41:7 | AccessorDecl | -| test.swift:41:7:41:7 | AccessorDecl | -| test.swift:41:7:41:7 | ConcreteVarDecl | -| test.swift:41:7:41:7 | ParamDecl | -| test.swift:41:7:41:7 | ParamDecl | -| test.swift:41:7:41:7 | ParamDecl | -| test.swift:42:3:42:3 | ParamDecl | -| test.swift:42:3:44:3 | ConstructorDecl | -| test.swift:46:3:46:3 | ParamDecl | -| test.swift:46:3:48:3 | DestructorDecl | -| test.swift:50:3:52:3 | ConcreteFuncDecl | -| test.swift:50:26:50:33 | ParamDecl | -| test.swift:55:8:55:17 | PrefixOperatorDecl | -| test.swift:57:1:62:1 | PrecedenceGroupDecl | -| test.swift:64:7:64:16 | InfixOperatorDecl | -| test.swift:66:7:66:21 | InfixOperatorDecl | -| test.swift:68:18:74:1 | StructDecl | -| test.swift:68:25:68:25 | ConstructorDecl | -| test.swift:69:3:73:3 | PatternBindingDecl | -| test.swift:69:7:69:7 | ConcreteVarDecl | -| test.swift:70:5:72:5 | AccessorDecl | -| test.swift:76:1:79:1 | ConcreteFuncDecl | -| test.swift:77:16:77:23 | PatternBindingDecl | -| test.swift:77:20:77:20 | AccessorDecl | -| test.swift:77:20:77:20 | ConcreteVarDecl | -| test.swift:77:20:77:20 | ConcreteVarDecl | -| test.swift:81:1:136:1 | StructDecl | -| test.swift:81:8:81:8 | ConstructorDecl | -| test.swift:81:8:81:8 | ParamDecl | -| test.swift:81:8:81:8 | ParamDecl | -| test.swift:81:8:81:8 | ParamDecl | -| test.swift:81:8:81:8 | ParamDecl | -| test.swift:81:8:81:8 | ParamDecl | -| test.swift:81:8:81:8 | ParamDecl | -| test.swift:82:3:87:3 | PatternBindingDecl | -| test.swift:82:7:82:7 | AccessorDecl | -| test.swift:82:7:82:7 | ConcreteVarDecl | -| test.swift:83:5:83:5 | ParamDecl | -| test.swift:83:5:83:11 | AccessorDecl | -| test.swift:84:5:86:5 | AccessorDecl | -| test.swift:91:3:93:3 | PatternBindingDecl | -| test.swift:91:7:91:7 | ConcreteVarDecl | -| test.swift:91:27:93:3 | AccessorDecl | -| test.swift:96:3:100:3 | PatternBindingDecl | -| test.swift:96:7:96:7 | ConcreteVarDecl | -| test.swift:97:5:99:5 | AccessorDecl | -| test.swift:102:3:102:21 | PatternBindingDecl | -| test.swift:102:7:102:7 | AccessorDecl | -| test.swift:102:7:102:7 | AccessorDecl | -| test.swift:102:7:102:7 | AccessorDecl | -| test.swift:102:7:102:7 | ConcreteVarDecl | -| test.swift:102:7:102:7 | ParamDecl | -| test.swift:102:7:102:7 | ParamDecl | -| test.swift:102:7:102:7 | ParamDecl | -| test.swift:104:3:104:3 | AccessorDecl | -| test.swift:104:3:109:3 | SubscriptDecl | -| test.swift:104:13:104:13 | ParamDecl | -| test.swift:104:13:104:13 | ParamDecl | -| test.swift:104:13:104:16 | ParamDecl | -| test.swift:105:5:107:5 | AccessorDecl | -| test.swift:108:5:108:5 | ParamDecl | -| test.swift:108:5:108:11 | AccessorDecl | -| test.swift:111:3:113:3 | SubscriptDecl | -| test.swift:111:13:111:13 | ParamDecl | -| test.swift:111:13:111:16 | ParamDecl | -| test.swift:111:21:111:21 | ParamDecl | -| test.swift:111:21:111:25 | ParamDecl | -| test.swift:111:37:113:3 | AccessorDecl | -| test.swift:115:3:117:3 | PatternBindingDecl | -| test.swift:115:7:115:7 | AccessorDecl | -| test.swift:115:7:115:7 | AccessorDecl | -| test.swift:115:7:115:7 | AccessorDecl | -| test.swift:115:7:115:7 | ConcreteVarDecl | -| test.swift:115:7:115:7 | ParamDecl | -| test.swift:115:7:115:7 | ParamDecl | -| test.swift:115:7:115:7 | ParamDecl | -| test.swift:116:5:116:25 | AccessorDecl | -| test.swift:116:13:116:13 | ParamDecl | -| test.swift:119:3:121:3 | PatternBindingDecl | -| test.swift:119:7:119:7 | AccessorDecl | -| test.swift:119:7:119:7 | AccessorDecl | -| test.swift:119:7:119:7 | AccessorDecl | -| test.swift:119:7:119:7 | ConcreteVarDecl | -| test.swift:119:7:119:7 | ParamDecl | -| test.swift:119:7:119:7 | ParamDecl | -| test.swift:119:7:119:7 | ParamDecl | -| test.swift:120:5:120:5 | ParamDecl | -| test.swift:120:5:120:15 | AccessorDecl | -| test.swift:123:3:125:3 | PatternBindingDecl | -| test.swift:123:7:123:7 | AccessorDecl | -| test.swift:123:7:123:7 | AccessorDecl | -| test.swift:123:7:123:7 | AccessorDecl | -| test.swift:123:7:123:7 | ConcreteVarDecl | -| test.swift:123:7:123:7 | ParamDecl | -| test.swift:123:7:123:7 | ParamDecl | -| test.swift:123:7:123:7 | ParamDecl | -| test.swift:124:5:124:24 | AccessorDecl | -| test.swift:124:12:124:12 | ParamDecl | -| test.swift:127:3:129:3 | PatternBindingDecl | -| test.swift:127:7:127:7 | AccessorDecl | -| test.swift:127:7:127:7 | AccessorDecl | -| test.swift:127:7:127:7 | AccessorDecl | -| test.swift:127:7:127:7 | ConcreteVarDecl | -| test.swift:127:7:127:7 | ParamDecl | -| test.swift:127:7:127:7 | ParamDecl | -| test.swift:127:7:127:7 | ParamDecl | -| test.swift:127:7:127:7 | ParamDecl | -| test.swift:128:5:128:14 | AccessorDecl | -| test.swift:131:3:135:3 | PatternBindingDecl | -| test.swift:131:7:131:7 | AccessorDecl | -| test.swift:131:7:131:7 | AccessorDecl | -| test.swift:131:7:131:7 | AccessorDecl | -| test.swift:131:7:131:7 | ConcreteVarDecl | -| test.swift:131:7:131:7 | ParamDecl | -| test.swift:131:7:131:7 | ParamDecl | -| test.swift:131:7:131:7 | ParamDecl | -| test.swift:132:5:132:5 | ParamDecl | -| test.swift:132:5:132:15 | AccessorDecl | -| test.swift:134:5:134:14 | AccessorDecl | +| test.swift:1:1:7:1 | Foo | +| test.swift:1:8:1:8 | deinit | +| test.swift:1:8:1:8 | deinit | +| test.swift:1:8:1:8 | x | +| test.swift:2:3:2:11 | var ... = ... | +| test.swift:2:7:2:7 | (unnamed function decl) | +| test.swift:2:7:2:7 | get | +| test.swift:2:7:2:7 | self | +| test.swift:2:7:2:7 | self | +| test.swift:2:7:2:7 | set | +| test.swift:2:7:2:7 | value | +| test.swift:2:7:2:7 | x | +| test.swift:3:3:6:3 | var ... = ... | +| test.swift:3:7:3:7 | (unnamed function decl) | +| test.swift:3:7:3:7 | next | +| test.swift:4:5:4:5 | self | +| test.swift:4:5:4:24 | get | +| test.swift:5:5:5:5 | self | +| test.swift:5:5:5:38 | set | +| test.swift:5:9:5:9 | newValue | +| test.swift:9:1:9:34 | Bar | +| test.swift:9:7:9:7 | deinit | +| test.swift:9:7:9:7 | init | +| test.swift:9:13:9:30 | var ... = ... | +| test.swift:9:17:9:17 | (unnamed function decl) | +| test.swift:9:17:9:17 | get | +| test.swift:9:17:9:17 | self | +| test.swift:9:17:9:17 | self | +| test.swift:9:17:9:17 | set | +| test.swift:9:17:9:17 | value | +| test.swift:9:17:9:17 | x | +| test.swift:11:1:14:1 | EnumValues | +| test.swift:12:5:12:18 | case ... | +| test.swift:12:10:12:10 | value1 | +| test.swift:12:18:12:18 | value2 | +| test.swift:13:5:13:26 | case ... | +| test.swift:13:10:13:10 | value3 | +| test.swift:13:18:13:18 | value4 | +| test.swift:13:26:13:26 | value5 | +| test.swift:16:1:20:1 | EnumWithParams | +| test.swift:17:5:17:22 | case ... | +| test.swift:17:10:17:22 | nodata1 | +| test.swift:17:18:17:18 | _ | +| test.swift:18:5:18:21 | case ... | +| test.swift:18:10:18:21 | intdata | +| test.swift:18:18:18:18 | _ | +| test.swift:19:5:19:35 | case ... | +| test.swift:19:10:19:35 | tuple | +| test.swift:19:16:19:16 | _ | +| test.swift:19:21:19:21 | _ | +| test.swift:19:29:19:29 | _ | +| test.swift:22:1:26:1 | MyProtocol | +| test.swift:23:5:23:39 | var ... = ... | +| test.swift:23:9:23:9 | (unnamed function decl) | +| test.swift:23:9:23:9 | mustBeSettable | +| test.swift:23:31:23:31 | get | +| test.swift:23:35:23:35 | newValue | +| test.swift:23:35:23:35 | set | +| test.swift:24:5:24:44 | var ... = ... | +| test.swift:24:9:24:9 | doesNotNeedToBeSettable | +| test.swift:24:40:24:40 | get | +| test.swift:25:5:25:22 | random | +| test.swift:28:1:28:37 | a_function | +| test.swift:28:17:28:31 | a_parameter | +| test.swift:30:1:30:18 | var ... = ... | +| test.swift:30:1:30:18 | { ... } | +| test.swift:30:5:30:5 | a_variable | +| test.swift:31:1:36:1 | var ... = ... | +| test.swift:31:1:36:1 | { ... } | +| test.swift:31:5:31:5 | a_property | +| test.swift:32:3:34:3 | get | +| test.swift:35:3:35:18 | set | +| test.swift:35:7:35:7 | newValue | +| test.swift:38:1:38:33 | { ... } | +| test.swift:40:1:53:1 | Baz | +| test.swift:41:3:41:14 | var ... = ... | +| test.swift:41:7:41:7 | (unnamed function decl) | +| test.swift:41:7:41:7 | field | +| test.swift:41:7:41:7 | get | +| test.swift:41:7:41:7 | self | +| test.swift:41:7:41:7 | self | +| test.swift:41:7:41:7 | set | +| test.swift:41:7:41:7 | value | +| test.swift:42:3:42:3 | self | +| test.swift:42:3:44:3 | deinit | +| test.swift:46:3:46:3 | self | +| test.swift:46:3:48:3 | init | +| test.swift:50:3:52:3 | +- | +| test.swift:50:26:50:33 | other | +| test.swift:55:8:55:17 | +- | +| test.swift:57:1:62:1 | precedencegroup ... | +| test.swift:64:7:64:16 | +++ | +| test.swift:66:7:66:21 | *** | +| test.swift:68:18:74:1 | ZeroWrapper | +| test.swift:68:25:68:25 | deinit | +| test.swift:69:3:73:3 | var ... = ... | +| test.swift:69:7:69:7 | wrappedValue | +| test.swift:70:5:72:5 | get | +| test.swift:76:1:79:1 | foo | +| test.swift:77:16:77:23 | var ... = ... | +| test.swift:77:20:77:20 | _x | +| test.swift:77:20:77:20 | get | +| test.swift:77:20:77:20 | x | +| test.swift:81:1:136:1 | HasPropertyAndObserver | +| test.swift:81:8:81:8 | deinit | +| test.swift:81:8:81:8 | hasBoth | +| test.swift:81:8:81:8 | hasDidSet1 | +| test.swift:81:8:81:8 | hasDidSet2 | +| test.swift:81:8:81:8 | hasWillSet1 | +| test.swift:81:8:81:8 | hasWillSet2 | +| test.swift:81:8:81:8 | normalField | +| test.swift:82:3:87:3 | var ... = ... | +| test.swift:82:7:82:7 | (unnamed function decl) | +| test.swift:82:7:82:7 | settableField | +| test.swift:83:5:83:5 | newValue | +| test.swift:83:5:83:11 | set | +| test.swift:84:5:86:5 | get | +| test.swift:91:3:93:3 | var ... = ... | +| test.swift:91:7:91:7 | readOnlyField1 | +| test.swift:91:27:93:3 | get | +| test.swift:96:3:100:3 | var ... = ... | +| test.swift:96:7:96:7 | readOnlyField2 | +| test.swift:97:5:99:5 | get | +| test.swift:102:3:102:21 | var ... = ... | +| test.swift:102:7:102:7 | (unnamed function decl) | +| test.swift:102:7:102:7 | get | +| test.swift:102:7:102:7 | normalField | +| test.swift:102:7:102:7 | self | +| test.swift:102:7:102:7 | self | +| test.swift:102:7:102:7 | set | +| test.swift:102:7:102:7 | value | +| test.swift:104:3:104:3 | (unnamed function decl) | +| test.swift:104:3:109:3 | subscript ... | +| test.swift:104:13:104:13 | x | +| test.swift:104:13:104:13 | x | +| test.swift:104:13:104:16 | x | +| test.swift:105:5:107:5 | get | +| test.swift:108:5:108:5 | newValue | +| test.swift:108:5:108:11 | set | +| test.swift:111:3:113:3 | subscript ... | +| test.swift:111:13:111:13 | x | +| test.swift:111:13:111:16 | x | +| test.swift:111:21:111:21 | y | +| test.swift:111:21:111:25 | y | +| test.swift:111:37:113:3 | get | +| test.swift:115:3:117:3 | var ... = ... | +| test.swift:115:7:115:7 | (unnamed function decl) | +| test.swift:115:7:115:7 | get | +| test.swift:115:7:115:7 | hasWillSet1 | +| test.swift:115:7:115:7 | self | +| test.swift:115:7:115:7 | self | +| test.swift:115:7:115:7 | set | +| test.swift:115:7:115:7 | value | +| test.swift:116:5:116:25 | willSet | +| test.swift:116:13:116:13 | newValue | +| test.swift:119:3:121:3 | var ... = ... | +| test.swift:119:7:119:7 | (unnamed function decl) | +| test.swift:119:7:119:7 | get | +| test.swift:119:7:119:7 | hasWillSet2 | +| test.swift:119:7:119:7 | self | +| test.swift:119:7:119:7 | self | +| test.swift:119:7:119:7 | set | +| test.swift:119:7:119:7 | value | +| test.swift:120:5:120:5 | newValue | +| test.swift:120:5:120:15 | willSet | +| test.swift:123:3:125:3 | var ... = ... | +| test.swift:123:7:123:7 | (unnamed function decl) | +| test.swift:123:7:123:7 | get | +| test.swift:123:7:123:7 | hasDidSet1 | +| test.swift:123:7:123:7 | self | +| test.swift:123:7:123:7 | self | +| test.swift:123:7:123:7 | set | +| test.swift:123:7:123:7 | value | +| test.swift:124:5:124:24 | didSet | +| test.swift:124:12:124:12 | oldValue | +| test.swift:127:3:129:3 | var ... = ... | +| test.swift:127:7:127:7 | (unnamed function decl) | +| test.swift:127:7:127:7 | get | +| test.swift:127:7:127:7 | hasDidSet2 | +| test.swift:127:7:127:7 | self | +| test.swift:127:7:127:7 | self | +| test.swift:127:7:127:7 | self | +| test.swift:127:7:127:7 | set | +| test.swift:127:7:127:7 | value | +| test.swift:128:5:128:14 | didSet | +| test.swift:131:3:135:3 | var ... = ... | +| test.swift:131:7:131:7 | (unnamed function decl) | +| test.swift:131:7:131:7 | get | +| test.swift:131:7:131:7 | hasBoth | +| test.swift:131:7:131:7 | self | +| test.swift:131:7:131:7 | self | +| test.swift:131:7:131:7 | set | +| test.swift:131:7:131:7 | value | +| test.swift:132:5:132:5 | newValue | +| test.swift:132:5:132:15 | willSet | +| test.swift:134:5:134:14 | didSet | diff --git a/swift/ql/test/extractor-tests/declarations/func.expected b/swift/ql/test/extractor-tests/declarations/func.expected index b96781829d3..5eb8c4e6f30 100644 --- a/swift/ql/test/extractor-tests/declarations/func.expected +++ b/swift/ql/test/extractor-tests/declarations/func.expected @@ -1,57 +1,57 @@ -| test.swift:2:7:2:7 | AccessorDecl | (unnamed function decl) | -| test.swift:2:7:2:7 | AccessorDecl | (unnamed function decl) | -| test.swift:2:7:2:7 | AccessorDecl | (unnamed function decl) | -| test.swift:3:7:3:7 | AccessorDecl | (unnamed function decl) | -| test.swift:4:5:4:24 | AccessorDecl | (unnamed function decl) | -| test.swift:5:5:5:38 | AccessorDecl | (unnamed function decl) | -| test.swift:9:17:9:17 | AccessorDecl | (unnamed function decl) | -| test.swift:9:17:9:17 | AccessorDecl | (unnamed function decl) | -| test.swift:9:17:9:17 | AccessorDecl | (unnamed function decl) | -| test.swift:23:9:23:9 | AccessorDecl | (unnamed function decl) | -| test.swift:23:31:23:31 | AccessorDecl | (unnamed function decl) | -| test.swift:23:35:23:35 | AccessorDecl | (unnamed function decl) | -| test.swift:24:40:24:40 | AccessorDecl | (unnamed function decl) | -| test.swift:25:5:25:22 | ConcreteFuncDecl | random | -| test.swift:28:1:28:37 | ConcreteFuncDecl | a_function | -| test.swift:32:3:34:3 | AccessorDecl | (unnamed function decl) | -| test.swift:35:3:35:18 | AccessorDecl | (unnamed function decl) | -| test.swift:41:7:41:7 | AccessorDecl | (unnamed function decl) | -| test.swift:41:7:41:7 | AccessorDecl | (unnamed function decl) | -| test.swift:41:7:41:7 | AccessorDecl | (unnamed function decl) | -| test.swift:50:3:52:3 | ConcreteFuncDecl | +- | -| test.swift:70:5:72:5 | AccessorDecl | (unnamed function decl) | -| test.swift:76:1:79:1 | ConcreteFuncDecl | foo | -| test.swift:77:20:77:20 | AccessorDecl | (unnamed function decl) | -| test.swift:82:7:82:7 | AccessorDecl | (unnamed function decl) | -| test.swift:83:5:83:11 | AccessorDecl | (unnamed function decl) | -| test.swift:84:5:86:5 | AccessorDecl | (unnamed function decl) | -| test.swift:91:27:93:3 | AccessorDecl | (unnamed function decl) | -| test.swift:97:5:99:5 | AccessorDecl | (unnamed function decl) | -| test.swift:102:7:102:7 | AccessorDecl | (unnamed function decl) | -| test.swift:102:7:102:7 | AccessorDecl | (unnamed function decl) | -| test.swift:102:7:102:7 | AccessorDecl | (unnamed function decl) | -| test.swift:104:3:104:3 | AccessorDecl | (unnamed function decl) | -| test.swift:105:5:107:5 | AccessorDecl | (unnamed function decl) | -| test.swift:108:5:108:11 | AccessorDecl | (unnamed function decl) | -| test.swift:111:37:113:3 | AccessorDecl | (unnamed function decl) | -| test.swift:115:7:115:7 | AccessorDecl | (unnamed function decl) | -| test.swift:115:7:115:7 | AccessorDecl | (unnamed function decl) | -| test.swift:115:7:115:7 | AccessorDecl | (unnamed function decl) | -| test.swift:116:5:116:25 | AccessorDecl | (unnamed function decl) | -| test.swift:119:7:119:7 | AccessorDecl | (unnamed function decl) | -| test.swift:119:7:119:7 | AccessorDecl | (unnamed function decl) | -| test.swift:119:7:119:7 | AccessorDecl | (unnamed function decl) | -| test.swift:120:5:120:15 | AccessorDecl | (unnamed function decl) | -| test.swift:123:7:123:7 | AccessorDecl | (unnamed function decl) | -| test.swift:123:7:123:7 | AccessorDecl | (unnamed function decl) | -| test.swift:123:7:123:7 | AccessorDecl | (unnamed function decl) | -| test.swift:124:5:124:24 | AccessorDecl | (unnamed function decl) | -| test.swift:127:7:127:7 | AccessorDecl | (unnamed function decl) | -| test.swift:127:7:127:7 | AccessorDecl | (unnamed function decl) | -| test.swift:127:7:127:7 | AccessorDecl | (unnamed function decl) | -| test.swift:128:5:128:14 | AccessorDecl | (unnamed function decl) | -| test.swift:131:7:131:7 | AccessorDecl | (unnamed function decl) | -| test.swift:131:7:131:7 | AccessorDecl | (unnamed function decl) | -| test.swift:131:7:131:7 | AccessorDecl | (unnamed function decl) | -| test.swift:132:5:132:15 | AccessorDecl | (unnamed function decl) | -| test.swift:134:5:134:14 | AccessorDecl | (unnamed function decl) | +| test.swift:2:7:2:7 | (unnamed function decl) | (unnamed function decl) | +| test.swift:2:7:2:7 | get | (unnamed function decl) | +| test.swift:2:7:2:7 | set | (unnamed function decl) | +| test.swift:3:7:3:7 | (unnamed function decl) | (unnamed function decl) | +| test.swift:4:5:4:24 | get | (unnamed function decl) | +| test.swift:5:5:5:38 | set | (unnamed function decl) | +| test.swift:9:17:9:17 | (unnamed function decl) | (unnamed function decl) | +| test.swift:9:17:9:17 | get | (unnamed function decl) | +| test.swift:9:17:9:17 | set | (unnamed function decl) | +| test.swift:23:9:23:9 | (unnamed function decl) | (unnamed function decl) | +| test.swift:23:31:23:31 | get | (unnamed function decl) | +| test.swift:23:35:23:35 | set | (unnamed function decl) | +| test.swift:24:40:24:40 | get | (unnamed function decl) | +| test.swift:25:5:25:22 | random | random | +| test.swift:28:1:28:37 | a_function | a_function | +| test.swift:32:3:34:3 | get | (unnamed function decl) | +| test.swift:35:3:35:18 | set | (unnamed function decl) | +| test.swift:41:7:41:7 | (unnamed function decl) | (unnamed function decl) | +| test.swift:41:7:41:7 | get | (unnamed function decl) | +| test.swift:41:7:41:7 | set | (unnamed function decl) | +| test.swift:50:3:52:3 | +- | +- | +| test.swift:70:5:72:5 | get | (unnamed function decl) | +| test.swift:76:1:79:1 | foo | foo | +| test.swift:77:20:77:20 | get | (unnamed function decl) | +| test.swift:82:7:82:7 | (unnamed function decl) | (unnamed function decl) | +| test.swift:83:5:83:11 | set | (unnamed function decl) | +| test.swift:84:5:86:5 | get | (unnamed function decl) | +| test.swift:91:27:93:3 | get | (unnamed function decl) | +| test.swift:97:5:99:5 | get | (unnamed function decl) | +| test.swift:102:7:102:7 | (unnamed function decl) | (unnamed function decl) | +| test.swift:102:7:102:7 | get | (unnamed function decl) | +| test.swift:102:7:102:7 | set | (unnamed function decl) | +| test.swift:104:3:104:3 | (unnamed function decl) | (unnamed function decl) | +| test.swift:105:5:107:5 | get | (unnamed function decl) | +| test.swift:108:5:108:11 | set | (unnamed function decl) | +| test.swift:111:37:113:3 | get | (unnamed function decl) | +| test.swift:115:7:115:7 | (unnamed function decl) | (unnamed function decl) | +| test.swift:115:7:115:7 | get | (unnamed function decl) | +| test.swift:115:7:115:7 | set | (unnamed function decl) | +| test.swift:116:5:116:25 | willSet | (unnamed function decl) | +| test.swift:119:7:119:7 | (unnamed function decl) | (unnamed function decl) | +| test.swift:119:7:119:7 | get | (unnamed function decl) | +| test.swift:119:7:119:7 | set | (unnamed function decl) | +| test.swift:120:5:120:15 | willSet | (unnamed function decl) | +| test.swift:123:7:123:7 | (unnamed function decl) | (unnamed function decl) | +| test.swift:123:7:123:7 | get | (unnamed function decl) | +| test.swift:123:7:123:7 | set | (unnamed function decl) | +| test.swift:124:5:124:24 | didSet | (unnamed function decl) | +| test.swift:127:7:127:7 | (unnamed function decl) | (unnamed function decl) | +| test.swift:127:7:127:7 | get | (unnamed function decl) | +| test.swift:127:7:127:7 | set | (unnamed function decl) | +| test.swift:128:5:128:14 | didSet | (unnamed function decl) | +| test.swift:131:7:131:7 | (unnamed function decl) | (unnamed function decl) | +| test.swift:131:7:131:7 | get | (unnamed function decl) | +| test.swift:131:7:131:7 | set | (unnamed function decl) | +| test.swift:132:5:132:15 | willSet | (unnamed function decl) | +| test.swift:134:5:134:14 | didSet | (unnamed function decl) | diff --git a/swift/ql/test/extractor-tests/declarations/func_body.expected b/swift/ql/test/extractor-tests/declarations/func_body.expected index 02ddacad327..15652c1b37c 100644 --- a/swift/ql/test/extractor-tests/declarations/func_body.expected +++ b/swift/ql/test/extractor-tests/declarations/func_body.expected @@ -1,52 +1,52 @@ -| test.swift:2:7:2:7 | AccessorDecl | test.swift:2:7:2:7 | BraceStmt | -| test.swift:2:7:2:7 | AccessorDecl | test.swift:2:7:2:7 | BraceStmt | -| test.swift:2:7:2:7 | AccessorDecl | test.swift:2:7:2:7 | BraceStmt | -| test.swift:3:7:3:7 | AccessorDecl | test.swift:3:7:3:7 | BraceStmt | -| test.swift:4:5:4:24 | AccessorDecl | test.swift:4:9:4:24 | BraceStmt | -| test.swift:5:5:5:38 | AccessorDecl | test.swift:5:19:5:38 | BraceStmt | -| test.swift:9:17:9:17 | AccessorDecl | test.swift:9:17:9:17 | BraceStmt | -| test.swift:9:17:9:17 | AccessorDecl | test.swift:9:17:9:17 | BraceStmt | -| test.swift:9:17:9:17 | AccessorDecl | test.swift:9:17:9:17 | BraceStmt | -| test.swift:28:1:28:37 | ConcreteFuncDecl | test.swift:28:36:28:37 | BraceStmt | -| test.swift:32:3:34:3 | AccessorDecl | test.swift:32:7:34:3 | BraceStmt | -| test.swift:35:3:35:18 | AccessorDecl | test.swift:35:17:35:18 | BraceStmt | -| test.swift:41:7:41:7 | AccessorDecl | test.swift:41:7:41:7 | BraceStmt | -| test.swift:41:7:41:7 | AccessorDecl | test.swift:41:7:41:7 | BraceStmt | -| test.swift:41:7:41:7 | AccessorDecl | test.swift:41:7:41:7 | BraceStmt | -| test.swift:50:3:52:3 | ConcreteFuncDecl | test.swift:50:45:52:3 | BraceStmt | -| test.swift:70:5:72:5 | AccessorDecl | test.swift:70:9:72:5 | BraceStmt | -| test.swift:76:1:79:1 | ConcreteFuncDecl | test.swift:76:19:79:1 | BraceStmt | -| test.swift:77:20:77:20 | AccessorDecl | test.swift:77:20:77:20 | BraceStmt | -| test.swift:82:7:82:7 | AccessorDecl | test.swift:82:7:82:7 | BraceStmt | -| test.swift:83:5:83:11 | AccessorDecl | test.swift:83:9:83:11 | BraceStmt | -| test.swift:84:5:86:5 | AccessorDecl | test.swift:84:9:86:5 | BraceStmt | -| test.swift:91:27:93:3 | AccessorDecl | test.swift:91:27:93:3 | BraceStmt | -| test.swift:97:5:99:5 | AccessorDecl | test.swift:97:9:99:5 | BraceStmt | -| test.swift:102:7:102:7 | AccessorDecl | test.swift:102:7:102:7 | BraceStmt | -| test.swift:102:7:102:7 | AccessorDecl | test.swift:102:7:102:7 | BraceStmt | -| test.swift:102:7:102:7 | AccessorDecl | test.swift:102:7:102:7 | BraceStmt | -| test.swift:104:3:104:3 | AccessorDecl | test.swift:104:3:104:3 | BraceStmt | -| test.swift:105:5:107:5 | AccessorDecl | test.swift:105:9:107:5 | BraceStmt | -| test.swift:108:5:108:11 | AccessorDecl | test.swift:108:9:108:11 | BraceStmt | -| test.swift:111:37:113:3 | AccessorDecl | test.swift:111:37:113:3 | BraceStmt | -| test.swift:115:7:115:7 | AccessorDecl | test.swift:115:7:115:7 | BraceStmt | -| test.swift:115:7:115:7 | AccessorDecl | test.swift:115:7:115:7 | BraceStmt | -| test.swift:115:7:115:7 | AccessorDecl | test.swift:115:7:115:7 | BraceStmt | -| test.swift:116:5:116:25 | AccessorDecl | test.swift:116:23:116:25 | BraceStmt | -| test.swift:119:7:119:7 | AccessorDecl | test.swift:119:7:119:7 | BraceStmt | -| test.swift:119:7:119:7 | AccessorDecl | test.swift:119:7:119:7 | BraceStmt | -| test.swift:119:7:119:7 | AccessorDecl | test.swift:119:7:119:7 | BraceStmt | -| test.swift:120:5:120:15 | AccessorDecl | test.swift:120:13:120:15 | BraceStmt | -| test.swift:123:7:123:7 | AccessorDecl | test.swift:123:7:123:7 | BraceStmt | -| test.swift:123:7:123:7 | AccessorDecl | test.swift:123:7:123:7 | BraceStmt | -| test.swift:123:7:123:7 | AccessorDecl | test.swift:123:7:123:7 | BraceStmt | -| test.swift:124:5:124:24 | AccessorDecl | test.swift:124:22:124:24 | BraceStmt | -| test.swift:127:7:127:7 | AccessorDecl | test.swift:127:7:127:7 | BraceStmt | -| test.swift:127:7:127:7 | AccessorDecl | test.swift:127:7:127:7 | BraceStmt | -| test.swift:127:7:127:7 | AccessorDecl | test.swift:127:7:127:7 | BraceStmt | -| test.swift:128:5:128:14 | AccessorDecl | test.swift:128:12:128:14 | BraceStmt | -| test.swift:131:7:131:7 | AccessorDecl | test.swift:131:7:131:7 | BraceStmt | -| test.swift:131:7:131:7 | AccessorDecl | test.swift:131:7:131:7 | BraceStmt | -| test.swift:131:7:131:7 | AccessorDecl | test.swift:131:7:131:7 | BraceStmt | -| test.swift:132:5:132:15 | AccessorDecl | test.swift:132:13:132:15 | BraceStmt | -| test.swift:134:5:134:14 | AccessorDecl | test.swift:134:12:134:14 | BraceStmt | +| test.swift:2:7:2:7 | (unnamed function decl) | test.swift:2:7:2:7 | { ... } | +| test.swift:2:7:2:7 | get | test.swift:2:7:2:7 | { ... } | +| test.swift:2:7:2:7 | set | test.swift:2:7:2:7 | { ... } | +| test.swift:3:7:3:7 | (unnamed function decl) | test.swift:3:7:3:7 | { ... } | +| test.swift:4:5:4:24 | get | test.swift:4:9:4:24 | { ... } | +| test.swift:5:5:5:38 | set | test.swift:5:19:5:38 | { ... } | +| test.swift:9:17:9:17 | (unnamed function decl) | test.swift:9:17:9:17 | { ... } | +| test.swift:9:17:9:17 | get | test.swift:9:17:9:17 | { ... } | +| test.swift:9:17:9:17 | set | test.swift:9:17:9:17 | { ... } | +| test.swift:28:1:28:37 | a_function | test.swift:28:36:28:37 | { ... } | +| test.swift:32:3:34:3 | get | test.swift:32:7:34:3 | { ... } | +| test.swift:35:3:35:18 | set | test.swift:35:17:35:18 | { ... } | +| test.swift:41:7:41:7 | (unnamed function decl) | test.swift:41:7:41:7 | { ... } | +| test.swift:41:7:41:7 | get | test.swift:41:7:41:7 | { ... } | +| test.swift:41:7:41:7 | set | test.swift:41:7:41:7 | { ... } | +| test.swift:50:3:52:3 | +- | test.swift:50:45:52:3 | { ... } | +| test.swift:70:5:72:5 | get | test.swift:70:9:72:5 | { ... } | +| test.swift:76:1:79:1 | foo | test.swift:76:19:79:1 | { ... } | +| test.swift:77:20:77:20 | get | test.swift:77:20:77:20 | { ... } | +| test.swift:82:7:82:7 | (unnamed function decl) | test.swift:82:7:82:7 | { ... } | +| test.swift:83:5:83:11 | set | test.swift:83:9:83:11 | { ... } | +| test.swift:84:5:86:5 | get | test.swift:84:9:86:5 | { ... } | +| test.swift:91:27:93:3 | get | test.swift:91:27:93:3 | { ... } | +| test.swift:97:5:99:5 | get | test.swift:97:9:99:5 | { ... } | +| test.swift:102:7:102:7 | (unnamed function decl) | test.swift:102:7:102:7 | { ... } | +| test.swift:102:7:102:7 | get | test.swift:102:7:102:7 | { ... } | +| test.swift:102:7:102:7 | set | test.swift:102:7:102:7 | { ... } | +| test.swift:104:3:104:3 | (unnamed function decl) | test.swift:104:3:104:3 | { ... } | +| test.swift:105:5:107:5 | get | test.swift:105:9:107:5 | { ... } | +| test.swift:108:5:108:11 | set | test.swift:108:9:108:11 | { ... } | +| test.swift:111:37:113:3 | get | test.swift:111:37:113:3 | { ... } | +| test.swift:115:7:115:7 | (unnamed function decl) | test.swift:115:7:115:7 | { ... } | +| test.swift:115:7:115:7 | get | test.swift:115:7:115:7 | { ... } | +| test.swift:115:7:115:7 | set | test.swift:115:7:115:7 | { ... } | +| test.swift:116:5:116:25 | willSet | test.swift:116:23:116:25 | { ... } | +| test.swift:119:7:119:7 | (unnamed function decl) | test.swift:119:7:119:7 | { ... } | +| test.swift:119:7:119:7 | get | test.swift:119:7:119:7 | { ... } | +| test.swift:119:7:119:7 | set | test.swift:119:7:119:7 | { ... } | +| test.swift:120:5:120:15 | willSet | test.swift:120:13:120:15 | { ... } | +| test.swift:123:7:123:7 | (unnamed function decl) | test.swift:123:7:123:7 | { ... } | +| test.swift:123:7:123:7 | get | test.swift:123:7:123:7 | { ... } | +| test.swift:123:7:123:7 | set | test.swift:123:7:123:7 | { ... } | +| test.swift:124:5:124:24 | didSet | test.swift:124:22:124:24 | { ... } | +| test.swift:127:7:127:7 | (unnamed function decl) | test.swift:127:7:127:7 | { ... } | +| test.swift:127:7:127:7 | get | test.swift:127:7:127:7 | { ... } | +| test.swift:127:7:127:7 | set | test.swift:127:7:127:7 | { ... } | +| test.swift:128:5:128:14 | didSet | test.swift:128:12:128:14 | { ... } | +| test.swift:131:7:131:7 | (unnamed function decl) | test.swift:131:7:131:7 | { ... } | +| test.swift:131:7:131:7 | get | test.swift:131:7:131:7 | { ... } | +| test.swift:131:7:131:7 | set | test.swift:131:7:131:7 | { ... } | +| test.swift:132:5:132:15 | willSet | test.swift:132:13:132:15 | { ... } | +| test.swift:134:5:134:14 | didSet | test.swift:134:12:134:14 | { ... } | diff --git a/swift/ql/test/extractor-tests/declarations/func_params.expected b/swift/ql/test/extractor-tests/declarations/func_params.expected index b490c20ceed..aa94a212e37 100644 --- a/swift/ql/test/extractor-tests/declarations/func_params.expected +++ b/swift/ql/test/extractor-tests/declarations/func_params.expected @@ -1,25 +1,25 @@ -| test.swift:2:7:2:7 | AccessorDecl | 0 | test.swift:2:7:2:7 | ParamDecl | -| test.swift:5:5:5:38 | AccessorDecl | 0 | test.swift:5:9:5:9 | ParamDecl | -| test.swift:9:17:9:17 | AccessorDecl | 0 | test.swift:9:17:9:17 | ParamDecl | -| test.swift:23:35:23:35 | AccessorDecl | 0 | test.swift:23:35:23:35 | ParamDecl | -| test.swift:28:1:28:37 | ConcreteFuncDecl | 0 | test.swift:28:17:28:31 | ParamDecl | -| test.swift:35:3:35:18 | AccessorDecl | 0 | test.swift:35:7:35:7 | ParamDecl | -| test.swift:41:7:41:7 | AccessorDecl | 0 | test.swift:41:7:41:7 | ParamDecl | -| test.swift:50:3:52:3 | ConcreteFuncDecl | 0 | test.swift:50:26:50:33 | ParamDecl | -| test.swift:83:5:83:11 | AccessorDecl | 0 | test.swift:83:5:83:5 | ParamDecl | -| test.swift:102:7:102:7 | AccessorDecl | 0 | test.swift:102:7:102:7 | ParamDecl | -| test.swift:104:3:104:3 | AccessorDecl | 0 | file://:0:0:0:0 | ParamDecl | -| test.swift:105:5:107:5 | AccessorDecl | 0 | test.swift:104:13:104:13 | ParamDecl | -| test.swift:108:5:108:11 | AccessorDecl | 0 | test.swift:108:5:108:5 | ParamDecl | -| test.swift:108:5:108:11 | AccessorDecl | 1 | test.swift:104:13:104:13 | ParamDecl | -| test.swift:111:37:113:3 | AccessorDecl | 0 | test.swift:111:13:111:13 | ParamDecl | -| test.swift:111:37:113:3 | AccessorDecl | 1 | test.swift:111:21:111:21 | ParamDecl | -| test.swift:115:7:115:7 | AccessorDecl | 0 | test.swift:115:7:115:7 | ParamDecl | -| test.swift:116:5:116:25 | AccessorDecl | 0 | test.swift:116:13:116:13 | ParamDecl | -| test.swift:119:7:119:7 | AccessorDecl | 0 | test.swift:119:7:119:7 | ParamDecl | -| test.swift:120:5:120:15 | AccessorDecl | 0 | test.swift:120:5:120:5 | ParamDecl | -| test.swift:123:7:123:7 | AccessorDecl | 0 | test.swift:123:7:123:7 | ParamDecl | -| test.swift:124:5:124:24 | AccessorDecl | 0 | test.swift:124:12:124:12 | ParamDecl | -| test.swift:127:7:127:7 | AccessorDecl | 0 | test.swift:127:7:127:7 | ParamDecl | -| test.swift:131:7:131:7 | AccessorDecl | 0 | test.swift:131:7:131:7 | ParamDecl | -| test.swift:132:5:132:15 | AccessorDecl | 0 | test.swift:132:5:132:5 | ParamDecl | +| test.swift:2:7:2:7 | set | 0 | test.swift:2:7:2:7 | value | +| test.swift:5:5:5:38 | set | 0 | test.swift:5:9:5:9 | newValue | +| test.swift:9:17:9:17 | set | 0 | test.swift:9:17:9:17 | value | +| test.swift:23:35:23:35 | set | 0 | test.swift:23:35:23:35 | newValue | +| test.swift:28:1:28:37 | a_function | 0 | test.swift:28:17:28:31 | a_parameter | +| test.swift:35:3:35:18 | set | 0 | test.swift:35:7:35:7 | newValue | +| test.swift:41:7:41:7 | set | 0 | test.swift:41:7:41:7 | value | +| test.swift:50:3:52:3 | +- | 0 | test.swift:50:26:50:33 | other | +| test.swift:83:5:83:11 | set | 0 | test.swift:83:5:83:5 | newValue | +| test.swift:102:7:102:7 | set | 0 | test.swift:102:7:102:7 | value | +| test.swift:104:3:104:3 | (unnamed function decl) | 0 | file://:0:0:0:0 | x | +| test.swift:105:5:107:5 | get | 0 | test.swift:104:13:104:13 | x | +| test.swift:108:5:108:11 | set | 0 | test.swift:108:5:108:5 | newValue | +| test.swift:108:5:108:11 | set | 1 | test.swift:104:13:104:13 | x | +| test.swift:111:37:113:3 | get | 0 | test.swift:111:13:111:13 | x | +| test.swift:111:37:113:3 | get | 1 | test.swift:111:21:111:21 | y | +| test.swift:115:7:115:7 | set | 0 | test.swift:115:7:115:7 | value | +| test.swift:116:5:116:25 | willSet | 0 | test.swift:116:13:116:13 | newValue | +| test.swift:119:7:119:7 | set | 0 | test.swift:119:7:119:7 | value | +| test.swift:120:5:120:15 | willSet | 0 | test.swift:120:5:120:5 | newValue | +| test.swift:123:7:123:7 | set | 0 | test.swift:123:7:123:7 | value | +| test.swift:124:5:124:24 | didSet | 0 | test.swift:124:12:124:12 | oldValue | +| test.swift:127:7:127:7 | set | 0 | test.swift:127:7:127:7 | value | +| test.swift:131:7:131:7 | set | 0 | test.swift:131:7:131:7 | value | +| test.swift:132:5:132:15 | willSet | 0 | test.swift:132:5:132:5 | newValue | diff --git a/swift/ql/test/extractor-tests/expressions/all.expected b/swift/ql/test/extractor-tests/expressions/all.expected index 59aab6efe71..d8094e7f54f 100644 --- a/swift/ql/test/extractor-tests/expressions/all.expected +++ b/swift/ql/test/extractor-tests/expressions/all.expected @@ -1,231 +1,234 @@ -| expressions.swift:1:9:1:9 | IntegerLiteralExpr | -| expressions.swift:2:9:2:9 | FloatLiteralExpr | -| expressions.swift:3:10:3:10 | BooleanLiteralExpr | -| expressions.swift:4:10:4:10 | BooleanLiteralExpr | -| expressions.swift:5:9:5:9 | MagicIdentifierLiteralExpr | -| expressions.swift:6:9:6:9 | StringLiteralExpr | -| expressions.swift:7:10:7:10 | InterpolatedStringLiteralExpr | +| expressions.swift:1:9:1:9 | 15 | +| expressions.swift:2:9:2:9 | 15.15 | +| expressions.swift:3:10:3:10 | true | +| expressions.swift:4:10:4:10 | false | +| expressions.swift:5:9:5:9 | #... | +| expressions.swift:6:9:6:9 | hello world | +| expressions.swift:7:10:7:10 | "..." | | expressions.swift:7:10:7:10 | OpaqueValueExpr | -| expressions.swift:7:10:7:10 | StringLiteralExpr | | expressions.swift:7:10:7:10 | TapExpr | -| expressions.swift:7:11:7:10 | CallExpr | -| expressions.swift:7:11:7:11 | DeclRefExpr | -| expressions.swift:7:11:7:11 | DotSyntaxCallExpr | -| expressions.swift:7:11:7:11 | InOutExpr | -| expressions.swift:7:18:7:18 | DeclRefExpr | -| expressions.swift:7:18:7:18 | DeclRefExpr | -| expressions.swift:7:18:7:18 | DotSyntaxCallExpr | -| expressions.swift:7:18:7:18 | InOutExpr | -| expressions.swift:7:18:7:20 | CallExpr | -| expressions.swift:7:19:7:19 | DeclRefExpr | -| expressions.swift:7:21:7:21 | CallExpr | -| expressions.swift:7:21:7:21 | DeclRefExpr | -| expressions.swift:7:21:7:21 | DotSyntaxCallExpr | -| expressions.swift:7:21:7:21 | InOutExpr | -| expressions.swift:7:21:7:21 | StringLiteralExpr | -| expressions.swift:8:15:8:15 | NilLiteralExpr | -| expressions.swift:15:9:15:9 | DeclRefExpr | -| expressions.swift:15:9:15:14 | BinaryExpr | -| expressions.swift:15:11:15:11 | DeclRefExpr | -| expressions.swift:15:11:15:11 | DotSyntaxCallExpr | -| expressions.swift:15:11:15:11 | TypeExpr | -| expressions.swift:15:14:15:14 | IntegerLiteralExpr | -| expressions.swift:16:11:16:11 | TypeExpr | -| expressions.swift:16:11:16:19 | DotSyntaxCallExpr | -| expressions.swift:16:11:16:19 | ErasureExpr | -| expressions.swift:16:19:16:19 | DeclRefExpr | -| expressions.swift:20:1:20:16 | ForceTryExpr | -| expressions.swift:20:6:20:6 | DeclRefExpr | -| expressions.swift:20:6:20:16 | CallExpr | -| expressions.swift:20:14:20:14 | IntegerLiteralExpr | -| expressions.swift:21:1:21:16 | OptionalTryExpr | -| expressions.swift:21:6:21:6 | DeclRefExpr | -| expressions.swift:21:6:21:16 | CallExpr | -| expressions.swift:21:6:21:16 | InjectIntoOptionalExpr | -| expressions.swift:21:14:21:14 | IntegerLiteralExpr | -| expressions.swift:27:13:27:13 | ConstructorRefCallExpr | -| expressions.swift:27:13:27:13 | DeclRefExpr | -| expressions.swift:27:13:27:13 | TypeExpr | -| expressions.swift:27:13:27:19 | CallExpr | -| expressions.swift:29:9:29:19 | DictionaryExpr | -| expressions.swift:29:10:29:10 | StringLiteralExpr | -| expressions.swift:29:10:29:16 | TupleExpr | -| expressions.swift:29:16:29:16 | StringLiteralExpr | -| expressions.swift:30:1:30:1 | DiscardAssignmentExpr | -| expressions.swift:30:1:30:5 | AssignExpr | -| expressions.swift:30:5:30:5 | IntegerLiteralExpr | -| expressions.swift:31:1:31:1 | DiscardAssignmentExpr | -| expressions.swift:31:1:31:11 | AssignExpr | -| expressions.swift:31:5:31:5 | IntegerLiteralExpr | -| expressions.swift:31:5:31:11 | IsExpr | -| expressions.swift:32:1:32:1 | DiscardAssignmentExpr | -| expressions.swift:32:1:32:11 | AssignExpr | -| expressions.swift:32:5:32:5 | IntegerLiteralExpr | -| expressions.swift:32:5:32:11 | CoerceExpr | -| expressions.swift:33:1:33:1 | DiscardAssignmentExpr | -| expressions.swift:33:1:33:12 | AssignExpr | -| expressions.swift:33:5:33:5 | IntegerLiteralExpr | -| expressions.swift:33:5:33:12 | ConditionalCheckedCastExpr | -| expressions.swift:34:1:34:1 | DiscardAssignmentExpr | -| expressions.swift:34:1:34:12 | AssignExpr | -| expressions.swift:34:5:34:5 | IntegerLiteralExpr | -| expressions.swift:34:5:34:12 | ForcedCheckedCastExpr | -| expressions.swift:35:1:35:1 | DeclRefExpr | -| expressions.swift:35:1:35:13 | CallExpr | -| expressions.swift:35:6:35:6 | DefaultArgumentExpr | -| expressions.swift:35:6:35:6 | DefaultArgumentExpr | -| expressions.swift:35:7:35:7 | DeclRefExpr | -| expressions.swift:35:7:35:12 | ArrayExpr | -| expressions.swift:35:7:35:12 | ErasureExpr | -| expressions.swift:35:7:35:12 | SubscriptExpr | -| expressions.swift:35:7:35:12 | VarargExpansionExpr | -| expressions.swift:35:9:35:9 | StringLiteralExpr | -| expressions.swift:38:3:38:3 | DeclRefExpr | -| expressions.swift:38:3:38:15 | CallExpr | -| expressions.swift:38:11:38:11 | IntegerLiteralExpr | -| expressions.swift:38:14:38:14 | IntegerLiteralExpr | -| expressions.swift:41:1:41:1 | DeclRefExpr | -| expressions.swift:41:1:43:1 | CallExpr | -| expressions.swift:41:10:43:1 | ClosureExpr | -| expressions.swift:42:12:42:12 | DeclRefExpr | -| expressions.swift:42:12:42:16 | BinaryExpr | -| expressions.swift:42:14:42:14 | DeclRefExpr | -| expressions.swift:42:14:42:14 | DotSyntaxCallExpr | -| expressions.swift:42:14:42:14 | TypeExpr | -| expressions.swift:42:16:42:16 | DeclRefExpr | -| expressions.swift:44:1:44:1 | DeclRefExpr | -| expressions.swift:44:1:46:1 | CallExpr | -| expressions.swift:44:10:46:1 | ClosureExpr | -| expressions.swift:45:12:45:12 | DeclRefExpr | -| expressions.swift:45:12:45:16 | BinaryExpr | -| expressions.swift:45:14:45:14 | DeclRefExpr | -| expressions.swift:45:14:45:14 | DotSyntaxCallExpr | -| expressions.swift:45:14:45:14 | TypeExpr | -| expressions.swift:45:16:45:16 | DeclRefExpr | -| expressions.swift:47:1:47:1 | DeclRefExpr | -| expressions.swift:47:1:47:27 | CallExpr | -| expressions.swift:47:10:47:27 | ClosureExpr | -| expressions.swift:47:19:47:19 | DeclRefExpr | -| expressions.swift:47:19:47:24 | BinaryExpr | -| expressions.swift:47:22:47:22 | DeclRefExpr | -| expressions.swift:47:22:47:22 | DotSyntaxCallExpr | -| expressions.swift:47:22:47:22 | TypeExpr | -| expressions.swift:47:24:47:24 | DeclRefExpr | -| expressions.swift:48:1:48:1 | DeclRefExpr | -| expressions.swift:48:1:48:20 | CallExpr | -| expressions.swift:48:10:48:20 | ClosureExpr | -| expressions.swift:48:12:48:12 | DeclRefExpr | -| expressions.swift:48:12:48:17 | BinaryExpr | -| expressions.swift:48:15:48:15 | DeclRefExpr | -| expressions.swift:48:15:48:15 | DotSyntaxCallExpr | -| expressions.swift:48:15:48:15 | TypeExpr | -| expressions.swift:48:17:48:17 | DeclRefExpr | -| expressions.swift:54:1:54:1 | DiscardAssignmentExpr | -| expressions.swift:54:1:54:8 | AssignExpr | -| expressions.swift:54:5:54:8 | KeyPathExpr | -| expressions.swift:58:16:58:16 | IntegerLiteralExpr | -| expressions.swift:59:1:59:1 | DeclRefExpr | -| expressions.swift:59:1:59:34 | CallExpr | -| expressions.swift:59:25:59:26 | InOutExpr | -| expressions.swift:59:25:59:26 | InOutToPointerExpr | -| expressions.swift:59:26:59:26 | DeclRefExpr | -| expressions.swift:60:1:60:1 | DeclRefExpr | -| expressions.swift:60:1:60:63 | CallExpr | -| expressions.swift:60:23:60:23 | DeclRefExpr | -| expressions.swift:60:23:60:23 | LoadExpr | -| expressions.swift:60:33:60:63 | ClosureExpr | -| expressions.swift:60:33:60:63 | FunctionConversionExpr | -| expressions.swift:60:35:60:35 | DeclRefExpr | -| expressions.swift:60:35:60:61 | CallExpr | -| expressions.swift:60:59:60:59 | DeclRefExpr | -| expressions.swift:64:8:64:8 | DeclRefExpr | -| expressions.swift:64:8:64:12 | BinaryExpr | -| expressions.swift:64:10:64:10 | DeclRefExpr | -| expressions.swift:64:10:64:10 | DotSyntaxCallExpr | -| expressions.swift:64:10:64:10 | TypeExpr | -| expressions.swift:64:12:64:12 | IntegerLiteralExpr | -| expressions.swift:73:5:73:5 | DeclRefExpr | -| expressions.swift:73:5:73:5 | MemberRefExpr | -| expressions.swift:73:5:73:10 | AssignExpr | -| expressions.swift:73:10:73:10 | DeclRefExpr | -| expressions.swift:77:7:77:7 | CallExpr | -| expressions.swift:77:7:77:7 | DeclRefExpr | -| expressions.swift:77:7:77:7 | MagicIdentifierLiteralExpr | -| expressions.swift:77:7:77:7 | MagicIdentifierLiteralExpr | -| expressions.swift:77:7:77:7 | MagicIdentifierLiteralExpr | -| expressions.swift:77:7:77:7 | MagicIdentifierLiteralExpr | -| expressions.swift:77:7:77:7 | StringLiteralExpr | -| expressions.swift:79:5:79:5 | SuperRefExpr | -| expressions.swift:79:5:79:11 | DotSyntaxCallExpr | -| expressions.swift:79:5:79:21 | CallExpr | -| expressions.swift:79:5:79:21 | RebindSelfInConstructorExpr | +| expressions.swift:7:10:7:10 | hello | +| expressions.swift:7:11:7:10 | call to ... | +| expressions.swift:7:11:7:11 | $interpolation | +| expressions.swift:7:11:7:11 | &... | +| expressions.swift:7:11:7:11 | call to appendLiteral | +| expressions.swift:7:18:7:18 | $interpolation | +| expressions.swift:7:18:7:18 | &... | +| expressions.swift:7:18:7:18 | appendInterpolation | +| expressions.swift:7:18:7:18 | call to appendInterpolation | +| expressions.swift:7:18:7:20 | call to ... | +| expressions.swift:7:19:7:19 | a | +| expressions.swift:7:21:7:21 | | +| expressions.swift:7:21:7:21 | $interpolation | +| expressions.swift:7:21:7:21 | &... | +| expressions.swift:7:21:7:21 | call to ... | +| expressions.swift:7:21:7:21 | call to appendLiteral | +| expressions.swift:8:15:8:15 | nil | +| expressions.swift:15:9:15:9 | x | +| expressions.swift:15:9:15:14 | ... call to != ... | +| expressions.swift:15:11:15:11 | != | +| expressions.swift:15:11:15:11 | Int.Type | +| expressions.swift:15:11:15:11 | call to != | +| expressions.swift:15:14:15:14 | 0 | +| expressions.swift:16:11:16:11 | AnError.Type | +| expressions.swift:16:11:16:19 | (Error) ... | +| expressions.swift:16:11:16:19 | (TBD (ExistentialType)) ... | +| expressions.swift:16:11:16:19 | call to ... | +| expressions.swift:16:19:16:19 | failed | +| expressions.swift:20:1:20:16 | try! ... | +| expressions.swift:20:6:20:6 | failure | +| expressions.swift:20:6:20:16 | call to failure | +| expressions.swift:20:14:20:14 | 11 | +| expressions.swift:21:1:21:16 | try? ... | +| expressions.swift:21:6:21:6 | failure | +| expressions.swift:21:6:21:16 | (()?) ... | +| expressions.swift:21:6:21:16 | call to failure | +| expressions.swift:21:14:21:14 | 11 | +| expressions.swift:27:13:27:13 | Klass.Type | +| expressions.swift:27:13:27:13 | call to ... | +| expressions.swift:27:13:27:13 | deinit | +| expressions.swift:27:13:27:19 | call to ... | +| expressions.swift:29:9:29:19 | [...] | +| expressions.swift:29:10:29:10 | 1 | +| expressions.swift:29:10:29:16 | (...) | +| expressions.swift:29:16:29:16 | 2 | +| expressions.swift:30:1:30:1 | _ | +| expressions.swift:30:1:30:5 | ... = ... | +| expressions.swift:30:5:30:5 | 15 | +| expressions.swift:31:1:31:1 | _ | +| expressions.swift:31:1:31:11 | ... = ... | +| expressions.swift:31:5:31:5 | 15 | +| expressions.swift:31:5:31:11 | ... is ... | +| expressions.swift:32:1:32:1 | _ | +| expressions.swift:32:1:32:11 | ... = ... | +| expressions.swift:32:5:32:5 | 15 | +| expressions.swift:32:5:32:11 | (Double) ... | +| expressions.swift:33:1:33:1 | _ | +| expressions.swift:33:1:33:12 | ... = ... | +| expressions.swift:33:5:33:5 | 15 | +| expressions.swift:33:5:33:12 | (Double?) ... | +| expressions.swift:34:1:34:1 | _ | +| expressions.swift:34:1:34:12 | ... = ... | +| expressions.swift:34:5:34:5 | 15 | +| expressions.swift:34:5:34:12 | (Double) ... | +| expressions.swift:35:1:35:1 | print | +| expressions.swift:35:1:35:13 | call to print | +| expressions.swift:35:6:35:6 | default separator | +| expressions.swift:35:6:35:6 | default terminator | +| expressions.swift:35:7:35:7 | d | +| expressions.swift:35:7:35:12 | (Any) ... | +| expressions.swift:35:7:35:12 | (TBD (ProtocolCompositionType)) ... | +| expressions.swift:35:7:35:12 | ...[...] | +| expressions.swift:35:7:35:12 | [...] | +| expressions.swift:35:7:35:12 | [...] | +| expressions.swift:35:9:35:9 | 1 | +| expressions.swift:38:3:38:3 | closure | +| expressions.swift:38:3:38:15 | call to ... | +| expressions.swift:38:11:38:11 | 5 | +| expressions.swift:38:14:38:14 | 7 | +| expressions.swift:41:1:41:1 | closured | +| expressions.swift:41:1:43:1 | call to closured | +| expressions.swift:41:10:43:1 | { ... } | +| expressions.swift:42:12:42:12 | x | +| expressions.swift:42:12:42:16 | ... call to + ... | +| expressions.swift:42:14:42:14 | + | +| expressions.swift:42:14:42:14 | Int.Type | +| expressions.swift:42:14:42:14 | call to + | +| expressions.swift:42:16:42:16 | y | +| expressions.swift:44:1:44:1 | closured | +| expressions.swift:44:1:46:1 | call to closured | +| expressions.swift:44:10:46:1 | { ... } | +| expressions.swift:45:12:45:12 | x | +| expressions.swift:45:12:45:16 | ... call to + ... | +| expressions.swift:45:14:45:14 | + | +| expressions.swift:45:14:45:14 | Int.Type | +| expressions.swift:45:14:45:14 | call to + | +| expressions.swift:45:16:45:16 | y | +| expressions.swift:47:1:47:1 | closured | +| expressions.swift:47:1:47:27 | call to closured | +| expressions.swift:47:10:47:27 | { ... } | +| expressions.swift:47:19:47:19 | $0 | +| expressions.swift:47:19:47:24 | ... call to + ... | +| expressions.swift:47:22:47:22 | + | +| expressions.swift:47:22:47:22 | Int.Type | +| expressions.swift:47:22:47:22 | call to + | +| expressions.swift:47:24:47:24 | $1 | +| expressions.swift:48:1:48:1 | closured | +| expressions.swift:48:1:48:20 | call to closured | +| expressions.swift:48:10:48:20 | { ... } | +| expressions.swift:48:12:48:12 | $0 | +| expressions.swift:48:12:48:17 | ... call to + ... | +| expressions.swift:48:15:48:15 | + | +| expressions.swift:48:15:48:15 | Int.Type | +| expressions.swift:48:15:48:15 | call to + | +| expressions.swift:48:17:48:17 | $1 | +| expressions.swift:54:1:54:1 | _ | +| expressions.swift:54:1:54:8 | ... = ... | +| expressions.swift:54:5:54:8 | #keyPath(...) | +| expressions.swift:58:16:58:16 | 1234 | +| expressions.swift:59:1:59:1 | unsafeFunction | +| expressions.swift:59:1:59:34 | call to unsafeFunction | +| expressions.swift:59:25:59:26 | &... | +| expressions.swift:59:25:59:26 | (UnsafePointer) ... | +| expressions.swift:59:26:59:26 | myNumber | +| expressions.swift:60:1:60:1 | withUnsafePointer | +| expressions.swift:60:1:60:63 | call to withUnsafePointer | +| expressions.swift:60:23:60:23 | (Int) ... | +| expressions.swift:60:23:60:23 | myNumber | +| expressions.swift:60:33:60:63 | ((UnsafePointer) throws -> ()) ... | +| expressions.swift:60:33:60:63 | { ... } | +| expressions.swift:60:35:60:35 | unsafeFunction | +| expressions.swift:60:35:60:61 | call to unsafeFunction | +| expressions.swift:60:59:60:59 | $0 | +| expressions.swift:64:8:64:8 | x | +| expressions.swift:64:8:64:12 | ... call to < ... | +| expressions.swift:64:10:64:10 | < | +| expressions.swift:64:10:64:10 | Int.Type | +| expressions.swift:64:10:64:10 | call to < | +| expressions.swift:64:12:64:12 | 0 | +| expressions.swift:73:5:73:5 | .xx | +| expressions.swift:73:5:73:5 | self | +| expressions.swift:73:5:73:10 | ... = ... | +| expressions.swift:73:10:73:10 | x | +| expressions.swift:77:7:77:7 | #... | +| expressions.swift:77:7:77:7 | #... | +| expressions.swift:77:7:77:7 | #... | +| expressions.swift:77:7:77:7 | #... | +| expressions.swift:77:7:77:7 | _unimplementedInitializer | +| expressions.swift:77:7:77:7 | call to _unimplementedInitializer | +| expressions.swift:77:7:77:7 | expressions.Derived | +| expressions.swift:79:5:79:5 | super | +| expressions.swift:79:5:79:11 | call to ... | +| expressions.swift:79:5:79:21 | call to ... | +| expressions.swift:79:5:79:21 | self = ... | | expressions.swift:79:11:79:11 | TBD (OtherConstructorDeclRefExpr) | -| expressions.swift:79:19:79:19 | IntegerLiteralExpr | -| expressions.swift:83:15:83:15 | ConstructorRefCallExpr | -| expressions.swift:83:15:83:15 | DeclRefExpr | -| expressions.swift:83:15:83:15 | TypeExpr | -| expressions.swift:83:15:83:23 | CallExpr | -| expressions.swift:84:1:84:1 | DiscardAssignmentExpr | -| expressions.swift:84:1:84:13 | AssignExpr | -| expressions.swift:84:5:84:5 | DeclRefExpr | -| expressions.swift:84:5:84:5 | DerivedToBaseExpr | -| expressions.swift:84:5:84:13 | MemberRefExpr | -| expressions.swift:87:1:87:1 | DeclRefExpr | -| expressions.swift:87:1:87:4 | ForceValueExpr | -| expressions.swift:88:1:88:1 | DeclRefExpr | -| expressions.swift:88:1:88:6 | SubscriptExpr | -| expressions.swift:88:1:88:7 | ForceValueExpr | -| expressions.swift:88:3:88:3 | StringLiteralExpr | -| expressions.swift:92:14:92:14 | TypeExpr | -| expressions.swift:92:14:92:24 | DotSyntaxCallExpr | -| expressions.swift:92:14:92:44 | CallExpr | -| expressions.swift:92:14:92:46 | DotSyntaxCallExpr | -| expressions.swift:92:14:92:55 | CallExpr | -| expressions.swift:92:24:92:24 | DeclRefExpr | -| expressions.swift:92:37:92:37 | ConstructorRefCallExpr | -| expressions.swift:92:37:92:37 | DeclRefExpr | -| expressions.swift:92:37:92:37 | TypeExpr | -| expressions.swift:92:37:92:43 | CallExpr | -| expressions.swift:92:46:92:46 | DeclRefExpr | -| expressions.swift:93:1:93:16 | TypeExpr | -| expressions.swift:93:1:93:18 | DotSyntaxCallExpr | -| expressions.swift:93:1:93:35 | CallExpr | -| expressions.swift:93:18:93:18 | DeclRefExpr | -| expressions.swift:93:29:93:29 | DeclRefExpr | -| expressions.swift:93:29:93:29 | PointerToPointerExpr | -| expressions.swift:99:14:99:14 | IntegerLiteralExpr | -| expressions.swift:106:12:106:12 | IntegerLiteralExpr | -| expressions.swift:112:14:112:14 | IntegerLiteralExpr | -| expressions.swift:120:14:120:14 | IntegerLiteralExpr | -| expressions.swift:126:12:126:12 | IntegerLiteralExpr | -| expressions.swift:131:3:131:3 | DeclRefExpr | -| expressions.swift:131:3:131:6 | MemberRefExpr | -| expressions.swift:131:3:131:22 | AssignExpr | -| expressions.swift:131:22:131:22 | IntegerLiteralExpr | -| expressions.swift:132:11:132:11 | DeclRefExpr | -| expressions.swift:132:11:132:14 | LoadExpr | -| expressions.swift:132:11:132:14 | MemberRefExpr | -| expressions.swift:133:11:133:11 | DeclRefExpr | -| expressions.swift:133:11:133:11 | LoadExpr | -| expressions.swift:133:11:133:14 | MemberRefExpr | -| expressions.swift:134:11:134:11 | DeclRefExpr | -| expressions.swift:134:11:134:11 | LoadExpr | -| expressions.swift:134:11:134:14 | MemberRefExpr | -| expressions.swift:135:3:135:3 | DeclRefExpr | -| expressions.swift:135:3:135:6 | MemberRefExpr | -| expressions.swift:135:3:135:20 | AssignExpr | -| expressions.swift:135:20:135:20 | IntegerLiteralExpr | -| expressions.swift:136:11:136:11 | DeclRefExpr | -| expressions.swift:136:11:136:14 | LoadExpr | -| expressions.swift:136:11:136:14 | MemberRefExpr | -| expressions.swift:137:3:137:3 | DeclRefExpr | -| expressions.swift:137:3:137:3 | InOutExpr | -| expressions.swift:137:3:137:7 | SubscriptExpr | -| expressions.swift:137:3:137:11 | AssignExpr | -| expressions.swift:137:6:137:6 | IntegerLiteralExpr | -| expressions.swift:137:11:137:11 | IntegerLiteralExpr | -| expressions.swift:138:10:138:10 | DeclRefExpr | -| expressions.swift:138:10:138:10 | LoadExpr | -| expressions.swift:138:10:138:17 | SubscriptExpr | -| expressions.swift:138:13:138:13 | IntegerLiteralExpr | -| expressions.swift:138:16:138:16 | IntegerLiteralExpr | +| expressions.swift:79:11:79:11 | call to ... | +| expressions.swift:79:19:79:19 | 22 | +| expressions.swift:83:15:83:15 | Derived.Type | +| expressions.swift:83:15:83:15 | call to ... | +| expressions.swift:83:15:83:15 | deinit | +| expressions.swift:83:15:83:23 | call to ... | +| expressions.swift:84:1:84:1 | _ | +| expressions.swift:84:1:84:13 | ... = ... | +| expressions.swift:84:5:84:5 | (Base) ... | +| expressions.swift:84:5:84:5 | derived | +| expressions.swift:84:5:84:13 | .xx | +| expressions.swift:87:1:87:1 | opt | +| expressions.swift:87:1:87:4 | ...! | +| expressions.swift:88:1:88:1 | d | +| expressions.swift:88:1:88:6 | ...[...] | +| expressions.swift:88:1:88:7 | ...! | +| expressions.swift:88:3:88:3 | a | +| expressions.swift:92:14:92:14 | Unmanaged.Type | +| expressions.swift:92:14:92:24 | call to passRetained | +| expressions.swift:92:14:92:44 | call to ... | +| expressions.swift:92:14:92:46 | call to toOpaque | +| expressions.swift:92:14:92:55 | call to ... | +| expressions.swift:92:24:92:24 | passRetained | +| expressions.swift:92:37:92:37 | ToPtr.Type | +| expressions.swift:92:37:92:37 | call to ... | +| expressions.swift:92:37:92:37 | deinit | +| expressions.swift:92:37:92:43 | call to ... | +| expressions.swift:92:46:92:46 | toOpaque | +| expressions.swift:93:1:93:16 | Unmanaged.Type | +| expressions.swift:93:1:93:18 | call to fromOpaque | +| expressions.swift:93:1:93:35 | call to ... | +| expressions.swift:93:18:93:18 | fromOpaque | +| expressions.swift:93:29:93:29 | (UnsafeRawPointer) ... | +| expressions.swift:93:29:93:29 | opaque | +| expressions.swift:99:14:99:14 | 0 | +| expressions.swift:106:12:106:12 | 0 | +| expressions.swift:112:14:112:14 | 0 | +| expressions.swift:120:14:120:14 | 0 | +| expressions.swift:126:12:126:12 | 0 | +| expressions.swift:131:3:131:3 | hp | +| expressions.swift:131:3:131:6 | .settableField | +| expressions.swift:131:3:131:22 | ... = ... | +| expressions.swift:131:22:131:22 | 42 | +| expressions.swift:132:11:132:11 | hp | +| expressions.swift:132:11:132:14 | (Int) ... | +| expressions.swift:132:11:132:14 | .settableField | +| expressions.swift:133:11:133:11 | (HasProperty) ... | +| expressions.swift:133:11:133:11 | hp | +| expressions.swift:133:11:133:14 | .readOnlyField1 | +| expressions.swift:134:11:134:11 | (HasProperty) ... | +| expressions.swift:134:11:134:11 | hp | +| expressions.swift:134:11:134:14 | .readOnlyField2 | +| expressions.swift:135:3:135:3 | hp | +| expressions.swift:135:3:135:6 | .normalField | +| expressions.swift:135:3:135:20 | ... = ... | +| expressions.swift:135:20:135:20 | 99 | +| expressions.swift:136:11:136:11 | hp | +| expressions.swift:136:11:136:14 | (Int) ... | +| expressions.swift:136:11:136:14 | .normalField | +| expressions.swift:137:3:137:3 | &... | +| expressions.swift:137:3:137:3 | hp | +| expressions.swift:137:3:137:7 | ...[...] | +| expressions.swift:137:3:137:11 | ... = ... | +| expressions.swift:137:6:137:6 | 1 | +| expressions.swift:137:11:137:11 | 2 | +| expressions.swift:138:10:138:10 | (HasProperty) ... | +| expressions.swift:138:10:138:10 | hp | +| expressions.swift:138:10:138:17 | ...[...] | +| expressions.swift:138:13:138:13 | 3 | +| expressions.swift:138:16:138:16 | 4 | diff --git a/swift/ql/test/extractor-tests/expressions/semantics.expected b/swift/ql/test/extractor-tests/expressions/semantics.expected index c20d4a29b93..5f07b18715f 100644 --- a/swift/ql/test/extractor-tests/expressions/semantics.expected +++ b/swift/ql/test/extractor-tests/expressions/semantics.expected @@ -1,70 +1,70 @@ -| expressions.swift:7:11:7:11 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:7:18:7:18 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:7:18:7:18 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:7:19:7:19 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:7:21:7:21 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:15:9:15:9 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:15:11:15:11 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:16:19:16:19 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:20:6:20:6 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:21:6:21:6 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:27:13:27:13 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:35:1:35:1 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:35:7:35:7 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:35:7:35:12 | SubscriptExpr | OrdinarySemantics | -| expressions.swift:38:3:38:3 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:41:1:41:1 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:42:12:42:12 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:42:14:42:14 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:42:16:42:16 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:44:1:44:1 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:45:12:45:12 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:45:14:45:14 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:45:16:45:16 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:47:1:47:1 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:47:19:47:19 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:47:22:47:22 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:47:24:47:24 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:48:1:48:1 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:48:12:48:12 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:48:15:48:15 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:48:17:48:17 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:59:1:59:1 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:59:26:59:26 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:60:1:60:1 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:60:23:60:23 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:60:35:60:35 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:60:59:60:59 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:64:8:64:8 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:64:10:64:10 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:73:5:73:5 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:73:5:73:5 | MemberRefExpr | DirectToStorage | -| expressions.swift:73:10:73:10 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:77:7:77:7 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:83:15:83:15 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:84:5:84:5 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:84:5:84:13 | MemberRefExpr | OrdinarySemantics | -| expressions.swift:87:1:87:1 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:88:1:88:1 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:88:1:88:6 | SubscriptExpr | OrdinarySemantics | -| expressions.swift:92:24:92:24 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:92:37:92:37 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:92:46:92:46 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:93:18:93:18 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:93:29:93:29 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:131:3:131:3 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:131:3:131:6 | MemberRefExpr | OrdinarySemantics | -| expressions.swift:132:11:132:11 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:132:11:132:14 | MemberRefExpr | OrdinarySemantics | -| expressions.swift:133:11:133:11 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:133:11:133:14 | MemberRefExpr | OrdinarySemantics | -| expressions.swift:134:11:134:11 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:134:11:134:14 | MemberRefExpr | OrdinarySemantics | -| expressions.swift:135:3:135:3 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:135:3:135:6 | MemberRefExpr | OrdinarySemantics | -| expressions.swift:136:11:136:11 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:136:11:136:14 | MemberRefExpr | OrdinarySemantics | -| expressions.swift:137:3:137:3 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:137:3:137:7 | SubscriptExpr | OrdinarySemantics | -| expressions.swift:138:10:138:10 | DeclRefExpr | OrdinarySemantics | -| expressions.swift:138:10:138:17 | SubscriptExpr | OrdinarySemantics | +| expressions.swift:7:11:7:11 | $interpolation | OrdinarySemantics | +| expressions.swift:7:18:7:18 | $interpolation | OrdinarySemantics | +| expressions.swift:7:18:7:18 | appendInterpolation | OrdinarySemantics | +| expressions.swift:7:19:7:19 | a | OrdinarySemantics | +| expressions.swift:7:21:7:21 | $interpolation | OrdinarySemantics | +| expressions.swift:15:9:15:9 | x | OrdinarySemantics | +| expressions.swift:15:11:15:11 | != | OrdinarySemantics | +| expressions.swift:16:19:16:19 | failed | OrdinarySemantics | +| expressions.swift:20:6:20:6 | failure | OrdinarySemantics | +| expressions.swift:21:6:21:6 | failure | OrdinarySemantics | +| expressions.swift:27:13:27:13 | deinit | OrdinarySemantics | +| expressions.swift:35:1:35:1 | print | OrdinarySemantics | +| expressions.swift:35:7:35:7 | d | OrdinarySemantics | +| expressions.swift:35:7:35:12 | ...[...] | OrdinarySemantics | +| expressions.swift:38:3:38:3 | closure | OrdinarySemantics | +| expressions.swift:41:1:41:1 | closured | OrdinarySemantics | +| expressions.swift:42:12:42:12 | x | OrdinarySemantics | +| expressions.swift:42:14:42:14 | + | OrdinarySemantics | +| expressions.swift:42:16:42:16 | y | OrdinarySemantics | +| expressions.swift:44:1:44:1 | closured | OrdinarySemantics | +| expressions.swift:45:12:45:12 | x | OrdinarySemantics | +| expressions.swift:45:14:45:14 | + | OrdinarySemantics | +| expressions.swift:45:16:45:16 | y | OrdinarySemantics | +| expressions.swift:47:1:47:1 | closured | OrdinarySemantics | +| expressions.swift:47:19:47:19 | $0 | OrdinarySemantics | +| expressions.swift:47:22:47:22 | + | OrdinarySemantics | +| expressions.swift:47:24:47:24 | $1 | OrdinarySemantics | +| expressions.swift:48:1:48:1 | closured | OrdinarySemantics | +| expressions.swift:48:12:48:12 | $0 | OrdinarySemantics | +| expressions.swift:48:15:48:15 | + | OrdinarySemantics | +| expressions.swift:48:17:48:17 | $1 | OrdinarySemantics | +| expressions.swift:59:1:59:1 | unsafeFunction | OrdinarySemantics | +| expressions.swift:59:26:59:26 | myNumber | OrdinarySemantics | +| expressions.swift:60:1:60:1 | withUnsafePointer | OrdinarySemantics | +| expressions.swift:60:23:60:23 | myNumber | OrdinarySemantics | +| expressions.swift:60:35:60:35 | unsafeFunction | OrdinarySemantics | +| expressions.swift:60:59:60:59 | $0 | OrdinarySemantics | +| expressions.swift:64:8:64:8 | x | OrdinarySemantics | +| expressions.swift:64:10:64:10 | < | OrdinarySemantics | +| expressions.swift:73:5:73:5 | .xx | DirectToStorage | +| expressions.swift:73:5:73:5 | self | OrdinarySemantics | +| expressions.swift:73:10:73:10 | x | OrdinarySemantics | +| expressions.swift:77:7:77:7 | _unimplementedInitializer | OrdinarySemantics | +| expressions.swift:83:15:83:15 | deinit | OrdinarySemantics | +| expressions.swift:84:5:84:5 | derived | OrdinarySemantics | +| expressions.swift:84:5:84:13 | .xx | OrdinarySemantics | +| expressions.swift:87:1:87:1 | opt | OrdinarySemantics | +| expressions.swift:88:1:88:1 | d | OrdinarySemantics | +| expressions.swift:88:1:88:6 | ...[...] | OrdinarySemantics | +| expressions.swift:92:24:92:24 | passRetained | OrdinarySemantics | +| expressions.swift:92:37:92:37 | deinit | OrdinarySemantics | +| expressions.swift:92:46:92:46 | toOpaque | OrdinarySemantics | +| expressions.swift:93:18:93:18 | fromOpaque | OrdinarySemantics | +| expressions.swift:93:29:93:29 | opaque | OrdinarySemantics | +| expressions.swift:131:3:131:3 | hp | OrdinarySemantics | +| expressions.swift:131:3:131:6 | .settableField | OrdinarySemantics | +| expressions.swift:132:11:132:11 | hp | OrdinarySemantics | +| expressions.swift:132:11:132:14 | .settableField | OrdinarySemantics | +| expressions.swift:133:11:133:11 | hp | OrdinarySemantics | +| expressions.swift:133:11:133:14 | .readOnlyField1 | OrdinarySemantics | +| expressions.swift:134:11:134:11 | hp | OrdinarySemantics | +| expressions.swift:134:11:134:14 | .readOnlyField2 | OrdinarySemantics | +| expressions.swift:135:3:135:3 | hp | OrdinarySemantics | +| expressions.swift:135:3:135:6 | .normalField | OrdinarySemantics | +| expressions.swift:136:11:136:11 | hp | OrdinarySemantics | +| expressions.swift:136:11:136:14 | .normalField | OrdinarySemantics | +| expressions.swift:137:3:137:3 | hp | OrdinarySemantics | +| expressions.swift:137:3:137:7 | ...[...] | OrdinarySemantics | +| expressions.swift:138:10:138:10 | hp | OrdinarySemantics | +| expressions.swift:138:10:138:17 | ...[...] | OrdinarySemantics | diff --git a/swift/ql/test/extractor-tests/patterns/all.expected b/swift/ql/test/extractor-tests/patterns/all.expected index af4caf5feff..5547d4efbd5 100644 --- a/swift/ql/test/extractor-tests/patterns/all.expected +++ b/swift/ql/test/extractor-tests/patterns/all.expected @@ -1,41 +1,41 @@ -| patterns.swift:2:9:2:9 | NamedPattern | -| patterns.swift:3:9:3:9 | NamedPattern | -| patterns.swift:3:9:3:19 | TypedPattern | -| patterns.swift:4:9:4:17 | TuplePattern | -| patterns.swift:4:10:4:10 | NamedPattern | -| patterns.swift:4:13:4:13 | NamedPattern | -| patterns.swift:4:16:4:16 | NamedPattern | -| patterns.swift:5:9:5:9 | AnyPattern | -| patterns.swift:6:9:6:11 | ParenPattern | -| patterns.swift:6:10:6:10 | AnyPattern | -| patterns.swift:10:9:10:9 | NamedPattern | -| patterns.swift:12:10:12:21 | BindingPattern | -| patterns.swift:12:14:12:21 | TuplePattern | -| patterns.swift:12:15:12:15 | NamedPattern | -| patterns.swift:12:19:12:19 | NamedPattern | -| patterns.swift:16:10:16:14 | ExprPattern | -| patterns.swift:17:10:17:10 | AnyPattern | -| patterns.swift:24:9:24:9 | NamedPattern | -| patterns.swift:24:9:24:12 | TypedPattern | -| patterns.swift:27:10:27:11 | EnumElementPattern | -| patterns.swift:28:10:28:23 | BindingPattern | -| patterns.swift:28:14:28:23 | EnumElementPattern | -| patterns.swift:28:18:28:23 | TuplePattern | -| patterns.swift:28:19:28:19 | NamedPattern | -| patterns.swift:28:22:28:22 | NamedPattern | -| patterns.swift:31:9:31:9 | NamedPattern | -| patterns.swift:31:9:31:15 | TypedPattern | -| patterns.swift:34:10:34:15 | BindingPattern | -| patterns.swift:34:14:34:14 | NamedPattern | -| patterns.swift:34:14:34:15 | OptionalSomePattern | -| patterns.swift:35:10:35:10 | AnyPattern | -| patterns.swift:38:9:38:9 | NamedPattern | -| patterns.swift:38:9:38:12 | TypedPattern | -| patterns.swift:41:10:41:13 | IsPattern | -| patterns.swift:42:10:42:19 | BindingPattern | -| patterns.swift:42:14:42:14 | NamedPattern | -| patterns.swift:42:14:42:19 | IsPattern | -| patterns.swift:43:10:43:10 | AnyPattern | -| patterns.swift:46:9:46:9 | NamedPattern | -| patterns.swift:49:10:49:10 | BoolPattern | -| patterns.swift:50:10:50:10 | BoolPattern | +| patterns.swift:2:9:2:9 | an_int | +| patterns.swift:3:9:3:9 | a_string | +| patterns.swift:3:9:3:19 | ... as ... | +| patterns.swift:4:9:4:17 | (...) | +| patterns.swift:4:10:4:10 | x | +| patterns.swift:4:13:4:13 | y | +| patterns.swift:4:16:4:16 | z | +| patterns.swift:5:9:5:9 | _ | +| patterns.swift:6:9:6:11 | (...) | +| patterns.swift:6:10:6:10 | _ | +| patterns.swift:10:9:10:9 | point | +| patterns.swift:12:10:12:21 | let ... | +| patterns.swift:12:14:12:21 | (...) | +| patterns.swift:12:15:12:15 | xx | +| patterns.swift:12:19:12:19 | yy | +| patterns.swift:16:10:16:14 | TBD (SequenceExpr) | +| patterns.swift:17:10:17:10 | _ | +| patterns.swift:24:9:24:9 | v | +| patterns.swift:24:9:24:12 | ... as ... | +| patterns.swift:27:10:27:11 | .bar | +| patterns.swift:28:10:28:23 | let ... | +| patterns.swift:28:14:28:23 | .baz(...) | +| patterns.swift:28:18:28:23 | (...) | +| patterns.swift:28:19:28:19 | i | +| patterns.swift:28:22:28:22 | s | +| patterns.swift:31:9:31:9 | w | +| patterns.swift:31:9:31:15 | ... as ... | +| patterns.swift:34:10:34:15 | let ... | +| patterns.swift:34:14:34:14 | n | +| patterns.swift:34:14:34:15 | let ...? | +| patterns.swift:35:10:35:10 | _ | +| patterns.swift:38:9:38:9 | a | +| patterns.swift:38:9:38:12 | ... as ... | +| patterns.swift:41:10:41:13 | ... is ... | +| patterns.swift:42:10:42:19 | let ... | +| patterns.swift:42:14:42:14 | x | +| patterns.swift:42:14:42:19 | ... is ... | +| patterns.swift:43:10:43:10 | _ | +| patterns.swift:46:9:46:9 | b | +| patterns.swift:49:10:49:10 | true | +| patterns.swift:50:10:50:10 | false | diff --git a/swift/ql/test/extractor-tests/statements/ConditionElements.expected b/swift/ql/test/extractor-tests/statements/ConditionElements.expected index 7b7c3eb3de8..9800a5a6967 100644 --- a/swift/ql/test/extractor-tests/statements/ConditionElements.expected +++ b/swift/ql/test/extractor-tests/statements/ConditionElements.expected @@ -1,7 +1,11 @@ -| main.swift:3:8:3:13 | ConditionElement | main.swift:3:8:3:13 | BinaryExpr | -| main.swift:10:17:10:24 | ConditionElement | main.swift:10:18:10:22 | BinaryExpr | -| main.swift:39:9:39:14 | ConditionElement | main.swift:39:9:39:14 | BinaryExpr | -| main.swift:65:4:65:19 | ConditionElement | main.swift:65:9:65:15 | BindingPattern | -| main.swift:65:4:65:19 | ConditionElement | main.swift:65:19:65:19 | DeclRefExpr | -| main.swift:67:4:67:20 | ConditionElement | main.swift:67:9:67:16 | EnumElementPattern | -| main.swift:67:4:67:20 | ConditionElement | main.swift:67:20:67:20 | DeclRefExpr | +| main.swift:3:8:3:13 | ... call to == ... | main.swift:3:8:3:13 | ... call to == ... | +| main.swift:10:17:10:24 | ... call to < ... | main.swift:10:18:10:22 | ... call to < ... | +| main.swift:39:9:39:14 | ... call to != ... | main.swift:39:9:39:14 | ... call to != ... | +| main.swift:65:4:65:19 | let ... | main.swift:65:9:65:15 | let ... | +| main.swift:65:4:65:19 | let ... | main.swift:65:19:65:19 | x | +| main.swift:65:4:65:19 | x | main.swift:65:9:65:15 | let ... | +| main.swift:65:4:65:19 | x | main.swift:65:19:65:19 | x | +| main.swift:67:4:67:20 | .some(...) | main.swift:67:9:67:16 | .some(...) | +| main.swift:67:4:67:20 | .some(...) | main.swift:67:20:67:20 | x | +| main.swift:67:4:67:20 | x | main.swift:67:9:67:16 | .some(...) | +| main.swift:67:4:67:20 | x | main.swift:67:20:67:20 | x | diff --git a/swift/ql/test/extractor-tests/statements/LabeledStmts.expected b/swift/ql/test/extractor-tests/statements/LabeledStmts.expected index 99a58ea9e82..8f7e9199113 100644 --- a/swift/ql/test/extractor-tests/statements/LabeledStmts.expected +++ b/swift/ql/test/extractor-tests/statements/LabeledStmts.expected @@ -1,12 +1,12 @@ -| main.swift:2:3:8:3 | ForEachStmt | -| main.swift:3:5:7:5 | IfStmt | -| main.swift:10:3:12:3 | WhileStmt | -| main.swift:15:3:17:18 | RepeatWhileStmt | -| main.swift:19:3:23:3 | DoCatchStmt | -| main.swift:25:3:31:3 | DoCatchStmt | -| main.swift:39:3:41:3 | GuardStmt | -| main.swift:48:1:50:1 | DoStmt | -| main.swift:53:1:62:1 | SwitchStmt | -| main.swift:65:1:66:1 | IfStmt | -| main.swift:67:1:68:1 | IfStmt | -| main.swift:71:1:72:1 | ForEachStmt | +| main.swift:2:3:8:3 | for ... in ... { ... } | +| main.swift:3:5:7:5 | if ... then { ... } else { ... } | +| main.swift:10:3:12:3 | while ... { ... } | +| main.swift:15:3:17:18 | repeat { ... } while ... | +| main.swift:19:3:23:3 | do { ... } catch { ... } | +| main.swift:25:3:31:3 | do { ... } catch { ... } | +| main.swift:39:3:41:3 | guard ... else { ... } | +| main.swift:48:1:50:1 | do { ... } | +| main.swift:53:1:62:1 | switch index { ... } | +| main.swift:65:1:66:1 | if ... then { ... } | +| main.swift:67:1:68:1 | if ... then { ... } | +| main.swift:71:1:72:1 | for ... in ... where ... { ... } | diff --git a/swift/ql/test/extractor-tests/statements/Labels.expected b/swift/ql/test/extractor-tests/statements/Labels.expected index d00e90e0260..035b823b168 100644 --- a/swift/ql/test/extractor-tests/statements/Labels.expected +++ b/swift/ql/test/extractor-tests/statements/Labels.expected @@ -1,3 +1,3 @@ -| main.swift:2:3:8:3 | ForEachStmt | label1 | -| main.swift:10:3:12:3 | WhileStmt | label2 | -| main.swift:15:3:17:18 | RepeatWhileStmt | label3 | +| main.swift:2:3:8:3 | for ... in ... { ... } | label1 | +| main.swift:10:3:12:3 | while ... { ... } | label2 | +| main.swift:15:3:17:18 | repeat { ... } while ... | label3 | diff --git a/swift/ql/test/extractor-tests/types/ClassDecls.expected b/swift/ql/test/extractor-tests/types/ClassDecls.expected index d70b5531583..28ca13f6199 100644 --- a/swift/ql/test/extractor-tests/types/ClassDecls.expected +++ b/swift/ql/test/extractor-tests/types/ClassDecls.expected @@ -1,2 +1,2 @@ -| types.swift:9:1:11:1 | ClassDecl | ClassType | | -| types.swift:10:1:10:15 | ClassDecl | ClassType | ClassType | +| types.swift:9:1:11:1 | C | C | | +| types.swift:10:1:10:15 | Nested | C.Nested | C | diff --git a/swift/ql/test/extractor-tests/types/StructDecls.expected b/swift/ql/test/extractor-tests/types/StructDecls.expected index a080b049f0b..f25c1d052dc 100644 --- a/swift/ql/test/extractor-tests/types/StructDecls.expected +++ b/swift/ql/test/extractor-tests/types/StructDecls.expected @@ -1 +1 @@ -| types.swift:5:1:5:11 | StructDecl | StructType | | +| types.swift:5:1:5:11 | X | X | | diff --git a/swift/ql/test/extractor-tests/types/Types.expected b/swift/ql/test/extractor-tests/types/Types.expected index 052c66b8b74..ef2e95f79d1 100644 --- a/swift/ql/test/extractor-tests/types/Types.expected +++ b/swift/ql/test/extractor-tests/types/Types.expected @@ -1,35 +1,40 @@ -| types.swift:1:9:1:9 | IntegerLiteralExpr | StructType | -| types.swift:3:1:3:1 | DeclRefExpr | FunctionType | -| types.swift:3:1:3:13 | CallExpr | TupleType | -| types.swift:3:6:3:6 | DefaultArgumentExpr | StructType | -| types.swift:3:6:3:6 | DefaultArgumentExpr | StructType | -| types.swift:3:7:3:7 | DeclRefExpr | StructType | -| types.swift:3:7:3:11 | ArrayExpr | TBD (VariadicSequenceType) | -| types.swift:3:7:3:11 | BinaryExpr | StructType | -| types.swift:3:7:3:11 | ErasureExpr | TBD (ProtocolCompositionType) | -| types.swift:3:7:3:11 | VarargExpansionExpr | TBD (VariadicSequenceType) | -| types.swift:3:9:3:9 | DeclRefExpr | FunctionType | -| types.swift:3:9:3:9 | DotSyntaxCallExpr | FunctionType | -| types.swift:3:9:3:9 | TypeExpr | MetatypeType | -| types.swift:3:11:3:11 | IntegerLiteralExpr | StructType | -| types.swift:7:16:7:16 | ConstructorRefCallExpr | FunctionType | -| types.swift:7:16:7:16 | DeclRefExpr | FunctionType | -| types.swift:7:16:7:16 | TypeExpr | MetatypeType | -| types.swift:7:16:7:18 | CallExpr | StructType | -| types.swift:13:17:13:17 | ConstructorRefCallExpr | FunctionType | -| types.swift:13:17:13:17 | DeclRefExpr | FunctionType | -| types.swift:13:17:13:17 | TypeExpr | MetatypeType | -| types.swift:13:17:13:19 | CallExpr | ClassType | -| types.swift:14:22:14:24 | ConstructorRefCallExpr | FunctionType | -| types.swift:14:22:14:24 | TypeExpr | MetatypeType | -| types.swift:14:22:14:31 | CallExpr | ClassType | -| types.swift:14:24:14:24 | DeclRefExpr | FunctionType | -| types.swift:17:10:17:10 | DeclRefExpr | StructType | -| types.swift:17:10:17:14 | BinaryExpr | StructType | -| types.swift:17:12:17:12 | DeclRefExpr | FunctionType | -| types.swift:17:12:17:12 | DotSyntaxCallExpr | FunctionType | -| types.swift:17:12:17:12 | TypeExpr | MetatypeType | -| types.swift:17:14:17:14 | DeclRefExpr | StructType | -| types.swift:21:10:21:10 | DeclRefExpr | FunctionType | -| types.swift:21:10:21:13 | CallExpr | StructType | -| types.swift:21:12:21:12 | DeclRefExpr | StructType | +| types.swift:1:9:1:9 | 42 | Int | +| types.swift:3:1:3:1 | print | (Any..., String, String) -> () | +| types.swift:3:1:3:13 | call to print | () | +| types.swift:3:6:3:6 | default separator | String | +| types.swift:3:6:3:6 | default terminator | String | +| types.swift:3:7:3:7 | x | Int | +| types.swift:3:7:3:11 | (Any) ... | Any | +| types.swift:3:7:3:11 | (Any) ... | TBD (ProtocolCompositionType) | +| types.swift:3:7:3:11 | (TBD (ProtocolCompositionType)) ... | Any | +| types.swift:3:7:3:11 | (TBD (ProtocolCompositionType)) ... | TBD (ProtocolCompositionType) | +| types.swift:3:7:3:11 | ... call to + ... | Int | +| types.swift:3:7:3:11 | [...] | Any... | +| types.swift:3:7:3:11 | [...] | Any... | +| types.swift:3:7:3:11 | [...] | TBD (VariadicSequenceType) | +| types.swift:3:7:3:11 | [...] | TBD (VariadicSequenceType) | +| types.swift:3:9:3:9 | + | (Int.Type) -> (Int, Int) -> Int | +| types.swift:3:9:3:9 | Int.Type | Int.Type | +| types.swift:3:9:3:9 | call to + | (Int, Int) -> Int | +| types.swift:3:11:3:11 | 10 | Int | +| types.swift:7:16:7:16 | X.Type | X.Type | +| types.swift:7:16:7:16 | call to ... | () -> X | +| types.swift:7:16:7:16 | deinit | (X.Type) -> () -> X | +| types.swift:7:16:7:18 | call to ... | X | +| types.swift:13:17:13:17 | C.Type | C.Type | +| types.swift:13:17:13:17 | call to ... | () -> C | +| types.swift:13:17:13:17 | deinit | (C.Type) -> () -> C | +| types.swift:13:17:13:19 | call to ... | C | +| types.swift:14:22:14:24 | C.Nested.Type | C.Nested.Type | +| types.swift:14:22:14:24 | call to ... | () -> C.Nested | +| types.swift:14:22:14:31 | call to ... | C.Nested | +| types.swift:14:24:14:24 | deinit | (C.Nested.Type) -> () -> C.Nested | +| types.swift:17:10:17:10 | x | Int | +| types.swift:17:10:17:14 | ... call to + ... | Int | +| types.swift:17:12:17:12 | + | (Int.Type) -> (Int, Int) -> Int | +| types.swift:17:12:17:12 | Int.Type | Int.Type | +| types.swift:17:12:17:12 | call to + | (Int, Int) -> Int | +| types.swift:17:14:17:14 | y | Int | +| types.swift:21:10:21:10 | f | (Int) -> Int | +| types.swift:21:10:21:13 | call to ... | Int | +| types.swift:21:12:21:12 | x | Int | diff --git a/swift/ql/test/library-tests/controlflow/graph/Cfg.expected b/swift/ql/test/library-tests/controlflow/graph/Cfg.expected index 181ae94bf32..1a6485f84f6 100644 --- a/swift/ql/test/library-tests/controlflow/graph/Cfg.expected +++ b/swift/ql/test/library-tests/controlflow/graph/Cfg.expected @@ -1,4787 +1,4935 @@ cfg.swift: -# 5| enter ConcreteFuncDecl -#-----| -> IntegerLiteralExpr +# 5| enter returnZero +#-----| -> 0 -# 5| exit ConcreteFuncDecl +# 5| exit returnZero -# 5| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 5| exit returnZero (normal) +#-----| -> exit returnZero -# 5| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 5| return ... +#-----| return -> exit returnZero (normal) -# 5| IntegerLiteralExpr -#-----| -> ReturnStmt +# 5| 0 +#-----| -> return ... -# 15| enter ConcreteFuncDecl -#-----| -> DeclRefExpr +# 15| enter isZero +#-----| -> == -# 15| exit ConcreteFuncDecl +# 15| exit isZero -# 15| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 15| exit isZero (normal) +#-----| -> exit isZero -# 15| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 15| return ... +#-----| return -> exit isZero (normal) -# 15| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 15| x +#-----| -> 0 -# 15| BinaryExpr -#-----| -> ReturnStmt +# 15| ... call to == ... +#-----| -> return ... -# 15| DeclRefExpr -#-----| -> TypeExpr +# 15| == +#-----| -> Int.Type -# 15| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 15| Int.Type +#-----| -> call to == -# 15| TypeExpr -#-----| -> DotSyntaxCallExpr +# 15| call to == +#-----| exception -> exit isZero (normal) +#-----| -> x -# 15| IntegerLiteralExpr -#-----| -> BinaryExpr +# 15| 0 +#-----| -> ... call to == ... -# 17| enter ConcreteFuncDecl -#-----| -> GuardStmt +# 17| enter mightThrow +#-----| -> guard ... else { ... } -# 17| exit ConcreteFuncDecl +# 17| exit mightThrow -# 17| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 17| exit mightThrow (normal) +#-----| -> exit mightThrow -# 18| GuardStmt -#-----| -> DeclRefExpr +# 18| guard ... else { ... } +#-----| -> >= -# 18| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 18| x +#-----| -> 0 -# 18| BinaryExpr +# 18| ... call to >= ... #-----| -> StmtCondition # 18| StmtCondition -#-----| false -> DeclRefExpr -#-----| true -> GuardStmt +#-----| false -> error1 +#-----| true -> guard ... else { ... } -# 18| DeclRefExpr -#-----| -> TypeExpr +# 18| >= +#-----| -> Int.Type -# 18| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 18| Int.Type +#-----| -> call to >= -# 18| TypeExpr -#-----| -> DotSyntaxCallExpr +# 18| call to >= +#-----| exception -> exit mightThrow (normal) +#-----| -> x -# 18| IntegerLiteralExpr -#-----| -> BinaryExpr +# 18| 0 +#-----| -> ... call to >= ... -# 19| ThrowStmt -#-----| exception -> exit ConcreteFuncDecl (normal) +# 19| throw ... +#-----| exception -> exit mightThrow (normal) -# 19| TypeExpr -#-----| -> DotSyntaxCallExpr +# 19| MyError.Type +#-----| -> call to ... -# 19| DotSyntaxCallExpr -#-----| -> ErasureExpr +# 19| (Error) ... +#-----| -> throw ... -# 19| ErasureExpr -#-----| -> ThrowStmt +# 19| (TBD (ExistentialType)) ... +#-----| -> throw ... -# 19| DeclRefExpr -#-----| -> TypeExpr +# 19| call to ... +#-----| -> (Error) ... +#-----| -> (TBD (ExistentialType)) ... -# 21| GuardStmt -#-----| -> DeclRefExpr +# 19| error1 +#-----| -> MyError.Type -# 21| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 21| guard ... else { ... } +#-----| -> <= -# 21| BinaryExpr +# 21| x +#-----| -> 0 + +# 21| ... call to <= ... #-----| -> StmtCondition # 21| StmtCondition -#-----| true -> exit ConcreteFuncDecl (normal) -#-----| false -> DeclRefExpr +#-----| true -> exit mightThrow (normal) +#-----| false -> error3 -# 21| DeclRefExpr -#-----| -> TypeExpr +# 21| <= +#-----| -> Int.Type -# 21| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 21| Int.Type +#-----| -> call to <= -# 21| TypeExpr -#-----| -> DotSyntaxCallExpr +# 21| call to <= +#-----| exception -> exit mightThrow (normal) +#-----| -> x -# 21| IntegerLiteralExpr -#-----| -> BinaryExpr +# 21| 0 +#-----| -> ... call to <= ... -# 22| ThrowStmt -#-----| exception -> exit ConcreteFuncDecl (normal) +# 22| throw ... +#-----| exception -> exit mightThrow (normal) -# 22| TypeExpr -#-----| -> DotSyntaxCallExpr +# 22| MyError.Type +#-----| -> call to ... -# 22| DotSyntaxCallExpr -#-----| -> DeclRefExpr +# 22| call to ... +#-----| -> + -# 22| CallExpr -#-----| -> ErasureExpr +# 22| (Error) ... +#-----| -> throw ... -# 22| ErasureExpr -#-----| -> ThrowStmt +# 22| (TBD (ExistentialType)) ... +#-----| -> throw ... -# 22| DeclRefExpr -#-----| -> TypeExpr +# 22| call to ... +#-----| -> (Error) ... +#-----| -> (TBD (ExistentialType)) ... -# 22| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 22| error3 +#-----| -> MyError.Type -# 22| BinaryExpr -#-----| -> CallExpr +# 22| x +#-----| -> 1 -# 22| DeclRefExpr -#-----| -> TypeExpr +# 22| ... call to + ... +#-----| -> call to ... -# 22| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 22| + +#-----| -> Int.Type -# 22| TypeExpr -#-----| -> DotSyntaxCallExpr +# 22| Int.Type +#-----| -> call to + -# 22| IntegerLiteralExpr -#-----| -> BinaryExpr +# 22| call to + +#-----| exception -> exit mightThrow (normal) +#-----| -> x -# 26| enter ConcreteFuncDecl -#-----| -> DoCatchStmt +# 22| 1 +#-----| -> ... call to + ... -# 26| exit ConcreteFuncDecl +# 26| enter tryCatch +#-----| -> do { ... } catch { ... } -# 26| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 26| exit tryCatch -# 27| DoCatchStmt -#-----| -> DeclRefExpr +# 26| exit tryCatch (normal) +#-----| -> exit tryCatch -# 28| TryExpr -#-----| -> DeclRefExpr +# 27| do { ... } catch { ... } +#-----| -> mightThrow -# 28| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 28| try ... +#-----| -> print -# 28| CallExpr -#-----| -> TryExpr -#-----| exception -> CaseStmt +# 28| mightThrow +#-----| -> 0 -# 28| IntegerLiteralExpr -#-----| -> CallExpr +# 28| call to mightThrow +#-----| -> try ... +#-----| exception -> case ... -# 29| DeclRefExpr -#-----| -> StringLiteralExpr +# 28| 0 +#-----| -> call to mightThrow -# 29| CallExpr -#-----| exception -> CaseStmt +# 29| print +#-----| -> Did not throw. -# 29| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 29| call to print +#-----| exception -> case ... -# 29| DefaultArgumentExpr -#-----| -> CallExpr +# 29| default separator +#-----| -> default terminator -# 29| ArrayExpr -#-----| -> VarargExpansionExpr +# 29| default terminator +#-----| -> call to print -# 29| ErasureExpr -#-----| -> ArrayExpr +# 29| (Any) ... +#-----| -> [...] -# 29| StringLiteralExpr -#-----| -> ErasureExpr +# 29| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 29| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 29| Did not throw. +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 33| CaseStmt -#-----| -> CaseLabelItem +# 29| [...] +#-----| -> default separator -# 33| CaseLabelItem -#-----| -> EnumElementPattern +# 29| [...] +#-----| -> [...] -# 33| IsPattern -#-----| no-match -> CaseLabelItem -#-----| match -> IntegerLiteralExpr +# 33| case ... +#-----| -> ... is ... -# 33| EnumElementPattern -#-----| no-match -> IsPattern +# 33| ... is ... +#-----| -> .error1 -# 33| IsPattern -#-----| match -> IntegerLiteralExpr -#-----| no-match -> CaseStmt +# 33| ... is ... +#-----| no-match -> ... is ... +#-----| match -> 0 -# 33| EnumElementPattern -#-----| no-match -> IsPattern +# 33| .error1 +#-----| no-match -> ... is ... -# 33| CaseLabelItem -#-----| -> EnumElementPattern +# 33| ... is ... +#-----| match -> 0 +#-----| no-match -> case ... -# 34| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 33| .error2 +#-----| no-match -> ... is ... -# 34| IntegerLiteralExpr -#-----| -> ReturnStmt +# 33| ... is ... +#-----| -> .error2 -# 35| CaseStmt -#-----| -> CaseLabelItem +# 34| return ... +#-----| return -> exit tryCatch (normal) -# 35| CaseLabelItem -#-----| -> EnumElementPattern +# 34| 0 +#-----| -> return ... -# 35| IsPattern -#-----| match -> DeclRefExpr -#-----| no-match -> CaseStmt +# 35| case ... +#-----| -> ... is ... -# 35| EnumElementPattern -#-----| no-match -> IsPattern -#-----| match -> TuplePattern +# 35| ... is ... +#-----| match -> withParam +#-----| no-match -> case ... -# 35| TuplePattern -#-----| -> NamedPattern +# 35| ... is ... +#-----| -> .error3(...) -# 35| BindingPattern -#-----| no-match -> IsPattern +# 35| .error3(...) +#-----| no-match -> ... is ... +#-----| match -> (...) -# 35| NamedPattern -#-----| match -> BindingPattern +# 35| (...) +#-----| -> withParam -# 36| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 35| let ... +#-----| no-match -> ... is ... -# 36| DeclRefExpr -#-----| -> ReturnStmt +# 35| withParam +#-----| match -> let ... -# 37| CaseStmt -#-----| -> CaseLabelItem +# 36| return ... +#-----| return -> exit tryCatch (normal) -# 37| CaseLabelItem +# 36| withParam +#-----| -> return ... + +# 37| case ... +#-----| -> ... is ... + +# 37| ... is ... #-----| -> TBD (SimpleIdentTypeRepr) -# 37| IsPattern -#-----| match -> DeclRefExpr -#-----| no-match -> CaseStmt +# 37| ... is ... +#-----| match -> print +#-----| no-match -> case ... # 37| TBD (SimpleIdentTypeRepr) -#-----| -> IsPattern +#-----| -> ... is ... -# 38| DeclRefExpr -#-----| -> StringLiteralExpr +# 38| print +#-----| -> MyError -# 38| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> IntegerLiteralExpr +# 38| call to print +#-----| exception -> exit tryCatch (normal) +#-----| -> 0 -# 38| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 38| default separator +#-----| -> default terminator -# 38| DefaultArgumentExpr -#-----| -> CallExpr +# 38| default terminator +#-----| -> call to print -# 38| ArrayExpr -#-----| -> VarargExpansionExpr +# 38| (Any) ... +#-----| -> [...] -# 38| ErasureExpr -#-----| -> ArrayExpr +# 38| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 38| StringLiteralExpr -#-----| -> ErasureExpr +# 38| MyError +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 38| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 38| [...] +#-----| -> default separator -# 39| CaseStmt -#-----| -> CaseLabelItem +# 38| [...] +#-----| -> [...] -# 39| BindingPattern -#-----| match -> DeclRefExpr -#-----| no-match -> IntegerLiteralExpr +# 39| case ... +#-----| -> let ... -# 39| CaseLabelItem -#-----| -> NamedPattern +# 39| error +#-----| match -> let ... -# 39| NamedPattern -#-----| match -> BindingPattern +# 39| let ... +#-----| match -> print +#-----| no-match -> 0 -# 40| DeclRefExpr -#-----| -> InterpolatedStringLiteralExpr +# 39| let ... +#-----| -> error -# 40| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> IntegerLiteralExpr +# 40| print +#-----| -> "..." -# 40| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 40| call to print +#-----| exception -> exit tryCatch (normal) +#-----| -> 0 -# 40| DefaultArgumentExpr -#-----| -> CallExpr +# 40| default separator +#-----| -> default terminator -# 40| ArrayExpr -#-----| -> VarargExpansionExpr +# 40| default terminator +#-----| -> call to print -# 40| ErasureExpr -#-----| -> ArrayExpr +# 40| "..." +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 40| InterpolatedStringLiteralExpr -#-----| -> ErasureExpr +# 40| (Any) ... +#-----| -> [...] -# 40| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 40| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 42| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 40| [...] +#-----| -> default separator -# 42| IntegerLiteralExpr -#-----| -> ReturnStmt +# 40| [...] +#-----| -> [...] -# 45| enter ConcreteFuncDecl -#-----| -> ClosureExpr +# 42| return ... +#-----| return -> exit tryCatch (normal) -# 45| exit ConcreteFuncDecl +# 42| 0 +#-----| -> return ... -# 45| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 45| enter createClosure1 +#-----| -> { ... } -# 46| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 45| exit createClosure1 -# 46| ClosureExpr -#-----| -> ReturnStmt +# 45| exit createClosure1 (normal) +#-----| -> exit createClosure1 -# 52| enter ConcreteFuncDecl -#-----| -> DeclRefExpr +# 46| return ... +#-----| return -> exit createClosure1 (normal) -# 52| exit ConcreteFuncDecl +# 46| { ... } +#-----| -> return ... -# 52| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 52| enter f +#-----| -> + -# 53| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 52| exit f -# 53| DeclRefExpr -#-----| -> DeclRefExpr +# 52| exit f (normal) +#-----| -> exit f -# 53| BinaryExpr -#-----| -> ReturnStmt +# 53| return ... +#-----| return -> exit f (normal) -# 53| DeclRefExpr -#-----| -> TypeExpr +# 53| x +#-----| -> y -# 53| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 53| ... call to + ... +#-----| -> return ... -# 53| TypeExpr -#-----| -> DotSyntaxCallExpr +# 53| + +#-----| -> Int.Type -# 53| DeclRefExpr -#-----| -> BinaryExpr +# 53| Int.Type +#-----| -> call to + -# 58| enter ConcreteFuncDecl -#-----| -> ClosureExpr +# 53| call to + +#-----| exception -> exit f (normal) +#-----| -> x -# 58| exit ConcreteFuncDecl +# 53| y +#-----| -> ... call to + ... -# 58| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 58| enter createClosure3 +#-----| -> { ... } -# 59| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 58| exit createClosure3 -# 59| ClosureExpr -#-----| -> ReturnStmt +# 58| exit createClosure3 (normal) +#-----| -> exit createClosure3 -# 64| enter ConcreteFuncDecl -#-----| -> NamedPattern +# 59| return ... +#-----| return -> exit createClosure3 (normal) -# 64| exit ConcreteFuncDecl +# 59| { ... } +#-----| -> return ... -# 64| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 64| enter callClosures +#-----| -> x1 -# 65| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 64| exit callClosures -# 65| ConcreteVarDecl -#-----| -> NamedPattern +# 64| exit callClosures (normal) +#-----| -> exit callClosures -# 65| NamedPattern -#-----| -> DeclRefExpr +# 65| var ... = ... +#-----| -> x1 -# 65| DeclRefExpr -#-----| -> StringLiteralExpr +# 65| x1 +#-----| -> createClosure1 -# 65| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 65| x1 +#-----| -> x2 -# 65| CallExpr -#-----| -> PatternBindingDecl +# 65| createClosure1 +#-----| -> -# 65| StringLiteralExpr -#-----| -> CallExpr +# 65| call to createClosure1 +#-----| exception -> exit callClosures (normal) +#-----| -> call to ... -# 66| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 65| call to ... +#-----| -> var ... = ... -# 66| ConcreteVarDecl -#-----| -> NamedPattern +# 65| +#-----| -> call to createClosure1 -# 66| NamedPattern -#-----| -> DeclRefExpr +# 66| var ... = ... +#-----| -> x2 -# 66| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 66| x2 +#-----| -> createClosure2 -# 66| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> IntegerLiteralExpr +# 66| x2 +#-----| -> x3 -# 66| CallExpr -#-----| -> PatternBindingDecl +# 66| createClosure2 +#-----| -> 0 -# 66| IntegerLiteralExpr -#-----| -> CallExpr +# 66| call to createClosure2 +#-----| exception -> exit callClosures (normal) +#-----| -> 10 -# 66| IntegerLiteralExpr -#-----| -> CallExpr +# 66| call to ... +#-----| -> var ... = ... -# 67| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 66| 0 +#-----| -> call to createClosure2 -# 67| ConcreteVarDecl -#-----| -> exit ConcreteFuncDecl (normal) +# 66| 10 +#-----| -> call to ... -# 67| NamedPattern -#-----| -> DeclRefExpr +# 67| var ... = ... +#-----| -> x3 -# 67| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 67| x3 +#-----| -> createClosure3 -# 67| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> IntegerLiteralExpr +# 67| x3 +#-----| -> exit callClosures (normal) -# 67| CallExpr -#-----| -> PatternBindingDecl +# 67| createClosure3 +#-----| -> 0 -# 67| IntegerLiteralExpr -#-----| -> CallExpr +# 67| call to createClosure3 +#-----| exception -> exit callClosures (normal) +#-----| -> 10 -# 67| IntegerLiteralExpr -#-----| -> CallExpr +# 67| call to ... +#-----| -> var ... = ... -# 70| enter ConcreteFuncDecl -#-----| -> NamedPattern +# 67| 0 +#-----| -> call to createClosure3 -# 70| exit ConcreteFuncDecl +# 67| 10 +#-----| -> call to ... -# 70| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 70| enter maybeParseInt +#-----| -> n -# 71| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 70| exit maybeParseInt -# 71| ConcreteVarDecl -#-----| -> DeclRefExpr +# 70| exit maybeParseInt (normal) +#-----| -> exit maybeParseInt -# 71| NamedPattern -#-----| -> TypedPattern +# 71| var ... = ... +#-----| -> n -# 71| TypedPattern -#-----| -> DeclRefExpr +# 71| n +#-----| -> ... as ... -# 71| ConstructorRefCallExpr -#-----| -> DeclRefExpr +# 71| n +#-----| -> n -# 71| DeclRefExpr -#-----| -> TypeExpr +# 71| ... as ... +#-----| -> deinit -# 71| TypeExpr -#-----| -> ConstructorRefCallExpr +# 71| Int.Type +#-----| -> call to ... -# 71| CallExpr -#-----| -> PatternBindingDecl +# 71| call to ... +#-----| -> s -# 71| DeclRefExpr -#-----| -> CallExpr +# 71| deinit +#-----| -> Int.Type -# 72| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 71| call to ... +#-----| -> var ... = ... -# 72| DeclRefExpr -#-----| -> LoadExpr +# 71| s +#-----| -> call to ... -# 72| LoadExpr -#-----| -> ReturnStmt +# 72| return ... +#-----| return -> exit maybeParseInt (normal) -# 75| enter ConcreteFuncDecl -#-----| -> NamedPattern +# 72| (Int?) ... +#-----| -> return ... -# 75| exit ConcreteFuncDecl +# 72| n +#-----| -> (Int?) ... -# 75| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 75| enter forceAndBackToOptional +#-----| -> nBang -# 76| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 75| exit forceAndBackToOptional -# 76| ConcreteVarDecl -#-----| -> NamedPattern +# 75| exit forceAndBackToOptional (normal) +#-----| -> exit forceAndBackToOptional -# 76| NamedPattern -#-----| -> DeclRefExpr +# 76| var ... = ... +#-----| -> nBang -# 76| DeclRefExpr -#-----| -> StringLiteralExpr +# 76| nBang +#-----| -> maybeParseInt -# 76| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> ForceValueExpr +# 76| nBang +#-----| -> n -# 76| ForceValueExpr -#-----| -> PatternBindingDecl +# 76| maybeParseInt +#-----| -> 42 -# 76| StringLiteralExpr -#-----| -> CallExpr +# 76| call to maybeParseInt +#-----| exception -> exit forceAndBackToOptional (normal) +#-----| -> ...! -# 77| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 76| ...! +#-----| -> var ... = ... -# 77| ConcreteVarDecl -#-----| -> DeclRefExpr +# 76| 42 +#-----| -> call to maybeParseInt -# 77| NamedPattern -#-----| -> DeclRefExpr +# 77| var ... = ... +#-----| -> n -# 77| DeclRefExpr -#-----| -> StringLiteralExpr +# 77| n +#-----| -> maybeParseInt -# 77| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> PatternBindingDecl +# 77| n +#-----| -> + -# 77| StringLiteralExpr -#-----| -> CallExpr +# 77| maybeParseInt +#-----| -> 42 -# 78| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 77| call to maybeParseInt +#-----| exception -> exit forceAndBackToOptional (normal) +#-----| -> var ... = ... -# 78| DeclRefExpr -#-----| -> LoadExpr +# 77| 42 +#-----| -> call to maybeParseInt -# 78| LoadExpr -#-----| -> DeclRefExpr +# 78| return ... +#-----| return -> exit forceAndBackToOptional (normal) -# 78| BinaryExpr -#-----| -> InjectIntoOptionalExpr +# 78| (Int) ... +#-----| -> n -# 78| InjectIntoOptionalExpr -#-----| -> ReturnStmt +# 78| nBang +#-----| -> (Int) ... -# 78| DeclRefExpr -#-----| -> TypeExpr +# 78| (Int?) ... +#-----| -> return ... -# 78| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 78| ... call to + ... +#-----| -> (Int?) ... -# 78| TypeExpr -#-----| -> DotSyntaxCallExpr +# 78| + +#-----| -> Int.Type -# 78| DeclRefExpr -#-----| -> LoadExpr +# 78| Int.Type +#-----| -> call to + -# 78| LoadExpr -#-----| -> ForceValueExpr +# 78| call to + +#-----| exception -> exit forceAndBackToOptional (normal) +#-----| -> nBang -# 78| ForceValueExpr -#-----| -> BinaryExpr +# 78| (Int?) ... +#-----| -> ...! -# 81| enter ConcreteFuncDecl -#-----| -> NamedPattern +# 78| n +#-----| -> (Int?) ... -# 82| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 78| ...! +#-----| -> ... call to + ... -# 82| ConcreteVarDecl +# 81| enter testInOut +#-----| -> temp -# 82| NamedPattern -#-----| -> IntegerLiteralExpr +# 82| var ... = ... +#-----| -> temp -# 82| IntegerLiteralExpr -#-----| -> PatternBindingDecl +# 82| temp +#-----| -> 10 -# 84| enter ConcreteFuncDecl -#-----| -> DeclRefExpr +# 82| temp -# 84| exit ConcreteFuncDecl +# 82| 10 +#-----| -> var ... = ... -# 84| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 84| enter add +#-----| -> a -# 85| DeclRefExpr -#-----| -> DeclRefExpr +# 84| exit add -# 85| AssignExpr -#-----| -> exit ConcreteFuncDecl (normal) +# 84| exit add (normal) +#-----| -> exit add -# 85| DeclRefExpr -#-----| -> LoadExpr +# 85| a +#-----| -> + -# 85| LoadExpr -#-----| -> IntegerLiteralExpr +# 85| ... = ... +#-----| -> exit add (normal) -# 85| BinaryExpr -#-----| -> AssignExpr +# 85| (Int) ... +#-----| -> 1 -# 85| DeclRefExpr -#-----| -> TypeExpr +# 85| a +#-----| -> (Int) ... -# 85| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 85| ... call to + ... +#-----| -> ... = ... -# 85| TypeExpr -#-----| -> DotSyntaxCallExpr +# 85| + +#-----| -> Int.Type -# 85| IntegerLiteralExpr -#-----| -> BinaryExpr +# 85| Int.Type +#-----| -> call to + -# 88| enter ConcreteFuncDecl -#-----| -> DeclRefExpr +# 85| call to + +#-----| exception -> exit add (normal) +#-----| -> a -# 88| exit ConcreteFuncDecl +# 85| 1 +#-----| -> ... call to + ... -# 88| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 88| enter addOptional +#-----| -> a -# 89| DeclRefExpr -#-----| -> NilLiteralExpr +# 88| exit addOptional -# 89| AssignExpr -#-----| -> exit ConcreteFuncDecl (normal) +# 88| exit addOptional (normal) +#-----| -> exit addOptional -# 89| NilLiteralExpr -#-----| -> AssignExpr +# 89| a +#-----| -> nil -# 99| enter AccessorDecl +# 89| ... = ... +#-----| -> exit addOptional (normal) -# 99| exit AccessorDecl +# 89| nil +#-----| -> ... = ... -# 99| exit AccessorDecl (normal) -#-----| -> exit AccessorDecl +# 99| enter get -# 100| enter ConstructorDecl -#-----| -> DeclRefExpr +# 99| exit get -# 100| exit ConstructorDecl +# 99| exit get (normal) +#-----| -> exit get -# 100| exit ConstructorDecl (normal) -#-----| -> exit ConstructorDecl +# 100| enter deinit +#-----| -> self -# 101| DeclRefExpr -#-----| -> MemberRefExpr +# 100| exit deinit -# 101| MemberRefExpr -#-----| -> DeclRefExpr +# 100| exit deinit (normal) +#-----| -> exit deinit -# 101| AssignExpr -#-----| -> ReturnStmt +# 101| .myInt +#-----| -> n -# 101| DeclRefExpr -#-----| -> AssignExpr +# 101| self +#-----| -> .myInt -# 102| ReturnStmt -#-----| return -> exit ConstructorDecl (normal) +# 101| ... = ... +#-----| -> return -# 104| enter ConcreteFuncDecl -#-----| -> DeclRefExpr +# 101| n +#-----| -> ... = ... -# 104| exit ConcreteFuncDecl +# 102| return +#-----| return -> exit deinit (normal) -# 104| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 104| enter getMyInt +#-----| -> self -# 105| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 104| exit getMyInt -# 105| DeclRefExpr -#-----| -> getter for MemberRefExpr +# 104| exit getMyInt (normal) +#-----| -> exit getMyInt -# 105| getter for MemberRefExpr -#-----| -> ReturnStmt +# 105| return ... +#-----| return -> exit getMyInt (normal) -# 109| enter ConcreteFuncDecl -#-----| -> NamedPattern +# 105| getter for .myInt +#-----| -> return ... -# 109| exit ConcreteFuncDecl +# 105| self +#-----| -> getter for .myInt -# 109| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 109| enter testMemberRef +#-----| -> c -# 110| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 109| exit testMemberRef -# 110| ConcreteVarDecl -#-----| -> NamedPattern +# 109| exit testMemberRef (normal) +#-----| -> exit testMemberRef -# 110| NamedPattern -#-----| -> DeclRefExpr +# 110| var ... = ... +#-----| -> c -# 110| ConstructorRefCallExpr -#-----| -> IntegerLiteralExpr +# 110| c +#-----| -> deinit -# 110| DeclRefExpr -#-----| -> TypeExpr +# 110| c +#-----| -> n1 -# 110| TypeExpr -#-----| -> ConstructorRefCallExpr +# 110| C.Type +#-----| -> call to ... -# 110| CallExpr -#-----| -> PatternBindingDecl +# 110| call to ... +#-----| -> 42 -# 110| IntegerLiteralExpr -#-----| -> CallExpr +# 110| deinit +#-----| -> C.Type -# 111| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 110| call to ... +#-----| -> var ... = ... -# 111| ConcreteVarDecl -#-----| -> NamedPattern +# 110| 42 +#-----| -> call to ... -# 111| NamedPattern -#-----| -> DeclRefExpr +# 111| var ... = ... +#-----| -> n1 -# 111| DeclRefExpr -#-----| -> getter for MemberRefExpr +# 111| n1 +#-----| -> c -# 111| getter for MemberRefExpr -#-----| -> PatternBindingDecl +# 111| n1 +#-----| -> n2 -# 112| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 111| c +#-----| -> getter for .myInt -# 112| ConcreteVarDecl -#-----| -> NamedPattern +# 111| getter for .myInt +#-----| -> var ... = ... -# 112| NamedPattern +# 112| var ... = ... +#-----| -> n2 + +# 112| n2 +#-----| -> .self #-----| -> TBD (DotSelfExpr) +# 112| n2 +#-----| -> n3 + +# 112| .self +#-----| -> getter for .myInt + # 112| TBD (DotSelfExpr) -#-----| -> getter for MemberRefExpr +#-----| -> getter for .myInt -# 112| getter for MemberRefExpr -#-----| -> PatternBindingDecl +# 112| getter for .myInt +#-----| -> var ... = ... -# 113| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 113| var ... = ... +#-----| -> n3 -# 113| ConcreteVarDecl -#-----| -> NamedPattern +# 113| n3 +#-----| -> getMyInt -# 113| NamedPattern -#-----| -> DeclRefExpr +# 113| n3 +#-----| -> n4 -# 113| DeclRefExpr -#-----| -> DotSyntaxCallExpr +# 113| c +#-----| -> call to getMyInt -# 113| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 113| call to getMyInt +#-----| exception -> exit testMemberRef (normal) +#-----| -> call to ... -# 113| CallExpr -#-----| -> PatternBindingDecl +# 113| call to ... +#-----| -> var ... = ... -# 113| DeclRefExpr -#-----| -> DeclRefExpr +# 113| getMyInt +#-----| -> c -# 114| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 114| var ... = ... +#-----| -> n4 -# 114| ConcreteVarDecl -#-----| -> NamedPattern +# 114| n4 +#-----| -> getMyInt -# 114| NamedPattern -#-----| -> DeclRefExpr +# 114| n4 +#-----| -> n5 + +# 114| .self +#-----| -> call to getMyInt # 114| TBD (DotSelfExpr) -#-----| -> DotSyntaxCallExpr +#-----| -> call to getMyInt -# 114| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 114| call to getMyInt +#-----| exception -> exit testMemberRef (normal) +#-----| -> call to ... -# 114| CallExpr -#-----| -> PatternBindingDecl +# 114| call to ... +#-----| -> var ... = ... -# 114| DeclRefExpr +# 114| getMyInt +#-----| -> .self #-----| -> TBD (DotSelfExpr) -# 116| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 116| var ... = ... +#-----| -> n5 -# 116| ConcreteVarDecl -#-----| -> NamedPattern +# 116| n5 +#-----| -> param -# 116| NamedPattern -#-----| -> DeclRefExpr +# 116| n5 +#-----| -> n6 -# 116| DeclRefExpr -#-----| -> getter for MemberRefExpr +# 116| param +#-----| -> getter for .myInt -# 116| getter for MemberRefExpr -#-----| -> PatternBindingDecl +# 116| getter for .myInt +#-----| -> var ... = ... -# 117| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 117| var ... = ... +#-----| -> n6 -# 117| ConcreteVarDecl -#-----| -> NamedPattern - -# 117| NamedPattern +# 117| n6 +#-----| -> .self #-----| -> TBD (DotSelfExpr) +# 117| n6 +#-----| -> n7 + +# 117| .self +#-----| -> getter for .myInt + # 117| TBD (DotSelfExpr) -#-----| -> getter for MemberRefExpr +#-----| -> getter for .myInt -# 117| getter for MemberRefExpr -#-----| -> PatternBindingDecl +# 117| getter for .myInt +#-----| -> var ... = ... -# 118| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 118| var ... = ... +#-----| -> n7 -# 118| ConcreteVarDecl -#-----| -> NamedPattern +# 118| n7 +#-----| -> getMyInt -# 118| NamedPattern -#-----| -> DeclRefExpr +# 118| n7 +#-----| -> n8 -# 118| DeclRefExpr -#-----| -> DotSyntaxCallExpr +# 118| param +#-----| -> call to getMyInt -# 118| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 118| call to getMyInt +#-----| exception -> exit testMemberRef (normal) +#-----| -> call to ... -# 118| CallExpr -#-----| -> PatternBindingDecl +# 118| call to ... +#-----| -> var ... = ... -# 118| DeclRefExpr -#-----| -> DeclRefExpr +# 118| getMyInt +#-----| -> param -# 119| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 119| var ... = ... +#-----| -> n8 -# 119| ConcreteVarDecl -#-----| -> NamedPattern +# 119| n8 +#-----| -> getMyInt -# 119| NamedPattern -#-----| -> DeclRefExpr +# 119| n8 +#-----| -> n9 + +# 119| .self +#-----| -> call to getMyInt # 119| TBD (DotSelfExpr) -#-----| -> DotSyntaxCallExpr +#-----| -> call to getMyInt -# 119| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 119| call to getMyInt +#-----| exception -> exit testMemberRef (normal) +#-----| -> call to ... -# 119| CallExpr -#-----| -> PatternBindingDecl +# 119| call to ... +#-----| -> var ... = ... -# 119| DeclRefExpr +# 119| getMyInt +#-----| -> .self #-----| -> TBD (DotSelfExpr) -# 121| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 121| var ... = ... +#-----| -> n9 -# 121| ConcreteVarDecl -#-----| -> NamedPattern +# 121| n9 +#-----| -> inoutParam -# 121| NamedPattern -#-----| -> DeclRefExpr +# 121| n9 +#-----| -> n10 -# 121| DeclRefExpr -#-----| -> LoadExpr +# 121| (C) ... +#-----| -> getter for .myInt -# 121| LoadExpr -#-----| -> getter for MemberRefExpr +# 121| inoutParam +#-----| -> (C) ... -# 121| getter for MemberRefExpr -#-----| -> PatternBindingDecl +# 121| getter for .myInt +#-----| -> var ... = ... -# 122| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 122| var ... = ... +#-----| -> n10 -# 122| ConcreteVarDecl -#-----| -> NamedPattern - -# 122| NamedPattern +# 122| n10 +#-----| -> .self #-----| -> TBD (DotSelfExpr) -# 122| LoadExpr -#-----| -> getter for MemberRefExpr +# 122| n10 +#-----| -> n11 + +# 122| (C) ... +#-----| -> getter for .myInt + +# 122| .self +#-----| -> (C) ... # 122| TBD (DotSelfExpr) -#-----| -> LoadExpr +#-----| -> (C) ... -# 122| getter for MemberRefExpr -#-----| -> PatternBindingDecl +# 122| getter for .myInt +#-----| -> var ... = ... -# 123| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 123| var ... = ... +#-----| -> n11 -# 123| ConcreteVarDecl -#-----| -> NamedPattern +# 123| n11 +#-----| -> getMyInt -# 123| NamedPattern -#-----| -> DeclRefExpr +# 123| n11 +#-----| -> n12 -# 123| DeclRefExpr -#-----| -> LoadExpr +# 123| (C) ... +#-----| -> call to getMyInt -# 123| LoadExpr -#-----| -> DotSyntaxCallExpr +# 123| inoutParam +#-----| -> (C) ... -# 123| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 123| call to getMyInt +#-----| exception -> exit testMemberRef (normal) +#-----| -> call to ... -# 123| CallExpr -#-----| -> PatternBindingDecl +# 123| call to ... +#-----| -> var ... = ... -# 123| DeclRefExpr -#-----| -> DeclRefExpr +# 123| getMyInt +#-----| -> inoutParam -# 124| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 124| var ... = ... +#-----| -> n12 -# 124| ConcreteVarDecl -#-----| -> NamedPattern +# 124| n12 +#-----| -> getMyInt -# 124| NamedPattern -#-----| -> DeclRefExpr +# 124| n12 +#-----| -> n13 -# 124| LoadExpr -#-----| -> DotSyntaxCallExpr +# 124| (C) ... +#-----| -> call to getMyInt + +# 124| .self +#-----| -> (C) ... # 124| TBD (DotSelfExpr) -#-----| -> LoadExpr +#-----| -> (C) ... -# 124| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 124| call to getMyInt +#-----| exception -> exit testMemberRef (normal) +#-----| -> call to ... -# 124| CallExpr -#-----| -> PatternBindingDecl +# 124| call to ... +#-----| -> var ... = ... -# 124| DeclRefExpr +# 124| getMyInt +#-----| -> .self #-----| -> TBD (DotSelfExpr) -# 126| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 126| var ... = ... +#-----| -> n13 -# 126| ConcreteVarDecl -#-----| -> NamedPattern +# 126| n13 +#-----| -> opt -# 126| NamedPattern -#-----| -> DeclRefExpr +# 126| n13 +#-----| -> n14 -# 126| DeclRefExpr -#-----| -> ForceValueExpr +# 126| opt +#-----| -> ...! -# 126| ForceValueExpr -#-----| -> getter for MemberRefExpr +# 126| ...! +#-----| -> getter for .myInt -# 126| getter for MemberRefExpr -#-----| -> PatternBindingDecl +# 126| getter for .myInt +#-----| -> var ... = ... -# 127| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 127| var ... = ... +#-----| -> n14 -# 127| ConcreteVarDecl -#-----| -> NamedPattern - -# 127| NamedPattern +# 127| n14 +#-----| -> .self #-----| -> TBD (DotSelfExpr) +# 127| n14 +#-----| -> n15 + +# 127| .self +#-----| -> getter for .myInt + # 127| TBD (DotSelfExpr) -#-----| -> getter for MemberRefExpr +#-----| -> getter for .myInt -# 127| getter for MemberRefExpr -#-----| -> PatternBindingDecl +# 127| getter for .myInt +#-----| -> var ... = ... -# 128| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 128| var ... = ... +#-----| -> n15 -# 128| ConcreteVarDecl -#-----| -> NamedPattern +# 128| n15 +#-----| -> getMyInt -# 128| NamedPattern -#-----| -> DeclRefExpr +# 128| n15 +#-----| -> n16 -# 128| DeclRefExpr -#-----| -> ForceValueExpr +# 128| opt +#-----| -> ...! -# 128| ForceValueExpr -#-----| -> DotSyntaxCallExpr +# 128| ...! +#-----| -> call to getMyInt -# 128| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 128| call to getMyInt +#-----| exception -> exit testMemberRef (normal) +#-----| -> call to ... -# 128| CallExpr -#-----| -> PatternBindingDecl +# 128| call to ... +#-----| -> var ... = ... -# 128| DeclRefExpr -#-----| -> DeclRefExpr +# 128| getMyInt +#-----| -> opt -# 129| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 129| var ... = ... +#-----| -> n16 -# 129| ConcreteVarDecl -#-----| -> NamedPattern +# 129| n16 +#-----| -> getMyInt -# 129| NamedPattern -#-----| -> DeclRefExpr +# 129| n16 +#-----| -> n17 + +# 129| .self +#-----| -> call to getMyInt # 129| TBD (DotSelfExpr) -#-----| -> DotSyntaxCallExpr +#-----| -> call to getMyInt -# 129| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 129| call to getMyInt +#-----| exception -> exit testMemberRef (normal) +#-----| -> call to ... -# 129| CallExpr -#-----| -> PatternBindingDecl +# 129| call to ... +#-----| -> var ... = ... -# 129| DeclRefExpr +# 129| getMyInt +#-----| -> .self #-----| -> TBD (DotSelfExpr) -# 131| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 131| var ... = ... +#-----| -> n17 -# 131| ConcreteVarDecl -#-----| -> NamedPattern +# 131| n17 +#-----| -> opt -# 131| NamedPattern -#-----| -> DeclRefExpr +# 131| n17 +#-----| -> n18 -# 131| DeclRefExpr -#-----| -> BindOptionalExpr +# 131| opt +#-----| -> ...? -# 131| BindOptionalExpr -#-----| -> getter for MemberRefExpr +# 131| ...? +#-----| -> getter for .myInt -# 131| InjectIntoOptionalExpr +# 131| (Int?) ... #-----| -> OptionalEvaluationExpr # 131| OptionalEvaluationExpr -#-----| -> PatternBindingDecl +#-----| -> var ... = ... -# 131| getter for MemberRefExpr -#-----| -> InjectIntoOptionalExpr +# 131| getter for .myInt +#-----| -> (Int?) ... -# 132| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 132| var ... = ... +#-----| -> n18 -# 132| ConcreteVarDecl -#-----| -> NamedPattern - -# 132| NamedPattern +# 132| n18 +#-----| -> .self #-----| -> TBD (DotSelfExpr) -# 132| TBD (DotSelfExpr) -#-----| -> getter for MemberRefExpr +# 132| n18 +#-----| -> n19 -# 132| InjectIntoOptionalExpr +# 132| .self +#-----| -> getter for .myInt + +# 132| TBD (DotSelfExpr) +#-----| -> getter for .myInt + +# 132| (Int?) ... #-----| -> OptionalEvaluationExpr # 132| OptionalEvaluationExpr -#-----| -> PatternBindingDecl +#-----| -> var ... = ... -# 132| getter for MemberRefExpr -#-----| -> InjectIntoOptionalExpr +# 132| getter for .myInt +#-----| -> (Int?) ... -# 133| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 133| var ... = ... +#-----| -> n19 -# 133| ConcreteVarDecl -#-----| -> NamedPattern +# 133| n19 +#-----| -> getMyInt -# 133| NamedPattern -#-----| -> DeclRefExpr +# 133| n19 +#-----| -> n20 -# 133| DeclRefExpr -#-----| -> BindOptionalExpr +# 133| opt +#-----| -> ...? -# 133| BindOptionalExpr -#-----| -> DotSyntaxCallExpr +# 133| ...? +#-----| -> call to getMyInt -# 133| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 133| call to getMyInt +#-----| exception -> exit testMemberRef (normal) +#-----| -> call to ... -# 133| CallExpr -#-----| -> InjectIntoOptionalExpr - -# 133| InjectIntoOptionalExpr +# 133| (Int?) ... #-----| -> OptionalEvaluationExpr # 133| OptionalEvaluationExpr -#-----| -> PatternBindingDecl +#-----| -> var ... = ... -# 133| DeclRefExpr -#-----| -> DeclRefExpr +# 133| call to ... +#-----| -> (Int?) ... -# 134| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 133| getMyInt +#-----| -> opt -# 134| ConcreteVarDecl -#-----| -> exit ConcreteFuncDecl (normal) +# 134| var ... = ... +#-----| -> n20 -# 134| NamedPattern -#-----| -> DeclRefExpr +# 134| n20 +#-----| -> getMyInt + +# 134| n20 +#-----| -> exit testMemberRef (normal) + +# 134| .self +#-----| -> call to getMyInt # 134| TBD (DotSelfExpr) -#-----| -> DotSyntaxCallExpr +#-----| -> call to getMyInt -# 134| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 134| call to getMyInt +#-----| exception -> exit testMemberRef (normal) +#-----| -> call to ... -# 134| CallExpr -#-----| -> InjectIntoOptionalExpr - -# 134| InjectIntoOptionalExpr +# 134| (Int?) ... #-----| -> OptionalEvaluationExpr # 134| OptionalEvaluationExpr -#-----| -> PatternBindingDecl +#-----| -> var ... = ... -# 134| DeclRefExpr +# 134| call to ... +#-----| -> (Int?) ... + +# 134| getMyInt +#-----| -> .self #-----| -> TBD (DotSelfExpr) -# 137| enter ConcreteFuncDecl -#-----| -> DeclRefExpr +# 137| enter patterns +#-----| -> ... -# 137| exit ConcreteFuncDecl +# 137| exit patterns -# 137| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 137| exit patterns (normal) +#-----| -> exit patterns -# 138| ForEachStmt -#-----| non-empty -> AnyPattern -#-----| empty -> SwitchStmt +# 138| for ... in ... { ... } +#-----| non-empty -> _ +#-----| empty -> switch x { ... } -# 138| AnyPattern -#-----| -> BraceStmt +# 138| _ +#-----| -> { ... } -# 138| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 138| 0 +#-----| -> 10 -# 138| BinaryExpr -#-----| -> ForEachStmt +# 138| ... call to ... ... +#-----| -> for ... in ... { ... } -# 138| DeclRefExpr -#-----| -> TypeExpr +# 138| ... +#-----| -> Int.Type -# 138| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> IntegerLiteralExpr +# 138| Int.Type +#-----| -> call to ... -# 138| TypeExpr -#-----| -> DotSyntaxCallExpr +# 138| call to ... +#-----| exception -> exit patterns (normal) +#-----| -> 0 -# 138| IntegerLiteralExpr -#-----| -> BinaryExpr +# 138| 10 +#-----| -> ... call to ... ... -# 138| BraceStmt -#-----| -> ForEachStmt +# 138| { ... } +#-----| -> for ... in ... { ... } -# 140| SwitchStmt -#-----| -> DeclRefExpr +# 140| switch x { ... } +#-----| -> x -# 140| DeclRefExpr -#-----| -> CaseStmt +# 140| x +#-----| -> case ... -# 141| CaseStmt -#-----| -> CaseLabelItem +# 141| case ... +#-----| -> 0 -# 141| CaseLabelItem -#-----| -> IntegerLiteralExpr +# 141| 0 +#-----| -> 0 -# 141| ExprPattern -#-----| no-match -> CaseLabelItem -#-----| match -> BooleanLiteralExpr +# 141| 0 +#-----| no-match -> 1 +#-----| match -> true -# 141| IntegerLiteralExpr -#-----| -> ExprPattern +# 141| 0 +#-----| -> 0 -# 141| CaseLabelItem -#-----| -> IntegerLiteralExpr +# 141| 1 +#-----| -> 1 -# 141| ExprPattern -#-----| match -> BooleanLiteralExpr -#-----| no-match -> CaseStmt +# 141| 1 +#-----| match -> true +#-----| no-match -> case ... -# 141| IntegerLiteralExpr -#-----| -> ExprPattern +# 141| 1 +#-----| -> 1 -# 142| ReturnStmt +# 142| return ... -# 142| BooleanLiteralExpr -#-----| -> ReturnStmt +# 142| true +#-----| -> return ... -# 144| CaseStmt -#-----| -> CaseLabelItem +# 144| case ... +#-----| -> x -# 144| DeclRefExpr -#-----| -> ExprPattern +# 144| x +#-----| match -> true +#-----| no-match -> case ... -# 144| ExprPattern -#-----| match -> BooleanLiteralExpr -#-----| no-match -> CaseStmt +# 144| x +#-----| -> x -# 144| CaseLabelItem -#-----| -> DeclRefExpr +# 144| x +#-----| -> x -# 145| ReturnStmt +# 145| return ... -# 145| BooleanLiteralExpr -#-----| -> ReturnStmt +# 145| true +#-----| -> return ... -# 146| AnyPattern -#-----| match -> BooleanLiteralExpr +# 146| _ +#-----| -> _ -# 146| CaseLabelItem -#-----| -> AnyPattern +# 146| _ +#-----| match -> false -# 146| CaseStmt -#-----| -> CaseLabelItem +# 146| case ... +#-----| -> _ -# 147| ReturnStmt +# 147| return ... -# 147| BooleanLiteralExpr -#-----| -> ReturnStmt +# 147| false +#-----| -> return ... -# 163| enter ConcreteFuncDecl -#-----| -> DeferStmt +# 163| enter testDefer +#-----| -> defer { ... } -# 163| exit ConcreteFuncDecl +# 163| exit testDefer -# 163| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 163| exit testDefer (normal) +#-----| -> exit testDefer -# 165| DeferStmt -#-----| -> DeferStmt +# 165| defer { ... } +#-----| -> defer { ... } -# 166| DeclRefExpr -#-----| -> StringLiteralExpr +# 166| print +#-----| -> 4 -# 166| CallExpr -#-----| -> exit ConcreteFuncDecl (normal) +# 166| call to print +#-----| -> exit testDefer (normal) -# 166| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 166| default separator +#-----| -> default terminator -# 166| DefaultArgumentExpr -#-----| -> CallExpr +# 166| default terminator +#-----| -> call to print -# 166| ArrayExpr -#-----| -> VarargExpansionExpr +# 166| (Any) ... +#-----| -> [...] -# 166| ErasureExpr -#-----| -> ArrayExpr +# 166| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 166| StringLiteralExpr -#-----| -> ErasureExpr +# 166| 4 +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 166| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 166| [...] +#-----| -> default separator -# 169| DeferStmt -#-----| -> DeferStmt +# 166| [...] +#-----| -> [...] -# 170| DeclRefExpr -#-----| -> StringLiteralExpr +# 169| defer { ... } +#-----| -> defer { ... } -# 170| CallExpr -#-----| -> DeclRefExpr +# 170| print +#-----| -> 3 -# 170| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 170| call to print +#-----| -> print -# 170| DefaultArgumentExpr -#-----| -> CallExpr +# 170| default separator +#-----| -> default terminator -# 170| ArrayExpr -#-----| -> VarargExpansionExpr +# 170| default terminator +#-----| -> call to print -# 170| ErasureExpr -#-----| -> ArrayExpr +# 170| (Any) ... +#-----| -> [...] -# 170| StringLiteralExpr -#-----| -> ErasureExpr +# 170| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 170| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 170| 3 +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 173| DeferStmt -#-----| -> DeclRefExpr +# 170| [...] +#-----| -> default separator -# 174| DeclRefExpr -#-----| -> StringLiteralExpr +# 170| [...] +#-----| -> [...] -# 174| CallExpr -#-----| -> DeferStmt +# 173| defer { ... } +#-----| -> print -# 174| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 174| print +#-----| -> 1 -# 174| DefaultArgumentExpr -#-----| -> CallExpr +# 174| call to print +#-----| -> defer { ... } -# 174| ArrayExpr -#-----| -> VarargExpansionExpr +# 174| default separator +#-----| -> default terminator -# 174| ErasureExpr -#-----| -> ArrayExpr +# 174| default terminator +#-----| -> call to print -# 174| StringLiteralExpr -#-----| -> ErasureExpr +# 174| (Any) ... +#-----| -> [...] -# 174| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 174| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 175| DeferStmt -#-----| -> DeclRefExpr +# 174| 1 +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 176| DeclRefExpr -#-----| -> StringLiteralExpr +# 174| [...] +#-----| -> default separator -# 176| CallExpr -#-----| -> DeclRefExpr +# 174| [...] +#-----| -> [...] -# 176| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 175| defer { ... } +#-----| -> print -# 176| DefaultArgumentExpr -#-----| -> CallExpr +# 176| print +#-----| -> 2 -# 176| ArrayExpr -#-----| -> VarargExpansionExpr +# 176| call to print +#-----| -> print -# 176| ErasureExpr -#-----| -> ArrayExpr +# 176| default separator +#-----| -> default terminator -# 176| StringLiteralExpr -#-----| -> ErasureExpr +# 176| default terminator +#-----| -> call to print -# 176| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 176| (Any) ... +#-----| -> [...] -# 181| enter ConcreteFuncDecl -#-----| -> IfStmt +# 176| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 181| exit ConcreteFuncDecl +# 176| 2 +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 181| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 176| [...] +#-----| -> default separator -# 182| IfStmt -#-----| -> DeclRefExpr +# 176| [...] +#-----| -> [...] -# 182| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 181| enter m1 +#-----| -> if ... then { ... } else { ... } -# 182| BinaryExpr +# 181| exit m1 + +# 181| exit m1 (normal) +#-----| -> exit m1 + +# 182| if ... then { ... } else { ... } +#-----| -> > + +# 182| x +#-----| -> 2 + +# 182| ... call to > ... #-----| -> StmtCondition # 182| StmtCondition -#-----| true -> DeclRefExpr -#-----| false -> IfStmt +#-----| true -> print +#-----| false -> if ... then { ... } else { ... } -# 182| DeclRefExpr -#-----| -> TypeExpr +# 182| > +#-----| -> Int.Type -# 182| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 182| Int.Type +#-----| -> call to > -# 182| TypeExpr -#-----| -> DotSyntaxCallExpr +# 182| call to > +#-----| exception -> exit m1 (normal) +#-----| -> x -# 182| IntegerLiteralExpr -#-----| -> BinaryExpr +# 182| 2 +#-----| -> ... call to > ... -# 183| DeclRefExpr -#-----| -> StringLiteralExpr +# 183| print +#-----| -> x is greater than 2 -# 183| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) +# 183| call to print +#-----| exception -> exit m1 (normal) -# 183| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 183| default separator +#-----| -> default terminator -# 183| DefaultArgumentExpr -#-----| -> CallExpr +# 183| default terminator +#-----| -> call to print -# 183| ArrayExpr -#-----| -> VarargExpansionExpr +# 183| (Any) ... +#-----| -> [...] -# 183| ErasureExpr -#-----| -> ArrayExpr +# 183| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 183| StringLiteralExpr -#-----| -> ErasureExpr +# 183| [...] +#-----| -> default separator -# 183| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 183| [...] +#-----| -> [...] -# 185| IfStmt -#-----| -> DeclRefExpr +# 183| x is greater than 2 +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 185| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 185| if ... then { ... } else { ... } +#-----| -> <= -# 185| BinaryExpr -#-----| false -> [false] BinaryExpr -#-----| true -> AutoClosureExpr +# 185| x +#-----| -> 2 -# 185| BinaryExpr -#-----| false -> BinaryExpr -#-----| true -> AutoClosureExpr +# 185| ... call to <= ... +#-----| false -> [false] ... call to && ... +#-----| true -> { ... } -# 185| [false] BinaryExpr -#-----| false -> BinaryExpr +# 185| ... call to && ... +#-----| false -> ... call to && ... +#-----| true -> { ... } -# 185| BinaryExpr +# 185| [false] ... call to && ... +#-----| false -> ... call to && ... + +# 185| ... call to && ... #-----| -> StmtCondition # 185| StmtCondition -#-----| true -> DeclRefExpr -#-----| false -> DeclRefExpr +#-----| true -> print +#-----| false -> print -# 185| DeclRefExpr -#-----| -> TypeExpr +# 185| <= +#-----| -> Int.Type -# 185| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 185| Int.Type +#-----| -> call to <= -# 185| TypeExpr -#-----| -> DotSyntaxCallExpr +# 185| call to <= +#-----| exception -> exit m1 (normal) +#-----| -> x -# 185| IntegerLiteralExpr -#-----| -> BinaryExpr +# 185| 2 +#-----| -> ... call to <= ... -# 185| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 185| x +#-----| -> 0 -# 185| AutoClosureExpr -#-----| -> DeclRefExpr +# 185| ... call to > ... +#-----| -> return ... -# 185| BinaryExpr -#-----| -> ReturnStmt +# 185| return ... +#-----| -> ... call to && ... -# 185| ReturnStmt -#-----| -> BinaryExpr +# 185| { ... } +#-----| -> > -# 185| DeclRefExpr -#-----| -> TypeExpr +# 185| > +#-----| -> Int.Type -# 185| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 185| Int.Type +#-----| -> call to > -# 185| TypeExpr -#-----| -> DotSyntaxCallExpr +# 185| call to > +#-----| exception -> exit m1 (normal) +#-----| -> x -# 185| IntegerLiteralExpr -#-----| -> BinaryExpr +# 185| 0 +#-----| -> ... call to > ... -# 185| AutoClosureExpr -#-----| -> DeclRefExpr +# 185| call to ... +#-----| -> return ... -# 185| PrefixUnaryExpr -#-----| -> ReturnStmt +# 185| return ... +#-----| -> ... call to && ... -# 185| ReturnStmt -#-----| -> BinaryExpr +# 185| { ... } +#-----| -> == -# 185| ParenExpr -#-----| -> PrefixUnaryExpr +# 185| (...) +#-----| -> call to ... -# 185| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 185| x +#-----| -> 5 -# 185| BinaryExpr -#-----| -> ParenExpr +# 185| ... call to == ... +#-----| -> (...) -# 185| DeclRefExpr -#-----| -> TypeExpr +# 185| == +#-----| -> Int.Type -# 185| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 185| Int.Type +#-----| -> call to == -# 185| TypeExpr -#-----| -> DotSyntaxCallExpr +# 185| call to == +#-----| exception -> exit m1 (normal) +#-----| -> x -# 185| IntegerLiteralExpr -#-----| -> BinaryExpr +# 185| 5 +#-----| -> ... call to == ... -# 186| DeclRefExpr -#-----| -> StringLiteralExpr +# 186| print +#-----| -> x is 1 -# 186| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) +# 186| call to print +#-----| exception -> exit m1 (normal) -# 186| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 186| default separator +#-----| -> default terminator -# 186| DefaultArgumentExpr -#-----| -> CallExpr +# 186| default terminator +#-----| -> call to print -# 186| ArrayExpr -#-----| -> VarargExpansionExpr +# 186| (Any) ... +#-----| -> [...] -# 186| ErasureExpr -#-----| -> ArrayExpr +# 186| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 186| StringLiteralExpr -#-----| -> ErasureExpr +# 186| [...] +#-----| -> default separator -# 186| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 186| [...] +#-----| -> [...] -# 189| DeclRefExpr -#-----| -> StringLiteralExpr +# 186| x is 1 +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 189| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) +# 189| print +#-----| -> I can't guess the number -# 189| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 189| call to print +#-----| exception -> exit m1 (normal) -# 189| DefaultArgumentExpr -#-----| -> CallExpr +# 189| default separator +#-----| -> default terminator -# 189| ArrayExpr -#-----| -> VarargExpansionExpr +# 189| default terminator +#-----| -> call to print -# 189| ErasureExpr -#-----| -> ArrayExpr +# 189| (Any) ... +#-----| -> [...] -# 189| StringLiteralExpr -#-----| -> ErasureExpr +# 189| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 189| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 189| I can't guess the number +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 193| enter ConcreteFuncDecl -#-----| -> IfStmt +# 189| [...] +#-----| -> default separator -# 193| exit ConcreteFuncDecl +# 189| [...] +#-----| -> [...] -# 193| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 193| enter m2 +#-----| -> if ... then { ... } -# 194| IfStmt -#-----| -> DeclRefExpr +# 193| exit m2 -# 194| DeclRefExpr -#-----| -> StmtCondition +# 193| exit m2 (normal) +#-----| -> exit m2 + +# 194| if ... then { ... } +#-----| -> b # 194| StmtCondition -#-----| true -> IntegerLiteralExpr -#-----| false -> IntegerLiteralExpr +#-----| true -> 0 +#-----| false -> 1 -# 195| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 194| b +#-----| -> StmtCondition -# 195| IntegerLiteralExpr -#-----| -> ReturnStmt +# 195| return ... +#-----| return -> exit m2 (normal) -# 197| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 195| 0 +#-----| -> return ... -# 197| IntegerLiteralExpr -#-----| -> ReturnStmt +# 197| return ... +#-----| return -> exit m2 (normal) -# 200| enter ConcreteFuncDecl -#-----| -> IfStmt +# 197| 1 +#-----| -> return ... -# 200| exit ConcreteFuncDecl +# 200| enter m3 +#-----| -> if ... then { ... } -# 200| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 200| exit m3 -# 201| IfStmt -#-----| -> DeclRefExpr +# 200| exit m3 (normal) +#-----| -> exit m3 -# 201| DeclRefExpr -#-----| -> LoadExpr +# 201| if ... then { ... } +#-----| -> < -# 201| LoadExpr -#-----| -> IntegerLiteralExpr +# 201| (Int) ... +#-----| -> 0 -# 201| BinaryExpr +# 201| x +#-----| -> (Int) ... + +# 201| ... call to < ... #-----| -> StmtCondition # 201| StmtCondition -#-----| true -> DeclRefExpr -#-----| false -> DeclRefExpr +#-----| true -> x +#-----| false -> x -# 201| DeclRefExpr -#-----| -> TypeExpr +# 201| < +#-----| -> Int.Type -# 201| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 201| Int.Type +#-----| -> call to < -# 201| TypeExpr -#-----| -> DotSyntaxCallExpr +# 201| call to < +#-----| exception -> exit m3 (normal) +#-----| -> x -# 201| IntegerLiteralExpr -#-----| -> BinaryExpr +# 201| 0 +#-----| -> ... call to < ... -# 202| DeclRefExpr -#-----| -> DeclRefExpr +# 202| x +#-----| -> - -# 202| AssignExpr -#-----| -> IfStmt +# 202| ... = ... +#-----| -> if ... then { ... } -# 202| DeclRefExpr -#-----| -> TypeExpr +# 202| - +#-----| -> Int.Type -# 202| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 202| Int.Type +#-----| -> call to - -# 202| TypeExpr -#-----| -> DotSyntaxCallExpr +# 202| call to - +#-----| exception -> exit m3 (normal) +#-----| -> x -# 202| PrefixUnaryExpr -#-----| -> AssignExpr +# 202| call to ... +#-----| -> ... = ... -# 202| DeclRefExpr -#-----| -> LoadExpr +# 202| (Int) ... +#-----| -> call to ... -# 202| LoadExpr -#-----| -> PrefixUnaryExpr +# 202| x +#-----| -> (Int) ... -# 203| IfStmt -#-----| -> DeclRefExpr +# 203| if ... then { ... } +#-----| -> > -# 203| DeclRefExpr -#-----| -> LoadExpr +# 203| (Int) ... +#-----| -> 10 -# 203| LoadExpr -#-----| -> IntegerLiteralExpr +# 203| x +#-----| -> (Int) ... -# 203| BinaryExpr +# 203| ... call to > ... #-----| -> StmtCondition # 203| StmtCondition -#-----| true -> DeclRefExpr -#-----| false -> DeclRefExpr +#-----| true -> x +#-----| false -> x -# 203| DeclRefExpr -#-----| -> TypeExpr +# 203| > +#-----| -> Int.Type -# 203| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 203| Int.Type +#-----| -> call to > -# 203| TypeExpr -#-----| -> DotSyntaxCallExpr +# 203| call to > +#-----| exception -> exit m3 (normal) +#-----| -> x -# 203| IntegerLiteralExpr -#-----| -> BinaryExpr +# 203| 10 +#-----| -> ... call to > ... -# 204| DeclRefExpr -#-----| -> DeclRefExpr +# 204| x +#-----| -> - -# 204| AssignExpr -#-----| -> DeclRefExpr +# 204| ... = ... +#-----| -> x -# 204| DeclRefExpr -#-----| -> LoadExpr +# 204| (Int) ... +#-----| -> 1 -# 204| LoadExpr -#-----| -> IntegerLiteralExpr +# 204| x +#-----| -> (Int) ... -# 204| BinaryExpr -#-----| -> AssignExpr +# 204| ... call to - ... +#-----| -> ... = ... -# 204| DeclRefExpr -#-----| -> TypeExpr +# 204| - +#-----| -> Int.Type -# 204| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 204| Int.Type +#-----| -> call to - -# 204| TypeExpr -#-----| -> DotSyntaxCallExpr +# 204| call to - +#-----| exception -> exit m3 (normal) +#-----| -> x -# 204| IntegerLiteralExpr -#-----| -> BinaryExpr +# 204| 1 +#-----| -> ... call to - ... -# 207| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 207| return ... +#-----| return -> exit m3 (normal) -# 207| DeclRefExpr -#-----| -> LoadExpr +# 207| (Int) ... +#-----| -> return ... -# 207| LoadExpr -#-----| -> ReturnStmt +# 207| x +#-----| -> (Int) ... -# 210| enter ConcreteFuncDecl -#-----| -> DeclRefExpr +# 210| enter m4 +#-----| -> b1 -# 210| exit ConcreteFuncDecl +# 210| exit m4 -# 210| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 210| exit m4 (normal) +#-----| -> exit m4 -# 211| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 211| return ... +#-----| return -> exit m4 (normal) -# 211| [false] ParenExpr -#-----| false -> StringLiteralExpr +# 211| [false] (...) +#-----| false -> !b2 || !b3 -# 211| [true] ParenExpr -#-----| true -> StringLiteralExpr +# 211| [true] (...) +#-----| true -> b2 || b3 -# 211| IfExpr -#-----| -> ReturnStmt +# 211| ... ? ... : ... +#-----| -> return ... -# 211| DeclRefExpr -#-----| true -> DeclRefExpr -#-----| false -> DeclRefExpr +# 211| b1 +#-----| true -> b2 +#-----| false -> b3 -# 211| [false] IfExpr -#-----| false -> [false] ParenExpr +# 211| [false] ... ? ... : ... +#-----| false -> [false] (...) -# 211| [true] IfExpr -#-----| true -> [true] ParenExpr +# 211| [true] ... ? ... : ... +#-----| true -> [true] (...) -# 211| DeclRefExpr -#-----| false -> [false] IfExpr -#-----| true -> [true] IfExpr +# 211| b2 +#-----| false -> [false] ... ? ... : ... +#-----| true -> [true] ... ? ... : ... -# 211| DeclRefExpr -#-----| false -> [false] IfExpr -#-----| true -> [true] IfExpr +# 211| b3 +#-----| false -> [false] ... ? ... : ... +#-----| true -> [true] ... ? ... : ... -# 211| StringLiteralExpr -#-----| -> IfExpr +# 211| b2 || b3 +#-----| -> ... ? ... : ... -# 211| StringLiteralExpr -#-----| -> IfExpr +# 211| !b2 || !b3 +#-----| -> ... ? ... : ... -# 214| enter ConcreteFuncDecl -#-----| -> IfStmt +# 214| enter conversionsInSplitEntry +#-----| -> if ... then { ... } else { ... } -# 214| exit ConcreteFuncDecl +# 214| exit conversionsInSplitEntry -# 214| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 214| exit conversionsInSplitEntry (normal) +#-----| -> exit conversionsInSplitEntry -# 215| IfStmt -#-----| -> DeclRefExpr +# 215| if ... then { ... } else { ... } +#-----| -> b -# 215| DeclRefExpr -#-----| true -> BooleanLiteralExpr -#-----| false -> BooleanLiteralExpr +# 215| b +#-----| true -> true +#-----| false -> false -# 215| IfExpr +# 215| ... ? ... : ... #-----| -> StmtCondition # 215| StmtCondition -#-----| true -> StringLiteralExpr -#-----| false -> StringLiteralExpr +#-----| true -> b +#-----| false -> !b -# 215| ParenExpr -#-----| -> IfExpr +# 215| (...) +#-----| -> ... ? ... : ... -# 215| BooleanLiteralExpr -#-----| -> ParenExpr +# 215| true +#-----| -> (...) -# 215| CoerceExpr -#-----| -> IfExpr +# 215| (Bool) ... +#-----| -> ... ? ... : ... -# 215| BooleanLiteralExpr -#-----| -> CoerceExpr +# 215| false +#-----| -> (Bool) ... -# 216| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 216| return ... +#-----| return -> exit conversionsInSplitEntry (normal) -# 216| StringLiteralExpr -#-----| -> ReturnStmt +# 216| b +#-----| -> return ... -# 219| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 219| return ... +#-----| return -> exit conversionsInSplitEntry (normal) -# 219| StringLiteralExpr -#-----| -> ReturnStmt +# 219| !b +#-----| -> return ... -# 223| enter ConcreteFuncDecl -#-----| -> IfStmt +# 223| enter constant_condition +#-----| -> if ... then { ... } -# 223| exit ConcreteFuncDecl +# 223| exit constant_condition -# 223| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 223| exit constant_condition (normal) +#-----| -> exit constant_condition -# 224| IfStmt -#-----| -> BooleanLiteralExpr - -# 224| PrefixUnaryExpr -#-----| -> StmtCondition +# 224| if ... then { ... } +#-----| -> true # 224| StmtCondition -#-----| false -> exit ConcreteFuncDecl (normal) -#-----| true -> DeclRefExpr +#-----| false -> exit constant_condition (normal) +#-----| true -> print -# 224| BooleanLiteralExpr -#-----| -> PrefixUnaryExpr - -# 225| DeclRefExpr -#-----| -> StringLiteralExpr - -# 225| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) - -# 225| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr - -# 225| DefaultArgumentExpr -#-----| -> CallExpr - -# 225| ArrayExpr -#-----| -> VarargExpansionExpr - -# 225| ErasureExpr -#-----| -> ArrayExpr - -# 225| StringLiteralExpr -#-----| -> ErasureExpr - -# 225| VarargExpansionExpr -#-----| -> DefaultArgumentExpr - -# 229| enter ConcreteFuncDecl -#-----| -> IfStmt - -# 229| exit ConcreteFuncDecl - -# 229| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl - -# 230| IfStmt -#-----| -> DeclRefExpr - -# 230| DeclRefExpr +# 224| call to ... #-----| -> StmtCondition +# 224| true +#-----| -> call to ... + +# 225| print +#-----| -> Impossible + +# 225| call to print +#-----| exception -> exit constant_condition (normal) + +# 225| default separator +#-----| -> default terminator + +# 225| default terminator +#-----| -> call to print + +# 225| (Any) ... +#-----| -> [...] + +# 225| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] + +# 225| Impossible +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... + +# 225| [...] +#-----| -> default separator + +# 225| [...] +#-----| -> [...] + +# 229| enter empty_else +#-----| -> if ... then { ... } else { ... } + +# 229| exit empty_else + +# 229| exit empty_else (normal) +#-----| -> exit empty_else + +# 230| if ... then { ... } else { ... } +#-----| -> b + # 230| StmtCondition -#-----| true -> DeclRefExpr -#-----| false -> BraceStmt +#-----| true -> print +#-----| false -> { ... } -# 231| DeclRefExpr -#-----| -> StringLiteralExpr +# 230| b +#-----| -> StmtCondition -# 231| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 231| print +#-----| -> true -# 231| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 231| call to print +#-----| exception -> exit empty_else (normal) +#-----| -> print -# 231| DefaultArgumentExpr -#-----| -> CallExpr +# 231| default separator +#-----| -> default terminator -# 231| ArrayExpr -#-----| -> VarargExpansionExpr +# 231| default terminator +#-----| -> call to print -# 231| ErasureExpr -#-----| -> ArrayExpr +# 231| (Any) ... +#-----| -> [...] -# 231| StringLiteralExpr -#-----| -> ErasureExpr +# 231| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 231| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 231| [...] +#-----| -> default separator -# 233| BraceStmt -#-----| -> DeclRefExpr +# 231| [...] +#-----| -> [...] -# 234| DeclRefExpr -#-----| -> StringLiteralExpr +# 231| true +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 234| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) +# 233| { ... } +#-----| -> print -# 234| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 234| print +#-----| -> done -# 234| DefaultArgumentExpr -#-----| -> CallExpr +# 234| call to print +#-----| exception -> exit empty_else (normal) -# 234| ArrayExpr -#-----| -> VarargExpansionExpr +# 234| default separator +#-----| -> default terminator -# 234| ErasureExpr -#-----| -> ArrayExpr +# 234| default terminator +#-----| -> call to print -# 234| StringLiteralExpr -#-----| -> ErasureExpr +# 234| (Any) ... +#-----| -> [...] -# 234| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 234| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 237| enter ConcreteFuncDecl -#-----| -> IfStmt +# 234| [...] +#-----| -> default separator -# 237| exit ConcreteFuncDecl +# 234| [...] +#-----| -> [...] -# 237| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 234| done +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 238| IfStmt -#-----| -> DeclRefExpr +# 237| enter disjunct +#-----| -> if ... then { ... } -# 238| ParenExpr +# 237| exit disjunct + +# 237| exit disjunct (normal) +#-----| -> exit disjunct + +# 238| if ... then { ... } +#-----| -> b1 + +# 238| (...) #-----| -> StmtCondition # 238| StmtCondition -#-----| false -> exit ConcreteFuncDecl (normal) -#-----| true -> DeclRefExpr +#-----| false -> exit disjunct (normal) +#-----| true -> print -# 238| DeclRefExpr -#-----| true -> BinaryExpr -#-----| false -> AutoClosureExpr +# 238| b1 +#-----| true -> ... call to || ... +#-----| false -> { ... } -# 238| BinaryExpr -#-----| -> ParenExpr +# 238| ... call to || ... +#-----| -> (...) -# 238| AutoClosureExpr -#-----| -> DeclRefExpr +# 238| b2 +#-----| -> return ... -# 238| DeclRefExpr -#-----| -> ReturnStmt +# 238| return ... +#-----| -> ... call to || ... -# 238| ReturnStmt -#-----| -> BinaryExpr +# 238| { ... } +#-----| -> b2 -# 239| DeclRefExpr -#-----| -> StringLiteralExpr +# 239| print +#-----| -> b1 or b2 -# 239| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) +# 239| call to print +#-----| exception -> exit disjunct (normal) -# 239| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 239| default separator +#-----| -> default terminator -# 239| DefaultArgumentExpr -#-----| -> CallExpr +# 239| default terminator +#-----| -> call to print -# 239| ArrayExpr -#-----| -> VarargExpansionExpr +# 239| (Any) ... +#-----| -> [...] -# 239| ErasureExpr -#-----| -> ArrayExpr +# 239| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 239| StringLiteralExpr -#-----| -> ErasureExpr +# 239| [...] +#-----| -> default separator -# 239| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 239| [...] +#-----| -> [...] -# 243| enter ConcreteFuncDecl -#-----| -> NamedPattern +# 239| b1 or b2 +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 243| exit ConcreteFuncDecl +# 243| enter binaryExprs +#-----| -> c -# 243| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 243| exit binaryExprs -# 244| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 243| exit binaryExprs (normal) +#-----| -> exit binaryExprs -# 244| ConcreteVarDecl -#-----| -> NamedPattern +# 244| var ... = ... +#-----| -> c -# 244| NamedPattern -#-----| -> DeclRefExpr +# 244| c +#-----| -> + -# 244| DeclRefExpr -#-----| -> DeclRefExpr +# 244| c +#-----| -> d -# 244| BinaryExpr -#-----| -> PatternBindingDecl +# 244| a +#-----| -> b -# 244| DeclRefExpr -#-----| -> TypeExpr +# 244| ... call to + ... +#-----| -> var ... = ... -# 244| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 244| + +#-----| -> Int.Type -# 244| TypeExpr -#-----| -> DotSyntaxCallExpr +# 244| Int.Type +#-----| -> call to + -# 244| DeclRefExpr -#-----| -> BinaryExpr +# 244| call to + +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 245| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 244| b +#-----| -> ... call to + ... -# 245| ConcreteVarDecl -#-----| -> NamedPattern +# 245| var ... = ... +#-----| -> d -# 245| NamedPattern -#-----| -> DeclRefExpr +# 245| d +#-----| -> - -# 245| DeclRefExpr -#-----| -> DeclRefExpr +# 245| d +#-----| -> e -# 245| BinaryExpr -#-----| -> PatternBindingDecl +# 245| a +#-----| -> b -# 245| DeclRefExpr -#-----| -> TypeExpr +# 245| ... call to - ... +#-----| -> var ... = ... -# 245| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 245| - +#-----| -> Int.Type -# 245| TypeExpr -#-----| -> DotSyntaxCallExpr +# 245| Int.Type +#-----| -> call to - -# 245| DeclRefExpr -#-----| -> BinaryExpr +# 245| call to - +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 246| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 245| b +#-----| -> ... call to - ... -# 246| ConcreteVarDecl -#-----| -> NamedPattern +# 246| var ... = ... +#-----| -> e -# 246| NamedPattern -#-----| -> DeclRefExpr +# 246| e +#-----| -> * -# 246| DeclRefExpr -#-----| -> DeclRefExpr +# 246| e +#-----| -> f -# 246| BinaryExpr -#-----| -> PatternBindingDecl +# 246| a +#-----| -> b -# 246| DeclRefExpr -#-----| -> TypeExpr +# 246| ... call to * ... +#-----| -> var ... = ... -# 246| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 246| * +#-----| -> Int.Type -# 246| TypeExpr -#-----| -> DotSyntaxCallExpr +# 246| Int.Type +#-----| -> call to * -# 246| DeclRefExpr -#-----| -> BinaryExpr +# 246| call to * +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 247| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 246| b +#-----| -> ... call to * ... -# 247| ConcreteVarDecl -#-----| -> NamedPattern +# 247| var ... = ... +#-----| -> f -# 247| NamedPattern -#-----| -> DeclRefExpr +# 247| f +#-----| -> / -# 247| DeclRefExpr -#-----| -> DeclRefExpr +# 247| f +#-----| -> g -# 247| BinaryExpr -#-----| -> PatternBindingDecl +# 247| a +#-----| -> b -# 247| DeclRefExpr -#-----| -> TypeExpr +# 247| ... call to / ... +#-----| -> var ... = ... -# 247| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 247| / +#-----| -> Int.Type -# 247| TypeExpr -#-----| -> DotSyntaxCallExpr +# 247| Int.Type +#-----| -> call to / -# 247| DeclRefExpr -#-----| -> BinaryExpr +# 247| call to / +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 248| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 247| b +#-----| -> ... call to / ... -# 248| ConcreteVarDecl -#-----| -> NamedPattern +# 248| var ... = ... +#-----| -> g -# 248| NamedPattern -#-----| -> DeclRefExpr +# 248| g +#-----| -> % -# 248| DeclRefExpr -#-----| -> DeclRefExpr +# 248| g +#-----| -> h -# 248| BinaryExpr -#-----| -> PatternBindingDecl +# 248| a +#-----| -> b -# 248| DeclRefExpr -#-----| -> TypeExpr +# 248| ... call to % ... +#-----| -> var ... = ... -# 248| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 248| % +#-----| -> Int.Type -# 248| TypeExpr -#-----| -> DotSyntaxCallExpr +# 248| Int.Type +#-----| -> call to % -# 248| DeclRefExpr -#-----| -> BinaryExpr +# 248| call to % +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 249| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 248| b +#-----| -> ... call to % ... -# 249| ConcreteVarDecl -#-----| -> NamedPattern +# 249| var ... = ... +#-----| -> h -# 249| NamedPattern -#-----| -> DeclRefExpr +# 249| h +#-----| -> & -# 249| DeclRefExpr -#-----| -> DeclRefExpr +# 249| h +#-----| -> i -# 249| BinaryExpr -#-----| -> PatternBindingDecl +# 249| a +#-----| -> b -# 249| DeclRefExpr -#-----| -> TypeExpr +# 249| ... call to & ... +#-----| -> var ... = ... -# 249| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 249| & +#-----| -> Int.Type -# 249| TypeExpr -#-----| -> DotSyntaxCallExpr +# 249| Int.Type +#-----| -> call to & -# 249| DeclRefExpr -#-----| -> BinaryExpr +# 249| call to & +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 250| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 249| b +#-----| -> ... call to & ... -# 250| ConcreteVarDecl -#-----| -> NamedPattern +# 250| var ... = ... +#-----| -> i -# 250| NamedPattern -#-----| -> DeclRefExpr +# 250| i +#-----| -> | -# 250| DeclRefExpr -#-----| -> DeclRefExpr +# 250| i +#-----| -> j -# 250| BinaryExpr -#-----| -> PatternBindingDecl +# 250| a +#-----| -> b -# 250| DeclRefExpr -#-----| -> TypeExpr +# 250| ... call to | ... +#-----| -> var ... = ... -# 250| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 250| Int.Type +#-----| -> call to | -# 250| TypeExpr -#-----| -> DotSyntaxCallExpr +# 250| call to | +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 250| DeclRefExpr -#-----| -> BinaryExpr +# 250| | +#-----| -> Int.Type -# 251| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 250| b +#-----| -> ... call to | ... -# 251| ConcreteVarDecl -#-----| -> NamedPattern +# 251| var ... = ... +#-----| -> j -# 251| NamedPattern -#-----| -> DeclRefExpr +# 251| j +#-----| -> ^ -# 251| DeclRefExpr -#-----| -> DeclRefExpr +# 251| j +#-----| -> k -# 251| BinaryExpr -#-----| -> PatternBindingDecl +# 251| a +#-----| -> b -# 251| DeclRefExpr -#-----| -> TypeExpr +# 251| ... call to ^ ... +#-----| -> var ... = ... -# 251| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 251| Int.Type +#-----| -> call to ^ -# 251| TypeExpr -#-----| -> DotSyntaxCallExpr +# 251| ^ +#-----| -> Int.Type -# 251| DeclRefExpr -#-----| -> BinaryExpr +# 251| call to ^ +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 252| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 251| b +#-----| -> ... call to ^ ... -# 252| ConcreteVarDecl -#-----| -> NamedPattern +# 252| var ... = ... +#-----| -> k -# 252| NamedPattern -#-----| -> DeclRefExpr +# 252| k +#-----| -> << -# 252| DeclRefExpr -#-----| -> DeclRefExpr +# 252| k +#-----| -> l -# 252| BinaryExpr -#-----| -> PatternBindingDecl +# 252| a +#-----| -> b -# 252| DeclRefExpr -#-----| -> TypeExpr +# 252| ... call to << ... +#-----| -> var ... = ... -# 252| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 252| << +#-----| -> Int.Type -# 252| TypeExpr -#-----| -> DotSyntaxCallExpr +# 252| Int.Type +#-----| -> call to << -# 252| DeclRefExpr -#-----| -> BinaryExpr +# 252| call to << +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 253| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 252| b +#-----| -> ... call to << ... -# 253| ConcreteVarDecl -#-----| -> NamedPattern +# 253| var ... = ... +#-----| -> l -# 253| NamedPattern -#-----| -> DeclRefExpr +# 253| l +#-----| -> >> -# 253| DeclRefExpr -#-----| -> DeclRefExpr +# 253| l +#-----| -> o -# 253| BinaryExpr -#-----| -> PatternBindingDecl +# 253| a +#-----| -> b -# 253| DeclRefExpr -#-----| -> TypeExpr +# 253| ... call to >> ... +#-----| -> var ... = ... -# 253| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 253| >> +#-----| -> Int.Type -# 253| TypeExpr -#-----| -> DotSyntaxCallExpr +# 253| Int.Type +#-----| -> call to >> -# 253| DeclRefExpr -#-----| -> BinaryExpr +# 253| call to >> +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 254| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 253| b +#-----| -> ... call to >> ... -# 254| ConcreteVarDecl -#-----| -> NamedPattern +# 254| var ... = ... +#-----| -> o -# 254| NamedPattern -#-----| -> DeclRefExpr +# 254| o +#-----| -> == -# 254| DeclRefExpr -#-----| -> DeclRefExpr +# 254| o +#-----| -> p -# 254| BinaryExpr -#-----| -> PatternBindingDecl +# 254| a +#-----| -> b -# 254| DeclRefExpr -#-----| -> TypeExpr +# 254| ... call to == ... +#-----| -> var ... = ... -# 254| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 254| == +#-----| -> Int.Type -# 254| TypeExpr -#-----| -> DotSyntaxCallExpr +# 254| Int.Type +#-----| -> call to == -# 254| DeclRefExpr -#-----| -> BinaryExpr +# 254| call to == +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 255| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 254| b +#-----| -> ... call to == ... -# 255| ConcreteVarDecl -#-----| -> NamedPattern +# 255| var ... = ... +#-----| -> p -# 255| NamedPattern -#-----| -> DeclRefExpr +# 255| p +#-----| -> != -# 255| DeclRefExpr -#-----| -> DeclRefExpr +# 255| p +#-----| -> q -# 255| BinaryExpr -#-----| -> PatternBindingDecl +# 255| a +#-----| -> b -# 255| DeclRefExpr -#-----| -> TypeExpr +# 255| ... call to != ... +#-----| -> var ... = ... -# 255| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 255| != +#-----| -> Int.Type -# 255| TypeExpr -#-----| -> DotSyntaxCallExpr +# 255| Int.Type +#-----| -> call to != -# 255| DeclRefExpr -#-----| -> BinaryExpr +# 255| call to != +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 256| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 255| b +#-----| -> ... call to != ... -# 256| ConcreteVarDecl -#-----| -> NamedPattern +# 256| var ... = ... +#-----| -> q -# 256| NamedPattern -#-----| -> DeclRefExpr +# 256| q +#-----| -> < -# 256| DeclRefExpr -#-----| -> DeclRefExpr +# 256| q +#-----| -> r -# 256| BinaryExpr -#-----| -> PatternBindingDecl +# 256| a +#-----| -> b -# 256| DeclRefExpr -#-----| -> TypeExpr +# 256| ... call to < ... +#-----| -> var ... = ... -# 256| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 256| < +#-----| -> Int.Type -# 256| TypeExpr -#-----| -> DotSyntaxCallExpr +# 256| Int.Type +#-----| -> call to < -# 256| DeclRefExpr -#-----| -> BinaryExpr +# 256| call to < +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 257| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 256| b +#-----| -> ... call to < ... -# 257| ConcreteVarDecl -#-----| -> NamedPattern +# 257| var ... = ... +#-----| -> r -# 257| NamedPattern -#-----| -> DeclRefExpr +# 257| r +#-----| -> <= -# 257| DeclRefExpr -#-----| -> DeclRefExpr +# 257| r +#-----| -> s -# 257| BinaryExpr -#-----| -> PatternBindingDecl +# 257| a +#-----| -> b -# 257| DeclRefExpr -#-----| -> TypeExpr +# 257| ... call to <= ... +#-----| -> var ... = ... -# 257| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 257| <= +#-----| -> Int.Type -# 257| TypeExpr -#-----| -> DotSyntaxCallExpr +# 257| Int.Type +#-----| -> call to <= -# 257| DeclRefExpr -#-----| -> BinaryExpr +# 257| call to <= +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 258| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 257| b +#-----| -> ... call to <= ... -# 258| ConcreteVarDecl -#-----| -> NamedPattern +# 258| var ... = ... +#-----| -> s -# 258| NamedPattern -#-----| -> DeclRefExpr +# 258| s +#-----| -> > -# 258| DeclRefExpr -#-----| -> DeclRefExpr +# 258| s +#-----| -> t -# 258| BinaryExpr -#-----| -> PatternBindingDecl +# 258| a +#-----| -> b -# 258| DeclRefExpr -#-----| -> TypeExpr +# 258| ... call to > ... +#-----| -> var ... = ... -# 258| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 258| > +#-----| -> Int.Type -# 258| TypeExpr -#-----| -> DotSyntaxCallExpr +# 258| Int.Type +#-----| -> call to > -# 258| DeclRefExpr -#-----| -> BinaryExpr +# 258| call to > +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 259| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 258| b +#-----| -> ... call to > ... -# 259| ConcreteVarDecl -#-----| -> exit ConcreteFuncDecl (normal) +# 259| var ... = ... +#-----| -> t -# 259| NamedPattern -#-----| -> DeclRefExpr +# 259| t +#-----| -> >= -# 259| DeclRefExpr -#-----| -> DeclRefExpr +# 259| t +#-----| -> exit binaryExprs (normal) -# 259| BinaryExpr -#-----| -> PatternBindingDecl +# 259| a +#-----| -> b -# 259| DeclRefExpr -#-----| -> TypeExpr +# 259| ... call to >= ... +#-----| -> var ... = ... -# 259| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 259| >= +#-----| -> Int.Type -# 259| TypeExpr -#-----| -> DotSyntaxCallExpr +# 259| Int.Type +#-----| -> call to >= -# 259| DeclRefExpr -#-----| -> BinaryExpr +# 259| call to >= +#-----| exception -> exit binaryExprs (normal) +#-----| -> a -# 262| enter ConcreteFuncDecl -#-----| -> InterpolatedStringLiteralExpr +# 259| b +#-----| -> ... call to >= ... -# 262| exit ConcreteFuncDecl +# 262| enter interpolatedString +#-----| -> "..." -# 262| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 262| exit interpolatedString -# 263| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 262| exit interpolatedString (normal) +#-----| -> exit interpolatedString -# 263| InterpolatedStringLiteralExpr -#-----| -> ReturnStmt +# 263| return ... +#-----| return -> exit interpolatedString (normal) -# 266| enter ConcreteFuncDecl -#-----| -> NamedPattern +# 263| "..." +#-----| -> return ... -# 266| exit ConcreteFuncDecl +# 266| enter testSubscriptExpr +#-----| -> a -# 266| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 266| exit testSubscriptExpr -# 267| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 266| exit testSubscriptExpr (normal) +#-----| -> exit testSubscriptExpr -# 267| ConcreteVarDecl -#-----| -> DeclRefExpr +# 267| var ... = ... +#-----| -> a -# 267| NamedPattern -#-----| -> IntegerLiteralExpr +# 267| a +#-----| -> 0 -# 267| ArrayExpr -#-----| -> PatternBindingDecl +# 267| a +#-----| -> a -# 267| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 267| [...] +#-----| -> var ... = ... -# 267| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 267| 0 +#-----| -> 1 -# 267| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 267| 1 +#-----| -> 2 -# 267| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 267| 2 +#-----| -> 3 -# 267| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 267| 3 +#-----| -> 4 -# 267| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 267| 4 +#-----| -> 5 -# 267| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 267| 5 +#-----| -> 6 -# 267| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 267| 6 +#-----| -> 7 -# 267| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 267| 7 +#-----| -> 8 -# 267| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 267| 8 +#-----| -> 9 -# 267| IntegerLiteralExpr -#-----| -> ArrayExpr +# 267| 9 +#-----| -> 10 -# 268| DeclRefExpr -#-----| -> InOutExpr +# 267| 10 +#-----| -> [...] -# 268| InOutExpr -#-----| -> IntegerLiteralExpr +# 268| &... +#-----| -> 0 -# 268| SubscriptExpr -#-----| -> IntegerLiteralExpr +# 268| a +#-----| -> &... -# 268| setter for AssignExpr -#-----| -> DeclRefExpr +# 268| ...[...] +#-----| -> 0 -# 268| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 268| setter for ... = ... +#-----| -> += -# 268| IntegerLiteralExpr -#-----| -> setter for AssignExpr +# 268| 0 +#-----| -> ...[...] -# 269| DeclRefExpr -#-----| -> InOutExpr +# 268| 0 +#-----| -> setter for ... = ... -# 269| InOutExpr -#-----| -> IntegerLiteralExpr +# 269| &... +#-----| -> 1 -# 269| InOutExpr -#-----| -> IntegerLiteralExpr +# 269| a +#-----| -> &... -# 269| getter for SubscriptExpr -#-----| -> InOutExpr +# 269| &... +#-----| -> 1 -# 269| BinaryExpr -#-----| -> DeclRefExpr +# 269| getter for ...[...] +#-----| -> &... -# 269| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 269| ... call to += ... +#-----| -> -= -# 269| DeclRefExpr -#-----| -> TypeExpr +# 269| 1 +#-----| -> getter for ...[...] -# 269| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 269| += +#-----| -> Int.Type -# 269| TypeExpr -#-----| -> DotSyntaxCallExpr +# 269| Int.Type +#-----| -> call to += -# 269| IntegerLiteralExpr -#-----| -> BinaryExpr +# 269| call to += +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a -# 270| DeclRefExpr -#-----| -> InOutExpr +# 269| 1 +#-----| -> ... call to += ... -# 270| InOutExpr -#-----| -> IntegerLiteralExpr +# 270| &... +#-----| -> 2 -# 270| InOutExpr -#-----| -> IntegerLiteralExpr +# 270| a +#-----| -> &... -# 270| getter for SubscriptExpr -#-----| -> InOutExpr +# 270| &... +#-----| -> 1 -# 270| BinaryExpr -#-----| -> DeclRefExpr +# 270| getter for ...[...] +#-----| -> &... -# 270| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 270| ... call to -= ... +#-----| -> *= -# 270| DeclRefExpr -#-----| -> TypeExpr +# 270| 2 +#-----| -> getter for ...[...] -# 270| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 270| -= +#-----| -> Int.Type -# 270| TypeExpr -#-----| -> DotSyntaxCallExpr +# 270| Int.Type +#-----| -> call to -= -# 270| IntegerLiteralExpr -#-----| -> BinaryExpr +# 270| call to -= +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a -# 271| DeclRefExpr -#-----| -> InOutExpr +# 270| 1 +#-----| -> ... call to -= ... -# 271| InOutExpr -#-----| -> IntegerLiteralExpr +# 271| &... +#-----| -> 3 -# 271| InOutExpr -#-----| -> IntegerLiteralExpr +# 271| a +#-----| -> &... -# 271| getter for SubscriptExpr -#-----| -> InOutExpr +# 271| &... +#-----| -> 1 -# 271| BinaryExpr -#-----| -> DeclRefExpr +# 271| getter for ...[...] +#-----| -> &... -# 271| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 271| ... call to *= ... +#-----| -> /= -# 271| DeclRefExpr -#-----| -> TypeExpr +# 271| 3 +#-----| -> getter for ...[...] -# 271| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 271| *= +#-----| -> Int.Type -# 271| TypeExpr -#-----| -> DotSyntaxCallExpr +# 271| Int.Type +#-----| -> call to *= -# 271| IntegerLiteralExpr -#-----| -> BinaryExpr +# 271| call to *= +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a -# 272| DeclRefExpr -#-----| -> InOutExpr +# 271| 1 +#-----| -> ... call to *= ... -# 272| InOutExpr -#-----| -> IntegerLiteralExpr +# 272| &... +#-----| -> 4 -# 272| InOutExpr -#-----| -> IntegerLiteralExpr +# 272| a +#-----| -> &... -# 272| getter for SubscriptExpr -#-----| -> InOutExpr +# 272| &... +#-----| -> 1 -# 272| BinaryExpr -#-----| -> DeclRefExpr +# 272| getter for ...[...] +#-----| -> &... -# 272| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 272| ... call to /= ... +#-----| -> %= -# 272| DeclRefExpr -#-----| -> TypeExpr +# 272| 4 +#-----| -> getter for ...[...] -# 272| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 272| /= +#-----| -> Int.Type -# 272| TypeExpr -#-----| -> DotSyntaxCallExpr +# 272| Int.Type +#-----| -> call to /= -# 272| IntegerLiteralExpr -#-----| -> BinaryExpr +# 272| call to /= +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a -# 273| DeclRefExpr -#-----| -> InOutExpr +# 272| 1 +#-----| -> ... call to /= ... -# 273| InOutExpr -#-----| -> IntegerLiteralExpr +# 273| &... +#-----| -> 5 -# 273| InOutExpr -#-----| -> IntegerLiteralExpr +# 273| a +#-----| -> &... -# 273| getter for SubscriptExpr -#-----| -> InOutExpr +# 273| &... +#-----| -> 1 -# 273| BinaryExpr -#-----| -> DeclRefExpr +# 273| getter for ...[...] +#-----| -> &... -# 273| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 273| ... call to %= ... +#-----| -> &= -# 273| DeclRefExpr -#-----| -> TypeExpr +# 273| 5 +#-----| -> getter for ...[...] -# 273| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 273| %= +#-----| -> Int.Type -# 273| TypeExpr -#-----| -> DotSyntaxCallExpr +# 273| Int.Type +#-----| -> call to %= -# 273| IntegerLiteralExpr -#-----| -> BinaryExpr +# 273| call to %= +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a -# 274| DeclRefExpr -#-----| -> InOutExpr +# 273| 1 +#-----| -> ... call to %= ... -# 274| InOutExpr -#-----| -> IntegerLiteralExpr +# 274| &... +#-----| -> 6 -# 274| InOutExpr -#-----| -> IntegerLiteralExpr +# 274| a +#-----| -> &... -# 274| getter for SubscriptExpr -#-----| -> InOutExpr +# 274| &... +#-----| -> 1 -# 274| BinaryExpr -#-----| -> DeclRefExpr +# 274| getter for ...[...] +#-----| -> &... -# 274| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 274| ... call to &= ... +#-----| -> |= -# 274| DeclRefExpr -#-----| -> TypeExpr +# 274| 6 +#-----| -> getter for ...[...] -# 274| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 274| &= +#-----| -> Int.Type -# 274| TypeExpr -#-----| -> DotSyntaxCallExpr +# 274| Int.Type +#-----| -> call to &= -# 274| IntegerLiteralExpr -#-----| -> BinaryExpr +# 274| call to &= +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a -# 275| DeclRefExpr -#-----| -> InOutExpr +# 274| 1 +#-----| -> ... call to &= ... -# 275| InOutExpr -#-----| -> IntegerLiteralExpr +# 275| &... +#-----| -> 7 -# 275| InOutExpr -#-----| -> IntegerLiteralExpr +# 275| a +#-----| -> &... -# 275| getter for SubscriptExpr -#-----| -> InOutExpr +# 275| &... +#-----| -> 1 -# 275| BinaryExpr -#-----| -> DeclRefExpr +# 275| getter for ...[...] +#-----| -> &... -# 275| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 275| ... call to |= ... +#-----| -> ^= -# 275| DeclRefExpr -#-----| -> TypeExpr +# 275| 7 +#-----| -> getter for ...[...] -# 275| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 275| Int.Type +#-----| -> call to |= -# 275| TypeExpr -#-----| -> DotSyntaxCallExpr +# 275| call to |= +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a -# 275| IntegerLiteralExpr -#-----| -> BinaryExpr +# 275| |= +#-----| -> Int.Type -# 276| DeclRefExpr -#-----| -> InOutExpr +# 275| 1 +#-----| -> ... call to |= ... -# 276| InOutExpr -#-----| -> IntegerLiteralExpr +# 276| &... +#-----| -> 8 -# 276| InOutExpr -#-----| -> IntegerLiteralExpr +# 276| a +#-----| -> &... -# 276| getter for SubscriptExpr -#-----| -> InOutExpr +# 276| &... +#-----| -> 1 -# 276| BinaryExpr -#-----| -> DeclRefExpr +# 276| getter for ...[...] +#-----| -> &... -# 276| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 276| ... call to ^= ... +#-----| -> <<= -# 276| DeclRefExpr -#-----| -> TypeExpr +# 276| 8 +#-----| -> getter for ...[...] -# 276| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 276| Int.Type +#-----| -> call to ^= -# 276| TypeExpr -#-----| -> DotSyntaxCallExpr +# 276| ^= +#-----| -> Int.Type -# 276| IntegerLiteralExpr -#-----| -> BinaryExpr +# 276| call to ^= +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a -# 277| DeclRefExpr -#-----| -> InOutExpr +# 276| 1 +#-----| -> ... call to ^= ... -# 277| InOutExpr -#-----| -> IntegerLiteralExpr +# 277| &... +#-----| -> 9 -# 277| InOutExpr -#-----| -> IntegerLiteralExpr +# 277| a +#-----| -> &... -# 277| getter for SubscriptExpr -#-----| -> InOutExpr +# 277| &... +#-----| -> 1 -# 277| BinaryExpr -#-----| -> DeclRefExpr +# 277| getter for ...[...] +#-----| -> &... -# 277| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 277| ... call to <<= ... +#-----| -> >>= -# 277| DeclRefExpr -#-----| -> TypeExpr +# 277| 9 +#-----| -> getter for ...[...] -# 277| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 277| <<= +#-----| -> Int.Type -# 277| TypeExpr -#-----| -> DotSyntaxCallExpr +# 277| Int.Type +#-----| -> call to <<= -# 277| IntegerLiteralExpr -#-----| -> BinaryExpr +# 277| call to <<= +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a -# 278| DeclRefExpr -#-----| -> InOutExpr +# 277| 1 +#-----| -> ... call to <<= ... -# 278| InOutExpr -#-----| -> IntegerLiteralExpr +# 278| &... +#-----| -> 10 -# 278| InOutExpr -#-----| -> IntegerLiteralExpr +# 278| a +#-----| -> &... -# 278| getter for SubscriptExpr -#-----| -> InOutExpr +# 278| &... +#-----| -> 1 -# 278| BinaryExpr -#-----| -> NamedPattern +# 278| getter for ...[...] +#-----| -> &... -# 278| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 278| ... call to >>= ... +#-----| -> tupleWithA -# 278| DeclRefExpr -#-----| -> TypeExpr +# 278| 10 +#-----| -> getter for ...[...] -# 278| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 278| >>= +#-----| -> Int.Type -# 278| TypeExpr -#-----| -> DotSyntaxCallExpr +# 278| Int.Type +#-----| -> call to >>= -# 278| IntegerLiteralExpr -#-----| -> BinaryExpr +# 278| call to >>= +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a -# 280| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 278| 1 +#-----| -> ... call to >>= ... -# 280| ConcreteVarDecl -#-----| -> NamedPattern +# 280| var ... = ... +#-----| -> tupleWithA -# 280| NamedPattern -#-----| -> DeclRefExpr +# 280| tupleWithA +#-----| -> a -# 280| TupleExpr -#-----| -> PatternBindingDecl +# 280| tupleWithA +#-----| -> b -# 280| DeclRefExpr -#-----| -> InOutExpr +# 280| (...) +#-----| -> var ... = ... -# 280| InOutExpr -#-----| -> IntegerLiteralExpr +# 280| &... +#-----| -> 0 -# 280| LoadExpr -#-----| -> DeclRefExpr +# 280| a +#-----| -> &... -# 280| getter for SubscriptExpr -#-----| -> LoadExpr +# 280| (Int) ... +#-----| -> a -# 280| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 280| getter for ...[...] +#-----| -> (Int) ... -# 280| DeclRefExpr -#-----| -> InOutExpr +# 280| 0 +#-----| -> getter for ...[...] -# 280| InOutExpr -#-----| -> IntegerLiteralExpr +# 280| &... +#-----| -> 1 -# 280| LoadExpr -#-----| -> DeclRefExpr +# 280| a +#-----| -> &... -# 280| getter for SubscriptExpr -#-----| -> LoadExpr +# 280| (Int) ... +#-----| -> a -# 280| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 280| getter for ...[...] +#-----| -> (Int) ... -# 280| DeclRefExpr -#-----| -> InOutExpr +# 280| 1 +#-----| -> getter for ...[...] -# 280| InOutExpr -#-----| -> IntegerLiteralExpr +# 280| &... +#-----| -> 2 -# 280| LoadExpr -#-----| -> DeclRefExpr +# 280| a +#-----| -> &... -# 280| getter for SubscriptExpr -#-----| -> LoadExpr +# 280| (Int) ... +#-----| -> a -# 280| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 280| getter for ...[...] +#-----| -> (Int) ... -# 280| DeclRefExpr -#-----| -> InOutExpr +# 280| 2 +#-----| -> getter for ...[...] -# 280| InOutExpr -#-----| -> IntegerLiteralExpr +# 280| &... +#-----| -> 3 -# 280| LoadExpr -#-----| -> DeclRefExpr +# 280| a +#-----| -> &... -# 280| getter for SubscriptExpr -#-----| -> LoadExpr +# 280| (Int) ... +#-----| -> a -# 280| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 280| getter for ...[...] +#-----| -> (Int) ... -# 280| DeclRefExpr -#-----| -> InOutExpr +# 280| 3 +#-----| -> getter for ...[...] -# 280| InOutExpr -#-----| -> IntegerLiteralExpr +# 280| &... +#-----| -> 4 -# 280| LoadExpr -#-----| -> TupleExpr +# 280| a +#-----| -> &... -# 280| getter for SubscriptExpr -#-----| -> LoadExpr +# 280| (Int) ... +#-----| -> (...) -# 280| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 280| getter for ...[...] +#-----| -> (Int) ... -# 282| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 280| 4 +#-----| -> getter for ...[...] -# 282| ConcreteVarDecl -#-----| -> DeclRefExpr +# 282| var ... = ... +#-----| -> b -# 282| NamedPattern -#-----| -> IntegerLiteralExpr +# 282| b +#-----| -> 0 -# 282| ArrayExpr -#-----| -> PatternBindingDecl +# 282| b +#-----| -> b -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| [...] +#-----| -> var ... = ... -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| 0 +#-----| -> 1 -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| 1 +#-----| -> 2 -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| 2 +#-----| -> 3 -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| 3 +#-----| -> 4 -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| 4 +#-----| -> 5 -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| 5 +#-----| -> 6 -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| 6 +#-----| -> 7 -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| 7 +#-----| -> 8 -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| 8 +#-----| -> 9 -# 282| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 282| 9 +#-----| -> 10 -# 282| IntegerLiteralExpr -#-----| -> ArrayExpr +# 282| 10 +#-----| -> 11 -# 283| DeclRefExpr -#-----| -> InOutExpr +# 282| 11 +#-----| -> [...] -# 283| InOutExpr -#-----| -> IntegerLiteralExpr +# 283| &... +#-----| -> 0 -# 283| SubscriptExpr -#-----| -> DeclRefExpr +# 283| b +#-----| -> &... -# 283| setter for AssignExpr -#-----| -> DeclRefExpr +# 283| ...[...] +#-----| -> a -# 283| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 283| setter for ... = ... +#-----| -> b -# 283| DeclRefExpr -#-----| -> InOutExpr +# 283| 0 +#-----| -> ...[...] -# 283| InOutExpr -#-----| -> IntegerLiteralExpr +# 283| &... +#-----| -> 10 -# 283| LoadExpr -#-----| -> setter for AssignExpr +# 283| a +#-----| -> &... -# 283| getter for SubscriptExpr -#-----| -> LoadExpr +# 283| (Int) ... +#-----| -> setter for ... = ... -# 283| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 283| getter for ...[...] +#-----| -> (Int) ... -# 284| DeclRefExpr -#-----| -> InOutExpr +# 283| 10 +#-----| -> getter for ...[...] -# 284| InOutExpr -#-----| -> IntegerLiteralExpr +# 284| &... +#-----| -> 1 -# 284| SubscriptExpr -#-----| -> DeclRefExpr +# 284| b +#-----| -> &... -# 284| setter for AssignExpr -#-----| -> DeclRefExpr +# 284| ...[...] +#-----| -> + -# 284| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 284| setter for ... = ... +#-----| -> b -# 284| DeclRefExpr -#-----| -> InOutExpr +# 284| 1 +#-----| -> ...[...] -# 284| InOutExpr -#-----| -> IntegerLiteralExpr +# 284| &... +#-----| -> 0 -# 284| LoadExpr -#-----| -> IntegerLiteralExpr +# 284| b +#-----| -> &... -# 284| getter for SubscriptExpr -#-----| -> LoadExpr +# 284| (Int) ... +#-----| -> 1 -# 284| BinaryExpr -#-----| -> setter for AssignExpr +# 284| getter for ...[...] +#-----| -> (Int) ... -# 284| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 284| ... call to + ... +#-----| -> setter for ... = ... -# 284| DeclRefExpr -#-----| -> TypeExpr +# 284| 0 +#-----| -> getter for ...[...] -# 284| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 284| + +#-----| -> Int.Type -# 284| TypeExpr -#-----| -> DotSyntaxCallExpr +# 284| Int.Type +#-----| -> call to + -# 284| IntegerLiteralExpr -#-----| -> BinaryExpr +# 284| call to + +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> b -# 285| DeclRefExpr -#-----| -> InOutExpr +# 284| 1 +#-----| -> ... call to + ... -# 285| InOutExpr -#-----| -> IntegerLiteralExpr +# 285| &... +#-----| -> 2 -# 285| SubscriptExpr -#-----| -> DeclRefExpr +# 285| b +#-----| -> &... -# 285| setter for AssignExpr -#-----| -> DeclRefExpr +# 285| ...[...] +#-----| -> - -# 285| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 285| setter for ... = ... +#-----| -> b -# 285| DeclRefExpr -#-----| -> InOutExpr +# 285| 2 +#-----| -> ...[...] -# 285| InOutExpr -#-----| -> IntegerLiteralExpr +# 285| &... +#-----| -> 1 -# 285| LoadExpr -#-----| -> IntegerLiteralExpr +# 285| b +#-----| -> &... -# 285| getter for SubscriptExpr -#-----| -> LoadExpr +# 285| (Int) ... +#-----| -> 1 -# 285| BinaryExpr -#-----| -> setter for AssignExpr +# 285| getter for ...[...] +#-----| -> (Int) ... -# 285| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 285| ... call to - ... +#-----| -> setter for ... = ... -# 285| DeclRefExpr -#-----| -> TypeExpr +# 285| 1 +#-----| -> getter for ...[...] -# 285| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 285| - +#-----| -> Int.Type -# 285| TypeExpr -#-----| -> DotSyntaxCallExpr +# 285| Int.Type +#-----| -> call to - -# 285| IntegerLiteralExpr -#-----| -> BinaryExpr +# 285| call to - +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> b -# 286| DeclRefExpr -#-----| -> InOutExpr +# 285| 1 +#-----| -> ... call to - ... -# 286| InOutExpr -#-----| -> IntegerLiteralExpr +# 286| &... +#-----| -> 3 -# 286| SubscriptExpr -#-----| -> DeclRefExpr +# 286| b +#-----| -> &... -# 286| setter for AssignExpr -#-----| -> DeclRefExpr +# 286| ...[...] +#-----| -> * -# 286| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 286| setter for ... = ... +#-----| -> b -# 286| DeclRefExpr -#-----| -> InOutExpr +# 286| 3 +#-----| -> ...[...] -# 286| InOutExpr -#-----| -> IntegerLiteralExpr +# 286| &... +#-----| -> 2 -# 286| LoadExpr -#-----| -> IntegerLiteralExpr +# 286| b +#-----| -> &... -# 286| getter for SubscriptExpr -#-----| -> LoadExpr +# 286| (Int) ... +#-----| -> 1 -# 286| BinaryExpr -#-----| -> setter for AssignExpr +# 286| getter for ...[...] +#-----| -> (Int) ... -# 286| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 286| ... call to * ... +#-----| -> setter for ... = ... -# 286| DeclRefExpr -#-----| -> TypeExpr +# 286| 2 +#-----| -> getter for ...[...] -# 286| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 286| * +#-----| -> Int.Type -# 286| TypeExpr -#-----| -> DotSyntaxCallExpr +# 286| Int.Type +#-----| -> call to * -# 286| IntegerLiteralExpr -#-----| -> BinaryExpr +# 286| call to * +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> b -# 287| DeclRefExpr -#-----| -> InOutExpr +# 286| 1 +#-----| -> ... call to * ... -# 287| InOutExpr -#-----| -> IntegerLiteralExpr +# 287| &... +#-----| -> 4 -# 287| SubscriptExpr -#-----| -> DeclRefExpr +# 287| b +#-----| -> &... -# 287| setter for AssignExpr -#-----| -> DeclRefExpr +# 287| ...[...] +#-----| -> / -# 287| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 287| setter for ... = ... +#-----| -> b -# 287| DeclRefExpr -#-----| -> InOutExpr +# 287| 4 +#-----| -> ...[...] -# 287| InOutExpr -#-----| -> IntegerLiteralExpr +# 287| &... +#-----| -> 3 -# 287| LoadExpr -#-----| -> IntegerLiteralExpr +# 287| b +#-----| -> &... -# 287| getter for SubscriptExpr -#-----| -> LoadExpr +# 287| (Int) ... +#-----| -> 1 -# 287| BinaryExpr -#-----| -> setter for AssignExpr +# 287| getter for ...[...] +#-----| -> (Int) ... -# 287| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 287| ... call to / ... +#-----| -> setter for ... = ... -# 287| DeclRefExpr -#-----| -> TypeExpr +# 287| 3 +#-----| -> getter for ...[...] -# 287| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 287| / +#-----| -> Int.Type -# 287| TypeExpr -#-----| -> DotSyntaxCallExpr +# 287| Int.Type +#-----| -> call to / -# 287| IntegerLiteralExpr -#-----| -> BinaryExpr +# 287| call to / +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> b -# 288| DeclRefExpr -#-----| -> InOutExpr +# 287| 1 +#-----| -> ... call to / ... -# 288| InOutExpr -#-----| -> IntegerLiteralExpr +# 288| &... +#-----| -> 5 -# 288| SubscriptExpr -#-----| -> DeclRefExpr +# 288| b +#-----| -> &... -# 288| setter for AssignExpr -#-----| -> DeclRefExpr +# 288| ...[...] +#-----| -> % -# 288| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 288| setter for ... = ... +#-----| -> b -# 288| DeclRefExpr -#-----| -> InOutExpr +# 288| 5 +#-----| -> ...[...] -# 288| InOutExpr -#-----| -> IntegerLiteralExpr +# 288| &... +#-----| -> 4 -# 288| LoadExpr -#-----| -> IntegerLiteralExpr +# 288| b +#-----| -> &... -# 288| getter for SubscriptExpr -#-----| -> LoadExpr +# 288| (Int) ... +#-----| -> 1 -# 288| BinaryExpr -#-----| -> setter for AssignExpr +# 288| getter for ...[...] +#-----| -> (Int) ... -# 288| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 288| ... call to % ... +#-----| -> setter for ... = ... -# 288| DeclRefExpr -#-----| -> TypeExpr +# 288| 4 +#-----| -> getter for ...[...] -# 288| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 288| % +#-----| -> Int.Type -# 288| TypeExpr -#-----| -> DotSyntaxCallExpr +# 288| Int.Type +#-----| -> call to % -# 288| IntegerLiteralExpr -#-----| -> BinaryExpr +# 288| call to % +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> b -# 289| DeclRefExpr -#-----| -> InOutExpr +# 288| 1 +#-----| -> ... call to % ... -# 289| InOutExpr -#-----| -> IntegerLiteralExpr +# 289| &... +#-----| -> 6 -# 289| SubscriptExpr -#-----| -> DeclRefExpr +# 289| b +#-----| -> &... -# 289| setter for AssignExpr -#-----| -> DeclRefExpr +# 289| ...[...] +#-----| -> & -# 289| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 289| setter for ... = ... +#-----| -> b -# 289| DeclRefExpr -#-----| -> InOutExpr +# 289| 6 +#-----| -> ...[...] -# 289| InOutExpr -#-----| -> IntegerLiteralExpr +# 289| &... +#-----| -> 5 -# 289| LoadExpr -#-----| -> IntegerLiteralExpr +# 289| b +#-----| -> &... -# 289| getter for SubscriptExpr -#-----| -> LoadExpr +# 289| (Int) ... +#-----| -> 1 -# 289| BinaryExpr -#-----| -> setter for AssignExpr +# 289| getter for ...[...] +#-----| -> (Int) ... -# 289| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 289| ... call to & ... +#-----| -> setter for ... = ... -# 289| DeclRefExpr -#-----| -> TypeExpr +# 289| 5 +#-----| -> getter for ...[...] -# 289| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 289| & +#-----| -> Int.Type -# 289| TypeExpr -#-----| -> DotSyntaxCallExpr +# 289| Int.Type +#-----| -> call to & -# 289| IntegerLiteralExpr -#-----| -> BinaryExpr +# 289| call to & +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> b -# 290| DeclRefExpr -#-----| -> InOutExpr +# 289| 1 +#-----| -> ... call to & ... -# 290| InOutExpr -#-----| -> IntegerLiteralExpr +# 290| &... +#-----| -> 7 -# 290| SubscriptExpr -#-----| -> DeclRefExpr +# 290| b +#-----| -> &... -# 290| setter for AssignExpr -#-----| -> DeclRefExpr +# 290| ...[...] +#-----| -> | -# 290| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 290| setter for ... = ... +#-----| -> b -# 290| DeclRefExpr -#-----| -> InOutExpr +# 290| 7 +#-----| -> ...[...] -# 290| InOutExpr -#-----| -> IntegerLiteralExpr +# 290| &... +#-----| -> 6 -# 290| LoadExpr -#-----| -> IntegerLiteralExpr +# 290| b +#-----| -> &... -# 290| getter for SubscriptExpr -#-----| -> LoadExpr +# 290| (Int) ... +#-----| -> 1 -# 290| BinaryExpr -#-----| -> setter for AssignExpr +# 290| getter for ...[...] +#-----| -> (Int) ... -# 290| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 290| ... call to | ... +#-----| -> setter for ... = ... -# 290| DeclRefExpr -#-----| -> TypeExpr +# 290| 6 +#-----| -> getter for ...[...] -# 290| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 290| Int.Type +#-----| -> call to | -# 290| TypeExpr -#-----| -> DotSyntaxCallExpr +# 290| call to | +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> b -# 290| IntegerLiteralExpr -#-----| -> BinaryExpr +# 290| | +#-----| -> Int.Type -# 291| DeclRefExpr -#-----| -> InOutExpr +# 290| 1 +#-----| -> ... call to | ... -# 291| InOutExpr -#-----| -> IntegerLiteralExpr +# 291| &... +#-----| -> 8 -# 291| SubscriptExpr -#-----| -> DeclRefExpr +# 291| b +#-----| -> &... -# 291| setter for AssignExpr -#-----| -> DeclRefExpr +# 291| ...[...] +#-----| -> ^ -# 291| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 291| setter for ... = ... +#-----| -> b -# 291| DeclRefExpr -#-----| -> InOutExpr +# 291| 8 +#-----| -> ...[...] -# 291| InOutExpr -#-----| -> IntegerLiteralExpr +# 291| &... +#-----| -> 7 -# 291| LoadExpr -#-----| -> IntegerLiteralExpr +# 291| b +#-----| -> &... -# 291| getter for SubscriptExpr -#-----| -> LoadExpr +# 291| (Int) ... +#-----| -> 1 -# 291| BinaryExpr -#-----| -> setter for AssignExpr +# 291| getter for ...[...] +#-----| -> (Int) ... -# 291| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 291| ... call to ^ ... +#-----| -> setter for ... = ... -# 291| DeclRefExpr -#-----| -> TypeExpr +# 291| 7 +#-----| -> getter for ...[...] -# 291| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 291| Int.Type +#-----| -> call to ^ -# 291| TypeExpr -#-----| -> DotSyntaxCallExpr +# 291| ^ +#-----| -> Int.Type -# 291| IntegerLiteralExpr -#-----| -> BinaryExpr +# 291| call to ^ +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> b -# 292| DeclRefExpr -#-----| -> InOutExpr +# 291| 1 +#-----| -> ... call to ^ ... -# 292| InOutExpr -#-----| -> IntegerLiteralExpr +# 292| &... +#-----| -> 9 -# 292| SubscriptExpr -#-----| -> DeclRefExpr +# 292| b +#-----| -> &... -# 292| setter for AssignExpr -#-----| -> DeclRefExpr +# 292| ...[...] +#-----| -> << -# 292| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 292| setter for ... = ... +#-----| -> b -# 292| DeclRefExpr -#-----| -> InOutExpr +# 292| 9 +#-----| -> ...[...] -# 292| InOutExpr -#-----| -> IntegerLiteralExpr +# 292| &... +#-----| -> 8 -# 292| LoadExpr -#-----| -> IntegerLiteralExpr +# 292| b +#-----| -> &... -# 292| getter for SubscriptExpr -#-----| -> LoadExpr +# 292| (Int) ... +#-----| -> 1 -# 292| BinaryExpr -#-----| -> setter for AssignExpr +# 292| getter for ...[...] +#-----| -> (Int) ... -# 292| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 292| ... call to << ... +#-----| -> setter for ... = ... -# 292| DeclRefExpr -#-----| -> TypeExpr +# 292| 8 +#-----| -> getter for ...[...] -# 292| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 292| << +#-----| -> Int.Type -# 292| TypeExpr -#-----| -> DotSyntaxCallExpr +# 292| Int.Type +#-----| -> call to << -# 292| IntegerLiteralExpr -#-----| -> BinaryExpr +# 292| call to << +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> b -# 293| DeclRefExpr -#-----| -> InOutExpr +# 292| 1 +#-----| -> ... call to << ... -# 293| InOutExpr -#-----| -> IntegerLiteralExpr +# 293| &... +#-----| -> 10 -# 293| SubscriptExpr -#-----| -> DeclRefExpr +# 293| b +#-----| -> &... -# 293| setter for AssignExpr -#-----| -> TuplePattern +# 293| ...[...] +#-----| -> >> -# 293| IntegerLiteralExpr -#-----| -> SubscriptExpr +# 293| setter for ... = ... +#-----| -> (...) -# 293| DeclRefExpr -#-----| -> InOutExpr +# 293| 10 +#-----| -> ...[...] -# 293| InOutExpr -#-----| -> IntegerLiteralExpr +# 293| &... +#-----| -> 9 -# 293| LoadExpr -#-----| -> IntegerLiteralExpr +# 293| b +#-----| -> &... -# 293| getter for SubscriptExpr -#-----| -> LoadExpr +# 293| (Int) ... +#-----| -> 1 -# 293| BinaryExpr -#-----| -> setter for AssignExpr +# 293| getter for ...[...] +#-----| -> (Int) ... -# 293| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 293| ... call to >> ... +#-----| -> setter for ... = ... -# 293| DeclRefExpr -#-----| -> TypeExpr +# 293| 9 +#-----| -> getter for ...[...] -# 293| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 293| >> +#-----| -> Int.Type -# 293| TypeExpr -#-----| -> DotSyntaxCallExpr +# 293| Int.Type +#-----| -> call to >> -# 293| IntegerLiteralExpr -#-----| -> BinaryExpr +# 293| call to >> +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> b -# 295| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 293| 1 +#-----| -> ... call to >> ... -# 295| TuplePattern -#-----| -> NamedPattern +# 295| var ... = ... +#-----| -> a1 -# 295| ConcreteVarDecl -#-----| -> ConcreteVarDecl +# 295| (...) +#-----| -> a1 -# 295| NamedPattern -#-----| -> DeclRefExpr +# 295| a1 +#-----| -> tupleWithA -# 295| ConcreteVarDecl -#-----| -> ConcreteVarDecl +# 295| a1 +#-----| -> a2 -# 295| ConcreteVarDecl -#-----| -> ConcreteVarDecl +# 295| a2 +#-----| -> a3 -# 295| ConcreteVarDecl -#-----| -> ConcreteVarDecl +# 295| a3 +#-----| -> a4 -# 295| ConcreteVarDecl -#-----| -> DeclRefExpr +# 295| a4 +#-----| -> a5 -# 295| DeclRefExpr -#-----| -> LoadExpr +# 295| a5 +#-----| -> + -# 295| LoadExpr -#-----| -> PatternBindingDecl +# 295| ((Int, Int, Int, Int, Int)) ... +#-----| -> var ... = ... -# 296| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 295| tupleWithA +#-----| -> ((Int, Int, Int, Int, Int)) ... -# 296| TupleExpr -#-----| -> ReturnStmt +# 296| return ... +#-----| return -> exit testSubscriptExpr (normal) -# 296| DeclRefExpr -#-----| -> DeclRefExpr +# 296| (...) +#-----| -> return ... -# 296| BinaryExpr -#-----| -> DeclRefExpr +# 296| a1 +#-----| -> b -# 296| DeclRefExpr -#-----| -> TypeExpr +# 296| ... call to + ... +#-----| -> + -# 296| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 296| + +#-----| -> Int.Type -# 296| TypeExpr -#-----| -> DotSyntaxCallExpr +# 296| Int.Type +#-----| -> call to + -# 296| DeclRefExpr -#-----| -> InOutExpr +# 296| call to + +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a1 -# 296| InOutExpr -#-----| -> IntegerLiteralExpr +# 296| &... +#-----| -> 0 -# 296| LoadExpr -#-----| -> BinaryExpr +# 296| b +#-----| -> &... -# 296| getter for SubscriptExpr -#-----| -> LoadExpr +# 296| (Int) ... +#-----| -> ... call to + ... -# 296| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 296| getter for ...[...] +#-----| -> (Int) ... -# 296| DeclRefExpr -#-----| -> DeclRefExpr +# 296| 0 +#-----| -> getter for ...[...] -# 296| BinaryExpr -#-----| -> DeclRefExpr +# 296| a2 +#-----| -> b -# 296| DeclRefExpr -#-----| -> TypeExpr +# 296| ... call to + ... +#-----| -> + -# 296| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 296| + +#-----| -> Int.Type -# 296| TypeExpr -#-----| -> DotSyntaxCallExpr +# 296| Int.Type +#-----| -> call to + -# 296| DeclRefExpr -#-----| -> InOutExpr +# 296| call to + +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a2 -# 296| InOutExpr -#-----| -> IntegerLiteralExpr +# 296| &... +#-----| -> 1 -# 296| LoadExpr -#-----| -> BinaryExpr +# 296| b +#-----| -> &... -# 296| getter for SubscriptExpr -#-----| -> LoadExpr +# 296| (Int) ... +#-----| -> ... call to + ... -# 296| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 296| getter for ...[...] +#-----| -> (Int) ... -# 296| DeclRefExpr -#-----| -> DeclRefExpr +# 296| 1 +#-----| -> getter for ...[...] -# 296| BinaryExpr -#-----| -> DeclRefExpr +# 296| a3 +#-----| -> b -# 296| DeclRefExpr -#-----| -> TypeExpr +# 296| ... call to + ... +#-----| -> + -# 296| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 296| + +#-----| -> Int.Type -# 296| TypeExpr -#-----| -> DotSyntaxCallExpr +# 296| Int.Type +#-----| -> call to + -# 296| DeclRefExpr -#-----| -> InOutExpr +# 296| call to + +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a3 -# 296| InOutExpr -#-----| -> IntegerLiteralExpr +# 296| &... +#-----| -> 2 -# 296| LoadExpr -#-----| -> BinaryExpr +# 296| b +#-----| -> &... -# 296| getter for SubscriptExpr -#-----| -> LoadExpr +# 296| (Int) ... +#-----| -> ... call to + ... -# 296| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 296| getter for ...[...] +#-----| -> (Int) ... -# 296| DeclRefExpr -#-----| -> DeclRefExpr +# 296| 2 +#-----| -> getter for ...[...] -# 296| BinaryExpr -#-----| -> DeclRefExpr +# 296| a4 +#-----| -> b -# 296| DeclRefExpr -#-----| -> TypeExpr +# 296| ... call to + ... +#-----| -> + -# 296| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 296| + +#-----| -> Int.Type -# 296| TypeExpr -#-----| -> DotSyntaxCallExpr +# 296| Int.Type +#-----| -> call to + -# 296| DeclRefExpr -#-----| -> InOutExpr +# 296| call to + +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a4 -# 296| InOutExpr -#-----| -> IntegerLiteralExpr +# 296| &... +#-----| -> 3 -# 296| LoadExpr -#-----| -> BinaryExpr +# 296| b +#-----| -> &... -# 296| getter for SubscriptExpr -#-----| -> LoadExpr +# 296| (Int) ... +#-----| -> ... call to + ... -# 296| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 296| getter for ...[...] +#-----| -> (Int) ... -# 296| DeclRefExpr -#-----| -> DeclRefExpr +# 296| 3 +#-----| -> getter for ...[...] -# 296| BinaryExpr -#-----| -> TupleExpr +# 296| a5 +#-----| -> b -# 296| DeclRefExpr -#-----| -> TypeExpr +# 296| ... call to + ... +#-----| -> (...) -# 296| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 296| + +#-----| -> Int.Type -# 296| TypeExpr -#-----| -> DotSyntaxCallExpr +# 296| Int.Type +#-----| -> call to + -# 296| DeclRefExpr -#-----| -> InOutExpr +# 296| call to + +#-----| exception -> exit testSubscriptExpr (normal) +#-----| -> a5 -# 296| InOutExpr -#-----| -> IntegerLiteralExpr +# 296| &... +#-----| -> 4 -# 296| LoadExpr -#-----| -> BinaryExpr +# 296| b +#-----| -> &... -# 296| getter for SubscriptExpr -#-----| -> LoadExpr +# 296| (Int) ... +#-----| -> ... call to + ... -# 296| IntegerLiteralExpr -#-----| -> getter for SubscriptExpr +# 296| getter for ...[...] +#-----| -> (Int) ... -# 299| enter ConcreteFuncDecl -#-----| -> WhileStmt +# 296| 4 +#-----| -> getter for ...[...] -# 299| exit ConcreteFuncDecl +# 299| enter loop1 +#-----| -> while ... { ... } -# 299| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 299| exit loop1 -# 300| WhileStmt -#-----| -> DeclRefExpr +# 299| exit loop1 (normal) +#-----| -> exit loop1 -# 300| DeclRefExpr -#-----| -> LoadExpr +# 300| while ... { ... } +#-----| -> >= -# 300| LoadExpr -#-----| -> IntegerLiteralExpr +# 300| (Int) ... +#-----| -> 0 -# 300| BinaryExpr +# 300| x +#-----| -> (Int) ... + +# 300| ... call to >= ... #-----| -> StmtCondition # 300| StmtCondition -#-----| false -> exit ConcreteFuncDecl (normal) -#-----| true -> DeclRefExpr +#-----| false -> exit loop1 (normal) +#-----| true -> print -# 300| DeclRefExpr -#-----| -> TypeExpr +# 300| >= +#-----| -> Int.Type -# 300| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 300| Int.Type +#-----| -> call to >= -# 300| TypeExpr -#-----| -> DotSyntaxCallExpr +# 300| call to >= +#-----| exception -> exit loop1 (normal) +#-----| -> x -# 300| IntegerLiteralExpr -#-----| -> BinaryExpr +# 300| 0 +#-----| -> ... call to >= ... -# 301| DeclRefExpr -#-----| -> DeclRefExpr +# 301| print +#-----| -> x -# 301| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 301| call to print +#-----| exception -> exit loop1 (normal) +#-----| -> -= -# 301| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 301| default separator +#-----| -> default terminator -# 301| DefaultArgumentExpr -#-----| -> CallExpr +# 301| default terminator +#-----| -> call to print -# 301| ArrayExpr -#-----| -> VarargExpansionExpr +# 301| (Int) ... +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 301| DeclRefExpr -#-----| -> LoadExpr +# 301| (Any) ... +#-----| -> [...] -# 301| ErasureExpr -#-----| -> ArrayExpr +# 301| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 301| LoadExpr -#-----| -> ErasureExpr +# 301| [...] +#-----| -> default separator -# 301| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 301| [...] +#-----| -> [...] -# 302| DeclRefExpr -#-----| -> InOutExpr +# 301| x +#-----| -> (Int) ... -# 302| InOutExpr -#-----| -> IntegerLiteralExpr +# 302| &... +#-----| -> 1 -# 302| BinaryExpr -#-----| -> DeclRefExpr +# 302| x +#-----| -> &... -# 302| DeclRefExpr -#-----| -> TypeExpr +# 302| ... call to -= ... +#-----| -> >= -# 302| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 302| -= +#-----| -> Int.Type -# 302| TypeExpr -#-----| -> DotSyntaxCallExpr +# 302| Int.Type +#-----| -> call to -= -# 302| IntegerLiteralExpr -#-----| -> BinaryExpr +# 302| call to -= +#-----| exception -> exit loop1 (normal) +#-----| -> x -# 306| enter ConcreteFuncDecl -#-----| -> WhileStmt +# 302| 1 +#-----| -> ... call to -= ... -# 306| exit ConcreteFuncDecl +# 306| enter loop2 +#-----| -> while ... { ... } -# 306| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 306| exit loop2 -# 307| WhileStmt -#-----| -> DeclRefExpr +# 306| exit loop2 (normal) +#-----| -> exit loop2 -# 307| DeclRefExpr -#-----| -> LoadExpr +# 307| while ... { ... } +#-----| -> >= -# 307| LoadExpr -#-----| -> IntegerLiteralExpr +# 307| (Int) ... +#-----| -> 0 -# 307| BinaryExpr +# 307| x +#-----| -> (Int) ... + +# 307| ... call to >= ... #-----| -> StmtCondition # 307| StmtCondition -#-----| true -> DeclRefExpr -#-----| false -> DeclRefExpr +#-----| true -> print +#-----| false -> print -# 307| DeclRefExpr -#-----| -> TypeExpr +# 307| >= +#-----| -> Int.Type -# 307| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 307| Int.Type +#-----| -> call to >= -# 307| TypeExpr -#-----| -> DotSyntaxCallExpr +# 307| call to >= +#-----| exception -> exit loop2 (normal) +#-----| -> x -# 307| IntegerLiteralExpr -#-----| -> BinaryExpr +# 307| 0 +#-----| -> ... call to >= ... -# 308| DeclRefExpr -#-----| -> DeclRefExpr +# 308| print +#-----| -> x -# 308| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 308| call to print +#-----| exception -> exit loop2 (normal) +#-----| -> -= -# 308| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 308| default separator +#-----| -> default terminator -# 308| DefaultArgumentExpr -#-----| -> CallExpr +# 308| default terminator +#-----| -> call to print -# 308| ArrayExpr -#-----| -> VarargExpansionExpr +# 308| (Int) ... +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 308| DeclRefExpr -#-----| -> LoadExpr +# 308| (Any) ... +#-----| -> [...] -# 308| ErasureExpr -#-----| -> ArrayExpr +# 308| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 308| LoadExpr -#-----| -> ErasureExpr +# 308| [...] +#-----| -> default separator -# 308| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 308| [...] +#-----| -> [...] -# 309| DeclRefExpr -#-----| -> InOutExpr +# 308| x +#-----| -> (Int) ... -# 309| InOutExpr -#-----| -> IntegerLiteralExpr +# 309| &... +#-----| -> 1 -# 309| BinaryExpr -#-----| -> IfStmt +# 309| x +#-----| -> &... -# 309| DeclRefExpr -#-----| -> TypeExpr +# 309| ... call to -= ... +#-----| -> if ... then { ... } else { ... } -# 309| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 309| -= +#-----| -> Int.Type -# 309| TypeExpr -#-----| -> DotSyntaxCallExpr +# 309| Int.Type +#-----| -> call to -= -# 309| IntegerLiteralExpr -#-----| -> BinaryExpr +# 309| call to -= +#-----| exception -> exit loop2 (normal) +#-----| -> x -# 310| IfStmt -#-----| -> DeclRefExpr +# 309| 1 +#-----| -> ... call to -= ... -# 310| DeclRefExpr -#-----| -> LoadExpr +# 310| if ... then { ... } else { ... } +#-----| -> > -# 310| LoadExpr -#-----| -> IntegerLiteralExpr +# 310| (Int) ... +#-----| -> 100 -# 310| BinaryExpr +# 310| x +#-----| -> (Int) ... + +# 310| ... call to > ... #-----| -> StmtCondition # 310| StmtCondition -#-----| true -> BreakStmt -#-----| false -> IfStmt +#-----| true -> break +#-----| false -> if ... then { ... } -# 310| DeclRefExpr -#-----| -> TypeExpr +# 310| > +#-----| -> Int.Type -# 310| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 310| Int.Type +#-----| -> call to > -# 310| TypeExpr -#-----| -> DotSyntaxCallExpr +# 310| call to > +#-----| exception -> exit loop2 (normal) +#-----| -> x -# 310| IntegerLiteralExpr -#-----| -> BinaryExpr +# 310| 100 +#-----| -> ... call to > ... -# 311| BreakStmt -#-----| -> DeclRefExpr +# 311| break +#-----| -> print -# 313| IfStmt -#-----| -> DeclRefExpr +# 313| if ... then { ... } +#-----| -> > -# 313| DeclRefExpr -#-----| -> LoadExpr +# 313| (Int) ... +#-----| -> 50 -# 313| LoadExpr -#-----| -> IntegerLiteralExpr +# 313| x +#-----| -> (Int) ... -# 313| BinaryExpr +# 313| ... call to > ... #-----| -> StmtCondition # 313| StmtCondition -#-----| true -> ContinueStmt -#-----| false -> DeclRefExpr +#-----| true -> continue +#-----| false -> print -# 313| DeclRefExpr -#-----| -> TypeExpr +# 313| > +#-----| -> Int.Type -# 313| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 313| Int.Type +#-----| -> call to > -# 313| TypeExpr -#-----| -> DotSyntaxCallExpr +# 313| call to > +#-----| exception -> exit loop2 (normal) +#-----| -> x -# 313| IntegerLiteralExpr -#-----| -> BinaryExpr +# 313| 50 +#-----| -> ... call to > ... -# 314| ContinueStmt -#-----| continue -> DeclRefExpr +# 314| continue +#-----| continue -> >= -# 316| DeclRefExpr -#-----| -> StringLiteralExpr +# 316| print +#-----| -> Iter -# 316| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 316| call to print +#-----| exception -> exit loop2 (normal) +#-----| -> >= -# 316| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 316| default separator +#-----| -> default terminator -# 316| DefaultArgumentExpr -#-----| -> CallExpr +# 316| default terminator +#-----| -> call to print -# 316| ArrayExpr -#-----| -> VarargExpansionExpr +# 316| (Any) ... +#-----| -> [...] -# 316| ErasureExpr -#-----| -> ArrayExpr +# 316| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 316| StringLiteralExpr -#-----| -> ErasureExpr +# 316| Iter +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 316| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 316| [...] +#-----| -> default separator -# 318| DeclRefExpr -#-----| -> StringLiteralExpr +# 316| [...] +#-----| -> [...] -# 318| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) +# 318| print +#-----| -> Done -# 318| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 318| call to print +#-----| exception -> exit loop2 (normal) -# 318| DefaultArgumentExpr -#-----| -> CallExpr +# 318| default separator +#-----| -> default terminator -# 318| ArrayExpr -#-----| -> VarargExpansionExpr +# 318| default terminator +#-----| -> call to print -# 318| ErasureExpr -#-----| -> ArrayExpr +# 318| (Any) ... +#-----| -> [...] -# 318| StringLiteralExpr -#-----| -> ErasureExpr +# 318| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 318| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 318| Done +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 321| enter ConcreteFuncDecl -#-----| -> WhileStmt +# 318| [...] +#-----| -> default separator -# 321| exit ConcreteFuncDecl +# 318| [...] +#-----| -> [...] -# 321| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 321| enter labeledLoop +#-----| -> while ... { ... } -# 322| WhileStmt -#-----| -> DeclRefExpr +# 321| exit labeledLoop -# 322| DeclRefExpr -#-----| -> LoadExpr +# 321| exit labeledLoop (normal) +#-----| -> exit labeledLoop -# 322| LoadExpr -#-----| -> IntegerLiteralExpr +# 322| while ... { ... } +#-----| -> >= -# 322| BinaryExpr +# 322| (Int) ... +#-----| -> 0 + +# 322| x +#-----| -> (Int) ... + +# 322| ... call to >= ... #-----| -> StmtCondition # 322| StmtCondition -#-----| false -> exit ConcreteFuncDecl (normal) -#-----| true -> WhileStmt +#-----| false -> exit labeledLoop (normal) +#-----| true -> while ... { ... } -# 322| DeclRefExpr -#-----| -> TypeExpr +# 322| >= +#-----| -> Int.Type -# 322| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 322| Int.Type +#-----| -> call to >= -# 322| TypeExpr -#-----| -> DotSyntaxCallExpr +# 322| call to >= +#-----| exception -> exit labeledLoop (normal) +#-----| -> x -# 322| IntegerLiteralExpr -#-----| -> BinaryExpr +# 322| 0 +#-----| -> ... call to >= ... -# 323| WhileStmt -#-----| -> DeclRefExpr +# 323| while ... { ... } +#-----| -> >= -# 323| DeclRefExpr -#-----| -> LoadExpr +# 323| (Int) ... +#-----| -> 0 -# 323| LoadExpr -#-----| -> IntegerLiteralExpr +# 323| x +#-----| -> (Int) ... -# 323| BinaryExpr +# 323| ... call to >= ... #-----| -> StmtCondition # 323| StmtCondition -#-----| true -> DeclRefExpr -#-----| false -> DeclRefExpr +#-----| true -> print +#-----| false -> print -# 323| DeclRefExpr -#-----| -> TypeExpr +# 323| >= +#-----| -> Int.Type -# 323| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 323| Int.Type +#-----| -> call to >= -# 323| TypeExpr -#-----| -> DotSyntaxCallExpr +# 323| call to >= +#-----| exception -> exit labeledLoop (normal) +#-----| -> x -# 323| IntegerLiteralExpr -#-----| -> BinaryExpr +# 323| 0 +#-----| -> ... call to >= ... -# 324| DeclRefExpr -#-----| -> DeclRefExpr +# 324| print +#-----| -> x -# 324| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 324| call to print +#-----| exception -> exit labeledLoop (normal) +#-----| -> -= -# 324| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 324| default separator +#-----| -> default terminator -# 324| DefaultArgumentExpr -#-----| -> CallExpr +# 324| default terminator +#-----| -> call to print -# 324| ArrayExpr -#-----| -> VarargExpansionExpr +# 324| (Int) ... +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 324| DeclRefExpr -#-----| -> LoadExpr +# 324| (Any) ... +#-----| -> [...] -# 324| ErasureExpr -#-----| -> ArrayExpr +# 324| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 324| LoadExpr -#-----| -> ErasureExpr +# 324| [...] +#-----| -> default separator -# 324| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 324| [...] +#-----| -> [...] -# 325| DeclRefExpr -#-----| -> InOutExpr +# 324| x +#-----| -> (Int) ... -# 325| InOutExpr -#-----| -> IntegerLiteralExpr +# 325| &... +#-----| -> 1 -# 325| BinaryExpr -#-----| -> IfStmt +# 325| x +#-----| -> &... -# 325| DeclRefExpr -#-----| -> TypeExpr +# 325| ... call to -= ... +#-----| -> if ... then { ... } else { ... } -# 325| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 325| -= +#-----| -> Int.Type -# 325| TypeExpr -#-----| -> DotSyntaxCallExpr +# 325| Int.Type +#-----| -> call to -= -# 325| IntegerLiteralExpr -#-----| -> BinaryExpr +# 325| call to -= +#-----| exception -> exit labeledLoop (normal) +#-----| -> x -# 326| IfStmt -#-----| -> DeclRefExpr +# 325| 1 +#-----| -> ... call to -= ... -# 326| DeclRefExpr -#-----| -> LoadExpr +# 326| if ... then { ... } else { ... } +#-----| -> > -# 326| LoadExpr -#-----| -> IntegerLiteralExpr +# 326| (Int) ... +#-----| -> 100 -# 326| BinaryExpr +# 326| x +#-----| -> (Int) ... + +# 326| ... call to > ... #-----| -> StmtCondition # 326| StmtCondition -#-----| true -> BreakStmt -#-----| false -> IfStmt +#-----| true -> break outer +#-----| false -> if ... then { ... } -# 326| DeclRefExpr -#-----| -> TypeExpr +# 326| > +#-----| -> Int.Type -# 326| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 326| Int.Type +#-----| -> call to > -# 326| TypeExpr -#-----| -> DotSyntaxCallExpr +# 326| call to > +#-----| exception -> exit labeledLoop (normal) +#-----| -> x -# 326| IntegerLiteralExpr -#-----| -> BinaryExpr +# 326| 100 +#-----| -> ... call to > ... -# 327| BreakStmt -#-----| -> exit ConcreteFuncDecl (normal) +# 327| break outer +#-----| -> exit labeledLoop (normal) -# 329| IfStmt -#-----| -> DeclRefExpr +# 329| if ... then { ... } +#-----| -> > -# 329| DeclRefExpr -#-----| -> LoadExpr +# 329| (Int) ... +#-----| -> 50 -# 329| LoadExpr -#-----| -> IntegerLiteralExpr +# 329| x +#-----| -> (Int) ... -# 329| BinaryExpr +# 329| ... call to > ... #-----| -> StmtCondition # 329| StmtCondition -#-----| true -> ContinueStmt -#-----| false -> DeclRefExpr +#-----| true -> continue inner +#-----| false -> print -# 329| DeclRefExpr -#-----| -> TypeExpr +# 329| > +#-----| -> Int.Type -# 329| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 329| Int.Type +#-----| -> call to > -# 329| TypeExpr -#-----| -> DotSyntaxCallExpr +# 329| call to > +#-----| exception -> exit labeledLoop (normal) +#-----| -> x -# 329| IntegerLiteralExpr -#-----| -> BinaryExpr +# 329| 50 +#-----| -> ... call to > ... -# 330| ContinueStmt -#-----| continue -> DeclRefExpr +# 330| continue inner +#-----| continue -> >= -# 332| DeclRefExpr -#-----| -> StringLiteralExpr +# 332| print +#-----| -> Iter -# 332| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 332| call to print +#-----| exception -> exit labeledLoop (normal) +#-----| -> >= -# 332| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 332| default separator +#-----| -> default terminator -# 332| DefaultArgumentExpr -#-----| -> CallExpr +# 332| default terminator +#-----| -> call to print -# 332| ArrayExpr -#-----| -> VarargExpansionExpr +# 332| (Any) ... +#-----| -> [...] -# 332| ErasureExpr -#-----| -> ArrayExpr +# 332| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 332| StringLiteralExpr -#-----| -> ErasureExpr +# 332| Iter +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 332| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 332| [...] +#-----| -> default separator -# 334| DeclRefExpr -#-----| -> StringLiteralExpr +# 332| [...] +#-----| -> [...] -# 334| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 334| print +#-----| -> Done -# 334| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 334| call to print +#-----| exception -> exit labeledLoop (normal) +#-----| -> >= -# 334| DefaultArgumentExpr -#-----| -> CallExpr +# 334| default separator +#-----| -> default terminator -# 334| ArrayExpr -#-----| -> VarargExpansionExpr +# 334| default terminator +#-----| -> call to print -# 334| ErasureExpr -#-----| -> ArrayExpr +# 334| (Any) ... +#-----| -> [...] -# 334| StringLiteralExpr -#-----| -> ErasureExpr +# 334| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 334| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 334| Done +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 338| enter ConcreteFuncDecl -#-----| -> RepeatWhileStmt +# 334| [...] +#-----| -> default separator -# 338| exit ConcreteFuncDecl +# 334| [...] +#-----| -> [...] -# 338| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 338| enter testRepeat +#-----| -> repeat { ... } while ... -# 339| RepeatWhileStmt -#-----| -> DeclRefExpr +# 338| exit testRepeat -# 340| DeclRefExpr -#-----| -> DeclRefExpr +# 338| exit testRepeat (normal) +#-----| -> exit testRepeat -# 340| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 339| repeat { ... } while ... +#-----| -> print -# 340| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 340| print +#-----| -> x -# 340| DefaultArgumentExpr -#-----| -> CallExpr +# 340| call to print +#-----| exception -> exit testRepeat (normal) +#-----| -> -= -# 340| ArrayExpr -#-----| -> VarargExpansionExpr +# 340| default separator +#-----| -> default terminator -# 340| DeclRefExpr -#-----| -> LoadExpr +# 340| default terminator +#-----| -> call to print -# 340| ErasureExpr -#-----| -> ArrayExpr +# 340| (Int) ... +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 340| LoadExpr -#-----| -> ErasureExpr +# 340| (Any) ... +#-----| -> [...] -# 340| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 340| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 341| DeclRefExpr -#-----| -> InOutExpr +# 340| [...] +#-----| -> default separator -# 341| InOutExpr -#-----| -> IntegerLiteralExpr +# 340| [...] +#-----| -> [...] -# 341| BinaryExpr -#-----| -> DeclRefExpr +# 340| x +#-----| -> (Int) ... -# 341| DeclRefExpr -#-----| -> TypeExpr +# 341| &... +#-----| -> 1 -# 341| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 341| x +#-----| -> &... -# 341| TypeExpr -#-----| -> DotSyntaxCallExpr +# 341| ... call to -= ... +#-----| -> >= -# 341| IntegerLiteralExpr -#-----| -> BinaryExpr +# 341| -= +#-----| -> Int.Type -# 342| DeclRefExpr -#-----| -> LoadExpr +# 341| Int.Type +#-----| -> call to -= -# 342| LoadExpr -#-----| -> IntegerLiteralExpr +# 341| call to -= +#-----| exception -> exit testRepeat (normal) +#-----| -> x -# 342| BinaryExpr -#-----| false -> exit ConcreteFuncDecl (normal) -#-----| true -> DeclRefExpr +# 341| 1 +#-----| -> ... call to -= ... -# 342| DeclRefExpr -#-----| -> TypeExpr +# 342| (Int) ... +#-----| -> 0 -# 342| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 342| x +#-----| -> (Int) ... -# 342| TypeExpr -#-----| -> DotSyntaxCallExpr +# 342| ... call to >= ... +#-----| false -> exit testRepeat (normal) +#-----| true -> print -# 342| IntegerLiteralExpr -#-----| -> BinaryExpr +# 342| >= +#-----| -> Int.Type -# 345| enter ConcreteFuncDecl -#-----| -> NamedPattern +# 342| Int.Type +#-----| -> call to >= -# 345| exit ConcreteFuncDecl +# 342| call to >= +#-----| exception -> exit testRepeat (normal) +#-----| -> x -# 345| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 342| 0 +#-----| -> ... call to >= ... -# 346| PatternBindingDecl -#-----| -> ConcreteVarDecl +# 345| enter loop_with_identity_expr +#-----| -> x -# 346| ConcreteVarDecl -#-----| -> WhileStmt +# 345| exit loop_with_identity_expr -# 346| NamedPattern -#-----| -> IntegerLiteralExpr +# 345| exit loop_with_identity_expr (normal) +#-----| -> exit loop_with_identity_expr -# 346| IntegerLiteralExpr -#-----| -> PatternBindingDecl +# 346| var ... = ... +#-----| -> x -# 347| WhileStmt -#-----| -> DeclRefExpr +# 346| x +#-----| -> 0 -# 347| ParenExpr +# 346| x +#-----| -> while ... { ... } + +# 346| 0 +#-----| -> var ... = ... + +# 347| while ... { ... } +#-----| -> < + +# 347| (...) #-----| -> StmtCondition # 347| StmtCondition -#-----| false -> exit ConcreteFuncDecl (normal) -#-----| true -> DeclRefExpr +#-----| false -> exit loop_with_identity_expr (normal) +#-----| true -> += -# 347| DeclRefExpr -#-----| -> LoadExpr +# 347| (Int) ... +#-----| -> 10 -# 347| LoadExpr -#-----| -> IntegerLiteralExpr +# 347| x +#-----| -> (Int) ... -# 347| BinaryExpr -#-----| -> ParenExpr +# 347| ... call to < ... +#-----| -> (...) -# 347| DeclRefExpr -#-----| -> TypeExpr +# 347| < +#-----| -> Int.Type -# 347| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 347| Int.Type +#-----| -> call to < -# 347| TypeExpr -#-----| -> DotSyntaxCallExpr +# 347| call to < +#-----| exception -> exit loop_with_identity_expr (normal) +#-----| -> x -# 347| IntegerLiteralExpr -#-----| -> BinaryExpr +# 347| 10 +#-----| -> ... call to < ... -# 348| DeclRefExpr -#-----| -> InOutExpr +# 348| &... +#-----| -> 1 -# 348| InOutExpr -#-----| -> IntegerLiteralExpr +# 348| x +#-----| -> &... -# 348| BinaryExpr -#-----| -> DeclRefExpr +# 348| ... call to += ... +#-----| -> < -# 348| DeclRefExpr -#-----| -> TypeExpr +# 348| += +#-----| -> Int.Type -# 348| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 348| Int.Type +#-----| -> call to += -# 348| TypeExpr -#-----| -> DotSyntaxCallExpr +# 348| call to += +#-----| exception -> exit loop_with_identity_expr (normal) +#-----| -> x -# 348| IntegerLiteralExpr -#-----| -> BinaryExpr +# 348| 1 +#-----| -> ... call to += ... -# 353| enter AccessorDecl +# 353| enter get -# 353| exit AccessorDecl +# 353| exit get -# 353| exit AccessorDecl (normal) -#-----| -> exit AccessorDecl +# 353| exit get (normal) +#-----| -> exit get -# 354| enter ConstructorDecl -#-----| -> DeclRefExpr +# 354| enter deinit +#-----| -> self -# 354| exit ConstructorDecl +# 354| exit deinit -# 354| exit ConstructorDecl (normal) -#-----| -> exit ConstructorDecl +# 354| exit deinit (normal) +#-----| -> exit deinit -# 355| DeclRefExpr -#-----| -> MemberRefExpr +# 355| .c +#-----| -> arg -# 355| MemberRefExpr -#-----| -> DeclRefExpr +# 355| self +#-----| -> .c -# 355| AssignExpr -#-----| -> ReturnStmt +# 355| ... = ... +#-----| -> return -# 355| DeclRefExpr -#-----| -> AssignExpr +# 355| arg +#-----| -> ... = ... -# 356| ReturnStmt -#-----| return -> exit ConstructorDecl (normal) +# 356| return +#-----| return -> exit deinit (normal) -# 358| enter ConcreteFuncDecl -#-----| -> DeclRefExpr +# 358| enter getOptional +#-----| -> self -# 358| exit ConcreteFuncDecl +# 358| exit getOptional -# 358| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 358| exit getOptional (normal) +#-----| -> exit getOptional -# 359| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 359| return ... +#-----| return -> exit getOptional (normal) -# 359| DeclRefExpr -#-----| -> getter for MemberRefExpr +# 359| getter for .c +#-----| -> return ... -# 359| getter for MemberRefExpr -#-----| -> ReturnStmt +# 359| self +#-----| -> getter for .c -# 363| enter ConcreteFuncDecl -#-----| -> DeclRefExpr +# 363| enter testOptional +#-----| -> getMyInt -# 363| exit ConcreteFuncDecl +# 363| exit testOptional -# 363| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 363| exit testOptional (normal) +#-----| -> exit testOptional -# 364| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 364| return ... +#-----| return -> exit testOptional (normal) -# 364| DeclRefExpr -#-----| -> BindOptionalExpr +# 364| c +#-----| -> ...? -# 364| BindOptionalExpr -#-----| -> DotSyntaxCallExpr +# 364| ...? +#-----| -> call to getOptional -# 364| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 364| call to getOptional +#-----| exception -> exit testOptional (normal) +#-----| -> call to ... -# 364| CallExpr -#-----| -> BindOptionalExpr +# 364| call to ... +#-----| -> ...? -# 364| BindOptionalExpr -#-----| -> DotSyntaxCallExpr +# 364| ...? +#-----| -> call to getMyInt -# 364| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> CallExpr +# 364| call to getMyInt +#-----| exception -> exit testOptional (normal) +#-----| -> call to ... -# 364| CallExpr -#-----| -> InjectIntoOptionalExpr - -# 364| InjectIntoOptionalExpr +# 364| (Int?) ... #-----| -> OptionalEvaluationExpr # 364| OptionalEvaluationExpr -#-----| -> ReturnStmt +#-----| -> return ... -# 364| DeclRefExpr -#-----| -> DeclRefExpr +# 364| call to ... +#-----| -> (Int?) ... -# 364| DeclRefExpr -#-----| -> DeclRefExpr +# 364| getOptional +#-----| -> c -# 367| enter ConcreteFuncDecl -#-----| -> NamedPattern +# 364| getMyInt +#-----| -> getOptional -# 367| exit ConcreteFuncDecl +# 367| enter testCapture +#-----| -> z -# 367| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 367| exit testCapture -# 368| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 367| exit testCapture (normal) +#-----| -> exit testCapture -# 368| CaptureListExpr -#-----| -> ReturnStmt +# 368| return ... +#-----| return -> exit testCapture (normal) -# 368| ClosureExpr -#-----| -> CaptureListExpr +# 368| { ... } +#-----| -> return ... -# 368| NamedPattern -#-----| -> DeclRefExpr +# 368| { ... } +#-----| -> { ... } -# 368| PatternBindingDecl -#-----| -> NamedPattern +# 368| z +#-----| -> + -# 368| DeclRefExpr -#-----| -> DeclRefExpr +# 368| var ... = ... +#-----| -> t -# 368| BinaryExpr -#-----| -> PatternBindingDecl +# 368| x +#-----| -> y -# 368| DeclRefExpr -#-----| -> TypeExpr +# 368| ... call to + ... +#-----| -> var ... = ... -# 368| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 368| + +#-----| -> Int.Type -# 368| TypeExpr -#-----| -> DotSyntaxCallExpr +# 368| Int.Type +#-----| -> call to + -# 368| DeclRefExpr -#-----| -> BinaryExpr +# 368| call to + +#-----| exception -> exit testCapture (normal) +#-----| -> x -# 368| NamedPattern -#-----| -> StringLiteralExpr +# 368| y +#-----| -> ... call to + ... -# 368| PatternBindingDecl -#-----| -> ClosureExpr +# 368| t +#-----| -> literal -# 368| StringLiteralExpr -#-----| -> PatternBindingDecl +# 368| var ... = ... +#-----| -> { ... } -# 373| enter ConcreteFuncDecl -#-----| -> DeclRefExpr +# 368| literal +#-----| -> var ... = ... -# 373| exit ConcreteFuncDecl +# 373| enter testTupleElement +#-----| -> + -# 373| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 373| exit testTupleElement -# 374| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 373| exit testTupleElement (normal) +#-----| -> exit testTupleElement -# 374| DeclRefExpr -#-----| -> TupleElementExpr +# 374| return ... +#-----| return -> exit testTupleElement (normal) -# 374| TupleElementExpr -#-----| -> DeclRefExpr +# 374| t +#-----| -> .0 -# 374| BinaryExpr -#-----| -> DeclRefExpr +# 374| .0 +#-----| -> t -# 374| BinaryExpr -#-----| -> IntegerLiteralExpr +# 374| ... call to + ... +#-----| -> t -# 374| BinaryExpr -#-----| -> ReturnStmt +# 374| ... call to + ... +#-----| -> 1 -# 374| DeclRefExpr -#-----| -> TypeExpr +# 374| ... call to + ... +#-----| -> return ... -# 374| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 374| + +#-----| -> Int.Type -# 374| TypeExpr -#-----| -> DotSyntaxCallExpr +# 374| Int.Type +#-----| -> call to + -# 374| DeclRefExpr -#-----| -> TupleElementExpr +# 374| call to + +#-----| exception -> exit testTupleElement (normal) +#-----| -> t -# 374| TupleElementExpr -#-----| -> BinaryExpr +# 374| t +#-----| -> .1 -# 374| DeclRefExpr -#-----| -> TypeExpr +# 374| .1 +#-----| -> ... call to + ... -# 374| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 374| + +#-----| -> Int.Type -# 374| TypeExpr -#-----| -> DotSyntaxCallExpr +# 374| Int.Type +#-----| -> call to + -# 374| DeclRefExpr -#-----| -> TupleElementExpr +# 374| call to + +#-----| exception -> exit testTupleElement (normal) +#-----| -> + -# 374| TupleElementExpr -#-----| -> BinaryExpr +# 374| t +#-----| -> .2 -# 374| DeclRefExpr -#-----| -> TypeExpr +# 374| .2 +#-----| -> ... call to + ... -# 374| DotSyntaxCallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> DeclRefExpr +# 374| + +#-----| -> Int.Type -# 374| TypeExpr -#-----| -> DotSyntaxCallExpr +# 374| Int.Type +#-----| -> call to + -# 374| TupleExpr -#-----| -> TupleElementExpr +# 374| call to + +#-----| exception -> exit testTupleElement (normal) +#-----| -> + -# 374| TupleElementExpr -#-----| -> BinaryExpr +# 374| (...) +#-----| -> .0 -# 374| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 374| .0 +#-----| -> ... call to + ... -# 374| IntegerLiteralExpr -#-----| -> IntegerLiteralExpr +# 374| 1 +#-----| -> 2 -# 374| IntegerLiteralExpr -#-----| -> TupleExpr +# 374| 2 +#-----| -> 3 -# 377| CallExpr -#-----| exception -> exit ConstructorDecl (normal) +# 374| 3 +#-----| -> (...) -# 377| DeclRefExpr -#-----| -> StringLiteralExpr +# 377| #... +#-----| -> #... -# 377| MagicIdentifierLiteralExpr -#-----| -> MagicIdentifierLiteralExpr +# 377| #... +#-----| -> #... -# 377| MagicIdentifierLiteralExpr -#-----| -> MagicIdentifierLiteralExpr +# 377| #... +#-----| -> #... -# 377| MagicIdentifierLiteralExpr -#-----| -> MagicIdentifierLiteralExpr +# 377| #... +#-----| -> call to _unimplementedInitializer -# 377| MagicIdentifierLiteralExpr -#-----| -> CallExpr +# 377| _unimplementedInitializer +#-----| -> cfg.Derived -# 377| StringLiteralExpr -#-----| -> MagicIdentifierLiteralExpr +# 377| call to _unimplementedInitializer +#-----| exception -> exit deinit (normal) -# 377| enter ConstructorDecl -#-----| -> DeclRefExpr +# 377| cfg.Derived +#-----| -> #... -# 377| exit ConstructorDecl +# 377| enter deinit +#-----| -> _unimplementedInitializer -# 377| exit ConstructorDecl (normal) -#-----| -> exit ConstructorDecl +# 377| exit deinit -# 378| enter ConstructorDecl +# 377| exit deinit (normal) +#-----| -> exit deinit + +# 378| enter deinit +#-----| -> call to ... #-----| -> TBD (OtherConstructorDeclRefExpr) -# 378| exit ConstructorDecl +# 378| exit deinit -# 378| exit ConstructorDecl (normal) -#-----| -> exit ConstructorDecl +# 378| exit deinit (normal) +#-----| -> exit deinit -# 379| SuperRefExpr -#-----| -> DotSyntaxCallExpr +# 379| super +#-----| -> call to ... -# 379| DotSyntaxCallExpr -#-----| -> IntegerLiteralExpr +# 379| call to ... +#-----| -> 0 -# 379| CallExpr -#-----| -> RebindSelfInConstructorExpr +# 379| call to ... +#-----| -> self = ... -# 379| RebindSelfInConstructorExpr -#-----| -> ReturnStmt +# 379| self = ... +#-----| -> return + +# 379| call to ... +#-----| -> super # 379| TBD (OtherConstructorDeclRefExpr) -#-----| -> SuperRefExpr +#-----| -> super -# 379| IntegerLiteralExpr -#-----| -> CallExpr +# 379| 0 +#-----| -> call to ... -# 380| ReturnStmt -#-----| return -> exit ConstructorDecl (normal) +# 380| return +#-----| return -> exit deinit (normal) -# 383| enter ConcreteFuncDecl -#-----| -> DoStmt +# 383| enter doWithoutCatch +#-----| -> do { ... } -# 383| exit ConcreteFuncDecl +# 383| exit doWithoutCatch -# 383| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 383| exit doWithoutCatch (normal) +#-----| -> exit doWithoutCatch -# 384| DoStmt -#-----| -> DeclRefExpr +# 384| do { ... } +#-----| -> mightThrow -# 385| TryExpr -#-----| -> DeclRefExpr +# 385| try ... +#-----| -> print -# 385| DeclRefExpr -#-----| -> IntegerLiteralExpr +# 385| mightThrow +#-----| -> 0 -# 385| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) -#-----| -> TryExpr +# 385| call to mightThrow +#-----| exception -> exit doWithoutCatch (normal) +#-----| -> try ... -# 385| IntegerLiteralExpr -#-----| -> CallExpr +# 385| 0 +#-----| -> call to mightThrow -# 386| DeclRefExpr -#-----| -> StringLiteralExpr +# 386| print +#-----| -> Did not throw. -# 386| CallExpr -#-----| exception -> exit ConcreteFuncDecl (normal) +# 386| call to print +#-----| exception -> exit doWithoutCatch (normal) -# 386| DefaultArgumentExpr -#-----| -> DefaultArgumentExpr +# 386| default separator +#-----| -> default terminator -# 386| DefaultArgumentExpr -#-----| -> CallExpr +# 386| default terminator +#-----| -> call to print -# 386| ArrayExpr -#-----| -> VarargExpansionExpr +# 386| (Any) ... +#-----| -> [...] -# 386| ErasureExpr -#-----| -> ArrayExpr +# 386| (TBD (ProtocolCompositionType)) ... +#-----| -> [...] -# 386| StringLiteralExpr -#-----| -> ErasureExpr +# 386| Did not throw. +#-----| -> (Any) ... +#-----| -> (TBD (ProtocolCompositionType)) ... -# 386| VarargExpansionExpr -#-----| -> DefaultArgumentExpr +# 386| [...] +#-----| -> default separator -# 394| TBD (YieldStmt) -#-----| -> exit AccessorDecl (normal) +# 386| [...] +#-----| -> [...] -# 394| enter AccessorDecl - -# 394| enter AccessorDecl - -# 394| enter AccessorDecl +# 394| enter (unnamed function decl) +#-----| -> yield ... #-----| -> TBD (YieldStmt) -# 394| exit AccessorDecl +# 394| enter get -# 394| exit AccessorDecl +# 394| enter set -# 394| exit AccessorDecl +# 394| exit (unnamed function decl) -# 394| exit AccessorDecl (normal) -#-----| -> exit AccessorDecl +# 394| exit (unnamed function decl) (normal) +#-----| -> exit (unnamed function decl) -# 394| exit AccessorDecl (normal) -#-----| -> exit AccessorDecl +# 394| exit get -# 394| exit AccessorDecl (normal) -#-----| -> exit AccessorDecl +# 394| exit get (normal) +#-----| -> exit get -# 395| enter ConstructorDecl -#-----| -> DeclRefExpr +# 394| exit set -# 395| exit ConstructorDecl +# 394| exit set (normal) +#-----| -> exit set -# 395| exit ConstructorDecl (normal) -#-----| -> exit ConstructorDecl +# 394| yield ... +#-----| -> exit (unnamed function decl) (normal) -# 396| DeclRefExpr -#-----| -> MemberRefExpr +# 394| TBD (YieldStmt) +#-----| -> exit (unnamed function decl) (normal) -# 396| MemberRefExpr -#-----| -> IntegerLiteralExpr +# 395| enter deinit +#-----| -> self -# 396| AssignExpr -#-----| -> ReturnStmt +# 395| exit deinit -# 396| IntegerLiteralExpr -#-----| -> AssignExpr +# 395| exit deinit (normal) +#-----| -> exit deinit -# 397| ReturnStmt -#-----| return -> exit ConstructorDecl (normal) +# 396| .field +#-----| -> 10 -# 399| enter DestructorDecl -#-----| -> DeclRefExpr +# 396| self +#-----| -> .field -# 399| exit DestructorDecl +# 396| ... = ... +#-----| -> return -# 399| exit DestructorDecl (normal) -#-----| -> exit DestructorDecl +# 396| 10 +#-----| -> ... = ... -# 400| DeclRefExpr -#-----| -> MemberRefExpr +# 397| return +#-----| return -> exit deinit (normal) -# 400| MemberRefExpr -#-----| -> IntegerLiteralExpr +# 399| enter init +#-----| -> self -# 400| AssignExpr -#-----| -> exit DestructorDecl (normal) +# 399| exit init -# 400| IntegerLiteralExpr -#-----| -> AssignExpr +# 399| exit init (normal) +#-----| -> exit init -# 404| enter ConcreteFuncDecl -#-----| -> StringLiteralExpr +# 400| .field +#-----| -> 0 -# 404| exit ConcreteFuncDecl +# 400| self +#-----| -> .field -# 404| exit ConcreteFuncDecl (normal) -#-----| -> exit ConcreteFuncDecl +# 400| ... = ... +#-----| -> exit init (normal) -# 405| ReturnStmt -#-----| return -> exit ConcreteFuncDecl (normal) +# 400| 0 +#-----| -> ... = ... -# 405| DictionaryExpr -#-----| -> ReturnStmt +# 404| enter dictionaryLiteral +#-----| -> x -# 405| StringLiteralExpr -#-----| -> DeclRefExpr +# 404| exit dictionaryLiteral -# 405| TupleExpr -#-----| -> StringLiteralExpr +# 404| exit dictionaryLiteral (normal) +#-----| -> exit dictionaryLiteral -# 405| DeclRefExpr -#-----| -> TupleExpr +# 405| return ... +#-----| return -> exit dictionaryLiteral (normal) -# 405| StringLiteralExpr -#-----| -> DeclRefExpr +# 405| [...] +#-----| -> return ... -# 405| TupleExpr -#-----| -> DictionaryExpr +# 405| x +#-----| -> x -# 405| DeclRefExpr -#-----| -> TupleExpr +# 405| (...) +#-----| -> y + +# 405| x +#-----| -> (...) + +# 405| y +#-----| -> y + +# 405| (...) +#-----| -> [...] + +# 405| y +#-----| -> (...)