Move cfg attrs up to the mod definitions to disable sourcegen

This commit is contained in:
Amos Wenger 2022-07-23 17:23:13 +02:00
parent 753456232b
commit e0add21c2b
8 changed files with 7 additions and 32 deletions

View file

@ -1,5 +1,6 @@
mod sourcegen;
mod generated; mod generated;
#[cfg(not(feature = "in-rust-tree"))]
mod sourcegen;
use expect_test::expect; use expect_test::expect;
use hir::{db::DefDatabase, Semantics}; use hir::{db::DefDatabase, Semantics};

View file

@ -1,12 +1,9 @@
//! Generates `assists.md` documentation. //! Generates `assists.md` documentation.
#[cfg(not(feature = "in-rust-tree"))]
use std::{fmt, fs, path::Path}; use std::{fmt, fs, path::Path};
#[cfg(not(feature = "in-rust-tree"))]
use test_utils::project_root; use test_utils::project_root;
#[cfg(not(feature = "in-rust-tree"))]
#[test] #[test]
fn sourcegen_assists_docs() { fn sourcegen_assists_docs() {
let assists = Assist::collect(); let assists = Assist::collect();
@ -63,7 +60,6 @@ r#####"
} }
} }
#[cfg(not(feature = "in-rust-tree"))]
#[derive(Debug)] #[derive(Debug)]
struct Section { struct Section {
doc: String, doc: String,
@ -71,7 +67,6 @@ struct Section {
after: String, after: String,
} }
#[cfg(not(feature = "in-rust-tree"))]
#[derive(Debug)] #[derive(Debug)]
struct Assist { struct Assist {
id: String, id: String,
@ -79,7 +74,6 @@ struct Assist {
sections: Vec<Section>, sections: Vec<Section>,
} }
#[cfg(not(feature = "in-rust-tree"))]
impl Assist { impl Assist {
fn collect() -> Vec<Assist> { fn collect() -> Vec<Assist> {
let handlers_dir = project_root().join("crates/ide-assists/src/handlers"); let handlers_dir = project_root().join("crates/ide-assists/src/handlers");
@ -144,7 +138,6 @@ impl Assist {
} }
} }
#[cfg(not(feature = "in-rust-tree"))]
impl fmt::Display for Assist { impl fmt::Display for Assist {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let _ = writeln!( let _ = writeln!(
@ -179,7 +172,6 @@ impl fmt::Display for Assist {
} }
} }
#[cfg(not(feature = "in-rust-tree"))]
fn hide_hash_comments(text: &str) -> String { fn hide_hash_comments(text: &str) -> String {
text.split('\n') // want final newline text.split('\n') // want final newline
.filter(|&it| !(it.starts_with("# ") || it == "#")) .filter(|&it| !(it.starts_with("# ") || it == "#"))
@ -187,7 +179,6 @@ fn hide_hash_comments(text: &str) -> String {
.collect() .collect()
} }
#[cfg(not(feature = "in-rust-tree"))]
fn reveal_hash_comments(text: &str) -> String { fn reveal_hash_comments(text: &str) -> String {
text.split('\n') // want final newline text.split('\n') // want final newline
.map(|it| { .map(|it| {

View file

@ -1,3 +1,4 @@
#[cfg(not(feature = "in-rust-tree"))]
mod sourcegen; mod sourcegen;
use expect_test::Expect; use expect_test::Expect;

View file

@ -1,12 +1,9 @@
//! Generates `assists.md` documentation. //! Generates `assists.md` documentation.
#[cfg(not(feature = "in-rust-tree"))]
use std::{fmt, fs, io, path::PathBuf}; use std::{fmt, fs, io, path::PathBuf};
#[cfg(not(feature = "in-rust-tree"))]
use sourcegen::project_root; use sourcegen::project_root;
#[cfg(not(feature = "in-rust-tree"))]
#[test] #[test]
fn sourcegen_diagnostic_docs() { fn sourcegen_diagnostic_docs() {
let diagnostics = Diagnostic::collect().unwrap(); let diagnostics = Diagnostic::collect().unwrap();
@ -17,7 +14,6 @@ fn sourcegen_diagnostic_docs() {
fs::write(&dst, &contents).unwrap(); fs::write(&dst, &contents).unwrap();
} }
#[cfg(not(feature = "in-rust-tree"))]
#[derive(Debug)] #[derive(Debug)]
struct Diagnostic { struct Diagnostic {
id: String, id: String,
@ -25,7 +21,6 @@ struct Diagnostic {
doc: String, doc: String,
} }
#[cfg(not(feature = "in-rust-tree"))]
impl Diagnostic { impl Diagnostic {
fn collect() -> io::Result<Vec<Diagnostic>> { fn collect() -> io::Result<Vec<Diagnostic>> {
let handlers_dir = project_root().join("crates/ide-diagnostics/src/handlers"); let handlers_dir = project_root().join("crates/ide-diagnostics/src/handlers");
@ -56,7 +51,6 @@ impl Diagnostic {
} }
} }
#[cfg(not(feature = "in-rust-tree"))]
fn is_valid_diagnostic_name(diagnostic: &str) -> Result<(), String> { fn is_valid_diagnostic_name(diagnostic: &str) -> Result<(), String> {
let diagnostic = diagnostic.trim(); let diagnostic = diagnostic.trim();
if diagnostic.find(char::is_whitespace).is_some() { if diagnostic.find(char::is_whitespace).is_some() {
@ -72,7 +66,6 @@ fn is_valid_diagnostic_name(diagnostic: &str) -> Result<(), String> {
Ok(()) Ok(())
} }
#[cfg(not(feature = "in-rust-tree"))]
impl fmt::Display for Diagnostic { impl fmt::Display for Diagnostic {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
writeln!(f, "=== {}\n**Source:** {}\n{}", self.id, self.location, self.doc) writeln!(f, "=== {}\n**Source:** {}\n{}", self.id, self.location, self.doc)

View file

@ -10,10 +10,11 @@
#![warn(rust_2018_idioms, unused_lifetimes, semicolon_in_expressions_from_macros)] #![warn(rust_2018_idioms, unused_lifetimes, semicolon_in_expressions_from_macros)]
#[cfg(not(feature = "in-rust-tree"))]
mod sourcegen; mod sourcegen;
mod tidy;
mod testdir;
mod support; mod support;
mod testdir;
mod tidy;
use std::{collections::HashMap, path::PathBuf, time::Instant}; use std::{collections::HashMap, path::PathBuf, time::Instant};

View file

@ -1,9 +1,7 @@
//! Generates `assists.md` documentation. //! Generates `assists.md` documentation.
#[cfg(not(feature = "in-rust-tree"))]
use std::{fmt, fs, io, path::PathBuf}; use std::{fmt, fs, io, path::PathBuf};
#[cfg(not(feature = "in-rust-tree"))]
#[test] #[test]
fn sourcegen_feature_docs() { fn sourcegen_feature_docs() {
let features = Feature::collect().unwrap(); let features = Feature::collect().unwrap();
@ -19,7 +17,6 @@ fn sourcegen_feature_docs() {
fs::write(&dst, &contents).unwrap(); fs::write(&dst, &contents).unwrap();
} }
#[cfg(not(feature = "in-rust-tree"))]
#[derive(Debug)] #[derive(Debug)]
struct Feature { struct Feature {
id: String, id: String,
@ -27,7 +24,6 @@ struct Feature {
doc: String, doc: String,
} }
#[cfg(not(feature = "in-rust-tree"))]
impl Feature { impl Feature {
fn collect() -> io::Result<Vec<Feature>> { fn collect() -> io::Result<Vec<Feature>> {
let crates_dir = sourcegen::project_root().join("crates"); let crates_dir = sourcegen::project_root().join("crates");
@ -58,7 +54,6 @@ impl Feature {
} }
} }
#[cfg(not(feature = "in-rust-tree"))]
fn is_valid_feature_name(feature: &str) -> Result<(), String> { fn is_valid_feature_name(feature: &str) -> Result<(), String> {
'word: for word in feature.split_whitespace() { 'word: for word in feature.split_whitespace() {
for short in ["to", "and"] { for short in ["to", "and"] {
@ -78,7 +73,6 @@ fn is_valid_feature_name(feature: &str) -> Result<(), String> {
Ok(()) Ok(())
} }
#[cfg(not(feature = "in-rust-tree"))]
impl fmt::Display for Feature { impl fmt::Display for Feature {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
writeln!(f, "=== {}\n**Source:** {}\n{}", self.id, self.location, self.doc) writeln!(f, "=== {}\n**Source:** {}\n{}", self.id, self.location, self.doc)

View file

@ -1,3 +1,4 @@
#[cfg(not(feature = "in-rust-tree"))]
mod ast_src; mod ast_src;
#[cfg(not(feature = "in-rust-tree"))] #[cfg(not(feature = "in-rust-tree"))]
mod sourcegen_ast; mod sourcegen_ast;

View file

@ -1,6 +1,5 @@
//! Defines input for code generation process. //! Defines input for code generation process.
#[cfg(not(feature = "in-rust-tree"))]
pub(crate) struct KindsSrc<'a> { pub(crate) struct KindsSrc<'a> {
pub(crate) punct: &'a [(&'a str, &'a str)], pub(crate) punct: &'a [(&'a str, &'a str)],
pub(crate) keywords: &'a [&'a str], pub(crate) keywords: &'a [&'a str],
@ -10,7 +9,6 @@ pub(crate) struct KindsSrc<'a> {
pub(crate) nodes: &'a [&'a str], pub(crate) nodes: &'a [&'a str],
} }
#[cfg(not(feature = "in-rust-tree"))]
pub(crate) const KINDS_SRC: KindsSrc<'_> = KindsSrc { pub(crate) const KINDS_SRC: KindsSrc<'_> = KindsSrc {
punct: &[ punct: &[
(";", "SEMICOLON"), (";", "SEMICOLON"),
@ -218,7 +216,6 @@ pub(crate) const KINDS_SRC: KindsSrc<'_> = KindsSrc {
], ],
}; };
#[cfg(not(feature = "in-rust-tree"))]
#[derive(Default, Debug)] #[derive(Default, Debug)]
pub(crate) struct AstSrc { pub(crate) struct AstSrc {
pub(crate) tokens: Vec<String>, pub(crate) tokens: Vec<String>,
@ -226,7 +223,6 @@ pub(crate) struct AstSrc {
pub(crate) enums: Vec<AstEnumSrc>, pub(crate) enums: Vec<AstEnumSrc>,
} }
#[cfg(not(feature = "in-rust-tree"))]
#[derive(Debug)] #[derive(Debug)]
pub(crate) struct AstNodeSrc { pub(crate) struct AstNodeSrc {
pub(crate) doc: Vec<String>, pub(crate) doc: Vec<String>,
@ -235,21 +231,18 @@ pub(crate) struct AstNodeSrc {
pub(crate) fields: Vec<Field>, pub(crate) fields: Vec<Field>,
} }
#[cfg(not(feature = "in-rust-tree"))]
#[derive(Debug, Eq, PartialEq)] #[derive(Debug, Eq, PartialEq)]
pub(crate) enum Field { pub(crate) enum Field {
Token(String), Token(String),
Node { name: String, ty: String, cardinality: Cardinality }, Node { name: String, ty: String, cardinality: Cardinality },
} }
#[cfg(not(feature = "in-rust-tree"))]
#[derive(Debug, Eq, PartialEq)] #[derive(Debug, Eq, PartialEq)]
pub(crate) enum Cardinality { pub(crate) enum Cardinality {
Optional, Optional,
Many, Many,
} }
#[cfg(not(feature = "in-rust-tree"))]
#[derive(Debug)] #[derive(Debug)]
pub(crate) struct AstEnumSrc { pub(crate) struct AstEnumSrc {
pub(crate) doc: Vec<String>, pub(crate) doc: Vec<String>,