use syn::{self, Ident};
use crate::internals::ast::Container;
use crate::bound;
#[derive(Debug)]
pub struct Parameters {
pub self_var: Ident,
pub this: syn::Path,
pub generics: syn::Generics,
}
impl Parameters {
pub fn new(cont: &Container) -> Self {
let self_var = Ident::new("self");
let this = cont.ident.clone().into();
let generics = build_generics(cont);
Parameters {
self_var: self_var,
this: this,
generics: generics,
}
}
}
fn build_generics(cont: &Container) -> syn::Generics {
bound::without_defaults(cont.generics)
}