mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-06-19 16:01:23 +00:00
webidl: Make logging a little more consistently formatted
This commit makes these changes: * Unsupported constructs always log "unsupported" for easy `grep`ing * There is always a "<generic message> : <details>" format now, so we can easily use `cut` to grab the generic message and count which kinds of things are our biggest missing features. * Make sure that we have different `warn!` logs for each kind of unsupported thing, instead of grouping them together. Put all that together and this is the current state of `wasm-bindgen-webidl` and `web-sys`: ``` $ grep WARN stderr.txt | grep wasm_bindgen_webidl | grep -i unsupported | cut -d ' ' -f5- | cut -d ':' -f 1 | sort | uniq -c | sort -rn 387 Unsupported WebIDL Dictionary definition 139 Unsupported argument type 70 Unsupported return type 47 Unsupported WebIDL Callback definition 22 Unsupported WebIDL extended attribute 18 Unsupported unnamed operation 9 Unsupported WebIDL CallbackInterface definition 7 Unsupported WebIDL Stringifier interface member 7 Unsupported WebIDL Maplike interface member 2 Unsupported webidl stringifier 2 Unsupported WebIDL Setlike interface member 2 Unsupported stringifier on type ```
This commit is contained in:
@ -236,7 +236,7 @@ impl<'src> FirstPassRecord<'src> {
|
||||
match ret.to_syn_type(TypePosition::Return) {
|
||||
None => {
|
||||
warn!(
|
||||
"Cannot convert return type to syn type: {:?} on {:?}",
|
||||
"Unsupported return type: {:?} on {:?}",
|
||||
ret,
|
||||
rust_name
|
||||
);
|
||||
@ -320,7 +320,7 @@ impl<'src> FirstPassRecord<'src> {
|
||||
syn_type
|
||||
} else {
|
||||
warn!(
|
||||
"Cannot convert argument type to syn type: {:?} on {:?}",
|
||||
"Unsupported argument type: {:?} on {:?}",
|
||||
idl_type,
|
||||
rust_name
|
||||
);
|
||||
@ -397,7 +397,7 @@ impl<'src> FirstPassRecord<'src> {
|
||||
first_pass::OperationId::Constructor => panic!("constructors are unsupported"),
|
||||
first_pass::OperationId::Operation(name) => match name {
|
||||
None => {
|
||||
warn!("Operations without a name are unsupported");
|
||||
warn!("Unsupported unnamed operation: {:?}", operation_id);
|
||||
return Vec::new();
|
||||
}
|
||||
Some(name) => name,
|
||||
@ -541,7 +541,7 @@ impl<'src> FirstPassRecord<'src> {
|
||||
let name = match operation_name {
|
||||
Some(name) => name.to_string(),
|
||||
None => {
|
||||
warn!("Operations without a name are unsupported");
|
||||
warn!("Unsupported unnamed operation: on {:?}", self_name);
|
||||
return Vec::new();
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user