mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-03 20:23:59 +00:00
5594: Update sysroot crates r=jonas-schievink a=lnicola 5604: Rename EnumVariant -> Variant r=matklad a=matklad bors r+ 🤖 5605: fmt r=matklad a=matklad bors r+ 🤖 Co-authored-by: Laurențiu Nicola <lnicola@dend.ro> Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
commit
c8e2d67dd4
@ -120,7 +120,7 @@ fn add_missing_impl_members_inner(
|
||||
match item {
|
||||
ast::AssocItem::Fn(def) => def.name(),
|
||||
ast::AssocItem::TypeAlias(def) => def.name(),
|
||||
ast::AssocItem::ConstDef(def) => def.name(),
|
||||
ast::AssocItem::Const(def) => def.name(),
|
||||
ast::AssocItem::MacroCall(_) => None,
|
||||
}
|
||||
.map(|it| it.text().clone())
|
||||
@ -131,7 +131,7 @@ fn add_missing_impl_members_inner(
|
||||
.map(|i| match i {
|
||||
hir::AssocItem::Function(i) => ast::AssocItem::Fn(i.source(ctx.db()).value),
|
||||
hir::AssocItem::TypeAlias(i) => ast::AssocItem::TypeAlias(i.source(ctx.db()).value),
|
||||
hir::AssocItem::Const(i) => ast::AssocItem::ConstDef(i.source(ctx.db()).value),
|
||||
hir::AssocItem::Const(i) => ast::AssocItem::Const(i.source(ctx.db()).value),
|
||||
})
|
||||
.filter(|t| def_name(&t).is_some())
|
||||
.filter(|t| match t {
|
||||
|
@ -1,7 +1,7 @@
|
||||
use ra_syntax::{
|
||||
ast::{self, NameOwner, VisibilityOwner},
|
||||
AstNode,
|
||||
SyntaxKind::{CONST_DEF, ENUM, FN, MODULE, STATIC_DEF, STRUCT, TRAIT_DEF, VISIBILITY},
|
||||
SyntaxKind::{CONST, ENUM, FN, MODULE, STATIC, STRUCT, TRAIT_DEF, VISIBILITY},
|
||||
T,
|
||||
};
|
||||
use test_utils::mark;
|
||||
@ -36,7 +36,7 @@ fn add_vis(acc: &mut Assists, ctx: &AssistContext) -> Option<()> {
|
||||
|
||||
let (offset, target) = if let Some(keyword) = item_keyword {
|
||||
let parent = keyword.parent();
|
||||
let def_kws = vec![CONST_DEF, STATIC_DEF, FN, MODULE, STRUCT, ENUM, TRAIT_DEF];
|
||||
let def_kws = vec![CONST, STATIC, FN, MODULE, STRUCT, ENUM, TRAIT_DEF];
|
||||
// Parent is not a definition, can't add visibility
|
||||
if !def_kws.iter().any(|&def_kw| def_kw == parent.kind()) {
|
||||
return None;
|
||||
|
@ -31,7 +31,7 @@ pub(crate) fn extract_struct_from_enum_variant(
|
||||
acc: &mut Assists,
|
||||
ctx: &AssistContext,
|
||||
) -> Option<()> {
|
||||
let variant = ctx.find_node_at_offset::<ast::EnumVariant>()?;
|
||||
let variant = ctx.find_node_at_offset::<ast::Variant>()?;
|
||||
let field_list = match variant.kind() {
|
||||
ast::StructKind::Tuple(field_list) => field_list,
|
||||
_ => return None,
|
||||
|
@ -22,7 +22,7 @@ use crate::{utils::FamousDefs, AssistContext, AssistId, AssistKind, Assists};
|
||||
// }
|
||||
// ```
|
||||
pub(crate) fn generate_from_impl_for_enum(acc: &mut Assists, ctx: &AssistContext) -> Option<()> {
|
||||
let variant = ctx.find_node_at_offset::<ast::EnumVariant>()?;
|
||||
let variant = ctx.find_node_at_offset::<ast::Variant>()?;
|
||||
let variant_name = variant.name()?;
|
||||
let enum_name = variant.parent_enum().name()?;
|
||||
let field_list = match variant.kind() {
|
||||
@ -69,7 +69,7 @@ impl From<{0}> for {1} {{
|
||||
|
||||
fn existing_from_impl(
|
||||
sema: &'_ hir::Semantics<'_, RootDatabase>,
|
||||
variant: &ast::EnumVariant,
|
||||
variant: &ast::Variant,
|
||||
) -> Option<()> {
|
||||
let variant = sema.to_def(variant)?;
|
||||
let enum_ = variant.parent_enum(sema.db);
|
||||
|
@ -78,7 +78,7 @@ pub fn get_missing_assoc_items(
|
||||
}
|
||||
}
|
||||
|
||||
ast::AssocItem::ConstDef(c) => {
|
||||
ast::AssocItem::Const(c) => {
|
||||
if let Some(n) = c.name() {
|
||||
impl_fns_consts.insert(n.syntax().to_string());
|
||||
}
|
||||
|
@ -75,8 +75,8 @@ impl HasSource for Enum {
|
||||
}
|
||||
}
|
||||
impl HasSource for EnumVariant {
|
||||
type Ast = ast::EnumVariant;
|
||||
fn source(self, db: &dyn HirDatabase) -> InFile<ast::EnumVariant> {
|
||||
type Ast = ast::Variant;
|
||||
fn source(self, db: &dyn HirDatabase) -> InFile<ast::Variant> {
|
||||
self.parent.id.child_source(db.upcast()).map(|map| map[self.id].clone())
|
||||
}
|
||||
}
|
||||
@ -87,14 +87,14 @@ impl HasSource for Function {
|
||||
}
|
||||
}
|
||||
impl HasSource for Const {
|
||||
type Ast = ast::ConstDef;
|
||||
fn source(self, db: &dyn HirDatabase) -> InFile<ast::ConstDef> {
|
||||
type Ast = ast::Const;
|
||||
fn source(self, db: &dyn HirDatabase) -> InFile<ast::Const> {
|
||||
self.id.lookup(db.upcast()).source(db.upcast())
|
||||
}
|
||||
}
|
||||
impl HasSource for Static {
|
||||
type Ast = ast::StaticDef;
|
||||
fn source(self, db: &dyn HirDatabase) -> InFile<ast::StaticDef> {
|
||||
type Ast = ast::Static;
|
||||
fn source(self, db: &dyn HirDatabase) -> InFile<ast::Static> {
|
||||
self.id.lookup(db.upcast()).source(db.upcast())
|
||||
}
|
||||
}
|
||||
|
@ -586,12 +586,12 @@ to_def_impls![
|
||||
(crate::Trait, ast::TraitDef, trait_to_def),
|
||||
(crate::ImplDef, ast::ImplDef, impl_to_def),
|
||||
(crate::TypeAlias, ast::TypeAlias, type_alias_to_def),
|
||||
(crate::Const, ast::ConstDef, const_to_def),
|
||||
(crate::Static, ast::StaticDef, static_to_def),
|
||||
(crate::Const, ast::Const, const_to_def),
|
||||
(crate::Static, ast::Static, static_to_def),
|
||||
(crate::Function, ast::Fn, fn_to_def),
|
||||
(crate::Field, ast::RecordField, record_field_to_def),
|
||||
(crate::Field, ast::TupleField, tuple_field_to_def),
|
||||
(crate::EnumVariant, ast::EnumVariant, enum_variant_to_def),
|
||||
(crate::EnumVariant, ast::Variant, enum_variant_to_def),
|
||||
(crate::TypeParam, ast::TypeParam, type_param_to_def),
|
||||
(crate::MacroDef, ast::MacroCall, macro_call_to_def), // this one is dubious, not all calls are macros
|
||||
(crate::Local, ast::BindPat, bind_pat_to_def),
|
||||
|
@ -83,10 +83,10 @@ impl SourceToDefCtx<'_, '_> {
|
||||
pub(super) fn union_to_def(&mut self, src: InFile<ast::Union>) -> Option<UnionId> {
|
||||
self.to_def(src, keys::UNION)
|
||||
}
|
||||
pub(super) fn static_to_def(&mut self, src: InFile<ast::StaticDef>) -> Option<StaticId> {
|
||||
pub(super) fn static_to_def(&mut self, src: InFile<ast::Static>) -> Option<StaticId> {
|
||||
self.to_def(src, keys::STATIC)
|
||||
}
|
||||
pub(super) fn const_to_def(&mut self, src: InFile<ast::ConstDef>) -> Option<ConstId> {
|
||||
pub(super) fn const_to_def(&mut self, src: InFile<ast::Const>) -> Option<ConstId> {
|
||||
self.to_def(src, keys::CONST)
|
||||
}
|
||||
pub(super) fn type_alias_to_def(&mut self, src: InFile<ast::TypeAlias>) -> Option<TypeAliasId> {
|
||||
@ -100,9 +100,9 @@ impl SourceToDefCtx<'_, '_> {
|
||||
}
|
||||
pub(super) fn enum_variant_to_def(
|
||||
&mut self,
|
||||
src: InFile<ast::EnumVariant>,
|
||||
src: InFile<ast::Variant>,
|
||||
) -> Option<EnumVariantId> {
|
||||
self.to_def(src, keys::ENUM_VARIANT)
|
||||
self.to_def(src, keys::VARIANT)
|
||||
}
|
||||
pub(super) fn bind_pat_to_def(
|
||||
&mut self,
|
||||
@ -178,11 +178,11 @@ impl SourceToDefCtx<'_, '_> {
|
||||
let def = self.union_to_def(container.with_value(it))?;
|
||||
VariantId::from(def).into()
|
||||
},
|
||||
ast::StaticDef(it) => {
|
||||
ast::Static(it) => {
|
||||
let def = self.static_to_def(container.with_value(it))?;
|
||||
DefWithBodyId::from(def).into()
|
||||
},
|
||||
ast::ConstDef(it) => {
|
||||
ast::Const(it) => {
|
||||
let def = self.const_to_def(container.with_value(it))?;
|
||||
DefWithBodyId::from(def).into()
|
||||
},
|
||||
@ -222,8 +222,8 @@ impl SourceToDefCtx<'_, '_> {
|
||||
for container in src.cloned().ancestors_with_macros(self.db.upcast()).skip(1) {
|
||||
let res: DefWithBodyId = match_ast! {
|
||||
match (container.value) {
|
||||
ast::ConstDef(it) => self.const_to_def(container.with_value(it))?.into(),
|
||||
ast::StaticDef(it) => self.static_to_def(container.with_value(it))?.into(),
|
||||
ast::Const(it) => self.const_to_def(container.with_value(it))?.into(),
|
||||
ast::Static(it) => self.static_to_def(container.with_value(it))?.into(),
|
||||
ast::Fn(it) => self.fn_to_def(container.with_value(it))?.into(),
|
||||
_ => continue,
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ impl EnumData {
|
||||
|
||||
impl HasChildSource for EnumId {
|
||||
type ChildId = LocalEnumVariantId;
|
||||
type Value = ast::EnumVariant;
|
||||
type Value = ast::Variant;
|
||||
fn child_source(&self, db: &dyn DefDatabase) -> InFile<ArenaMap<Self::ChildId, Self::Value>> {
|
||||
let src = self.lookup(db).source(db);
|
||||
let mut trace = Trace::new_for_map();
|
||||
@ -123,7 +123,7 @@ impl HasChildSource for EnumId {
|
||||
|
||||
fn lower_enum(
|
||||
db: &dyn DefDatabase,
|
||||
trace: &mut Trace<EnumVariantData, ast::EnumVariant>,
|
||||
trace: &mut Trace<EnumVariantData, ast::Variant>,
|
||||
ast: &InFile<ast::Enum>,
|
||||
module_id: ModuleId,
|
||||
) {
|
||||
|
@ -641,14 +641,14 @@ impl ExprCollector<'_> {
|
||||
def.name(),
|
||||
)
|
||||
}
|
||||
ast::Item::ConstDef(def) => {
|
||||
ast::Item::Const(def) => {
|
||||
let id = self.find_inner_item(&def)?;
|
||||
(
|
||||
ConstLoc { container: container.into(), id }.intern(self.db).into(),
|
||||
def.name(),
|
||||
)
|
||||
}
|
||||
ast::Item::StaticDef(def) => {
|
||||
ast::Item::Static(def) => {
|
||||
let id = self.find_inner_item(&def)?;
|
||||
(StaticLoc { container, id }.intern(self.db).into(), def.name())
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ impl ChildBySource for EnumId {
|
||||
let arena_map = arena_map.as_ref();
|
||||
for (local_id, source) in arena_map.value.iter() {
|
||||
let id = EnumVariantId { parent: *self, local_id };
|
||||
res[keys::ENUM_VARIANT].insert(arena_map.with_value(source.clone()), id)
|
||||
res[keys::VARIANT].insert(arena_map.with_value(source.clone()), id)
|
||||
}
|
||||
|
||||
res
|
||||
|
@ -417,8 +417,8 @@ mod_items! {
|
||||
Struct in structs -> ast::Struct,
|
||||
Union in unions -> ast::Union,
|
||||
Enum in enums -> ast::Enum,
|
||||
Const in consts -> ast::ConstDef,
|
||||
Static in statics -> ast::StaticDef,
|
||||
Const in consts -> ast::Const,
|
||||
Static in statics -> ast::Static,
|
||||
Trait in traits -> ast::TraitDef,
|
||||
Impl in impls -> ast::ImplDef,
|
||||
TypeAlias in type_aliases -> ast::TypeAlias,
|
||||
@ -552,7 +552,7 @@ pub struct Const {
|
||||
pub name: Option<Name>,
|
||||
pub visibility: RawVisibilityId,
|
||||
pub type_ref: TypeRef,
|
||||
pub ast_id: FileAstId<ast::ConstDef>,
|
||||
pub ast_id: FileAstId<ast::Const>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Eq, PartialEq)]
|
||||
@ -561,7 +561,7 @@ pub struct Static {
|
||||
pub visibility: RawVisibilityId,
|
||||
pub mutable: bool,
|
||||
pub type_ref: TypeRef,
|
||||
pub ast_id: FileAstId<ast::StaticDef>,
|
||||
pub ast_id: FileAstId<ast::Static>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Eq, PartialEq)]
|
||||
|
@ -83,8 +83,8 @@ impl Ctx {
|
||||
| ast::Item::Enum(_)
|
||||
| ast::Item::Fn(_)
|
||||
| ast::Item::TypeAlias(_)
|
||||
| ast::Item::ConstDef(_)
|
||||
| ast::Item::StaticDef(_)
|
||||
| ast::Item::Const(_)
|
||||
| ast::Item::Static(_)
|
||||
| ast::Item::MacroCall(_) => {
|
||||
// Skip this if we're already collecting inner items. We'll descend into all nodes
|
||||
// already.
|
||||
@ -108,8 +108,8 @@ impl Ctx {
|
||||
ast::Item::Enum(ast) => self.lower_enum(ast).map(Into::into),
|
||||
ast::Item::Fn(ast) => self.lower_function(ast).map(Into::into),
|
||||
ast::Item::TypeAlias(ast) => self.lower_type_alias(ast).map(Into::into),
|
||||
ast::Item::StaticDef(ast) => self.lower_static(ast).map(Into::into),
|
||||
ast::Item::ConstDef(ast) => Some(self.lower_const(ast).into()),
|
||||
ast::Item::Static(ast) => self.lower_static(ast).map(Into::into),
|
||||
ast::Item::Const(ast) => Some(self.lower_const(ast).into()),
|
||||
ast::Item::Module(ast) => self.lower_module(ast).map(Into::into),
|
||||
ast::Item::TraitDef(ast) => self.lower_trait(ast).map(Into::into),
|
||||
ast::Item::ImplDef(ast) => self.lower_impl(ast).map(Into::into),
|
||||
@ -160,7 +160,7 @@ impl Ctx {
|
||||
match item {
|
||||
ast::AssocItem::Fn(ast) => self.lower_function(ast).map(Into::into),
|
||||
ast::AssocItem::TypeAlias(ast) => self.lower_type_alias(ast).map(Into::into),
|
||||
ast::AssocItem::ConstDef(ast) => Some(self.lower_const(ast).into()),
|
||||
ast::AssocItem::Const(ast) => Some(self.lower_const(ast).into()),
|
||||
ast::AssocItem::MacroCall(ast) => self.lower_macro_call(ast).map(Into::into),
|
||||
}
|
||||
}
|
||||
@ -259,7 +259,7 @@ impl Ctx {
|
||||
Some(id(self.data().enums.alloc(res)))
|
||||
}
|
||||
|
||||
fn lower_variants(&mut self, variants: &ast::EnumVariantList) -> IdRange<Variant> {
|
||||
fn lower_variants(&mut self, variants: &ast::VariantList) -> IdRange<Variant> {
|
||||
let start = self.next_variant_idx();
|
||||
for variant in variants.variants() {
|
||||
if let Some(data) = self.lower_variant(&variant) {
|
||||
@ -271,7 +271,7 @@ impl Ctx {
|
||||
IdRange::new(start..end)
|
||||
}
|
||||
|
||||
fn lower_variant(&mut self, variant: &ast::EnumVariant) -> Option<Variant> {
|
||||
fn lower_variant(&mut self, variant: &ast::Variant) -> Option<Variant> {
|
||||
let name = variant.name()?.as_name();
|
||||
let fields = self.lower_fields(&variant.kind());
|
||||
let res = Variant { name, fields };
|
||||
@ -368,7 +368,7 @@ impl Ctx {
|
||||
Some(id(self.data().type_aliases.alloc(res)))
|
||||
}
|
||||
|
||||
fn lower_static(&mut self, static_: &ast::StaticDef) -> Option<FileItemTreeId<Static>> {
|
||||
fn lower_static(&mut self, static_: &ast::Static) -> Option<FileItemTreeId<Static>> {
|
||||
let name = static_.name()?.as_name();
|
||||
let type_ref = self.lower_type_ref_opt(static_.ascribed_type());
|
||||
let visibility = self.lower_visibility(static_);
|
||||
@ -378,7 +378,7 @@ impl Ctx {
|
||||
Some(id(self.data().statics.alloc(res)))
|
||||
}
|
||||
|
||||
fn lower_const(&mut self, konst: &ast::ConstDef) -> FileItemTreeId<Const> {
|
||||
fn lower_const(&mut self, konst: &ast::Const) -> FileItemTreeId<Const> {
|
||||
let name = konst.name().map(|it| it.as_name());
|
||||
let type_ref = self.lower_type_ref_opt(konst.ascribed_type());
|
||||
let visibility = self.lower_visibility(konst);
|
||||
@ -553,7 +553,7 @@ impl Ctx {
|
||||
self.data().functions[func.index].is_unsafe = true;
|
||||
func.into()
|
||||
}
|
||||
ast::ExternItem::StaticDef(ast) => {
|
||||
ast::ExternItem::Static(ast) => {
|
||||
let statik = self.lower_static(&ast)?;
|
||||
statik.into()
|
||||
}
|
||||
|
@ -238,7 +238,7 @@ fn smoke() {
|
||||
> #[Attrs { entries: Some([Attr { path: ModPath { kind: Plain, segments: [Name(Text("assoc_ty"))] }, input: None }]) }]
|
||||
> TypeAlias { name: Name(Text("AssocTy")), visibility: RawVisibilityId("pub(self)"), bounds: [Path(Path { type_anchor: None, mod_path: ModPath { kind: Plain, segments: [Name(Text("Tr"))] }, generic_args: [Some(GenericArgs { args: [Type(Tuple([]))], has_self_type: false, bindings: [] })] })], generic_params: GenericParamsId(4294967295), type_ref: None, ast_id: FileAstId::<ra_syntax::ast::generated::nodes::TypeAlias>(8) }
|
||||
> #[Attrs { entries: Some([Attr { path: ModPath { kind: Plain, segments: [Name(Text("assoc_const"))] }, input: None }]) }]
|
||||
> Const { name: Some(Name(Text("CONST"))), visibility: RawVisibilityId("pub(self)"), type_ref: Path(Path { type_anchor: None, mod_path: ModPath { kind: Plain, segments: [Name(Text("u8"))] }, generic_args: [None] }), ast_id: FileAstId::<ra_syntax::ast::generated::nodes::ConstDef>(9) }
|
||||
> Const { name: Some(Name(Text("CONST"))), visibility: RawVisibilityId("pub(self)"), type_ref: Path(Path { type_anchor: None, mod_path: ModPath { kind: Plain, segments: [Name(Text("u8"))] }, generic_args: [None] }), ast_id: FileAstId::<ra_syntax::ast::generated::nodes::Const>(9) }
|
||||
> #[Attrs { entries: Some([Attr { path: ModPath { kind: Plain, segments: [Name(Text("assoc_method"))] }, input: None }]) }]
|
||||
> Function { name: Name(Text("method")), visibility: RawVisibilityId("pub(self)"), generic_params: GenericParamsId(4294967295), has_self_param: true, is_unsafe: false, params: [Reference(Path(Path { type_anchor: None, mod_path: ModPath { kind: Plain, segments: [Name(Text("Self"))] }, generic_args: [None] }), Shared)], is_varargs: false, ret_type: Tuple([]), ast_id: FileAstId::<ra_syntax::ast::generated::nodes::Fn>(10) }
|
||||
> #[Attrs { entries: Some([Attr { path: ModPath { kind: Plain, segments: [Name(Text("assoc_dfl_method"))] }, input: None }]) }]
|
||||
|
@ -15,8 +15,8 @@ use crate::{
|
||||
pub type Key<K, V> = crate::dyn_map::Key<InFile<K>, V, AstPtrPolicy<K, V>>;
|
||||
|
||||
pub const FUNCTION: Key<ast::Fn, FunctionId> = Key::new();
|
||||
pub const CONST: Key<ast::ConstDef, ConstId> = Key::new();
|
||||
pub const STATIC: Key<ast::StaticDef, StaticId> = Key::new();
|
||||
pub const CONST: Key<ast::Const, ConstId> = Key::new();
|
||||
pub const STATIC: Key<ast::Static, StaticId> = Key::new();
|
||||
pub const TYPE_ALIAS: Key<ast::TypeAlias, TypeAliasId> = Key::new();
|
||||
pub const IMPL: Key<ast::ImplDef, ImplId> = Key::new();
|
||||
pub const TRAIT: Key<ast::TraitDef, TraitId> = Key::new();
|
||||
@ -24,7 +24,7 @@ pub const STRUCT: Key<ast::Struct, StructId> = Key::new();
|
||||
pub const UNION: Key<ast::Union, UnionId> = Key::new();
|
||||
pub const ENUM: Key<ast::Enum, EnumId> = Key::new();
|
||||
|
||||
pub const ENUM_VARIANT: Key<ast::EnumVariant, EnumVariantId> = Key::new();
|
||||
pub const VARIANT: Key<ast::Variant, EnumVariantId> = Key::new();
|
||||
pub const TUPLE_FIELD: Key<ast::TupleField, FieldId> = Key::new();
|
||||
pub const RECORD_FIELD: Key<ast::RecordField, FieldId> = Key::new();
|
||||
pub const TYPE_PARAM: Key<ast::TypeParam, TypeParamId> = Key::new();
|
||||
|
@ -2,7 +2,7 @@
|
||||
//!
|
||||
//! This module adds the completion items related to implementing associated
|
||||
//! items within a `impl Trait for Struct` block. The current context node
|
||||
//! must be within either a `FN`, `TYPE_ALIAS`, or `CONST_DEF` node
|
||||
//! must be within either a `FN`, `TYPE_ALIAS`, or `CONST` node
|
||||
//! and an direct child of an `IMPL_DEF`.
|
||||
//!
|
||||
//! # Examples
|
||||
@ -87,7 +87,7 @@ pub(crate) fn complete_trait_impl(acc: &mut Completions, ctx: &CompletionContext
|
||||
}
|
||||
}
|
||||
|
||||
SyntaxKind::CONST_DEF => {
|
||||
SyntaxKind::CONST => {
|
||||
for missing_fn in get_missing_assoc_items(&ctx.sema, &impl_def)
|
||||
.into_iter()
|
||||
.filter_map(|item| match item {
|
||||
@ -106,10 +106,9 @@ pub(crate) fn complete_trait_impl(acc: &mut Completions, ctx: &CompletionContext
|
||||
|
||||
fn completion_match(ctx: &CompletionContext) -> Option<(SyntaxNode, ImplDef)> {
|
||||
let (trigger, impl_def_offset) = ctx.token.ancestors().find_map(|p| match p.kind() {
|
||||
SyntaxKind::FN
|
||||
| SyntaxKind::TYPE_ALIAS
|
||||
| SyntaxKind::CONST_DEF
|
||||
| SyntaxKind::BLOCK_EXPR => Some((p, 2)),
|
||||
SyntaxKind::FN | SyntaxKind::TYPE_ALIAS | SyntaxKind::CONST | SyntaxKind::BLOCK_EXPR => {
|
||||
Some((p, 2))
|
||||
}
|
||||
SyntaxKind::NAME_REF => Some((p, 5)),
|
||||
_ => None,
|
||||
})?;
|
||||
@ -201,7 +200,7 @@ fn add_const_impl(
|
||||
}
|
||||
}
|
||||
|
||||
fn make_const_compl_syntax(const_: &ast::ConstDef) -> String {
|
||||
fn make_const_compl_syntax(const_: &ast::Const) -> String {
|
||||
let const_ = edit::remove_attrs_and_docs(const_);
|
||||
|
||||
let const_start = const_.syntax().text_range().start();
|
||||
|
@ -54,7 +54,7 @@ pub(crate) fn function_declaration(node: &ast::Fn) -> String {
|
||||
buf
|
||||
}
|
||||
|
||||
pub(crate) fn const_label(node: &ast::ConstDef) -> String {
|
||||
pub(crate) fn const_label(node: &ast::Const) -> String {
|
||||
let label: String = node
|
||||
.syntax()
|
||||
.children_with_tokens()
|
||||
|
@ -385,10 +385,10 @@ pub(crate) fn docs_from_symbol(db: &RootDatabase, symbol: &FileSymbol) -> Option
|
||||
ast::TraitDef(it) => it.doc_comment_text(),
|
||||
ast::Module(it) => it.doc_comment_text(),
|
||||
ast::TypeAlias(it) => it.doc_comment_text(),
|
||||
ast::ConstDef(it) => it.doc_comment_text(),
|
||||
ast::StaticDef(it) => it.doc_comment_text(),
|
||||
ast::Const(it) => it.doc_comment_text(),
|
||||
ast::Static(it) => it.doc_comment_text(),
|
||||
ast::RecordField(it) => it.doc_comment_text(),
|
||||
ast::EnumVariant(it) => it.doc_comment_text(),
|
||||
ast::Variant(it) => it.doc_comment_text(),
|
||||
ast::MacroCall(it) => it.doc_comment_text(),
|
||||
_ => None,
|
||||
}
|
||||
@ -410,10 +410,10 @@ pub(crate) fn description_from_symbol(db: &RootDatabase, symbol: &FileSymbol) ->
|
||||
ast::TraitDef(it) => it.short_label(),
|
||||
ast::Module(it) => it.short_label(),
|
||||
ast::TypeAlias(it) => it.short_label(),
|
||||
ast::ConstDef(it) => it.short_label(),
|
||||
ast::StaticDef(it) => it.short_label(),
|
||||
ast::Const(it) => it.short_label(),
|
||||
ast::Static(it) => it.short_label(),
|
||||
ast::RecordField(it) => it.short_label(),
|
||||
ast::EnumVariant(it) => it.short_label(),
|
||||
ast::Variant(it) => it.short_label(),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
@ -53,13 +53,13 @@ impl ShortLabel for ast::TypeAlias {
|
||||
}
|
||||
}
|
||||
|
||||
impl ShortLabel for ast::ConstDef {
|
||||
impl ShortLabel for ast::Const {
|
||||
fn short_label(&self) -> Option<String> {
|
||||
short_label_from_ascribed_node(self, "const ")
|
||||
}
|
||||
}
|
||||
|
||||
impl ShortLabel for ast::StaticDef {
|
||||
impl ShortLabel for ast::Static {
|
||||
fn short_label(&self) -> Option<String> {
|
||||
short_label_from_ascribed_node(self, "static ")
|
||||
}
|
||||
@ -71,7 +71,7 @@ impl ShortLabel for ast::RecordField {
|
||||
}
|
||||
}
|
||||
|
||||
impl ShortLabel for ast::EnumVariant {
|
||||
impl ShortLabel for ast::Variant {
|
||||
fn short_label(&self) -> Option<String> {
|
||||
Some(self.name()?.text().to_string())
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ fn try_extend_selection(
|
||||
RECORD_FIELD_LIST,
|
||||
TUPLE_FIELD_LIST,
|
||||
RECORD_EXPR_FIELD_LIST,
|
||||
ENUM_VARIANT_LIST,
|
||||
VARIANT_LIST,
|
||||
USE_TREE_LIST,
|
||||
GENERIC_PARAM_LIST,
|
||||
TYPE_ARG_LIST,
|
||||
|
@ -129,7 +129,7 @@ fn structure_node(node: &SyntaxNode) -> Option<StructureNode> {
|
||||
ast::Struct(it) => decl(it),
|
||||
ast::Union(it) => decl(it),
|
||||
ast::Enum(it) => decl(it),
|
||||
ast::EnumVariant(it) => decl(it),
|
||||
ast::Variant(it) => decl(it),
|
||||
ast::TraitDef(it) => decl(it),
|
||||
ast::Module(it) => decl(it),
|
||||
ast::TypeAlias(it) => {
|
||||
@ -137,8 +137,8 @@ fn structure_node(node: &SyntaxNode) -> Option<StructureNode> {
|
||||
decl_with_type_ref(it, ty)
|
||||
},
|
||||
ast::RecordField(it) => decl_with_ascription(it),
|
||||
ast::ConstDef(it) => decl_with_ascription(it),
|
||||
ast::StaticDef(it) => decl_with_ascription(it),
|
||||
ast::Const(it) => decl_with_ascription(it),
|
||||
ast::Static(it) => decl_with_ascription(it),
|
||||
ast::ImplDef(it) => {
|
||||
let target_type = it.target_type()?;
|
||||
let target_trait = it.target_trait();
|
||||
@ -319,7 +319,7 @@ fn very_obsolete() {}
|
||||
label: "X",
|
||||
navigation_range: 169..170,
|
||||
node_range: 169..170,
|
||||
kind: ENUM_VARIANT,
|
||||
kind: VARIANT,
|
||||
detail: None,
|
||||
deprecated: false,
|
||||
},
|
||||
@ -330,7 +330,7 @@ fn very_obsolete() {}
|
||||
label: "Y",
|
||||
navigation_range: 172..173,
|
||||
node_range: 172..178,
|
||||
kind: ENUM_VARIANT,
|
||||
kind: VARIANT,
|
||||
detail: None,
|
||||
deprecated: false,
|
||||
},
|
||||
@ -350,7 +350,7 @@ fn very_obsolete() {}
|
||||
label: "S",
|
||||
navigation_range: 201..202,
|
||||
node_range: 194..213,
|
||||
kind: STATIC_DEF,
|
||||
kind: STATIC,
|
||||
detail: Some(
|
||||
"i32",
|
||||
),
|
||||
@ -361,7 +361,7 @@ fn very_obsolete() {}
|
||||
label: "C",
|
||||
navigation_range: 220..221,
|
||||
node_range: 214..232,
|
||||
kind: CONST_DEF,
|
||||
kind: CONST,
|
||||
detail: Some(
|
||||
"i32",
|
||||
),
|
||||
|
@ -93,7 +93,7 @@ fn fold_kind(kind: SyntaxKind) -> Option<FoldKind> {
|
||||
| USE_TREE_LIST
|
||||
| BLOCK_EXPR
|
||||
| MATCH_ARM_LIST
|
||||
| ENUM_VARIANT_LIST
|
||||
| VARIANT_LIST
|
||||
| TOKEN_TREE => Some(FoldKind::Block),
|
||||
_ => None,
|
||||
}
|
||||
|
@ -390,7 +390,7 @@ enum Foo {
|
||||
}
|
||||
"#,
|
||||
);
|
||||
check_result(refs, "B ENUM_VARIANT FileId(1) 22..23 22..23 Other", &[]);
|
||||
check_result(refs, "B VARIANT FileId(1) 22..23 22..23 Other", &[]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -714,9 +714,9 @@ fn highlight_name_by_syntax(name: ast::Name) -> Highlight {
|
||||
RECORD_FIELD => HighlightTag::Field,
|
||||
MODULE => HighlightTag::Module,
|
||||
FN => HighlightTag::Function,
|
||||
CONST_DEF => HighlightTag::Constant,
|
||||
STATIC_DEF => HighlightTag::Static,
|
||||
ENUM_VARIANT => HighlightTag::EnumVariant,
|
||||
CONST => HighlightTag::Constant,
|
||||
STATIC => HighlightTag::Static,
|
||||
VARIANT => HighlightTag::EnumVariant,
|
||||
BIND_PAT => HighlightTag::Local,
|
||||
_ => default,
|
||||
};
|
||||
|
@ -166,11 +166,11 @@ pub fn classify_name(sema: &Semantics<RootDatabase>, name: &ast::Name) -> Option
|
||||
let def: hir::Trait = sema.to_def(&it)?;
|
||||
Some(NameClass::Definition(Definition::ModuleDef(def.into())))
|
||||
},
|
||||
ast::StaticDef(it) => {
|
||||
ast::Static(it) => {
|
||||
let def: hir::Static = sema.to_def(&it)?;
|
||||
Some(NameClass::Definition(Definition::ModuleDef(def.into())))
|
||||
},
|
||||
ast::EnumVariant(it) => {
|
||||
ast::Variant(it) => {
|
||||
let def: hir::EnumVariant = sema.to_def(&it)?;
|
||||
Some(NameClass::Definition(Definition::ModuleDef(def.into())))
|
||||
},
|
||||
@ -178,7 +178,7 @@ pub fn classify_name(sema: &Semantics<RootDatabase>, name: &ast::Name) -> Option
|
||||
let def: hir::Function = sema.to_def(&it)?;
|
||||
Some(NameClass::Definition(Definition::ModuleDef(def.into())))
|
||||
},
|
||||
ast::ConstDef(it) => {
|
||||
ast::Const(it) => {
|
||||
let def: hir::Const = sema.to_def(&it)?;
|
||||
Some(NameClass::Definition(Definition::ModuleDef(def.into())))
|
||||
},
|
||||
|
@ -403,8 +403,8 @@ fn to_symbol(node: &SyntaxNode) -> Option<(SmolStr, SyntaxNodePtr, TextRange)> {
|
||||
ast::TraitDef(it) => decl(it),
|
||||
ast::Module(it) => decl(it),
|
||||
ast::TypeAlias(it) => decl(it),
|
||||
ast::ConstDef(it) => decl(it),
|
||||
ast::StaticDef(it) => decl(it),
|
||||
ast::Const(it) => decl(it),
|
||||
ast::Static(it) => decl(it),
|
||||
ast::MacroCall(it) => {
|
||||
if it.is_macro_rules().is_some() {
|
||||
decl(it)
|
||||
|
@ -144,7 +144,7 @@ pub(crate) fn reparser(
|
||||
BLOCK_EXPR => expressions::block_expr,
|
||||
RECORD_FIELD_LIST => items::record_field_def_list,
|
||||
RECORD_EXPR_FIELD_LIST => items::record_field_list,
|
||||
ENUM_VARIANT_LIST => items::enum_variant_list,
|
||||
VARIANT_LIST => items::enum_variant_list,
|
||||
MATCH_ARM_LIST => items::match_arm_list,
|
||||
USE_TREE_LIST => items::use_tree_list,
|
||||
EXTERN_ITEM_LIST => items::extern_item_list,
|
||||
|
@ -91,7 +91,7 @@ pub(crate) fn enum_variant_list(p: &mut Parser) {
|
||||
if p.eat(T![=]) {
|
||||
expressions::expr(p);
|
||||
}
|
||||
var.complete(p, ENUM_VARIANT);
|
||||
var.complete(p, VARIANT);
|
||||
} else {
|
||||
var.abandon(p);
|
||||
p.err_and_bump("expected enum variant");
|
||||
@ -101,7 +101,7 @@ pub(crate) fn enum_variant_list(p: &mut Parser) {
|
||||
}
|
||||
}
|
||||
p.expect(T!['}']);
|
||||
m.complete(p, ENUM_VARIANT_LIST);
|
||||
m.complete(p, VARIANT_LIST);
|
||||
}
|
||||
|
||||
pub(crate) fn record_field_def_list(p: &mut Parser) {
|
||||
|
@ -3,11 +3,11 @@
|
||||
use super::*;
|
||||
|
||||
pub(super) fn static_def(p: &mut Parser, m: Marker) {
|
||||
const_or_static(p, m, T![static], STATIC_DEF)
|
||||
const_or_static(p, m, T![static], STATIC)
|
||||
}
|
||||
|
||||
pub(super) fn const_def(p: &mut Parser, m: Marker) {
|
||||
const_or_static(p, m, T![const], CONST_DEF)
|
||||
const_or_static(p, m, T![const], CONST)
|
||||
}
|
||||
|
||||
fn const_or_static(p: &mut Parser, m: Marker, kw: SyntaxKind, def: SyntaxKind) {
|
||||
|
@ -131,8 +131,8 @@ pub enum SyntaxKind {
|
||||
EXTERN_CRATE,
|
||||
MODULE,
|
||||
USE,
|
||||
STATIC_DEF,
|
||||
CONST_DEF,
|
||||
STATIC,
|
||||
CONST,
|
||||
TRAIT_DEF,
|
||||
IMPL_DEF,
|
||||
TYPE_ALIAS,
|
||||
@ -206,12 +206,12 @@ pub enum SyntaxKind {
|
||||
BIN_EXPR,
|
||||
EXTERN_BLOCK,
|
||||
EXTERN_ITEM_LIST,
|
||||
ENUM_VARIANT,
|
||||
VARIANT,
|
||||
RECORD_FIELD_LIST,
|
||||
RECORD_FIELD,
|
||||
TUPLE_FIELD_LIST,
|
||||
TUPLE_FIELD,
|
||||
ENUM_VARIANT_LIST,
|
||||
VARIANT_LIST,
|
||||
ITEM_LIST,
|
||||
ASSOC_ITEM_LIST,
|
||||
ATTR,
|
||||
|
@ -146,42 +146,28 @@ impl SysrootCrateData {
|
||||
}
|
||||
|
||||
const SYSROOT_CRATES: &str = "
|
||||
std
|
||||
core
|
||||
alloc
|
||||
collections
|
||||
libc
|
||||
proc_macro
|
||||
rustc_unicode
|
||||
std_unicode
|
||||
test
|
||||
alloc_jemalloc
|
||||
alloc_system
|
||||
compiler_builtins
|
||||
getopts
|
||||
panic_unwind
|
||||
core
|
||||
panic_abort
|
||||
rand
|
||||
panic_unwind
|
||||
proc_macro
|
||||
profiler_builtins
|
||||
rtstartup
|
||||
std
|
||||
stdarch
|
||||
term
|
||||
unwind
|
||||
build_helper
|
||||
rustc_asan
|
||||
rustc_lsan
|
||||
rustc_msan
|
||||
rustc_tsan
|
||||
syntax";
|
||||
test
|
||||
unwind";
|
||||
|
||||
const STD_DEPS: &str = "
|
||||
alloc
|
||||
alloc_jemalloc
|
||||
alloc_system
|
||||
core
|
||||
panic_abort
|
||||
rand
|
||||
compiler_builtins
|
||||
unwind
|
||||
rustc_asan
|
||||
rustc_lsan
|
||||
rustc_msan
|
||||
rustc_tsan
|
||||
build_helper";
|
||||
panic_unwind
|
||||
profiler_builtins
|
||||
rtstartup
|
||||
proc_macro
|
||||
stdarch
|
||||
term
|
||||
test
|
||||
unwind";
|
||||
|
@ -139,7 +139,7 @@ fn test_doc_comment_of_statics() {
|
||||
)
|
||||
.ok()
|
||||
.unwrap();
|
||||
let st = file.syntax().descendants().find_map(StaticDef::cast).unwrap();
|
||||
let st = file.syntax().descendants().find_map(Static::cast).unwrap();
|
||||
assert_eq!("Number of levels", st.doc_comment_text().unwrap());
|
||||
}
|
||||
|
||||
|
@ -28,16 +28,17 @@ impl Attr {
|
||||
pub fn r_brack_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![']']) }
|
||||
}
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct ConstDef {
|
||||
pub struct Const {
|
||||
pub(crate) syntax: SyntaxNode,
|
||||
}
|
||||
impl ast::AttrsOwner for ConstDef {}
|
||||
impl ast::NameOwner for ConstDef {}
|
||||
impl ast::VisibilityOwner for ConstDef {}
|
||||
impl ast::TypeAscriptionOwner for ConstDef {}
|
||||
impl ConstDef {
|
||||
impl ast::AttrsOwner for Const {}
|
||||
impl ast::NameOwner for Const {}
|
||||
impl ast::VisibilityOwner for Const {}
|
||||
impl ast::TypeAscriptionOwner for Const {}
|
||||
impl Const {
|
||||
pub fn default_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![default]) }
|
||||
pub fn const_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![const]) }
|
||||
pub fn underscore_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![_]) }
|
||||
pub fn colon_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![:]) }
|
||||
pub fn eq_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![=]) }
|
||||
pub fn body(&self) -> Option<Expr> { support::child(&self.syntax) }
|
||||
@ -53,7 +54,7 @@ impl ast::VisibilityOwner for Enum {}
|
||||
impl ast::GenericParamsOwner for Enum {}
|
||||
impl Enum {
|
||||
pub fn enum_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![enum]) }
|
||||
pub fn variant_list(&self) -> Option<EnumVariantList> { support::child(&self.syntax) }
|
||||
pub fn variant_list(&self) -> Option<VariantList> { support::child(&self.syntax) }
|
||||
}
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct ExternBlock {
|
||||
@ -139,14 +140,14 @@ impl Module {
|
||||
pub fn semicolon_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![;]) }
|
||||
}
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct StaticDef {
|
||||
pub struct Static {
|
||||
pub(crate) syntax: SyntaxNode,
|
||||
}
|
||||
impl ast::AttrsOwner for StaticDef {}
|
||||
impl ast::NameOwner for StaticDef {}
|
||||
impl ast::VisibilityOwner for StaticDef {}
|
||||
impl ast::TypeAscriptionOwner for StaticDef {}
|
||||
impl StaticDef {
|
||||
impl ast::AttrsOwner for Static {}
|
||||
impl ast::NameOwner for Static {}
|
||||
impl ast::VisibilityOwner for Static {}
|
||||
impl ast::TypeAscriptionOwner for Static {}
|
||||
impl Static {
|
||||
pub fn static_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![static]) }
|
||||
pub fn mut_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![mut]) }
|
||||
pub fn colon_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![:]) }
|
||||
@ -427,22 +428,22 @@ impl TupleField {
|
||||
pub fn type_ref(&self) -> Option<TypeRef> { support::child(&self.syntax) }
|
||||
}
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct EnumVariantList {
|
||||
pub struct VariantList {
|
||||
pub(crate) syntax: SyntaxNode,
|
||||
}
|
||||
impl EnumVariantList {
|
||||
impl VariantList {
|
||||
pub fn l_curly_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T!['{']) }
|
||||
pub fn variants(&self) -> AstChildren<EnumVariant> { support::children(&self.syntax) }
|
||||
pub fn variants(&self) -> AstChildren<Variant> { support::children(&self.syntax) }
|
||||
pub fn r_curly_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T!['}']) }
|
||||
}
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct EnumVariant {
|
||||
pub struct Variant {
|
||||
pub(crate) syntax: SyntaxNode,
|
||||
}
|
||||
impl ast::AttrsOwner for EnumVariant {}
|
||||
impl ast::NameOwner for EnumVariant {}
|
||||
impl ast::VisibilityOwner for EnumVariant {}
|
||||
impl EnumVariant {
|
||||
impl ast::AttrsOwner for Variant {}
|
||||
impl ast::NameOwner for Variant {}
|
||||
impl ast::VisibilityOwner for Variant {}
|
||||
impl Variant {
|
||||
pub fn field_list(&self) -> Option<FieldList> { support::child(&self.syntax) }
|
||||
pub fn eq_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![=]) }
|
||||
pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
|
||||
@ -1272,7 +1273,7 @@ impl MetaItem {
|
||||
}
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub enum Item {
|
||||
ConstDef(ConstDef),
|
||||
Const(Const),
|
||||
Enum(Enum),
|
||||
ExternBlock(ExternBlock),
|
||||
ExternCrate(ExternCrate),
|
||||
@ -1280,7 +1281,7 @@ pub enum Item {
|
||||
ImplDef(ImplDef),
|
||||
MacroCall(MacroCall),
|
||||
Module(Module),
|
||||
StaticDef(StaticDef),
|
||||
Static(Static),
|
||||
Struct(Struct),
|
||||
TraitDef(TraitDef),
|
||||
TypeAlias(TypeAlias),
|
||||
@ -1365,7 +1366,7 @@ pub enum Expr {
|
||||
pub enum AssocItem {
|
||||
Fn(Fn),
|
||||
TypeAlias(TypeAlias),
|
||||
ConstDef(ConstDef),
|
||||
Const(Const),
|
||||
MacroCall(MacroCall),
|
||||
}
|
||||
impl ast::AttrsOwner for AssocItem {}
|
||||
@ -1384,7 +1385,7 @@ pub enum AttrInput {
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub enum ExternItem {
|
||||
Fn(Fn),
|
||||
StaticDef(StaticDef),
|
||||
Static(Static),
|
||||
}
|
||||
impl ast::AttrsOwner for ExternItem {}
|
||||
impl ast::NameOwner for ExternItem {}
|
||||
@ -1421,8 +1422,8 @@ impl AstNode for Attr {
|
||||
}
|
||||
fn syntax(&self) -> &SyntaxNode { &self.syntax }
|
||||
}
|
||||
impl AstNode for ConstDef {
|
||||
fn can_cast(kind: SyntaxKind) -> bool { kind == CONST_DEF }
|
||||
impl AstNode for Const {
|
||||
fn can_cast(kind: SyntaxKind) -> bool { kind == CONST }
|
||||
fn cast(syntax: SyntaxNode) -> Option<Self> {
|
||||
if Self::can_cast(syntax.kind()) {
|
||||
Some(Self { syntax })
|
||||
@ -1509,8 +1510,8 @@ impl AstNode for Module {
|
||||
}
|
||||
fn syntax(&self) -> &SyntaxNode { &self.syntax }
|
||||
}
|
||||
impl AstNode for StaticDef {
|
||||
fn can_cast(kind: SyntaxKind) -> bool { kind == STATIC_DEF }
|
||||
impl AstNode for Static {
|
||||
fn can_cast(kind: SyntaxKind) -> bool { kind == STATIC }
|
||||
fn cast(syntax: SyntaxNode) -> Option<Self> {
|
||||
if Self::can_cast(syntax.kind()) {
|
||||
Some(Self { syntax })
|
||||
@ -1806,8 +1807,8 @@ impl AstNode for TupleField {
|
||||
}
|
||||
fn syntax(&self) -> &SyntaxNode { &self.syntax }
|
||||
}
|
||||
impl AstNode for EnumVariantList {
|
||||
fn can_cast(kind: SyntaxKind) -> bool { kind == ENUM_VARIANT_LIST }
|
||||
impl AstNode for VariantList {
|
||||
fn can_cast(kind: SyntaxKind) -> bool { kind == VARIANT_LIST }
|
||||
fn cast(syntax: SyntaxNode) -> Option<Self> {
|
||||
if Self::can_cast(syntax.kind()) {
|
||||
Some(Self { syntax })
|
||||
@ -1817,8 +1818,8 @@ impl AstNode for EnumVariantList {
|
||||
}
|
||||
fn syntax(&self) -> &SyntaxNode { &self.syntax }
|
||||
}
|
||||
impl AstNode for EnumVariant {
|
||||
fn can_cast(kind: SyntaxKind) -> bool { kind == ENUM_VARIANT }
|
||||
impl AstNode for Variant {
|
||||
fn can_cast(kind: SyntaxKind) -> bool { kind == VARIANT }
|
||||
fn cast(syntax: SyntaxNode) -> Option<Self> {
|
||||
if Self::can_cast(syntax.kind()) {
|
||||
Some(Self { syntax })
|
||||
@ -2774,8 +2775,8 @@ impl AstNode for MetaItem {
|
||||
}
|
||||
fn syntax(&self) -> &SyntaxNode { &self.syntax }
|
||||
}
|
||||
impl From<ConstDef> for Item {
|
||||
fn from(node: ConstDef) -> Item { Item::ConstDef(node) }
|
||||
impl From<Const> for Item {
|
||||
fn from(node: Const) -> Item { Item::Const(node) }
|
||||
}
|
||||
impl From<Enum> for Item {
|
||||
fn from(node: Enum) -> Item { Item::Enum(node) }
|
||||
@ -2798,8 +2799,8 @@ impl From<MacroCall> for Item {
|
||||
impl From<Module> for Item {
|
||||
fn from(node: Module) -> Item { Item::Module(node) }
|
||||
}
|
||||
impl From<StaticDef> for Item {
|
||||
fn from(node: StaticDef) -> Item { Item::StaticDef(node) }
|
||||
impl From<Static> for Item {
|
||||
fn from(node: Static) -> Item { Item::Static(node) }
|
||||
}
|
||||
impl From<Struct> for Item {
|
||||
fn from(node: Struct) -> Item { Item::Struct(node) }
|
||||
@ -2819,14 +2820,14 @@ impl From<Use> for Item {
|
||||
impl AstNode for Item {
|
||||
fn can_cast(kind: SyntaxKind) -> bool {
|
||||
match kind {
|
||||
CONST_DEF | ENUM | EXTERN_BLOCK | EXTERN_CRATE | FN | IMPL_DEF | MACRO_CALL
|
||||
| MODULE | STATIC_DEF | STRUCT | TRAIT_DEF | TYPE_ALIAS | UNION | USE => true,
|
||||
CONST | ENUM | EXTERN_BLOCK | EXTERN_CRATE | FN | IMPL_DEF | MACRO_CALL | MODULE
|
||||
| STATIC | STRUCT | TRAIT_DEF | TYPE_ALIAS | UNION | USE => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
fn cast(syntax: SyntaxNode) -> Option<Self> {
|
||||
let res = match syntax.kind() {
|
||||
CONST_DEF => Item::ConstDef(ConstDef { syntax }),
|
||||
CONST => Item::Const(Const { syntax }),
|
||||
ENUM => Item::Enum(Enum { syntax }),
|
||||
EXTERN_BLOCK => Item::ExternBlock(ExternBlock { syntax }),
|
||||
EXTERN_CRATE => Item::ExternCrate(ExternCrate { syntax }),
|
||||
@ -2834,7 +2835,7 @@ impl AstNode for Item {
|
||||
IMPL_DEF => Item::ImplDef(ImplDef { syntax }),
|
||||
MACRO_CALL => Item::MacroCall(MacroCall { syntax }),
|
||||
MODULE => Item::Module(Module { syntax }),
|
||||
STATIC_DEF => Item::StaticDef(StaticDef { syntax }),
|
||||
STATIC => Item::Static(Static { syntax }),
|
||||
STRUCT => Item::Struct(Struct { syntax }),
|
||||
TRAIT_DEF => Item::TraitDef(TraitDef { syntax }),
|
||||
TYPE_ALIAS => Item::TypeAlias(TypeAlias { syntax }),
|
||||
@ -2846,7 +2847,7 @@ impl AstNode for Item {
|
||||
}
|
||||
fn syntax(&self) -> &SyntaxNode {
|
||||
match self {
|
||||
Item::ConstDef(it) => &it.syntax,
|
||||
Item::Const(it) => &it.syntax,
|
||||
Item::Enum(it) => &it.syntax,
|
||||
Item::ExternBlock(it) => &it.syntax,
|
||||
Item::ExternCrate(it) => &it.syntax,
|
||||
@ -2854,7 +2855,7 @@ impl AstNode for Item {
|
||||
Item::ImplDef(it) => &it.syntax,
|
||||
Item::MacroCall(it) => &it.syntax,
|
||||
Item::Module(it) => &it.syntax,
|
||||
Item::StaticDef(it) => &it.syntax,
|
||||
Item::Static(it) => &it.syntax,
|
||||
Item::Struct(it) => &it.syntax,
|
||||
Item::TraitDef(it) => &it.syntax,
|
||||
Item::TypeAlias(it) => &it.syntax,
|
||||
@ -3256,8 +3257,8 @@ impl From<Fn> for AssocItem {
|
||||
impl From<TypeAlias> for AssocItem {
|
||||
fn from(node: TypeAlias) -> AssocItem { AssocItem::TypeAlias(node) }
|
||||
}
|
||||
impl From<ConstDef> for AssocItem {
|
||||
fn from(node: ConstDef) -> AssocItem { AssocItem::ConstDef(node) }
|
||||
impl From<Const> for AssocItem {
|
||||
fn from(node: Const) -> AssocItem { AssocItem::Const(node) }
|
||||
}
|
||||
impl From<MacroCall> for AssocItem {
|
||||
fn from(node: MacroCall) -> AssocItem { AssocItem::MacroCall(node) }
|
||||
@ -3265,7 +3266,7 @@ impl From<MacroCall> for AssocItem {
|
||||
impl AstNode for AssocItem {
|
||||
fn can_cast(kind: SyntaxKind) -> bool {
|
||||
match kind {
|
||||
FN | TYPE_ALIAS | CONST_DEF | MACRO_CALL => true,
|
||||
FN | TYPE_ALIAS | CONST | MACRO_CALL => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
@ -3273,7 +3274,7 @@ impl AstNode for AssocItem {
|
||||
let res = match syntax.kind() {
|
||||
FN => AssocItem::Fn(Fn { syntax }),
|
||||
TYPE_ALIAS => AssocItem::TypeAlias(TypeAlias { syntax }),
|
||||
CONST_DEF => AssocItem::ConstDef(ConstDef { syntax }),
|
||||
CONST => AssocItem::Const(Const { syntax }),
|
||||
MACRO_CALL => AssocItem::MacroCall(MacroCall { syntax }),
|
||||
_ => return None,
|
||||
};
|
||||
@ -3283,7 +3284,7 @@ impl AstNode for AssocItem {
|
||||
match self {
|
||||
AssocItem::Fn(it) => &it.syntax,
|
||||
AssocItem::TypeAlias(it) => &it.syntax,
|
||||
AssocItem::ConstDef(it) => &it.syntax,
|
||||
AssocItem::Const(it) => &it.syntax,
|
||||
AssocItem::MacroCall(it) => &it.syntax,
|
||||
}
|
||||
}
|
||||
@ -3347,20 +3348,20 @@ impl AstNode for AttrInput {
|
||||
impl From<Fn> for ExternItem {
|
||||
fn from(node: Fn) -> ExternItem { ExternItem::Fn(node) }
|
||||
}
|
||||
impl From<StaticDef> for ExternItem {
|
||||
fn from(node: StaticDef) -> ExternItem { ExternItem::StaticDef(node) }
|
||||
impl From<Static> for ExternItem {
|
||||
fn from(node: Static) -> ExternItem { ExternItem::Static(node) }
|
||||
}
|
||||
impl AstNode for ExternItem {
|
||||
fn can_cast(kind: SyntaxKind) -> bool {
|
||||
match kind {
|
||||
FN | STATIC_DEF => true,
|
||||
FN | STATIC => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
fn cast(syntax: SyntaxNode) -> Option<Self> {
|
||||
let res = match syntax.kind() {
|
||||
FN => ExternItem::Fn(Fn { syntax }),
|
||||
STATIC_DEF => ExternItem::StaticDef(StaticDef { syntax }),
|
||||
STATIC => ExternItem::Static(Static { syntax }),
|
||||
_ => return None,
|
||||
};
|
||||
Some(res)
|
||||
@ -3368,7 +3369,7 @@ impl AstNode for ExternItem {
|
||||
fn syntax(&self) -> &SyntaxNode {
|
||||
match self {
|
||||
ExternItem::Fn(it) => &it.syntax,
|
||||
ExternItem::StaticDef(it) => &it.syntax,
|
||||
ExternItem::Static(it) => &it.syntax,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3465,7 +3466,7 @@ impl std::fmt::Display for Attr {
|
||||
std::fmt::Display::fmt(self.syntax(), f)
|
||||
}
|
||||
}
|
||||
impl std::fmt::Display for ConstDef {
|
||||
impl std::fmt::Display for Const {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
std::fmt::Display::fmt(self.syntax(), f)
|
||||
}
|
||||
@ -3505,7 +3506,7 @@ impl std::fmt::Display for Module {
|
||||
std::fmt::Display::fmt(self.syntax(), f)
|
||||
}
|
||||
}
|
||||
impl std::fmt::Display for StaticDef {
|
||||
impl std::fmt::Display for Static {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
std::fmt::Display::fmt(self.syntax(), f)
|
||||
}
|
||||
@ -3640,12 +3641,12 @@ impl std::fmt::Display for TupleField {
|
||||
std::fmt::Display::fmt(self.syntax(), f)
|
||||
}
|
||||
}
|
||||
impl std::fmt::Display for EnumVariantList {
|
||||
impl std::fmt::Display for VariantList {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
std::fmt::Display::fmt(self.syntax(), f)
|
||||
}
|
||||
}
|
||||
impl std::fmt::Display for EnumVariant {
|
||||
impl std::fmt::Display for Variant {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
std::fmt::Display::fmt(self.syntax(), f)
|
||||
}
|
||||
|
@ -247,7 +247,7 @@ impl ast::RecordFieldPat {
|
||||
}
|
||||
}
|
||||
|
||||
impl ast::EnumVariant {
|
||||
impl ast::Variant {
|
||||
pub fn parent_enum(&self) -> ast::Enum {
|
||||
self.syntax()
|
||||
.parent()
|
||||
@ -480,11 +480,11 @@ impl ast::DocCommentsOwner for ast::Union {}
|
||||
impl ast::DocCommentsOwner for ast::RecordField {}
|
||||
impl ast::DocCommentsOwner for ast::TupleField {}
|
||||
impl ast::DocCommentsOwner for ast::Enum {}
|
||||
impl ast::DocCommentsOwner for ast::EnumVariant {}
|
||||
impl ast::DocCommentsOwner for ast::Variant {}
|
||||
impl ast::DocCommentsOwner for ast::TraitDef {}
|
||||
impl ast::DocCommentsOwner for ast::Module {}
|
||||
impl ast::DocCommentsOwner for ast::StaticDef {}
|
||||
impl ast::DocCommentsOwner for ast::ConstDef {}
|
||||
impl ast::DocCommentsOwner for ast::Static {}
|
||||
impl ast::DocCommentsOwner for ast::Const {}
|
||||
impl ast::DocCommentsOwner for ast::TypeAlias {}
|
||||
impl ast::DocCommentsOwner for ast::ImplDef {}
|
||||
impl ast::DocCommentsOwner for ast::MacroCall {}
|
||||
|
@ -146,8 +146,8 @@ fn n_attached_trivias<'a>(
|
||||
trivias: impl Iterator<Item = (SyntaxKind, &'a str)>,
|
||||
) -> usize {
|
||||
match kind {
|
||||
MACRO_CALL | CONST_DEF | TYPE_ALIAS | STRUCT | ENUM | ENUM_VARIANT | FN | TRAIT_DEF
|
||||
| MODULE | RECORD_FIELD | STATIC_DEF => {
|
||||
MACRO_CALL | CONST | TYPE_ALIAS | STRUCT | ENUM | VARIANT | FN | TRAIT_DEF | MODULE
|
||||
| RECORD_FIELD | STATIC => {
|
||||
let mut res = 0;
|
||||
let mut trivias = trivias.enumerate().peekable();
|
||||
|
||||
|
@ -4,7 +4,7 @@ mod block;
|
||||
|
||||
use crate::{
|
||||
ast, match_ast, AstNode, SyntaxError,
|
||||
SyntaxKind::{BYTE, BYTE_STRING, CHAR, CONST_DEF, FN, INT_NUMBER, STRING, TYPE_ALIAS},
|
||||
SyntaxKind::{BYTE, BYTE_STRING, CHAR, CONST, FN, INT_NUMBER, STRING, TYPE_ALIAS},
|
||||
SyntaxNode, SyntaxToken, TextSize, T,
|
||||
};
|
||||
use rustc_lexer::unescape::{
|
||||
@ -200,7 +200,7 @@ fn validate_visibility(vis: ast::Visibility, errors: &mut Vec<SyntaxError>) {
|
||||
None => return,
|
||||
};
|
||||
match parent.kind() {
|
||||
FN | CONST_DEF | TYPE_ALIAS => (),
|
||||
FN | CONST | TYPE_ALIAS => (),
|
||||
_ => return,
|
||||
}
|
||||
|
||||
|
@ -17,15 +17,15 @@ SOURCE_FILE@0..575
|
||||
NAME@21..25
|
||||
IDENT@21..25 "Test"
|
||||
WHITESPACE@25..26 " "
|
||||
ENUM_VARIANT_LIST@26..152
|
||||
VARIANT_LIST@26..152
|
||||
L_CURLY@26..27 "{"
|
||||
WHITESPACE@27..36 "\n "
|
||||
ENUM_VARIANT@36..40
|
||||
VARIANT@36..40
|
||||
NAME@36..40
|
||||
IDENT@36..40 "Var1"
|
||||
COMMA@40..41 ","
|
||||
WHITESPACE@41..50 "\n "
|
||||
ENUM_VARIANT@50..62
|
||||
VARIANT@50..62
|
||||
NAME@50..54
|
||||
IDENT@50..54 "Var2"
|
||||
TUPLE_FIELD_LIST@54..62
|
||||
@ -39,7 +39,7 @@ SOURCE_FILE@0..575
|
||||
R_PAREN@61..62 ")"
|
||||
COMMA@62..63 ","
|
||||
WHITESPACE@63..72 "\n "
|
||||
ENUM_VARIANT@72..145
|
||||
VARIANT@72..145
|
||||
NAME@72..76
|
||||
IDENT@72..76 "Var3"
|
||||
WHITESPACE@76..77 " "
|
||||
@ -85,10 +85,10 @@ SOURCE_FILE@0..575
|
||||
NAME@196..201
|
||||
IDENT@196..201 "Test2"
|
||||
WHITESPACE@201..202 " "
|
||||
ENUM_VARIANT_LIST@202..223
|
||||
VARIANT_LIST@202..223
|
||||
L_CURLY@202..203 "{"
|
||||
WHITESPACE@203..212 "\n "
|
||||
ENUM_VARIANT@212..216
|
||||
VARIANT@212..216
|
||||
NAME@212..216
|
||||
IDENT@212..216 "Fine"
|
||||
COMMA@216..217 ","
|
||||
@ -101,10 +101,10 @@ SOURCE_FILE@0..575
|
||||
NAME@234..239
|
||||
IDENT@234..239 "Test3"
|
||||
WHITESPACE@239..240 " "
|
||||
ENUM_VARIANT_LIST@240..300
|
||||
VARIANT_LIST@240..300
|
||||
L_CURLY@240..241 "{"
|
||||
WHITESPACE@241..250 "\n "
|
||||
ENUM_VARIANT@250..293
|
||||
VARIANT@250..293
|
||||
NAME@250..259
|
||||
IDENT@250..259 "StillFine"
|
||||
WHITESPACE@259..260 " "
|
||||
@ -140,10 +140,10 @@ SOURCE_FILE@0..575
|
||||
NAME@343..348
|
||||
IDENT@343..348 "Test4"
|
||||
WHITESPACE@348..349 " "
|
||||
ENUM_VARIANT_LIST@349..453
|
||||
VARIANT_LIST@349..453
|
||||
L_CURLY@349..350 "{"
|
||||
WHITESPACE@350..363 "\n "
|
||||
ENUM_VARIANT@363..372
|
||||
VARIANT@363..372
|
||||
NAME@363..367
|
||||
IDENT@363..367 "Nope"
|
||||
TUPLE_FIELD_LIST@367..372
|
||||
|
@ -65,7 +65,7 @@ SOURCE_FILE@0..118
|
||||
R_PAREN@79..80 ")"
|
||||
SEMICOLON@80..81 ";"
|
||||
WHITESPACE@81..86 "\n "
|
||||
CONST_DEF@86..115
|
||||
CONST@86..115
|
||||
VISIBILITY@86..96
|
||||
PUB_KW@86..89 "pub"
|
||||
L_PAREN@89..90 "("
|
||||
|
@ -14,7 +14,7 @@ SOURCE_FILE@0..39
|
||||
NAME_REF@12..19
|
||||
IDENT@12..19 "default"
|
||||
WHITESPACE@19..20 " "
|
||||
CONST_DEF@20..36
|
||||
CONST@20..36
|
||||
CONST_KW@20..25 "const"
|
||||
WHITESPACE@25..26 " "
|
||||
NAME@26..27
|
||||
|
@ -17,7 +17,7 @@ SOURCE_FILE@0..50
|
||||
L_CURLY@22..23 "{"
|
||||
R_CURLY@23..24 "}"
|
||||
WHITESPACE@24..25 "\n"
|
||||
CONST_DEF@25..46
|
||||
CONST@25..46
|
||||
UNSAFE_KW@25..31 "unsafe"
|
||||
WHITESPACE@31..32 " "
|
||||
CONST_KW@32..37 "const"
|
||||
|
@ -1,5 +1,5 @@
|
||||
SOURCE_FILE@0..19
|
||||
STATIC_DEF@0..18
|
||||
STATIC@0..18
|
||||
STATIC_KW@0..6 "static"
|
||||
WHITESPACE@6..7 " "
|
||||
ERROR@7..8
|
||||
|
@ -27,7 +27,7 @@ SOURCE_FILE@0..83
|
||||
IDENT@21..26 "Clone"
|
||||
SEMICOLON@26..27 ";"
|
||||
WHITESPACE@27..32 "\n "
|
||||
CONST_DEF@32..45
|
||||
CONST@32..45
|
||||
CONST_KW@32..37 "const"
|
||||
WHITESPACE@37..38 " "
|
||||
NAME@38..39
|
||||
|
@ -26,7 +26,7 @@ SOURCE_FILE@0..89
|
||||
IDENT@22..25 "i32"
|
||||
SEMICOLON@25..26 ";"
|
||||
WHITESPACE@26..31 "\n "
|
||||
CONST_DEF@31..49
|
||||
CONST@31..49
|
||||
CONST_KW@31..36 "const"
|
||||
WHITESPACE@36..37 " "
|
||||
NAME@37..38
|
||||
|
@ -4,7 +4,7 @@ SOURCE_FILE@0..94
|
||||
WHITESPACE@4..5 " "
|
||||
NAME@5..6
|
||||
IDENT@5..6 "F"
|
||||
ENUM_VARIANT_LIST@6..8
|
||||
VARIANT_LIST@6..8
|
||||
L_CURLY@6..7 "{"
|
||||
R_CURLY@7..8 "}"
|
||||
WHITESPACE@8..9 "\n"
|
||||
|
@ -17,15 +17,15 @@ SOURCE_FILE@0..111
|
||||
NAME@32..41
|
||||
IDENT@32..41 "LocalEnum"
|
||||
WHITESPACE@41..42 " "
|
||||
ENUM_VARIANT_LIST@42..75
|
||||
VARIANT_LIST@42..75
|
||||
L_CURLY@42..43 "{"
|
||||
WHITESPACE@43..52 "\n "
|
||||
ENUM_VARIANT@52..55
|
||||
VARIANT@52..55
|
||||
NAME@52..55
|
||||
IDENT@52..55 "One"
|
||||
COMMA@55..56 ","
|
||||
WHITESPACE@56..65 "\n "
|
||||
ENUM_VARIANT@65..68
|
||||
VARIANT@65..68
|
||||
NAME@65..68
|
||||
IDENT@65..68 "Two"
|
||||
COMMA@68..69 ","
|
||||
|
@ -1,5 +1,5 @@
|
||||
SOURCE_FILE@0..40
|
||||
CONST_DEF@0..39
|
||||
CONST@0..39
|
||||
CONST_KW@0..5 "const"
|
||||
WHITESPACE@5..6 " "
|
||||
NAME@6..7
|
||||
|
@ -5,10 +5,10 @@ SOURCE_FILE@0..23
|
||||
NAME@5..6
|
||||
IDENT@5..6 "E"
|
||||
WHITESPACE@6..7 " "
|
||||
ENUM_VARIANT_LIST@7..22
|
||||
VARIANT_LIST@7..22
|
||||
L_CURLY@7..8 "{"
|
||||
WHITESPACE@8..9 " "
|
||||
ENUM_VARIANT@9..20
|
||||
VARIANT@9..20
|
||||
NAME@9..10
|
||||
IDENT@9..10 "X"
|
||||
TUPLE_FIELD_LIST@10..15
|
||||
|
@ -5,7 +5,7 @@ SOURCE_FILE@0..182
|
||||
NAME@5..7
|
||||
IDENT@5..7 "E1"
|
||||
WHITESPACE@7..8 " "
|
||||
ENUM_VARIANT_LIST@8..11
|
||||
VARIANT_LIST@8..11
|
||||
L_CURLY@8..9 "{"
|
||||
WHITESPACE@9..10 "\n"
|
||||
R_CURLY@10..11 "}"
|
||||
@ -22,7 +22,7 @@ SOURCE_FILE@0..182
|
||||
IDENT@21..22 "T"
|
||||
R_ANGLE@22..23 ">"
|
||||
WHITESPACE@23..24 " "
|
||||
ENUM_VARIANT_LIST@24..27
|
||||
VARIANT_LIST@24..27
|
||||
L_CURLY@24..25 "{"
|
||||
WHITESPACE@25..26 "\n"
|
||||
R_CURLY@26..27 "}"
|
||||
@ -33,10 +33,10 @@ SOURCE_FILE@0..182
|
||||
NAME@34..36
|
||||
IDENT@34..36 "E3"
|
||||
WHITESPACE@36..37 " "
|
||||
ENUM_VARIANT_LIST@37..46
|
||||
VARIANT_LIST@37..46
|
||||
L_CURLY@37..38 "{"
|
||||
WHITESPACE@38..43 "\n "
|
||||
ENUM_VARIANT@43..44
|
||||
VARIANT@43..44
|
||||
NAME@43..44
|
||||
IDENT@43..44 "X"
|
||||
WHITESPACE@44..45 "\n"
|
||||
@ -48,10 +48,10 @@ SOURCE_FILE@0..182
|
||||
NAME@53..55
|
||||
IDENT@53..55 "E4"
|
||||
WHITESPACE@55..56 " "
|
||||
ENUM_VARIANT_LIST@56..66
|
||||
VARIANT_LIST@56..66
|
||||
L_CURLY@56..57 "{"
|
||||
WHITESPACE@57..62 "\n "
|
||||
ENUM_VARIANT@62..63
|
||||
VARIANT@62..63
|
||||
NAME@62..63
|
||||
IDENT@62..63 "X"
|
||||
COMMA@63..64 ","
|
||||
@ -64,15 +64,15 @@ SOURCE_FILE@0..182
|
||||
NAME@73..75
|
||||
IDENT@73..75 "E5"
|
||||
WHITESPACE@75..76 " "
|
||||
ENUM_VARIANT_LIST@76..181
|
||||
VARIANT_LIST@76..181
|
||||
L_CURLY@76..77 "{"
|
||||
WHITESPACE@77..82 "\n "
|
||||
ENUM_VARIANT@82..83
|
||||
VARIANT@82..83
|
||||
NAME@82..83
|
||||
IDENT@82..83 "A"
|
||||
COMMA@83..84 ","
|
||||
WHITESPACE@84..89 "\n "
|
||||
ENUM_VARIANT@89..95
|
||||
VARIANT@89..95
|
||||
NAME@89..90
|
||||
IDENT@89..90 "B"
|
||||
WHITESPACE@90..91 " "
|
||||
@ -82,7 +82,7 @@ SOURCE_FILE@0..182
|
||||
INT_NUMBER@93..95 "92"
|
||||
COMMA@95..96 ","
|
||||
WHITESPACE@96..101 "\n "
|
||||
ENUM_VARIANT@101..146
|
||||
VARIANT@101..146
|
||||
NAME@101..102
|
||||
IDENT@101..102 "C"
|
||||
WHITESPACE@102..103 " "
|
||||
@ -119,7 +119,7 @@ SOURCE_FILE@0..182
|
||||
R_CURLY@145..146 "}"
|
||||
COMMA@146..147 ","
|
||||
WHITESPACE@147..152 "\n "
|
||||
ENUM_VARIANT@152..156
|
||||
VARIANT@152..156
|
||||
NAME@152..153
|
||||
IDENT@152..153 "F"
|
||||
WHITESPACE@153..154 " "
|
||||
@ -128,7 +128,7 @@ SOURCE_FILE@0..182
|
||||
R_CURLY@155..156 "}"
|
||||
COMMA@156..157 ","
|
||||
WHITESPACE@157..162 "\n "
|
||||
ENUM_VARIANT@162..169
|
||||
VARIANT@162..169
|
||||
NAME@162..163
|
||||
IDENT@162..163 "D"
|
||||
TUPLE_FIELD_LIST@163..169
|
||||
@ -143,7 +143,7 @@ SOURCE_FILE@0..182
|
||||
R_PAREN@168..169 ")"
|
||||
COMMA@169..170 ","
|
||||
WHITESPACE@170..175 "\n "
|
||||
ENUM_VARIANT@175..178
|
||||
VARIANT@175..178
|
||||
NAME@175..176
|
||||
IDENT@175..176 "E"
|
||||
TUPLE_FIELD_LIST@176..178
|
||||
|
@ -1,5 +1,5 @@
|
||||
SOURCE_FILE@0..47
|
||||
STATIC_DEF@0..20
|
||||
STATIC@0..20
|
||||
STATIC_KW@0..6 "static"
|
||||
WHITESPACE@6..7 " "
|
||||
NAME@7..10
|
||||
@ -18,7 +18,7 @@ SOURCE_FILE@0..47
|
||||
INT_NUMBER@18..19 "1"
|
||||
SEMICOLON@19..20 ";"
|
||||
WHITESPACE@20..21 "\n"
|
||||
STATIC_DEF@21..46
|
||||
STATIC@21..46
|
||||
STATIC_KW@21..27 "static"
|
||||
WHITESPACE@27..28 " "
|
||||
MUT_KW@28..31 "mut"
|
||||
|
@ -1,5 +1,5 @@
|
||||
SOURCE_FILE@0..64
|
||||
CONST_DEF@0..17
|
||||
CONST@0..17
|
||||
CONST_KW@0..5 "const"
|
||||
WHITESPACE@5..6 " "
|
||||
UNDERSCORE@6..7 "_"
|
||||
@ -17,7 +17,7 @@ SOURCE_FILE@0..64
|
||||
INT_NUMBER@15..16 "0"
|
||||
SEMICOLON@16..17 ";"
|
||||
WHITESPACE@17..18 "\n"
|
||||
CONST_DEF@18..38
|
||||
CONST@18..38
|
||||
CONST_KW@18..23 "const"
|
||||
WHITESPACE@23..24 " "
|
||||
NAME@24..27
|
||||
@ -36,7 +36,7 @@ SOURCE_FILE@0..64
|
||||
INT_NUMBER@35..37 "92"
|
||||
SEMICOLON@37..38 ";"
|
||||
WHITESPACE@38..39 "\n"
|
||||
CONST_DEF@39..63
|
||||
CONST@39..63
|
||||
CONST_KW@39..44 "const"
|
||||
WHITESPACE@44..45 " "
|
||||
MUT_KW@45..48 "mut"
|
||||
|
@ -262,10 +262,10 @@ SOURCE_FILE@0..395
|
||||
NAME@348..349
|
||||
IDENT@348..349 "A"
|
||||
WHITESPACE@349..350 " "
|
||||
ENUM_VARIANT_LIST@350..367
|
||||
VARIANT_LIST@350..367
|
||||
L_CURLY@350..351 "{"
|
||||
WHITESPACE@351..356 "\n "
|
||||
ENUM_VARIANT@356..365
|
||||
VARIANT@356..365
|
||||
NAME@356..357
|
||||
IDENT@356..357 "B"
|
||||
TUPLE_FIELD_LIST@357..365
|
||||
|
@ -19,7 +19,7 @@ SOURCE_FILE@0..46
|
||||
ASSOC_ITEM_LIST@15..45
|
||||
L_CURLY@15..16 "{"
|
||||
WHITESPACE@16..19 "\n "
|
||||
CONST_DEF@19..43
|
||||
CONST@19..43
|
||||
DEFAULT_KW@19..26 "default"
|
||||
WHITESPACE@26..27 " "
|
||||
CONST_KW@27..32 "const"
|
||||
|
@ -34,14 +34,14 @@ pub(crate) fn symbol_kind(syntax_kind: SyntaxKind) -> lsp_types::SymbolKind {
|
||||
SyntaxKind::FN => lsp_types::SymbolKind::Function,
|
||||
SyntaxKind::STRUCT => lsp_types::SymbolKind::Struct,
|
||||
SyntaxKind::ENUM => lsp_types::SymbolKind::Enum,
|
||||
SyntaxKind::ENUM_VARIANT => lsp_types::SymbolKind::EnumMember,
|
||||
SyntaxKind::VARIANT => lsp_types::SymbolKind::EnumMember,
|
||||
SyntaxKind::TRAIT_DEF => lsp_types::SymbolKind::Interface,
|
||||
SyntaxKind::MACRO_CALL => lsp_types::SymbolKind::Function,
|
||||
SyntaxKind::MODULE => lsp_types::SymbolKind::Module,
|
||||
SyntaxKind::TYPE_ALIAS => lsp_types::SymbolKind::TypeParameter,
|
||||
SyntaxKind::RECORD_FIELD => lsp_types::SymbolKind::Field,
|
||||
SyntaxKind::STATIC_DEF => lsp_types::SymbolKind::Constant,
|
||||
SyntaxKind::CONST_DEF => lsp_types::SymbolKind::Constant,
|
||||
SyntaxKind::STATIC => lsp_types::SymbolKind::Constant,
|
||||
SyntaxKind::CONST => lsp_types::SymbolKind::Constant,
|
||||
SyntaxKind::IMPL_DEF => lsp_types::SymbolKind::Object,
|
||||
_ => lsp_types::SymbolKind::Variable,
|
||||
}
|
||||
|
@ -101,8 +101,8 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc {
|
||||
"EXTERN_CRATE",
|
||||
"MODULE",
|
||||
"USE",
|
||||
"STATIC_DEF",
|
||||
"CONST_DEF",
|
||||
"STATIC",
|
||||
"CONST",
|
||||
"TRAIT_DEF",
|
||||
"IMPL_DEF",
|
||||
"TYPE_ALIAS",
|
||||
@ -179,12 +179,12 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc {
|
||||
"BIN_EXPR",
|
||||
"EXTERN_BLOCK",
|
||||
"EXTERN_ITEM_LIST",
|
||||
"ENUM_VARIANT",
|
||||
"VARIANT",
|
||||
"RECORD_FIELD_LIST",
|
||||
"RECORD_FIELD",
|
||||
"TUPLE_FIELD_LIST",
|
||||
"TUPLE_FIELD",
|
||||
"ENUM_VARIANT_LIST",
|
||||
"VARIANT_LIST",
|
||||
"ITEM_LIST",
|
||||
"ASSOC_ITEM_LIST",
|
||||
"ATTR",
|
||||
|
@ -4,7 +4,7 @@ SourceFile =
|
||||
Item*
|
||||
|
||||
Item =
|
||||
ConstDef
|
||||
Const
|
||||
| Enum
|
||||
| ExternBlock
|
||||
| ExternCrate
|
||||
@ -12,7 +12,7 @@ Item =
|
||||
| ImplDef
|
||||
| MacroCall
|
||||
| Module
|
||||
| StaticDef
|
||||
| Static
|
||||
| Struct
|
||||
| TraitDef
|
||||
| TypeAlias
|
||||
@ -100,18 +100,26 @@ FieldList =
|
||||
|
||||
Enum =
|
||||
Attr* Visibility? 'enum' Name GenericParamList? WhereClause?
|
||||
variant_list:EnumVariantList
|
||||
VariantList
|
||||
|
||||
EnumVariantList =
|
||||
'{' variants:EnumVariant* '}'
|
||||
VariantList =
|
||||
'{' (Variant (',' Variant)* ','?)? '}'
|
||||
|
||||
EnumVariant =
|
||||
Variant =
|
||||
Attr* Visibility? Name FieldList ('=' Expr)?
|
||||
|
||||
Union =
|
||||
Attr* Visibility? 'union' Name GenericParamList? WhereClause?
|
||||
RecordFieldList
|
||||
|
||||
Const =
|
||||
Attr* Visibility? 'default'? 'const' (Name | '_') ':' ascribed_type:TypeRef
|
||||
'=' body:Expr ';'
|
||||
|
||||
Static =
|
||||
Attr* Visibility? 'static'? 'mut'? Name ':' ascribed_type:TypeRef
|
||||
'=' body:Expr ';'
|
||||
|
||||
TraitDef =
|
||||
Attr* Visibility? 'unsafe'? 'auto'? 'trait' Name GenericParamList
|
||||
(':' TypeBoundList?)? WhereClause
|
||||
@ -120,14 +128,6 @@ TraitDef =
|
||||
AssocItemList =
|
||||
'{' AssocItem* '}'
|
||||
|
||||
ConstDef =
|
||||
Attr* Visibility? 'default'? 'const' Name ':' ascribed_type:TypeRef
|
||||
'=' body:Expr ';'
|
||||
|
||||
StaticDef =
|
||||
Attr* Visibility? 'static'? 'mut'? 'static' Name ':' ascribed_type:TypeRef
|
||||
'=' body:Expr ';'
|
||||
|
||||
ImplDef =
|
||||
Attr* Visibility? 'const'? 'default'? 'unsafe'? 'impl' GenericParamList? '!'? 'for'
|
||||
WhereClause?
|
||||
@ -475,11 +475,11 @@ TypeRef =
|
||||
AssocItem =
|
||||
Fn
|
||||
| TypeAlias
|
||||
| ConstDef
|
||||
| Const
|
||||
| MacroCall
|
||||
|
||||
ExternItem =
|
||||
Fn | StaticDef
|
||||
Fn | Static
|
||||
|
||||
AttrInput =
|
||||
Literal
|
||||
|
Loading…
Reference in New Issue
Block a user