[red-knot] Do not show types for literal expressions on hover (#17290)

## Summary

Resolves #17289.

After this change, Red Knot will no longer show types on hover for
`None`, `...`, `True`, `False`, numbers, strings (but not f-strings),
and bytes literals.

## Test Plan

Unit tests.
This commit is contained in:
InSync 2025-04-08 14:05:51 +07:00 committed by GitHub
parent a388c73752
commit 34e06f2d17
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 71 additions and 1 deletions

View file

@ -102,6 +102,19 @@ impl Expr {
}
impl ExprRef<'_> {
/// See [`Expr::is_literal_expr`].
pub fn is_literal_expr(&self) -> bool {
matches!(
self,
ExprRef::StringLiteral(_)
| ExprRef::BytesLiteral(_)
| ExprRef::NumberLiteral(_)
| ExprRef::BooleanLiteral(_)
| ExprRef::NoneLiteral(_)
| ExprRef::EllipsisLiteral(_)
)
}
pub fn precedence(&self) -> OperatorPrecedence {
OperatorPrecedence::from(self)
}