From e0f90a8e384615c79d7d51c66d19294d75e79391 Mon Sep 17 00:00:00 2001 From: HampusM Date: Sat, 27 Aug 2022 23:41:41 +0200 Subject: feat: implement named bindings --- macros/src/dependency_type.rs | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 macros/src/dependency_type.rs (limited to 'macros/src/dependency_type.rs') diff --git a/macros/src/dependency_type.rs b/macros/src/dependency_type.rs deleted file mode 100644 index 35f810e..0000000 --- a/macros/src/dependency_type.rs +++ /dev/null @@ -1,40 +0,0 @@ -use proc_macro2::Ident; -use syn::{GenericArgument, PathArguments, Type, TypePath}; - -pub struct DependencyType -{ - pub interface: Type, - pub ptr: Ident, -} - -impl DependencyType -{ - pub fn from_type_path(type_path: &TypePath) -> Option - { - // Assume the type path has a last segment. - let last_path_segment = type_path.path.segments.last().unwrap(); - - let ptr = &last_path_segment.ident; - - match &last_path_segment.arguments { - PathArguments::AngleBracketed(angle_bracketed_generic_args) => { - let generic_args = &angle_bracketed_generic_args.args; - - let opt_first_generic_arg = generic_args.first(); - - // Assume a first generic argument exists because TransientPtr, - // SingletonPtr and FactoryPtr requires one - let first_generic_arg = opt_first_generic_arg.as_ref().unwrap(); - - match first_generic_arg { - GenericArgument::Type(first_generic_arg_type) => Some(Self { - interface: first_generic_arg_type.clone(), - ptr: ptr.clone(), - }), - &_ => None, - } - } - &_ => None, - } - } -} -- cgit v1.2.3-18-g5258