aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src
Commit message (Collapse)AuthorAgeFilesLines
* move ast traits to a separate fileAleksey Kladov2019-04-022-144/+155
|
* Merge #1084bors[bot]2019-04-013-37/+0
|\ | | | | | | | | | | | | | | 1084: remove dead code r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * remove dead codeAleksey Kladov2019-04-013-37/+0
| |
* | intelligently add parens when inlining local varaiblesgfreezy2019-04-012-1/+10
|/
* switch to new rowanAleksey Kladov2019-04-0114-799/+598
|
* Add WherePred to allow predicate access in WhereClauseVille Penttinen2019-03-313-2/+123
| | | | | 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-313-5/+21
|
* Add new TYPE_BOUND_LIST and TYPE_BOUND syntax kindsVille Penttinen2019-03-302-0/+81
| | | | | | 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-252-2/+9
|
* Merge #1034bors[bot]2019-03-251-0/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1034: HIR diagnostics API r=matklad a=matklad This PR introduces diagnostics API for HIR, so we can now start issuing errors and warnings! Here are requirements that this solution aims to fulfill: * structured diagnostics: rather than immediately rendering error to string, we provide a well-typed blob of data with error-description. These data is used by IDE to provide fixes * open set diagnostics: there's no single enum with all possible diagnostics, which hopefully should result in better modularity The `Diagnostic` trait describes "a diagnostic", which can be downcast to a specific diagnostic kind. Diagnostics are expressed in terms of macro-expanded syntax tree: they store pointers to syntax nodes. Diagnostics are self-contained: you don't need any context, besides `db`, to fully understand the meaning of a diagnostic. Because diagnostics are tied to the source, we can't store them in salsa. So subsystems like type-checking produce subsystem-local diagnostic (which is a closed `enum`), which is expressed in therms of subsystem IR. A separate step converts these proto-diagnostics into `Diagnostic`, by merging them with source-maps. Note that this PR stresses type-system quite a bit: we now type-check every function in open files to compute errors! Discussion on Zulip: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Diagnostics.20API Co-authored-by: Aleksey Kladov <[email protected]>
| * allow dyn diagnosticsAleksey Kladov2019-03-251-0/+6
| |
* | simplifyAleksey Kladov2019-03-251-37/+34
|/
* Target only the actual operator.Marco Groppo2019-03-241-33/+45
| | | | | Renamed `BinExpr::op()` and `PrefixExpr::op()` to `op_kind`. Now `op()` returns the `SyntaxNode`.
* replace todo with fixmeAleksey Kladov2019-03-231-1/+1
|
* Fix reparsing failure when removing newlinepcpthm2019-03-211-0/+7
|
* Fix reparsing bug on "{}{}"pcpthm2019-03-211-1/+1
|
* Completely ignore errors for reparse fuzzpcpthm2019-03-211-1/+0
|
* Use template text to improve reparse fuzzingpcpthm2019-03-211-1/+5
|
* Fix lexer not producing right token on "_"pcpthm2019-03-211-0/+1
|
* Fix reparsing bug when lex result is differentpcpthm2019-03-211-2/+9
|
* Improve reparse fuzz testpcpthm2019-03-211-1/+13
|
* Fix an arithmetic overflow in reparserpcpthm2019-03-212-5/+5
|
* Add fuzz test for reparsingpcpthm2019-03-211-1/+41
|
* Refactor parser fuzz testingpcpthm2019-03-212-7/+14
|
* add name resolution from the old implAleksey Kladov2019-03-173-7/+5
| | | | unlike the old impl, this also handles macro imports across crates
* Add async keywordCaio2019-03-091-0/+1
|
* Remove `TypeRef` from item opts which implement TypeAscriptionOwnerVille Penttinen2019-02-272-33/+14
|
* Add new trait TypeAscriptionOwnerVille Penttinen2019-02-263-9/+36
| | | | | 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-253-52/+52
|
* complete struct literalsAleksey Kladov2019-02-241-0/+6
|
* support upcastig in AST enumAleksey Kladov2019-02-242-0/+407
|
* introduce tree builderAleksey Kladov2019-02-233-20/+61
|
* renameAleksey Kladov2019-02-234-23/+19
|
* Merge #876bors[bot]2019-02-211-1/+6
|\ | | | | | | | | | | | | | | 876: Fix join_lines not adding a comma after join_single_expr_block with match arm r=matklad a=vipentti Fixes #868 Co-authored-by: Ville Penttinen <[email protected]>
| * Move `non_trivia_sibling` to `ra_syntax::algo`Ville Penttinen2019-02-211-1/+6
| |
* | add API guide to ra_syntaxAleksey Kladov2019-02-211-0/+173
|/
* simplify trait boundsAleksey Kladov2019-02-211-12/+18
|
* rearrange methodsAleksey Kladov2019-02-211-67/+67
|
* kill utils moduleAleksey Kladov2019-02-215-97/+92
|
* docsAleksey Kladov2019-02-218-83/+104
|
* fix compilationAleksey Kladov2019-02-216-52/+30
|
* move parser to a separate crateAleksey Kladov2019-02-2121-4217/+0
|
* make grammar independent of syntax treeAleksey Kladov2019-02-212-14/+18
|
* minorAleksey Kladov2019-02-211-1/+1
|
* move whitespace handling to tree builderAleksey Kladov2019-02-214-188/+159
|
* move syntax error to parserAleksey Kladov2019-02-206-25/+24
|
* simplifyAleksey Kladov2019-02-205-29/+4
|
* remove TokenPosAleksey Kladov2019-02-203-49/+28
|
* flattern module structureAleksey Kladov2019-02-205-14/+30
|
* merge parse_impl and parser_apiAleksey Kladov2019-02-202-171/+102
|