Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/syntax/src/ast/syntax_factory/constructors.rs')
-rw-r--r--crates/syntax/src/ast/syntax_factory/constructors.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/crates/syntax/src/ast/syntax_factory/constructors.rs b/crates/syntax/src/ast/syntax_factory/constructors.rs
index e4aa1680ae..1601ff3174 100644
--- a/crates/syntax/src/ast/syntax_factory/constructors.rs
+++ b/crates/syntax/src/ast/syntax_factory/constructors.rs
@@ -3,7 +3,7 @@ use crate::{
AstNode, NodeOrToken, SyntaxKind, SyntaxNode, SyntaxToken,
ast::{
self, HasArgList, HasAttrs, HasGenericArgs, HasGenericParams, HasLoopBody, HasName,
- HasTypeBounds, HasVisibility, RangeItem, make,
+ HasTypeBounds, HasVisibility, Param, RangeItem, make,
},
syntax_editor::SyntaxMappingBuilder,
};
@@ -110,6 +110,20 @@ impl SyntaxFactory {
.clone_for_update()
}
+ pub fn unnamed_param(&self, ty: ast::Type) -> ast::Param {
+ make::unnamed_param(ty).clone_for_update()
+ }
+
+ pub fn ty_fn_ptr<I: Iterator<Item = Param>>(
+ &self,
+ is_unsafe: bool,
+ abi: Option<ast::Abi>,
+ params: I,
+ ret_type: Option<ast::RetType>,
+ ) -> ast::FnPtrType {
+ make::ty_fn_ptr(is_unsafe, abi, params, ret_type).clone_for_update()
+ }
+
pub fn expr_field(&self, receiver: ast::Expr, field: &str) -> ast::FieldExpr {
let ast::Expr::FieldExpr(ast) =
make::expr_field(receiver.clone(), field).clone_for_update()