MCPcopy Index your code
hub / github.com/RustPython/RustPython / constant_to_ruff_expr

Function constant_to_ruff_expr

crates/vm/src/stdlib/_ast/constant.rs:247–356  ·  view source on GitHub ↗
(value: Constant)

Source from the content-addressed store, hash-verified

245}
246
247fn 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) => {

Callers 1

into_exprMethod · 0.85

Calls 9

TupleClass · 0.85
newFunction · 0.85
collectMethod · 0.80
IntClass · 0.50
NameClass · 0.50
FloatClass · 0.50
mapMethod · 0.45
into_iterMethod · 0.45
is_emptyMethod · 0.45

Tested by

no test coverage detected