mirror of
https://github.com/github/codeql.git
synced 2026-04-27 17:55:19 +02:00
Rust: fix linting script
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
use proc_macro::TokenStream;
|
||||
use quote::{quote, format_ident};
|
||||
use syn;
|
||||
|
||||
use quote::{format_ident, quote};
|
||||
|
||||
/// Allow all fields in the extractor config to be also overrideable by extractor CLI flags
|
||||
#[proc_macro_attribute]
|
||||
@@ -9,33 +7,37 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea
|
||||
let ast = syn::parse_macro_input!(item as syn::ItemStruct);
|
||||
let name = &ast.ident;
|
||||
let new_name = format_ident!("Cli{}", name);
|
||||
let fields: Vec<_> = ast.fields.iter().map(|f| {
|
||||
let id = f.ident.as_ref().unwrap();
|
||||
let ty = &f.ty;
|
||||
if let syn::Type::Path(p) = ty {
|
||||
if p.path.is_ident(&format_ident!("bool")) {
|
||||
return quote! {
|
||||
let fields: Vec<_> = ast
|
||||
.fields
|
||||
.iter()
|
||||
.map(|f| {
|
||||
let id = f.ident.as_ref().unwrap();
|
||||
let ty = &f.ty;
|
||||
if let syn::Type::Path(p) = ty {
|
||||
if p.path.is_ident(&format_ident!("bool")) {
|
||||
return quote! {
|
||||
#[arg(long)]
|
||||
#id: bool,
|
||||
};
|
||||
}
|
||||
}
|
||||
if id == &format_ident!("verbose") {
|
||||
quote! {
|
||||
#[arg(long, short, action=clap::ArgAction::Count)]
|
||||
#id: u8,
|
||||
}
|
||||
} else if id == &format_ident!("inputs") {
|
||||
quote! {
|
||||
#id: #ty,
|
||||
}
|
||||
} else {
|
||||
quote! {
|
||||
#[arg(long)]
|
||||
#id: bool,
|
||||
};
|
||||
#id: Option<#ty>,
|
||||
}
|
||||
}
|
||||
}
|
||||
if id == &format_ident!("verbose") {
|
||||
quote! {
|
||||
#[arg(long, short, action=clap::ArgAction::Count)]
|
||||
#id: u8,
|
||||
}
|
||||
} else if id == &format_ident!("inputs") {
|
||||
quote! {
|
||||
#id: #ty,
|
||||
}
|
||||
} else {
|
||||
quote! {
|
||||
#[arg(long)]
|
||||
#id: Option<#ty>,
|
||||
}
|
||||
}
|
||||
}).collect();
|
||||
})
|
||||
.collect();
|
||||
let gen = quote! {
|
||||
#[serde_with::apply(_ => #[serde(default)])]
|
||||
#[derive(Debug, Deserialize, Default)]
|
||||
|
||||
Reference in New Issue
Block a user