about summary refs log tree commit diff
path: root/crates/syntax/src/ast/expr_ext.rs
AgeCommit message (Collapse)AuthorLines
2022-05-14feat: Add binding mode inlay hintsLukas Wirth-1/+1
2022-05-13Revert "Auto merge of #12149 - jonas-schievink:literally-just-a-literal, ↵Jonas Schievink-32/+10
r=jonas-schievink" This reverts commit cc9ae2b89e01a30e441371b9fd3376c3d03a475f, reversing changes made to 7dfd1cb572d8d4fd951237361e43ecddd9c9a852.
2022-05-05Split float literal tokens at the `.`Jonas Schievink-1/+1
2022-05-05Wrap float literals in their own nodeJonas Schievink-5/+26
2022-05-05Remove `ast::Literal::token`Jonas Schievink-6/+7
2022-05-05Lower values of char and byte literalsLaurențiu Nicola-4/+8
2022-03-12more clippy fixes:Matthias Krüger-3/+1
clippy::search_is_some clippy::redundant_static_lifetimes clippy::match_single_binding clippy::match_ref_pats clippy::map_entry clippy::manual_map clippy::iter_overeager_cloned clippy::into_iter_on_ref clippy::extra_unused_lifetimes
2022-02-27Fix `if` in #11561Chayim Refael Friedman-5/+61
2021-10-10Remove neesless clonek-nasa-1/+1
2021-10-03minor: SimplifyLukas Wirth-1/+39
2021-09-27Rename `*Owner` traits to `Has*`Lukas Wirth-1/+1
2021-09-26internal: more reasonable grammar for blocksAleksey Kladov-26/+10
Consider these expples { 92 } async { 92 } 'a: { 92 } #[a] { 92 } Previously the tree for them were BLOCK_EXPR { ... } EFFECT_EXPR async BLOCK_EXPR { ... } EFFECT_EXPR 'a: BLOCK_EXPR { ... } BLOCK_EXPR #[a] { ... } As you see, it gets progressively worse :) The last two items are especially odd. The last one even violates the balanced curleys invariant we have (#10357) The new approach is to say that the stuff in `{}` is stmt_list, and the block is stmt_list + optional modifiers BLOCK_EXPR STMT_LIST { ... } BLOCK_EXPR async STMT_LIST { ... } BLOCK_EXPR 'a: STMT_LIST { ... } BLOCK_EXPR #[a] STMT_LIST { ... }
2021-09-26Remove inherent methods from ast node that carry semantic meaningLukas Wirth-135/+3
2021-09-01Fix extract_function with macro argDaiki Ihara-0/+5
2021-08-14internal: merge hir::BinaryOp and ast::BinOpAleksey Kladov-149/+37
2021-08-14internal: make naming consistentAleksey Kladov-5/+5
2021-08-14internal: prepare a dedicated module for all operatorsAleksey Kladov-25/+12
2021-08-10wip enum record/tuple generationYoshua Wuyts-0/+12
2021-08-10add make::expr_opYoshua Wuyts-0/+36
2021-08-07SimplifyLukas Wirth-1/+1
2021-07-31Wrap inner tail expressions in MissingOkOrSomeInTailExprLukas Wirth-0/+1
2021-07-29Simplify extract_function assistLukas Wirth-0/+118
2021-03-21a lot of clippy::style fixesMatthias Krüger-22/+22
2020-12-23Implement const block inferenceLukas Wirth-0/+4
2020-11-14Use shorthand record syntax when renaming struct initializer fieldLukas Wirth-0/+12
2020-11-06Cleanup APIAleksey Kladov-46/+18
2020-11-06Kill RAW_ literalsAleksey Kladov-2/+9
Syntactically, they are indistinguishable from non-raw versions, so it doesn't make sense to separate then *at the syntax* level.
2020-11-06Move int parsing to IntNumber tokenAleksey Kladov-75/+12
2020-11-03Fix overflow panic in convert_interger_literal assistAleksey Kladov-0/+65
This also seizes the opportunity to move integer literal parsing to the syntax crate, were it logically belongs. Note though that this is still done in an ad hoc manner -- we probably should split kitchen sink ast::Literal into a separate APIs for strings, ints, etc
2020-08-12Rename ra_syntax -> syntaxAleksey Kladov-0/+418