Skip to content

Commit 2c0016a

Browse files
committed
Minimal definition of dis.dis.
1 parent 587f871 commit 2c0016a

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

tests/snippets/dismod.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import dis
22

3-
dis.disassemble(compile("5 + x + 5 or 2", "", "eval"))
3+
dis.dis(compile("5 + x + 5 or 2", "", "eval"))
44
print("\n")
5-
dis.disassemble(compile("def f(x):\n return 1", "", "exec"))
5+
dis.dis(compile("def f(x):\n return 1", "", "exec"))
66
print("\n")
7-
dis.disassemble(compile("if a:\n 1 or 2\nelif x == 'hello':\n 3\nelse:\n 4", "", "exec"))
7+
dis.dis(compile("if a:\n 1 or 2\nelif x == 'hello':\n 3\nelse:\n 4", "", "exec"))
88
print("\n")
9-
dis.disassemble(compile("f(x=1, y=2)", "", "eval"))
9+
dis.dis(compile("f(x=1, y=2)", "", "eval"))
1010
print("\n")

vm/src/stdlib/dis.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ use crate::obj::objcode;
22
use crate::pyobject::{PyContext, PyFuncArgs, PyObjectRef, PyResult, TypeProtocol};
33
use crate::vm::VirtualMachine;
44

5+
fn dis_dis(vm: &mut VirtualMachine, args: PyFuncArgs) -> PyResult {
6+
dis_disassemble(vm, args)
7+
}
8+
59
fn dis_disassemble(vm: &mut VirtualMachine, args: PyFuncArgs) -> PyResult {
610
arg_check!(vm, args, required = [(co, Some(vm.ctx.code_type()))]);
711

@@ -12,6 +16,7 @@ fn dis_disassemble(vm: &mut VirtualMachine, args: PyFuncArgs) -> PyResult {
1216

1317
pub fn mk_module(ctx: &PyContext) -> PyObjectRef {
1418
py_module!(ctx, "dis", {
19+
"dis" => ctx.new_rustfunc(dis_dis),
1520
"disassemble" => ctx.new_rustfunc(dis_disassemble)
1621
})
1722
}

0 commit comments

Comments
 (0)