Support doc-comments in define_dep_nodes
This commit is contained in:
parent
05886e28a4
commit
c630c87ceb
3 changed files with 12 additions and 8 deletions
|
@ -344,7 +344,6 @@ pub fn rustc_queries(input: TokenStream) -> TokenStream {
|
||||||
#name,
|
#name,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
all_names.extend(quote! { #name, });
|
|
||||||
|
|
||||||
let mut attributes = Vec::new();
|
let mut attributes = Vec::new();
|
||||||
|
|
||||||
|
@ -394,13 +393,18 @@ pub fn rustc_queries(input: TokenStream) -> TokenStream {
|
||||||
// be very useful.
|
// be very useful.
|
||||||
let span = name.span();
|
let span = name.span();
|
||||||
let attribute_stream = quote_spanned! {span=> #(#attributes),*};
|
let attribute_stream = quote_spanned! {span=> #(#attributes),*};
|
||||||
let doc_comments = query.doc_comments.iter();
|
let doc_comments = &query.doc_comments;
|
||||||
// Add the query to the group
|
// Add the query to the group
|
||||||
query_stream.extend(quote! {
|
query_stream.extend(quote! {
|
||||||
#(#doc_comments)*
|
#(#doc_comments)*
|
||||||
[#attribute_stream] fn #name(#arg) #result,
|
[#attribute_stream] fn #name(#arg) #result,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
all_names.extend(quote! {
|
||||||
|
#(#doc_comments)*
|
||||||
|
#name,
|
||||||
|
});
|
||||||
|
|
||||||
add_query_description_impl(&query, &mut query_description_stream);
|
add_query_description_impl(&query, &mut query_description_stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,7 @@ impl DepKind {
|
||||||
|
|
||||||
macro_rules! define_dep_nodes {
|
macro_rules! define_dep_nodes {
|
||||||
(
|
(
|
||||||
$( $variant:ident, )*
|
$( $( #[$attr:meta] )* $variant:ident, )+
|
||||||
) => (
|
) => (
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! make_dep_kind_array {
|
macro_rules! make_dep_kind_array {
|
||||||
|
@ -155,7 +155,7 @@ macro_rules! define_dep_nodes {
|
||||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Encodable, Decodable)]
|
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Encodable, Decodable)]
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
pub enum DepKind {
|
pub enum DepKind {
|
||||||
$($variant),*
|
$( $( #[$attr] )* $variant),*
|
||||||
}
|
}
|
||||||
|
|
||||||
fn dep_kind_from_label_string(label: &str) -> Result<DepKind, ()> {
|
fn dep_kind_from_label_string(label: &str) -> Result<DepKind, ()> {
|
||||||
|
@ -177,9 +177,9 @@ macro_rules! define_dep_nodes {
|
||||||
}
|
}
|
||||||
|
|
||||||
rustc_query_names!(define_dep_nodes![
|
rustc_query_names!(define_dep_nodes![
|
||||||
// We use this for most things when incr. comp. is turned off.
|
/// We use this for most things when incr. comp. is turned off.
|
||||||
Null,
|
Null,
|
||||||
// We use this to create a forever-red node.
|
/// We use this to create a forever-red node.
|
||||||
Red,
|
Red,
|
||||||
TraitSelect,
|
TraitSelect,
|
||||||
CompileCodegenUnit,
|
CompileCodegenUnit,
|
||||||
|
|
|
@ -307,7 +307,7 @@ pub fn alloc_self_profile_query_strings(tcx: TyCtxt<'_>) {
|
||||||
|
|
||||||
macro_rules! alloc_once {
|
macro_rules! alloc_once {
|
||||||
(
|
(
|
||||||
$($name:ident,)*
|
$( $( #[$attr:meta] )* $name:ident, )+
|
||||||
) => {
|
) => {
|
||||||
$({
|
$({
|
||||||
alloc_self_profile_query_strings_for_query_cache(
|
alloc_self_profile_query_strings_for_query_cache(
|
||||||
|
@ -316,7 +316,7 @@ pub fn alloc_self_profile_query_strings(tcx: TyCtxt<'_>) {
|
||||||
&tcx.query_caches.$name,
|
&tcx.query_caches.$name,
|
||||||
&mut string_cache,
|
&mut string_cache,
|
||||||
);
|
);
|
||||||
})*
|
})+
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue