clang API Documentation

Functions
EditedSource.cpp File Reference
#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"
Include dependency graph for EditedSource.cpp:

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)

Function Documentation

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]
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().