aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/adt.rs
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
* 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.
* Use ty to access most TypeRefsAleksey Kladov2020-07-301-1/+1
|
* Remove TypeAscriptionOwnerAleksey Kladov2020-07-301-2/+2
|
* Rename EnumVariant -> VariantAleksey Kladov2020-07-301-2/+2
|
* Rename EnumDef -> EnumAleksey Kladov2020-07-301-1/+1
|
* Rename FieldDef -> FieldAleksey Kladov2020-07-301-3/+3
|
* Use ItemTree to answer enum_data queryJonas Schievink2020-06-251-7/+19
|
* adt.rs: fetch struct/union data from item treeJonas Schievink2020-06-251-19/+49
|
* refactor: use attrsOwner directly in is_cfg_enabledBenjamin Coenen2020-05-051-9/+8
| | | | Signed-off-by: Benjamin Coenen <[email protected]>
* add support of cfg attributes on enum variants #4279Benjamin Coenen2020-05-031-1/+7
| | | | Signed-off-by: Benjamin Coenen <[email protected]>
* Introduce LowerCtx for path loweringEdwin Cheng2020-05-011-5/+13
|
* Rename StructField -> FieldAleksey Kladov2020-04-251-11/+11
|
* Avoid cyclic queries in name resolution when processing enumsAleksey Kladov2020-04-111-4/+4
|
* Align namingAleksey Kladov2020-04-111-2/+2
|
* Use Expander for cfg handling in structsAleksey Kladov2020-04-111-10/+10
|
* feat: add support for feature attributes in struct literalBenjamin Coenen2020-04-091-18/+39
| | | | Signed-off-by: Benjamin Coenen <[email protected]>
* feat: add attributes support on struct fields and method #3870Benjamin Coenen2020-04-081-27/+3
| | | | Signed-off-by: Benjamin Coenen <[email protected]>
* feat: add attributes support on struct fields #3870Benjamin Coenen2020-04-071-3/+28
| | | | Signed-off-by: Benjamin Coenen <[email protected]>
* Simplify Arena to use a generic indexAleksey Kladov2020-03-191-11/+7
|
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-8/+8
| | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate).
* Fix handling of const patternsFlorian Diebold2020-02-211-0/+1
| | | | | | | | | E.g. in `match x { None => ... }`, `None` is a path pattern (resolving to the option variant), not a binding. To determine this, we need to try to resolve the name during lowering. This isn't too hard since we already need to resolve names for macro expansion anyway (though maybe a bit hacky). Fixes #1618.
* replace uses of VariantData::is_unit with VariantData::kindadamrk2020-02-161-6/+0
|
* show names for record fields in enum completionadamrk2020-02-161-1/+8
|
* Remove visibility query, instead add struct field visibility to dataFlorian Diebold2019-12-261-18/+26
| | | | | Methods should be handled the same, and for items the visibility will be in the def map.
* More profilingAleksey Kladov2019-12-211-0/+2
|
* Move enum&union to new locAleksey Kladov2019-12-121-7/+6
|
* Move structs to new locAleksey Kladov2019-12-121-4/+5
|
* Replace `ra_hir_expand::either` with crateice10002019-12-031-3/+3
|
* Move source-related traits to a separate moduleAleksey Kladov2019-11-281-1/+1
|
* Rename Source -> InFileAleksey Kladov2019-11-281-3/+3
|
* Use Name::missing consistentlyAleksey Kladov2019-11-271-9/+9
|
* Id-ify Ty::AdtAleksey Kladov2019-11-261-0/+4
|
* Fixme for union fieldsAleksey Kladov2019-11-251-0/+5
|
* Fix hir for ast::UnionDefAleksey Kladov2019-11-251-3/+15
|
* Simplify ADT fieldsAleksey Kladov2019-11-241-3/+11
|
* Use Trace in raw_itemsAleksey Kladov2019-11-241-3/+3
|
* Get rid of DefDatabase2Aleksey Kladov2019-11-231-8/+5
|
* More principled sources for enums and fieldsAleksey Kladov2019-11-221-39/+106
|
* Uniformalize namingAleksey Kladov2019-11-221-15/+10
|
* Rename Source::ast -> Source::valueAleksey Kladov2019-11-201-4/+4
|
* Unfork struct and union idsAleksey Kladov2019-11-091-10/+6
|
* Move CrateDefMap to hir_defAleksey Kladov2019-11-031-1/+13
|
* move struct & enum data to hir_defAleksey Kladov2019-10-311-0/+114