mirror of
https://github.com/RustPython/Parser.git
synced 2025-07-18 10:35:25 +00:00
enhance dis output to print line numbers
This commit is contained in:
parent
1a09ba0ede
commit
75b886bcd6
4 changed files with 111 additions and 98 deletions
|
@ -2,12 +2,13 @@
|
||||||
source: compiler/src/compile.rs
|
source: compiler/src/compile.rs
|
||||||
expression: "compile_exec(\"\\\nif True and False and False:\n pass\n\")"
|
expression: "compile_exec(\"\\\nif True and False and False:\n pass\n\")"
|
||||||
---
|
---
|
||||||
0 LoadConst (True)
|
1 0 LoadConst (True)
|
||||||
1 JumpIfFalse (6)
|
1 JumpIfFalse (6)
|
||||||
2 LoadConst (False)
|
2 LoadConst (False)
|
||||||
3 JumpIfFalse (6)
|
3 JumpIfFalse (6)
|
||||||
4 LoadConst (False)
|
4 LoadConst (False)
|
||||||
5 JumpIfFalse (6)
|
5 JumpIfFalse (6)
|
||||||
>> 6 LoadConst (None)
|
|
||||||
|
2 >> 6 LoadConst (None)
|
||||||
7 ReturnValue
|
7 ReturnValue
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
source: compiler/src/compile.rs
|
source: compiler/src/compile.rs
|
||||||
expression: "compile_exec(\"\\\nif (True and False) or (False and True):\n pass\n\")"
|
expression: "compile_exec(\"\\\nif (True and False) or (False and True):\n pass\n\")"
|
||||||
---
|
---
|
||||||
0 LoadConst (True)
|
1 0 LoadConst (True)
|
||||||
1 JumpIfFalse (4)
|
1 JumpIfFalse (4)
|
||||||
2 LoadConst (False)
|
2 LoadConst (False)
|
||||||
3 JumpIfTrue (8)
|
3 JumpIfTrue (8)
|
||||||
|
@ -10,6 +10,7 @@ expression: "compile_exec(\"\\\nif (True and False) or (False and True):\n pa
|
||||||
5 JumpIfFalse (8)
|
5 JumpIfFalse (8)
|
||||||
6 LoadConst (True)
|
6 LoadConst (True)
|
||||||
7 JumpIfFalse (8)
|
7 JumpIfFalse (8)
|
||||||
>> 8 LoadConst (None)
|
|
||||||
|
2 >> 8 LoadConst (None)
|
||||||
9 ReturnValue
|
9 ReturnValue
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,13 @@
|
||||||
source: compiler/src/compile.rs
|
source: compiler/src/compile.rs
|
||||||
expression: "compile_exec(\"\\\nif True or False or False:\n pass\n\")"
|
expression: "compile_exec(\"\\\nif True or False or False:\n pass\n\")"
|
||||||
---
|
---
|
||||||
0 LoadConst (True)
|
1 0 LoadConst (True)
|
||||||
1 JumpIfTrue (6)
|
1 JumpIfTrue (6)
|
||||||
2 LoadConst (False)
|
2 LoadConst (False)
|
||||||
3 JumpIfTrue (6)
|
3 JumpIfTrue (6)
|
||||||
4 LoadConst (False)
|
4 LoadConst (False)
|
||||||
5 JumpIfFalse (6)
|
5 JumpIfFalse (6)
|
||||||
>> 6 LoadConst (None)
|
|
||||||
|
2 >> 6 LoadConst (None)
|
||||||
7 ReturnValue
|
7 ReturnValue
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
---
|
---
|
||||||
source: compiler/src/compile.rs
|
source: compiler/src/compile.rs
|
||||||
expression: "compile_exec(\"\\\nfor stop_exc in (StopIteration('spam'), StopAsyncIteration('ham')):\n with self.subTest(type=type(stop_exc)):\n try:\n async with woohoo():\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\")"
|
expression: "compile_exec(\"\\\nfor stop_exc in (StopIteration('spam'), StopAsyncIteration('ham')):\n with self.subTest(type=type(stop_exc)):\n try:\n async with woohoo():\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\")"
|
||||||
|
|
||||||
---
|
---
|
||||||
0 SetupLoop (69)
|
1 0 SetupLoop (69)
|
||||||
1 LoadNameAny (0, StopIteration)
|
1 LoadNameAny (0, StopIteration)
|
||||||
2 LoadConst ("spam")
|
2 LoadConst ("spam")
|
||||||
3 CallFunctionPositional (1)
|
3 CallFunctionPositional (1)
|
||||||
|
@ -14,7 +13,8 @@ expression: "compile_exec(\"\\\nfor stop_exc in (StopIteration('spam'), StopAsyn
|
||||||
8 GetIter
|
8 GetIter
|
||||||
>> 9 ForIter (68)
|
>> 9 ForIter (68)
|
||||||
10 StoreLocal (2, stop_exc)
|
10 StoreLocal (2, stop_exc)
|
||||||
11 LoadNameAny (3, self)
|
|
||||||
|
2 11 LoadNameAny (3, self)
|
||||||
12 LoadMethod (subTest)
|
12 LoadMethod (subTest)
|
||||||
13 LoadNameAny (5, type)
|
13 LoadNameAny (5, type)
|
||||||
14 LoadNameAny (2, stop_exc)
|
14 LoadNameAny (2, stop_exc)
|
||||||
|
@ -23,8 +23,10 @@ expression: "compile_exec(\"\\\nfor stop_exc in (StopIteration('spam'), StopAsyn
|
||||||
17 CallMethodKeyword (1)
|
17 CallMethodKeyword (1)
|
||||||
18 SetupWith (65)
|
18 SetupWith (65)
|
||||||
19 Pop
|
19 Pop
|
||||||
20 SetupExcept (40)
|
|
||||||
21 LoadNameAny (6, woohoo)
|
3 20 SetupExcept (40)
|
||||||
|
|
||||||
|
4 21 LoadNameAny (6, woohoo)
|
||||||
22 CallFunctionPositional (0)
|
22 CallFunctionPositional (0)
|
||||||
23 BeforeAsyncWith
|
23 BeforeAsyncWith
|
||||||
24 GetAwaitable
|
24 GetAwaitable
|
||||||
|
@ -32,9 +34,11 @@ expression: "compile_exec(\"\\\nfor stop_exc in (StopIteration('spam'), StopAsyn
|
||||||
26 YieldFrom
|
26 YieldFrom
|
||||||
27 SetupAsyncWith (33)
|
27 SetupAsyncWith (33)
|
||||||
28 Pop
|
28 Pop
|
||||||
29 LoadNameAny (2, stop_exc)
|
|
||||||
|
5 29 LoadNameAny (2, stop_exc)
|
||||||
30 Raise (Raise)
|
30 Raise (Raise)
|
||||||
31 PopBlock
|
|
||||||
|
4 31 PopBlock
|
||||||
32 EnterFinally
|
32 EnterFinally
|
||||||
>> 33 WithCleanupStart
|
>> 33 WithCleanupStart
|
||||||
34 GetAwaitable
|
34 GetAwaitable
|
||||||
|
@ -44,11 +48,13 @@ expression: "compile_exec(\"\\\nfor stop_exc in (StopIteration('spam'), StopAsyn
|
||||||
38 PopBlock
|
38 PopBlock
|
||||||
39 Jump (54)
|
39 Jump (54)
|
||||||
>> 40 Duplicate
|
>> 40 Duplicate
|
||||||
41 LoadNameAny (7, Exception)
|
|
||||||
|
6 41 LoadNameAny (7, Exception)
|
||||||
42 TestOperation (ExceptionMatch)
|
42 TestOperation (ExceptionMatch)
|
||||||
43 JumpIfFalse (53)
|
43 JumpIfFalse (53)
|
||||||
44 StoreLocal (8, ex)
|
44 StoreLocal (8, ex)
|
||||||
45 LoadNameAny (3, self)
|
|
||||||
|
7 45 LoadNameAny (3, self)
|
||||||
46 LoadMethod (assertIs)
|
46 LoadMethod (assertIs)
|
||||||
47 LoadNameAny (8, ex)
|
47 LoadNameAny (8, ex)
|
||||||
48 LoadNameAny (2, stop_exc)
|
48 LoadNameAny (2, stop_exc)
|
||||||
|
@ -57,16 +63,20 @@ expression: "compile_exec(\"\\\nfor stop_exc in (StopIteration('spam'), StopAsyn
|
||||||
51 PopException
|
51 PopException
|
||||||
52 Jump (63)
|
52 Jump (63)
|
||||||
>> 53 Raise (Reraise)
|
>> 53 Raise (Reraise)
|
||||||
>> 54 LoadNameAny (3, self)
|
|
||||||
|
9 >> 54 LoadNameAny (3, self)
|
||||||
55 LoadMethod (fail)
|
55 LoadMethod (fail)
|
||||||
56 LoadConst ("")
|
56 LoadConst ("")
|
||||||
57 LoadNameAny (2, stop_exc)
|
|
||||||
|
1 57 LoadNameAny (2, stop_exc)
|
||||||
58 FormatValue (None)
|
58 FormatValue (None)
|
||||||
59 LoadConst (" was suppressed")
|
|
||||||
|
9 59 LoadConst (" was suppressed")
|
||||||
60 BuildString (2)
|
60 BuildString (2)
|
||||||
61 CallMethodPositional (1)
|
61 CallMethodPositional (1)
|
||||||
62 Pop
|
62 Pop
|
||||||
>> 63 PopBlock
|
|
||||||
|
2 >> 63 PopBlock
|
||||||
64 EnterFinally
|
64 EnterFinally
|
||||||
>> 65 WithCleanupStart
|
>> 65 WithCleanupStart
|
||||||
66 WithCleanupFinish
|
66 WithCleanupFinish
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue