aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src
Commit message (Collapse)AuthorAgeFilesLines
* Move unsafe packed ref logic to Semantics, use `Attrs::by_key` to simplify ↵Paul Daniel Faria2020-08-101-22/+3
| | | | repr attr lookup
* Revert function structs back to using bool to track self param, use first ↵Paul Daniel Faria2020-08-103-16/+7
| | | | param for self information in syntax highlighting instead
* Unsafe borrow of packed fields: account for borrow through ref binding, auto ↵Paul Daniel Faria2020-08-103-7/+16
| | | | ref function calls
* Cleanup repr check, fix packed repr check and testPaul Daniel Faria2020-08-101-3/+8
|
* Add tracking of packed repr, use it to highlight unsafe refsPaul Daniel Faria2020-08-101-4/+52
| | | | | | Taking a reference to a misaligned field on a packed struct is an unsafe operation. Highlight that behavior. Currently, the misaligned part isn't tracked, so this highlight is a bit too aggressive.
* Update grammarAleksey Kladov2020-08-011-3/+3
|
* Finish renameAleksey Kladov2020-07-311-3/+3
|
* Unify naming of tuple fieldsAleksey Kladov2020-07-311-3/+3
|
* Rename DotDotPat -> RestPatAleksey Kladov2020-07-311-3/+3
|
* RenameAleksey Kladov2020-07-311-2/+2
|
* Rename BindPat -> IdentPatAleksey Kladov2020-07-311-1/+1
|
* Rename PalceholderPat -> WildcardPatAleksey Kladov2020-07-311-1/+1
|
* ReorderAleksey Kladov2020-07-311-1/+0
|
* Allign RecordPat with RecordExprAleksey Kladov2020-07-311-21/+18
|
* Fix GenericArgs grammarAleksey Kladov2020-07-311-19/+23
|
* Rename TypeArgList -> GenericArgListAleksey Kladov2020-07-313-4/+4
|
* MinorAleksey Kladov2020-07-311-3/+0
|
* Rename LambdaExpr -> ClosureExprAleksey Kladov2020-07-311-1/+1
|
* Work on expressions grammarAleksey Kladov2020-07-311-5/+17
|
* Item is a StmtAleksey Kladov2020-07-311-10/+20
|
* Finalize TypeBound grammarAleksey Kladov2020-07-311-1/+1
|
* "Finalize" Types grammarAleksey Kladov2020-07-311-1/+0
| | | | | | | Note that `for` type is rust-analyzer's own invention. Both the reference and syn allow `for` only for fnptr types, and we allow them everywhere. This needs to be checked with respect to type bounds grammar...
* Reame PlaceholderType -> InferTypeAleksey Kladov2020-07-311-1/+1
|
* Rename TypeRef -> TypeAleksey Kladov2020-07-314-20/+20
| | | | | | | | | | The TypeRef name comes from IntelliJ days, where you often have both type *syntax* as well as *semantical* representation of types in scope. And naming both Type is confusing. In rust-analyzer however, we use ast types as `ast::Type`, and have many more semantic counterparts to ast types, so avoiding name clash here is just confusing.
* Use ty to access most TypeRefsAleksey Kladov2020-07-305-17/+15
|
* Remove TypeAscriptionOwnerAleksey Kladov2020-07-306-20/+15
|
* Finalize attribute grammarAleksey Kladov2020-07-301-11/+8
|
* Finaize item grammarAleksey Kladov2020-07-301-0/+1
|
* Finalize impl GrammarAleksey Kladov2020-07-305-10/+10
|
* Finalize Trait grammarAleksey Kladov2020-07-306-12/+12
|
* Finalize const&static grammarAleksey Kladov2020-07-305-17/+17
|
* Rename EnumVariant -> VariantAleksey Kladov2020-07-304-6/+6
|
* Rename EnumDef -> EnumAleksey Kladov2020-07-306-9/+9
|
* Rename StructDef -> StructAleksey Kladov2020-07-305-10/+10
|
* Finalize union grammarAleksey Kladov2020-07-305-8/+8
|
* Rename FieldDef -> FieldAleksey Kladov2020-07-303-19/+20
|
* Rename RecordLit -> RecordExprAleksey Kladov2020-07-302-4/+4
|
* Rename TypeParamList -> GenericParamListAleksey Kladov2020-07-302-7/+7
|
* Rename TypeAliasDef -> TypeAliasAleksey Kladov2020-07-305-9/+9
|
* Rename FnDef -> FnAleksey Kladov2020-07-305-21/+21
|
* Update testsAleksey Kladov2020-07-301-2/+2
|
* Rename UseItem -> UseAleksey Kladov2020-07-304-7/+7
|
* Update testsAleksey Kladov2020-07-301-1/+1
|
* Finish extern crates grammarAleksey Kladov2020-07-303-6/+6
|
* Rename RenameAleksey Kladov2020-07-302-2/+2
|
* Split ItemList & AssocItemListAleksey Kladov2020-07-301-10/+9
|
* Rename ModuleItem -> ItemAleksey Kladov2020-07-296-62/+58
|
* Switch to ungrammar from ast_srcAleksey Kladov2020-07-291-1/+1
| | | | | | | | | | | | | | | | | | The primary advantage of ungrammar is that it (eventually) allows one to describe concrete syntax tree structure -- with alternatives and specific sequence of tokens & nodes. That should be re-usable for: * generate `make` calls * Rust reference * Hypothetical parser's evented API We loose doc comments for the time being unfortunately. I don't think we should add support for doc comments to ungrammar -- they'll make grammar file hard to read. We might supply docs as out-of band info, or maybe just via a reference, but we'll think about that once things are no longer in flux
* Cleanup CFG APIAleksey Kladov2020-07-231-3/+6
|
* Check that visibility upgrade path is hitJonas Schievink2020-07-222-4/+8
|