Use built-in method

This commit is contained in:
Yuki Kodama 2020-05-24 23:43:44 +09:00
parent 378bfc3c8f
commit 408d04764c

View file

@ -187,14 +187,6 @@ impl FunctionSignature {
impl From<&'_ ast::FnDef> for FunctionSignature {
fn from(node: &ast::FnDef) -> FunctionSignature {
fn strip_leading_underscore(name: String) -> String {
if name.starts_with("_") {
name.get(1..).unwrap_or_default().to_string()
} else {
name
}
}
fn param_list(node: &ast::FnDef) -> (bool, Vec<String>, Vec<String>) {
let mut res = vec![];
let mut res_types = vec![];
@ -238,15 +230,17 @@ impl From<&'_ ast::FnDef> for FunctionSignature {
param_list
.params()
.map(|param| {
Some(strip_leading_underscore(
Some(
param
.pat()?
.syntax()
.descendants()
.find_map(ast::Name::cast)?
.text()
.to_string(),
))
.to_string()
.trim_start_matches('_')
.into(),
)
})
.map(|param| param.unwrap_or_default()),
);