mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-26 20:09:19 +00:00
Add beginnings of type infrastructure
This commit is contained in:
parent
d77520fde3
commit
3ac605e687
11 changed files with 689 additions and 15 deletions
|
@ -523,7 +523,15 @@ impl<R: TreeRoot<RaTypes>> CastExprNode<R> {
|
|||
}
|
||||
|
||||
|
||||
impl<'a> CastExpr<'a> {}
|
||||
impl<'a> CastExpr<'a> {
|
||||
pub fn expr(self) -> Option<Expr<'a>> {
|
||||
super::child_opt(self)
|
||||
}
|
||||
|
||||
pub fn type_ref(self) -> Option<TypeRef<'a>> {
|
||||
super::child_opt(self)
|
||||
}
|
||||
}
|
||||
|
||||
// Char
|
||||
#[derive(Debug, Clone, Copy,)]
|
||||
|
@ -2312,6 +2320,10 @@ impl<'a> Param<'a> {
|
|||
pub fn pat(self) -> Option<Pat<'a>> {
|
||||
super::child_opt(self)
|
||||
}
|
||||
|
||||
pub fn type_ref(self) -> Option<TypeRef<'a>> {
|
||||
super::child_opt(self)
|
||||
}
|
||||
}
|
||||
|
||||
// ParamList
|
||||
|
@ -2394,7 +2406,11 @@ impl<R: TreeRoot<RaTypes>> ParenExprNode<R> {
|
|||
}
|
||||
|
||||
|
||||
impl<'a> ParenExpr<'a> {}
|
||||
impl<'a> ParenExpr<'a> {
|
||||
pub fn expr(self) -> Option<Expr<'a>> {
|
||||
super::child_opt(self)
|
||||
}
|
||||
}
|
||||
|
||||
// ParenType
|
||||
#[derive(Debug, Clone, Copy,)]
|
||||
|
@ -2829,7 +2845,11 @@ impl<R: TreeRoot<RaTypes>> PrefixExprNode<R> {
|
|||
}
|
||||
|
||||
|
||||
impl<'a> PrefixExpr<'a> {}
|
||||
impl<'a> PrefixExpr<'a> {
|
||||
pub fn expr(self) -> Option<Expr<'a>> {
|
||||
super::child_opt(self)
|
||||
}
|
||||
}
|
||||
|
||||
// RangeExpr
|
||||
#[derive(Debug, Clone, Copy,)]
|
||||
|
@ -2940,7 +2960,11 @@ impl<R: TreeRoot<RaTypes>> RefExprNode<R> {
|
|||
}
|
||||
|
||||
|
||||
impl<'a> RefExpr<'a> {}
|
||||
impl<'a> RefExpr<'a> {
|
||||
pub fn expr(self) -> Option<Expr<'a>> {
|
||||
super::child_opt(self)
|
||||
}
|
||||
}
|
||||
|
||||
// RefPat
|
||||
#[derive(Debug, Clone, Copy,)]
|
||||
|
@ -3088,7 +3112,11 @@ impl<R: TreeRoot<RaTypes>> ReturnExprNode<R> {
|
|||
}
|
||||
|
||||
|
||||
impl<'a> ReturnExpr<'a> {}
|
||||
impl<'a> ReturnExpr<'a> {
|
||||
pub fn expr(self) -> Option<Expr<'a>> {
|
||||
super::child_opt(self)
|
||||
}
|
||||
}
|
||||
|
||||
// SelfParam
|
||||
#[derive(Debug, Clone, Copy,)]
|
||||
|
@ -3578,7 +3606,11 @@ impl<R: TreeRoot<RaTypes>> TryExprNode<R> {
|
|||
}
|
||||
|
||||
|
||||
impl<'a> TryExpr<'a> {}
|
||||
impl<'a> TryExpr<'a> {
|
||||
pub fn expr(self) -> Option<Expr<'a>> {
|
||||
super::child_opt(self)
|
||||
}
|
||||
}
|
||||
|
||||
// TupleExpr
|
||||
#[derive(Debug, Clone, Copy,)]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue