aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/ast
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Change parsing of struct field patternsMarcus Klaas de Vries2019-01-191-1/+5
|
* Move parsing of field pattern lists to the parser (where it belongs)Marcus Klaas de Vries2019-01-191-1/+34
|
* Add initial (flawed) implementation of binding annotationsMarcus Klaas de Vries2019-01-191-1/+5
|
* Create struct patterns up to the hir levelMarcus Klaas de Vries2019-01-191-4/+9
|
* Add additional pattern variantsMarcus Klaas de Vries2019-01-191-2/+10
|
* Update ARRAY_EXPR grammarHirokazu Hata2019-01-161-1/+5
|
* Fix type inference for raw (byte) stringsMarcus Klaas de Vries2019-01-141-0/+56
|
* Fixup testsMarcus Klaas de Vries2019-01-141-38/+94
|
* Start moving literal interpretation to the AST (WIP)Marcus Klaas de Vries2019-01-141-4/+110
|
* Update TUPLE_EXPR grammarHirokazu Hata2019-01-131-1/+5
|
* support ref-patternsAleksey Kladov2019-01-131-1/+5
|
* rename TreePtr -> TreeArcAleksey Kladov2019-01-112-116/+116
| | | | This is much clearer about the semantics
* itroduce trait for ast tokensAleksey Kladov2019-01-081-0/+7
|
* regenerateAleksey Kladov2019-01-081-3052/+1791
|
* switch ra_syntax to new rowan APIAleksey Kladov2019-01-081-45/+48
|
* Make FnScopes use hir::ExprFlorian Diebold2019-01-051-16/+9
| | | | | | This was a bit complicated. I've added a wrapper type for now that does the LocalSyntaxPtr <-> ExprId translation; we might want to get rid of that or give it a nicer interface.
* Add HIR Expr machineryFlorian Diebold2019-01-051-1/+9
|
* Type the self parameterFlorian Diebold2019-01-041-1/+46
|