Skip to content

Commit d04b838

Browse files
committed
move is_builtin_attr to syntax::attr
1 parent 4d9fde5 commit d04b838

File tree

6 files changed

+13
-17
lines changed

6 files changed

+13
-17
lines changed

src/librustc_passes/ast_validation.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ use rustc_parse::validate_attr;
1414
use syntax::ast::*;
1515
use syntax::attr;
1616
use syntax::expand::is_proc_macro_attr;
17-
use syntax::feature_gate::is_builtin_attr;
1817
use syntax::print::pprust;
1918
use syntax::source_map::Spanned;
2019
use syntax::symbol::{kw, sym};
@@ -257,7 +256,7 @@ impl<'a> AstValidator<'a> {
257256
.flat_map(|i| i.attrs.as_ref())
258257
.filter(|attr| {
259258
let arr = [sym::allow, sym::cfg, sym::cfg_attr, sym::deny, sym::forbid, sym::warn];
260-
!arr.contains(&attr.name_or_empty()) && is_builtin_attr(attr)
259+
!arr.contains(&attr.name_or_empty()) && attr::is_builtin_attr(attr)
261260
})
262261
.for_each(|attr| if attr.is_doc_comment() {
263262
let mut err = self.err_handler().struct_span_err(

src/librustc_resolve/build_reduced_graph.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,8 @@ use errors::Applicability;
2929

3030
use syntax::ast::{Name, Ident};
3131
use syntax::attr;
32-
3332
use syntax::ast::{self, Block, ForeignItem, ForeignItemKind, Item, ItemKind, NodeId};
3433
use syntax::ast::{MetaItemKind, StmtKind, TraitItem, TraitItemKind};
35-
use syntax::feature_gate::is_builtin_attr;
3634
use syntax::token::{self, Token};
3735
use syntax::print::pprust;
3836
use syntax::{span_err, struct_span_err};
@@ -1231,7 +1229,7 @@ impl<'a, 'b> Visitor<'b> for BuildReducedGraphVisitor<'a, 'b> {
12311229
}
12321230

12331231
fn visit_attribute(&mut self, attr: &'b ast::Attribute) {
1234-
if !attr.is_doc_comment() && is_builtin_attr(attr) {
1232+
if !attr.is_doc_comment() && attr::is_builtin_attr(attr) {
12351233
self.r.builtin_attrs.push(
12361234
(attr.get_normal_item().path.segments[0].ident, self.parent_scope)
12371235
);

src/libsyntax/attr/builtin.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
33
use crate::ast::{self, Attribute, MetaItem, NestedMetaItem};
44
use crate::feature_gate::{find_gated_cfg, emit_feature_err, GatedCfg, GateIssue};
5+
use crate::feature_gate::is_builtin_attr_name;
56
use crate::print::pprust;
67
use crate::sess::ParseSess;
78

@@ -10,12 +11,17 @@ use std::num::NonZeroU32;
1011
use syntax_pos::hygiene::Transparency;
1112
use syntax_pos::{symbol::Symbol, symbol::sym, Span};
1213
use rustc_feature::Features;
14+
1315
use rustc_macros::HashStable_Generic;
1416

1517
use super::{mark_used, MetaItemKind};
1618

1719
use rustc_error_codes::*;
1820

21+
pub fn is_builtin_attr(attr: &Attribute) -> bool {
22+
attr.ident().filter(|ident| is_builtin_attr_name(ident.name)).is_some()
23+
}
24+
1925
enum AttrError {
2026
MultipleItem(String),
2127
UnknownMetaItem(String, &'static [&'static str]),

src/libsyntax/feature_gate/builtin_attrs.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,9 @@
33
use AttributeType::*;
44
use AttributeGate::*;
55

6+
use rustc_data_structures::fx::FxHashMap;
67
use rustc_feature::{Features, Stability};
7-
8-
use crate::ast;
9-
108
use syntax_pos::symbol::{Symbol, sym};
11-
use rustc_data_structures::fx::FxHashMap;
129
use lazy_static::lazy_static;
1310

1411
type GateFn = fn(&Features) -> bool;
@@ -580,14 +577,10 @@ pub fn deprecated_attributes() -> Vec<&'static BuiltinAttribute> {
580577
BUILTIN_ATTRIBUTES.iter().filter(|(.., gate)| gate.is_deprecated()).collect()
581578
}
582579

583-
pub fn is_builtin_attr_name(name: ast::Name) -> bool {
580+
pub fn is_builtin_attr_name(name: Symbol) -> bool {
584581
BUILTIN_ATTRIBUTE_MAP.get(&name).is_some()
585582
}
586583

587-
pub fn is_builtin_attr(attr: &ast::Attribute) -> bool {
588-
attr.ident().and_then(|ident| BUILTIN_ATTRIBUTE_MAP.get(&ident.name)).is_some()
589-
}
590-
591584
lazy_static! {
592585
pub static ref BUILTIN_ATTRIBUTE_MAP: FxHashMap<Symbol, &'static BuiltinAttribute> = {
593586
let mut map = FxHashMap::default();

src/libsyntax/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ pub mod feature_gate {
103103
pub use builtin_attrs::{
104104
AttributeGate, AttributeTemplate, AttributeType, find_gated_cfg, GatedCfg,
105105
BuiltinAttribute, BUILTIN_ATTRIBUTES, BUILTIN_ATTRIBUTE_MAP,
106-
deprecated_attributes, is_builtin_attr, is_builtin_attr_name,
106+
deprecated_attributes, is_builtin_attr_name,
107107
};
108108
}
109109
pub mod mut_visit;

src/libsyntax_expand/expand.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ use rustc_parse::parser::Parser;
1212
use rustc_parse::validate_attr;
1313
use syntax::ast::{self, AttrItem, Block, Ident, LitKind, NodeId, PatKind, Path};
1414
use syntax::ast::{MacStmtStyle, StmtKind, ItemKind};
15-
use syntax::attr::{self, HasAttrs};
15+
use syntax::attr::{self, HasAttrs, is_builtin_attr};
1616
use syntax::source_map::respan;
17-
use syntax::feature_gate::{self, GateIssue, is_builtin_attr, emit_feature_err};
17+
use syntax::feature_gate::{self, GateIssue, emit_feature_err};
1818
use syntax::mut_visit::*;
1919
use syntax::print::pprust;
2020
use syntax::ptr::P;

0 commit comments

Comments
 (0)