hacky_block_expr_with_comments
This commit is contained in:
@@ -329,17 +329,18 @@ pub fn block_expr(
|
||||
ast_from_text(&format!("fn f() {}", buf))
|
||||
}
|
||||
|
||||
pub fn block_expr_full(
|
||||
stmts: impl IntoIterator<Item = crate::SyntaxElement>,
|
||||
/// Ideally this function wouldn't exist since it involves manual indenting.
|
||||
/// It differs from `make::block_expr` by also supporting comments.
|
||||
///
|
||||
/// FIXME: replace usages of this with the mutable syntax tree API
|
||||
pub fn hacky_block_expr_with_comments(
|
||||
elements: impl IntoIterator<Item = crate::SyntaxElement>,
|
||||
tail_expr: Option<ast::Expr>,
|
||||
) -> ast::BlockExpr {
|
||||
let mut buf = "{\n".to_string();
|
||||
for stmt in stmts.into_iter() {
|
||||
match stmt {
|
||||
rowan::NodeOrToken::Node(n) => {
|
||||
println!("Node: {:?}", n.text());
|
||||
format_to!(buf, " {}\n", n)
|
||||
}
|
||||
for node_or_token in elements.into_iter() {
|
||||
match node_or_token {
|
||||
rowan::NodeOrToken::Node(n) => format_to!(buf, " {}\n", n),
|
||||
rowan::NodeOrToken::Token(t) if t.kind() == SyntaxKind::COMMENT => {
|
||||
format_to!(buf, " {}\n", t)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user