util.rs 726 B

12345678910111213141516171819202122
  1. use crate::derive_cache::*;
  2. use flowy_ast::{Ctxt, TyInfo};
  3. pub fn ident_category(ident: &syn::Ident) -> TypeCategory {
  4. let ident_str: &str = &ident.to_string();
  5. category_from_str(ident_str)
  6. }
  7. pub(crate) fn get_member_ident<'a>(ctxt: &Ctxt, member: &'a syn::Member) -> Option<&'a syn::Ident> {
  8. if let syn::Member::Named(ref ident) = member {
  9. Some(ident)
  10. } else {
  11. ctxt.error_spanned_by(member, "Unsupported member, shouldn't be self.0".to_string());
  12. None
  13. }
  14. }
  15. pub fn assert_bracket_ty_is_some(ctxt: &Ctxt, ty_info: &TyInfo) {
  16. if ty_info.bracket_ty_info.is_none() {
  17. ctxt.error_spanned_by(ty_info.ty, "Invalid bracketed type when gen de token steam".to_string());
  18. }
  19. }