Trait bindgen::callbacks::ParseCallbacks
source · pub trait ParseCallbacks: Debug + UnwindSafe {
fn will_parse_macro(&self, _name: &str) -> MacroParsingBehavior { ... }
fn int_macro(&self, _name: &str, _value: i64) -> Option<IntKind> { ... }
fn str_macro(&self, _name: &str, _value: &[u8]) { ... }
fn enum_variant_behavior(
&self,
_enum_name: Option<&str>,
_original_variant_name: &str,
_variant_value: EnumVariantValue
) -> Option<EnumVariantCustomBehavior> { ... }
fn enum_variant_name(
&self,
_enum_name: Option<&str>,
_original_variant_name: &str,
_variant_value: EnumVariantValue
) -> Option<String> { ... }
fn item_name(&self, _original_item_name: &str) -> Option<String> { ... }
}
Expand description
A trait to allow configuring different kinds of types in different situations.
Provided Methods§
sourcefn will_parse_macro(&self, _name: &str) -> MacroParsingBehavior
fn will_parse_macro(&self, _name: &str) -> MacroParsingBehavior
This function will be run on every macro that is identified.
sourcefn int_macro(&self, _name: &str, _value: i64) -> Option<IntKind>
fn int_macro(&self, _name: &str, _value: i64) -> Option<IntKind>
The integer kind an integer macro should have, given a name and the
value of that macro, or None
if you want the default to be chosen.
sourcefn str_macro(&self, _name: &str, _value: &[u8])
fn str_macro(&self, _name: &str, _value: &[u8])
This will be run on every string macro. The callback can not influence the further treatment of the macro, but may use the value to generate additional code or configuration.
sourcefn enum_variant_behavior(
&self,
_enum_name: Option<&str>,
_original_variant_name: &str,
_variant_value: EnumVariantValue
) -> Option<EnumVariantCustomBehavior>
fn enum_variant_behavior(
&self,
_enum_name: Option<&str>,
_original_variant_name: &str,
_variant_value: EnumVariantValue
) -> Option<EnumVariantCustomBehavior>
This function should return whether, given an enum variant name, and value, this enum variant will forcibly be a constant.
sourcefn enum_variant_name(
&self,
_enum_name: Option<&str>,
_original_variant_name: &str,
_variant_value: EnumVariantValue
) -> Option<String>
fn enum_variant_name(
&self,
_enum_name: Option<&str>,
_original_variant_name: &str,
_variant_value: EnumVariantValue
) -> Option<String>
Allows to rename an enum variant, replacing _original_variant_name
.