clang API Documentation
#include "clang/Edit/EditedSource.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Edit/Commit.h"
#include "clang/Edit/EditsReceiver.h"
#include "clang/Lex/Lexer.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/Twine.h"
Go to the source code of this file.
Functions | |
static bool | canBeJoined (char left, char right, const LangOptions &LangOpts) |
static bool | canRemoveWhitespace (char left, char beforeWSpace, char right, const LangOptions &LangOpts) |
Returns true if it is ok to eliminate the trailing whitespace between the given characters. | |
static void | adjustRemoval (const SourceManager &SM, const LangOptions &LangOpts, SourceLocation Loc, FileOffset offs, unsigned &len, StringRef &text) |
Check the range that we are going to remove and: | |
static void | applyRewrite (EditsReceiver &receiver, StringRef text, FileOffset offs, unsigned len, const SourceManager &SM, const LangOptions &LangOpts) |
static void adjustRemoval | ( | const SourceManager & | SM, |
const LangOptions & | LangOpts, | ||
SourceLocation | Loc, | ||
FileOffset | offs, | ||
unsigned & | len, | ||
StringRef & | text | ||
) | [static] |
Check the range that we are going to remove and:
-Remove any trailing whitespace if possible. -Insert a space if removing the range is going to mess up the source tokens.
Definition at line 267 of file EditedSource.cpp.
References canBeJoined(), canRemoveWhitespace(), clang::Lexer::GetBeginningOfToken(), clang::SourceManager::getBufferData(), clang::edit::FileOffset::getFID(), and clang::edit::FileOffset::getOffset().
Referenced by applyRewrite().
static void applyRewrite | ( | EditsReceiver & | receiver, |
StringRef | text, | ||
FileOffset | offs, | ||
unsigned | len, | ||
const SourceManager & | SM, | ||
const LangOptions & | LangOpts | ||
) | [static] |
Definition at line 310 of file EditedSource.cpp.
References adjustRemoval(), clang::CharSourceRange::getCharRange(), clang::edit::FileOffset::getFID(), clang::SourceManager::getLocForStartOfFile(), clang::SourceLocation::getLocWithOffset(), clang::edit::FileOffset::getOffset(), clang::edit::EditsReceiver::insert(), clang::FileID::isInvalid(), clang::edit::EditsReceiver::remove(), and clang::edit::EditsReceiver::replace().
Referenced by clang::edit::EditedSource::applyRewrites().
static bool canBeJoined | ( | char | left, |
char | right, | ||
const LangOptions & | LangOpts | ||
) | [static] |
Definition at line 244 of file EditedSource.cpp.
References clang::Lexer::isIdentifierBodyChar().
Referenced by adjustRemoval(), and canRemoveWhitespace().
static bool canRemoveWhitespace | ( | char | left, |
char | beforeWSpace, | ||
char | right, | ||
const LangOptions & | LangOpts | ||
) | [static] |
Returns true if it is ok to eliminate the trailing whitespace between the given characters.
Definition at line 253 of file EditedSource.cpp.
References canBeJoined(), and clang::isWhitespace().
Referenced by adjustRemoval().