web-sys: Provide more info in logs when type conversion fails

This commit is contained in:
Nick Fitzgerald 2018-08-15 11:45:45 -07:00
parent a40f83ea1b
commit c1f7b42662
2 changed files with 16 additions and 3 deletions

View File

@ -812,7 +812,12 @@ impl<'src> WebidlParse<'src, &'src str> for weedle::interface::ConstMember<'src>
let ty = match idl_type.to_syn_type(TypePosition::Return) {
None => {
warn!("Can not convert const type to syn type: {:?}", idl_type);
warn!(
"Cannot convert const type to syn type: {:?} in {:?} on {:?}",
idl_type,
self,
self_name
);
return Ok(());
},
Some(ty) => ty,

View File

@ -235,7 +235,11 @@ impl<'src> FirstPassRecord<'src> {
ret @ _ => {
match ret.to_syn_type(TypePosition::Return) {
None => {
warn!("Can not convert return type to syn type: {:?}", ret);
warn!(
"Cannot convert return type to syn type: {:?} on {:?}",
ret,
rust_name
);
return Vec::new();
},
Some(ret) => Some(ret),
@ -315,7 +319,11 @@ impl<'src> FirstPassRecord<'src> {
let syn_type = if let Some(syn_type) = idl_type.to_syn_type(TypePosition::Argument) {
syn_type
} else {
warn!("Can not convert argument type to syn type: {:?}", idl_type);
warn!(
"Cannot convert argument type to syn type: {:?} on {:?}",
idl_type,
rust_name
);
continue 'outer;
};
let argument_name = rust_ident(&argument_name.to_snake_case());