rustpython-parser 0.4.0

Python language parser for Python3.
Documentation
---
source: parser/src/parser.rs
expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
---
[
    ClassDef(
        StmtClassDef {
            range: 0..98,
            name: Identifier(
                "Foo",
            ),
            bases: [
                Name(
                    ExprName {
                        range: 10..11,
                        id: Identifier(
                            "A",
                        ),
                        ctx: Load,
                    },
                ),
                Name(
                    ExprName {
                        range: 13..14,
                        id: Identifier(
                            "B",
                        ),
                        ctx: Load,
                    },
                ),
            ],
            keywords: [],
            body: [
                FunctionDef(
                    StmtFunctionDef {
                        range: 18..44,
                        name: Identifier(
                            "__init__",
                        ),
                        args: Arguments {
                            range: 31..35,
                            posonlyargs: [],
                            args: [
                                ArgWithDefault {
                                    range: 31..35,
                                    def: Arg {
                                        range: 31..35,
                                        arg: Identifier(
                                            "self",
                                        ),
                                        annotation: None,
                                        type_comment: None,
                                    },
                                    default: None,
                                },
                            ],
                            vararg: None,
                            kwonlyargs: [],
                            kwarg: None,
                        },
                        body: [
                            Pass(
                                StmtPass {
                                    range: 40..44,
                                },
                            ),
                        ],
                        decorator_list: [],
                        returns: None,
                        type_comment: None,
                        type_params: [],
                    },
                ),
                FunctionDef(
                    StmtFunctionDef {
                        range: 46..98,
                        name: Identifier(
                            "method_with_default",
                        ),
                        args: Arguments {
                            range: 70..89,
                            posonlyargs: [],
                            args: [
                                ArgWithDefault {
                                    range: 70..74,
                                    def: Arg {
                                        range: 70..74,
                                        arg: Identifier(
                                            "self",
                                        ),
                                        annotation: None,
                                        type_comment: None,
                                    },
                                    default: None,
                                },
                                ArgWithDefault {
                                    range: 76..79,
                                    def: Arg {
                                        range: 76..79,
                                        arg: Identifier(
                                            "arg",
                                        ),
                                        annotation: None,
                                        type_comment: None,
                                    },
                                    default: Some(
                                        Constant(
                                            ExprConstant {
                                                range: 80..89,
                                                value: Str(
                                                    "default",
                                                ),
                                                kind: None,
                                            },
                                        ),
                                    ),
                                },
                            ],
                            vararg: None,
                            kwonlyargs: [],
                            kwarg: None,
                        },
                        body: [
                            Pass(
                                StmtPass {
                                    range: 94..98,
                                },
                            ),
                        ],
                        decorator_list: [],
                        returns: None,
                        type_comment: None,
                        type_params: [],
                    },
                ),
            ],
            decorator_list: [],
            type_params: [],
        },
    ),
]