diff options
-rw-r--r-- | bindgen-integration/build.rs | 10 | ||||
-rw-r--r-- | bindgen-integration/cpp/Test.cc | 4 | ||||
-rw-r--r-- | bindgen-integration/cpp/Test.h | 4 | ||||
-rwxr-xr-x | bindgen-integration/src/lib.rs | 6 |
4 files changed, 24 insertions, 0 deletions
diff --git a/bindgen-integration/build.rs b/bindgen-integration/build.rs index f7e8b4eb..1a86add1 100644 --- a/bindgen-integration/build.rs +++ b/bindgen-integration/build.rs @@ -23,6 +23,16 @@ impl ParseCallbacks for MacroCallback { MacroParsingBehavior::Default } + + fn item_name(&self, original_item_name: &str) -> Option<String> { + if original_item_name.starts_with("my_prefixed_") { + Some(original_item_name.trim_start_matches("my_prefixed_").to_string()) + } else if original_item_name.starts_with("MY_PREFIXED_") { + Some(original_item_name.trim_start_matches("MY_PREFIXED_").to_string()) + } else { + None + } + } } fn main() { diff --git a/bindgen-integration/cpp/Test.cc b/bindgen-integration/cpp/Test.cc index 80ae0239..03981eaf 100644 --- a/bindgen-integration/cpp/Test.cc +++ b/bindgen-integration/cpp/Test.cc @@ -130,4 +130,8 @@ Seventh::assert(bool first, this->seventh_thirty_bits == seventh; }; +int my_prefixed_function_name() { + return 4; +} + } // namespace bitfields diff --git a/bindgen-integration/cpp/Test.h b/bindgen-integration/cpp/Test.h index 8b9ad8d5..10f1b57f 100644 --- a/bindgen-integration/cpp/Test.h +++ b/bindgen-integration/cpp/Test.h @@ -178,3 +178,7 @@ struct AutoRestoreBool { struct WithWChar { wchar_t foo[30]; }; + +const int MY_PREFIXED_CONST_VALUE = 3; + +int my_prefixed_function_name();
\ No newline at end of file diff --git a/bindgen-integration/src/lib.rs b/bindgen-integration/src/lib.rs index 74b4df4f..c37ed335 100755 --- a/bindgen-integration/src/lib.rs +++ b/bindgen-integration/src/lib.rs @@ -282,3 +282,9 @@ fn test_virtual_dtor() { assert_eq!(bindings::VirtualDestructor_sDestructorCount, 1); } } + +#[test] +fn test_item_rename() { + assert_eq!(bindings::CONST_VALUE, 3); + assert_eq!(bindings::function_name(), 4); +}
\ No newline at end of file |