INNER CODE UNIT · Rust

parse_method_decl

dontpanic92/OpenPAL3 · crosscom/ccidl-rs/src/lib.rs:698

fn parse_method_decl(decl: &str, attrs: Attrs) -> Result<Method, String> {
    let open = decl
        .find('(')
        .ok_or_else(|| format!("method missing '(' in {decl:?}"))?;
    let close = decl
        .rfind(')')
        .ok_or_else(|| format!("method missing ')' in {decl:?}"))?;
    let prefix = decl[..open].trim();
    let (ret_ty, name) = split_type_and_name(prefix)?;

    let params_src = decl[open + 1..close].trim();
    let mut params = Vec::new();
    if !params_src.is_empty() {
        for param in split_params(params_src) {
            params.push(parse_param(param.trim())?);
        }
    }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…