Repository navigation
Expand file tree
/
Copy pathrustpython_codegen__compile__tests__nested_double_async_with.snap
More file actions
256 lines (244 loc) · 8.89 KB
/
Copy pathrustpython_codegen__compile__tests__nested_double_async_with.snap
File metadata and controls
256 lines (244 loc) · 8.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
---
source: crates/codegen/src/compile.rs
assertion_line: 9780
expression: "compile_exec(\"\\\nasync def test():\n for stop_exc in (StopIteration('spam'), StopAsyncIteration('ham')):\n with self.subTest(type=type(stop_exc)):\n try:\n async with egg():\n raise stop_exc\n except Exception as ex:\n self.assertIs(ex, stop_exc)\n else:\n self.fail(f'{stop_exc} was suppressed')\n\")"
---
1 0 RESUME (0)
1 LOAD_CONST (<code object test at ??? file "source_path", line 1>): 1 0 RETURN_GENERATOR
1 POP_TOP
>> 2 RESUME (0)
2 >> 3 LOAD_GLOBAL (1, NULL + StopIteration)
>> 4 CACHE
>> 5 CACHE
6 CACHE
7 CACHE
8 LOAD_CONST ("spam")
9 CALL (1)
>> 10 CACHE
11 CACHE
12 CACHE
13 LOAD_GLOBAL (3, NULL + StopAsyncIteration)
14 CACHE
15 CACHE
16 CACHE
17 CACHE
18 LOAD_CONST ("ham")
>> 19 CALL (1)
20 CACHE
21 CACHE
22 CACHE
23 BUILD_TUPLE (2)
24 GET_ITER
25 FOR_ITER (71)
26 CACHE
27 STORE_FAST (0, stop_exc)
3 >> 28 LOAD_GLOBAL (4, self)
29 CACHE
30 CACHE
31 CACHE
32 CACHE
>> 33 LOAD_ATTR (7, subTest, method=true)
34 CACHE
35 CACHE
36 CACHE
37 CACHE
38 CACHE
39 CACHE
40 CACHE
41 CACHE
42 CACHE
43 LOAD_GLOBAL (9, NULL + type)
44 CACHE
45 CACHE
>> 46 CACHE
47 CACHE
48 LOAD_FAST (0, stop_exc)
49 CALL (1)
50 CACHE
51 CACHE
52 CACHE
53 LOAD_CONST (("type"))
54 CALL_KW (1)
55 CACHE
56 CACHE
57 CACHE
58 COPY (1)
59 LOAD_SPECIAL (__exit__)
60 SWAP (2)
61 SWAP (3)
62 LOAD_SPECIAL (__enter__)
63 CALL (0)
64 CACHE
65 CACHE
66 CACHE
67 POP_TOP
4 68 NOP
5 69 LOAD_GLOBAL (11, NULL + egg)
70 CACHE
>> 71 CACHE
72 CACHE
73 CACHE
74 CALL (0)
75 CACHE
76 CACHE
77 CACHE
78 COPY (1)
79 LOAD_SPECIAL (__aexit__)
80 SWAP (2)
81 SWAP (3)
82 LOAD_SPECIAL (__aenter__)
83 CALL (0)
84 CACHE
85 CACHE
86 CACHE
87 GET_AWAITABLE (1)
88 LOAD_CONST (None)
89 SEND (3)
90 CACHE
91 YIELD_VALUE (1)
92 RESUME (3)
93 JUMP_BACKWARD_NO_INTERRUPT(5)
94 END_SEND
95 POP_TOP
6 96 LOAD_FAST (0, stop_exc)
97 RAISE_VARARGS (Raise)
2 98 END_FOR
99 POP_ITER
100 LOAD_CONST (None)
101 RETURN_VALUE
5 102 CLEANUP_THROW
103 JUMP_BACKWARD_NO_INTERRUPT(10)
104 PUSH_EXC_INFO
105 WITH_EXCEPT_START
106 GET_AWAITABLE (2)
107 LOAD_CONST (None)
108 SEND (4)
109 CACHE
110 YIELD_VALUE (1)
111 RESUME (3)
112 JUMP_BACKWARD_NO_INTERRUPT(5)
113 CLEANUP_THROW
114 END_SEND
115 TO_BOOL
116 CACHE
117 CACHE
118 CACHE
119 POP_JUMP_IF_TRUE (2)
120 CACHE
121 NOT_TAKEN
122 RERAISE (2)
123 POP_TOP
124 POP_EXCEPT
125 POP_TOP
126 POP_TOP
127 POP_TOP
128 JUMP_FORWARD (3)
129 COPY (3)
130 POP_EXCEPT
131 RERAISE (1)
132 JUMP_FORWARD (46)
133 PUSH_EXC_INFO
7 134 LOAD_GLOBAL (12, Exception)
135 CACHE
136 CACHE
137 CACHE
138 CACHE
139 CHECK_EXC_MATCH
140 POP_JUMP_IF_FALSE (33)
141 CACHE
142 NOT_TAKEN
143 STORE_FAST (1, ex)
8 144 LOAD_GLOBAL (4, self)
145 CACHE
146 CACHE
147 CACHE
148 CACHE
149 LOAD_ATTR (15, assertIs, method=true)
150 CACHE
151 CACHE
152 CACHE
153 CACHE
154 CACHE
155 CACHE
156 CACHE
157 CACHE
158 CACHE
159 LOAD_FAST_LOAD_FAST (ex, stop_exc)
160 CALL (2)
161 CACHE
162 CACHE
163 CACHE
164 POP_TOP
165 JUMP_FORWARD (4)
166 LOAD_CONST (None)
167 STORE_FAST (1, ex)
168 DELETE_FAST (1, ex)
169 RERAISE (1)
170 POP_EXCEPT
171 LOAD_CONST (None)
172 STORE_FAST (1, ex)
173 DELETE_FAST (1, ex)
174 JUMP_FORWARD (28)
175 RERAISE (0)
176 COPY (3)
177 POP_EXCEPT
178 RERAISE (1)
10 179 LOAD_GLOBAL (4, self)
180 CACHE
181 CACHE
182 CACHE
183 CACHE
184 LOAD_ATTR (17, fail, method=true)
185 CACHE
186 CACHE
187 CACHE
188 CACHE
189 CACHE
190 CACHE
191 CACHE
192 CACHE
193 CACHE
194 LOAD_FAST_BORROW (0, stop_exc)
195 FORMAT_SIMPLE
196 LOAD_CONST (" was suppressed")
197 BUILD_STRING (2)
198 CALL (1)
199 CACHE
200 CACHE
201 CACHE
202 POP_TOP
203 NOP
3 204 LOAD_CONST (None)
205 LOAD_CONST (None)
206 LOAD_CONST (None)
207 CALL (3)
208 CACHE
>> 209 CACHE
210 CACHE
211 POP_TOP
212 JUMP_FORWARD (19)
213 PUSH_EXC_INFO
214 WITH_EXCEPT_START
215 TO_BOOL
216 CACHE
217 CACHE
218 CACHE
219 POP_JUMP_IF_TRUE (2)
220 CACHE
221 NOT_TAKEN
222 RERAISE (2)
223 POP_TOP
224 POP_EXCEPT
225 POP_TOP
226 POP_TOP
227 POP_TOP
228 JUMP_FORWARD (3)
229 COPY (3)
230 POP_EXCEPT
231 RERAISE (1)
232 JUMP_BACKWARD (209)
233 CACHE
2 MAKE_FUNCTION
3 STORE_NAME (0, test)
4 LOAD_CONST (None)
5 RETURN_VALUE