Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'xtask/src/codegen/grammar/ast_src.rs')
-rw-r--r--xtask/src/codegen/grammar/ast_src.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/xtask/src/codegen/grammar/ast_src.rs b/xtask/src/codegen/grammar/ast_src.rs
index 564d9cc24e..a0abdf09d3 100644
--- a/xtask/src/codegen/grammar/ast_src.rs
+++ b/xtask/src/codegen/grammar/ast_src.rs
@@ -111,8 +111,19 @@ const RESERVED: &[&str] = &[
];
// keywords that are keywords only in specific parse contexts
#[doc(alias = "WEAK_KEYWORDS")]
-const CONTEXTUAL_KEYWORDS: &[&str] =
- &["macro_rules", "union", "default", "raw", "dyn", "auto", "yeet", "safe", "bikeshed"];
+const CONTEXTUAL_KEYWORDS: &[&str] = &[
+ "macro_rules",
+ "union",
+ "default",
+ "raw",
+ "dyn",
+ "auto",
+ "yeet",
+ "safe",
+ "bikeshed",
+ "cfg_attr",
+ "cfg",
+];
// keywords we use for special macro expansions
const CONTEXTUAL_BUILTIN_KEYWORDS: &[&str] = &[
"asm",
@@ -261,7 +272,7 @@ pub(crate) struct AstNodeSrc {
#[derive(Debug, Eq, PartialEq)]
pub(crate) enum Field {
- Token(String),
+ Token { name: Option<String>, token: String },
Node { name: String, ty: String, cardinality: Cardinality },
}