aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/ast
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge #1076bors[bot]2019-04-021-2/+10
|\ | | | | | | | | | | | | | | | | 1076: Const body inference r=flodiebold a=Lapz This is the second part of #887. I've added type inference on const bodies and introduced the DefWithBody containing Function, Const and Static. I want to add tests but im unsure on how I would go about testing that completions work. Co-authored-by: Lenard Pratt <[email protected]>
| * Added const bodies and static body to the astLenard Pratt2019-04-021-3/+10
| | | | | | | | | | | | and added inference the inference test reduce code duplication
| * Added defWithBodyLenard Pratt2019-03-301-0/+1
| |
* | fix inner block doc commentsAleksey Kladov2019-04-021-1/+1
| |
* | add minimal commentsAleksey Kladov2019-04-024-0/+11
| |
* | rename flavor to kindAleksey Kladov2019-04-022-24/+24
| |
* | move extensions to submodulesAleksey Kladov2019-04-022-0/+550
| |
* | More future-proof comment kindAleksey Kladov2019-04-022-33/+52
| |
* | fix comment namingAleksey Kladov2019-04-021-10/+9
| |
* | allow empty doc commentsAleksey Kladov2019-04-021-4/+6
| |
* | add ast::tokensAleksey Kladov2019-04-022-1/+94
| |
* | move ast traits to a separate fileAleksey Kladov2019-04-021-0/+148
| |
* | Merge #1084bors[bot]2019-04-011-29/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | 1084: remove dead code r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | remove dead codeAleksey Kladov2019-04-011-29/+0
| | |
* | | intelligently add parens when inlining local varaiblesgfreezy2019-04-011-1/+9
|/ /
* | switch to new rowanAleksey Kladov2019-04-011-523/+4
| |
* | Add WherePred to allow predicate access in WhereClauseVille Penttinen2019-03-311-1/+42
| | | | | | | | | | This also unifies parsing of WHERE_PRED bounds, now Lifetime bounds will also be parsed using TYPE_BOUND_LIST
* | Add trait ast::TypeBoundsOwnerVille Penttinen2019-03-311-0/+5
| |
* | Add new TYPE_BOUND_LIST and TYPE_BOUND syntax kindsVille Penttinen2019-03-301-0/+68
|/ | | | | | These are now used when parsing type bounds. In addition parsing paths inside a bound now does not recursively parse paths, rather they are treated as separate bounds, separated by +.
* Basics for trait method resolutionFlorian Diebold2019-03-251-1/+5
|
* add name resolution from the old implAleksey Kladov2019-03-171-0/+1
| | | | unlike the old impl, this also handles macro imports across crates
* Remove `TypeRef` from item opts which implement TypeAscriptionOwnerVille Penttinen2019-02-271-27/+3
|
* Add new trait TypeAscriptionOwnerVille Penttinen2019-02-261-0/+6
| | | | | This trait should be implemented for nodes which have an ascribed type, e.g. thing : Type. Such as let, const, static, param, named struct fields.
* rename type to type_alias in the AST as wellAleksey Kladov2019-02-251-47/+47
|
* support upcastig in AST enumAleksey Kladov2019-02-242-0/+407
|
* Enable parsing attributes for generic lifetimes and type parametersVille Penttinen2019-02-171-0/+2
|
* Enable parsing of attributes inside a match blockVille Penttinen2019-02-171-0/+2
| | | | | | | We allow invalid inner attributes to be parsed, e.g. inner attributes that are not directly after the opening brace of the match block. Instead we run validation on `MatchArmList` to allow better reporting of errors.
* Handle generic args for method callsFlorian Diebold2019-02-161-0/+4
|
* Add generic params to impl blocksFlorian Diebold2019-02-161-0/+1
|
* Import the preludeFlorian Diebold2019-02-131-0/+1
|
* rename yellow -> syntax_nodeAleksey Kladov2019-02-122-2/+2
| | | | why yellow in the first place? Its red + green.
* make macro a NameOwnerAleksey Kladov2019-02-111-0/+1
|
* Fix handling of literal patternsFlorian Diebold2019-02-091-1/+36
| | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions.
* Fill deprecation for LSPkjeremy2019-02-051-0/+1
|
* Add AST for extern crateFlorian Diebold2019-02-041-1/+9
| | | | Also change it to parse the crate name as a NAME_REF, not a NAME.
* Pass aliases to ImportDataFlorian Diebold2019-02-011-0/+33
|
* Merge #692bors[bot]2019-01-311-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 692: [WIP] Correctly parse attributes r=matklad a=DJMcNab Reference - https://doc.rust-lang.org/reference/attributes.html This fixes/investigates inner attributes for: - [x] `impl` blocks - [x] `extern` blocks - [x] `fn`s (fixes #689) - [x] `mod`s (already supported) - [x] 'block expressions' (the long text just describes all 'blocks' used as statements) This also investigates/fixes outer attributes for: - [ ] 'most statements' (see also: #685, https://doc.rust-lang.org/reference/expressions.html#expression-attributes) - [x] Enum variants, Struct and Union fields (Fixed in #507) - [ ] 'Match expression arms' (@matklad can you provide a test case which explains what this means?) - [ ] 'Generic lifetime or type parameters' - [ ] 'Elements of array expressions, tuple expressions, call expressions, tuple-style struct and enum variant expressions' - [ ] 'The tail expression of block expressions' Co-authored-by: DJMcNab <[email protected]>
| * Parse and validate attributes in blocksDJMcNab2019-01-281-0/+1
| |
* | Infer type of match guardMarcus Klaas de Vries2019-01-281-1/+5
|/
* fix verification on CIAleksey Kladov2019-01-261-44/+0
| | | | remove `--verify` flag from the binaries: we have tests for this!
* fix AST for if expressionsAleksey Kladov2019-01-261-0/+44
| | | | then is not always a block...
* rename POS_FIELD -> POS_FIELD_DEFAleksey Kladov2019-01-251-21/+21
| | | | to match NAMED_FIELD_DEF
* Add docs to struct fieldsJeremy A. Kolb2019-01-251-0/+1
|
* Merge #630bors[bot]2019-01-251-3/+15
|\ | | | | | | | | | | | | | | | | | | | | | | 630: Fill in DocumentSymbol::detail r=matklad a=hban Closes: #516 I just pulled type text from the syntax node and "formatted" is bit. VS Code can't really handle multi-line symbol detail (it's will crop it when rendering), so that formatting will just collapse all white-space to singe space. It isn't pretty, but maybe there's a better way. Issue also mentions "need to be done for `NavigationTarget` to `SymbolInformation`", but `SymbolInformation` doesn't have detail field on it? Co-authored-by: Hrvoje Ban <[email protected]>
| * Fill in DocumentSymbol::detailHrvoje Ban2019-01-241-3/+15
| |
* | Merge #633bors[bot]2019-01-242-0/+504
|\ \ | | | | | | | | | | | | | | | | | | | | | 633: use ToOwned trait instead of inherent method r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | use ToOwned trait instead of inherent methodAleksey Kladov2019-01-242-0/+504
| |/
* / Migrate trait & type to new idsAleksey Kladov2019-01-241-0/+1
|/
* Make EnumVariant a DocCommentsOwnerJeremy A. Kolb2019-01-231-0/+1
|
* Add AST/HIR for type args in path segmentsFlorian Diebold2019-01-191-0/+128
|