Slide 30
Slide 30 text
Refactoring Engine
RefactoringKinds.def :
CURSOR_REFACTORING(Frenchify, "Frenchify", frenchify.expr)
Refactoring.cpp :
bool RefactoringActionFrenchify::isApplicable(ResolvedCursorInfo
CursorInfo) {
return true;
}
bool RefactoringActionFrenchify::performChange() {
EditConsumer.insert(SM, Cursor.TrailingExpr->getStartLoc(), "Le ");
EditConsumer.insertAfter(SM, Cursor.TrailingExpr->getEndLoc(), " ");
return false; // Return true if code change aborted.
}