Mostly just shuffling macros around to get basic, untyped EventEmitter support for FileDecorationProvider.onDidChangeFileDecorations. Typed event emitters would be ideal but are probably best left to a full vscode_bindgen crate instead of the macro_rules! hacks currently used.
T4NQUSRPQAIACUZLVDPXMNISBHKMD73A22H5SGQWIDQZD675VAZAC class_wrapper, empty_function_caller, field_getter, field_setter, function_caller,function_setter, interface_builder, object_event_handler, static_class_method,
class_wrapper, class_wrapper_empty, empty_function_caller, field_getter, field_setter,function_caller, function_setter, interface_builder, object_event_handler, static_class_method,
($class_name:ident($($argument_name:ident: $argument_type:ty),*)) => {
($class_name:ident($($argument_name:ident: $argument_type:ty),+)) => {crate::vscode_sys::macros::class_wrapper_inner! {::napi::bindgen_prelude::FnArgs<($($argument_type,)*)>,::napi::bindgen_prelude::FnArgs::from(($($argument_name,)*)),$class_name($($argument_name: $argument_type),+)}};}macro_rules! class_wrapper_empty {($class_name:ident) => {crate::vscode_sys::macros::class_wrapper_inner! {(),(),$class_name()}};}macro_rules! class_wrapper_inner {($constructor_args_type:ty, $constructor_args_initializer:expr, $class_name:ident($($argument_name:ident: $argument_type:ty),*)) => {
let constructor: bindgen_prelude::Function<bindgen_prelude::FnArgs<($($argument_type,)*)>, bindgen_prelude::Object> = vscode_object.get_named_property(stringify!($class_name))?;
let constructor: bindgen_prelude::Function<$constructor_args_type, bindgen_prelude::Object> = vscode_object.get_named_property(stringify!($class_name))?;
pub(crate) use class_wrapper_empty;pub(crate) use class_wrapper_inner;