fix generated AST

This commit is contained in:
Aleksey Kladov 2019-09-02 19:42:14 +03:00
parent 470fc4765c
commit dcf8e89503
3 changed files with 4 additions and 3 deletions

View file

@ -1003,7 +1003,7 @@ impl FnDef {
pub fn param_list(&self) -> Option<ParamList> {
AstChildren::new(&self.syntax).next()
}
pub fn body(&self) -> Option<Block> {
pub fn body(&self) -> Option<BlockExpr> {
AstChildren::new(&self.syntax).next()
}
pub fn ret_type(&self) -> Option<RetType> {

View file

@ -275,7 +275,7 @@ Grammar(
"AttrsOwner",
"DocCommentsOwner"
],
options: [ "ParamList", ["body", "Block"], "RetType" ],
options: [ "ParamList", ["body", "BlockExpr"], "RetType" ],
),
"RetType": (options: ["TypeRef"]),
"StructDef": (

View file

@ -203,7 +203,8 @@ fn api_walkthrough() {
assert_eq!(name.text(), "foo");
// Let's get the `1 + 1` expression!
let block: ast::Block = func.body().unwrap();
let body: ast::BlockExpr = func.body().unwrap();
let block = body.block().unwrap();
let expr: ast::Expr = block.expr().unwrap();
// Enums are used to group related ast nodes together, and can be used for