mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-02 22:54:58 +00:00
Impl HasAttrs for GenericParam
This commit is contained in:
parent
b4a7caedb0
commit
ec448ca4b3
5 changed files with 78 additions and 11 deletions
|
@ -6,13 +6,13 @@
|
|||
use hir_def::{
|
||||
expr::{LabelId, PatId},
|
||||
item_scope::ItemInNs,
|
||||
AdtId, AssocItemId, DefWithBodyId, EnumVariantId, FieldId, GenericDefId, ModuleDefId,
|
||||
VariantId,
|
||||
AdtId, AssocItemId, DefWithBodyId, EnumVariantId, FieldId, GenericDefId, GenericParamId,
|
||||
ModuleDefId, VariantId,
|
||||
};
|
||||
|
||||
use crate::{
|
||||
Adt, AssocItem, DefWithBody, Field, GenericDef, Label, Local, MacroDef, ModuleDef, Variant,
|
||||
VariantDef,
|
||||
code_model::GenericParam, Adt, AssocItem, DefWithBody, Field, GenericDef, Label, Local,
|
||||
MacroDef, ModuleDef, Variant, VariantDef,
|
||||
};
|
||||
|
||||
macro_rules! from_id {
|
||||
|
@ -68,6 +68,26 @@ impl From<Adt> for AdtId {
|
|||
}
|
||||
}
|
||||
|
||||
impl From<GenericParamId> for GenericParam {
|
||||
fn from(id: GenericParamId) -> Self {
|
||||
match id {
|
||||
GenericParamId::TypeParamId(it) => GenericParam::TypeParam(it.into()),
|
||||
GenericParamId::LifetimeParamId(it) => GenericParam::LifetimeParam(it.into()),
|
||||
GenericParamId::ConstParamId(it) => GenericParam::ConstParam(it.into()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<GenericParam> for GenericParamId {
|
||||
fn from(id: GenericParam) -> Self {
|
||||
match id {
|
||||
GenericParam::TypeParam(it) => GenericParamId::TypeParamId(it.id),
|
||||
GenericParam::LifetimeParam(it) => GenericParamId::LifetimeParamId(it.id),
|
||||
GenericParam::ConstParam(it) => GenericParamId::ConstParamId(it.id),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<EnumVariantId> for Variant {
|
||||
fn from(id: EnumVariantId) -> Self {
|
||||
Variant { parent: id.parent.into(), id: id.local_id }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue