| 245 | } |
| 246 | |
| 247 | fn constant_to_ruff_expr(value: Constant) -> ast::Expr { |
| 248 | let Constant { value, range } = value; |
| 249 | match value { |
| 250 | ConstantLiteral::None => ast::Expr::NoneLiteral(ast::ExprNoneLiteral { |
| 251 | node_index: Default::default(), |
| 252 | range, |
| 253 | }), |
| 254 | ConstantLiteral::Bool(value) => ast::Expr::BooleanLiteral(ast::ExprBooleanLiteral { |
| 255 | node_index: Default::default(), |
| 256 | range, |
| 257 | value, |
| 258 | }), |
| 259 | ConstantLiteral::Str { value, prefix } => { |
| 260 | ast::Expr::StringLiteral(ast::ExprStringLiteral { |
| 261 | node_index: Default::default(), |
| 262 | range, |
| 263 | value: ast::StringLiteralValue::single(ast::StringLiteral { |
| 264 | node_index: Default::default(), |
| 265 | range, |
| 266 | value, |
| 267 | flags: ast::StringLiteralFlags::empty().with_prefix(prefix), |
| 268 | }), |
| 269 | }) |
| 270 | } |
| 271 | ConstantLiteral::Bytes(value) => { |
| 272 | ast::Expr::BytesLiteral(ast::ExprBytesLiteral { |
| 273 | node_index: Default::default(), |
| 274 | range, |
| 275 | value: ast::BytesLiteralValue::single(ast::BytesLiteral { |
| 276 | node_index: Default::default(), |
| 277 | range, |
| 278 | value, |
| 279 | flags: ast::BytesLiteralFlags::empty(), // TODO |
| 280 | }), |
| 281 | }) |
| 282 | } |
| 283 | ConstantLiteral::Int(value) => ast::Expr::NumberLiteral(ast::ExprNumberLiteral { |
| 284 | node_index: Default::default(), |
| 285 | range, |
| 286 | value: ast::Number::Int(value), |
| 287 | }), |
| 288 | ConstantLiteral::Tuple(value) => ast::Expr::Tuple(ast::ExprTuple { |
| 289 | node_index: Default::default(), |
| 290 | range, |
| 291 | elts: value |
| 292 | .into_iter() |
| 293 | .map(|value| { |
| 294 | constant_to_ruff_expr(Constant { |
| 295 | range: TextRange::default(), |
| 296 | value, |
| 297 | }) |
| 298 | }) |
| 299 | .collect(), |
| 300 | ctx: ast::ExprContext::Load, |
| 301 | // TODO: Does this matter? |
| 302 | parenthesized: true, |
| 303 | }), |
| 304 | ConstantLiteral::FrozenSet(value) => { |