https://github.com/lukhnos/refactorial is based on clang and claims
Transforms Provided
Accessor: Synthesize getters and setters for designated member
variables
MethodMove: Move inlined member function bodies to the implementation
file
ExtractParameter: promote a function variable to a parameter to that
function
TypeRename: Rename types, including tag types (enum, struct, union,
class), template classes, Objective-C types (class and protocol),
typedefs and even bulit-in types (e.g. unsigned to uint32_t)
RecordFieldRename: Rename record (struct, union) fields, including C++
member variables
FunctionRename: Rename functions, including C++ member functions
Works via specifications in a YAML configuration file. I haven't tried it out (yet).