clang  6.0.0svn
Public Member Functions | List of all members
clang::tooling::Replacement Class Reference

A text replacement. More...

#include "clang/Tooling/Core/Replacement.h"

Public Member Functions

 Replacement ()
 Creates an invalid (not applicable) replacement. More...
 
 Replacement (StringRef FilePath, unsigned Offset, unsigned Length, StringRef ReplacementText)
 Creates a replacement of the range [Offset, Offset+Length) in FilePath with ReplacementText. More...
 
 Replacement (const SourceManager &Sources, SourceLocation Start, unsigned Length, StringRef ReplacementText)
 Creates a Replacement of the range [Start, Start+Length) with ReplacementText. More...
 
 Replacement (const SourceManager &Sources, const CharSourceRange &Range, StringRef ReplacementText, const LangOptions &LangOpts=LangOptions())
 Creates a Replacement of the given range with ReplacementText. More...
 
template<typename Node >
 Replacement (const SourceManager &Sources, const Node &NodeToReplace, StringRef ReplacementText, const LangOptions &LangOpts=LangOptions())
 Creates a Replacement of the node with ReplacementText. More...
 
bool isApplicable () const
 Returns whether this replacement can be applied to a file. More...
 
bool apply (Rewriter &Rewrite) const
 Applies the replacement on the Rewriter. More...
 
std::string toString () const
 Returns a human readable string representation. More...
 
StringRef getFilePath () const
 Accessors. More...
 
unsigned getOffset () const
 
unsigned getLength () const
 
StringRef getReplacementText () const
 

Detailed Description

A text replacement.

Represents a SourceManager independent replacement of a range of text in a specific file.

Definition at line 81 of file Replacement.h.

Constructor & Destructor Documentation

◆ Replacement() [1/5]

clang::tooling::Replacement::Replacement ( )

Creates an invalid (not applicable) replacement.

Definition at line 33 of file Replacement.cpp.

Referenced by clang::tooling::calculateRangesAfterReplacements(), and clang::tooling::getRangeSize().

◆ Replacement() [2/5]

clang::tooling::Replacement::Replacement ( StringRef  FilePath,
unsigned  Offset,
unsigned  Length,
StringRef  ReplacementText 
)

Creates a replacement of the range [Offset, Offset+Length) in FilePath with ReplacementText.

Parameters
FilePathA source file accessible via a SourceManager.
OffsetThe byte offset of the start of the range in the file.
LengthThe length of the range in bytes.

Definition at line 35 of file Replacement.cpp.

◆ Replacement() [3/5]

clang::tooling::Replacement::Replacement ( const SourceManager Sources,
SourceLocation  Start,
unsigned  Length,
StringRef  ReplacementText 
)

Creates a Replacement of the range [Start, Start+Length) with ReplacementText.

Definition at line 40 of file Replacement.cpp.

◆ Replacement() [4/5]

clang::tooling::Replacement::Replacement ( const SourceManager Sources,
const CharSourceRange Range,
StringRef  ReplacementText,
const LangOptions LangOpts = LangOptions() 
)

Creates a Replacement of the given range with ReplacementText.

Definition at line 45 of file Replacement.cpp.

◆ Replacement() [5/5]

template<typename Node >
clang::tooling::Replacement::Replacement ( const SourceManager Sources,
const Node NodeToReplace,
StringRef  ReplacementText,
const LangOptions LangOpts = LangOptions() 
)

Creates a Replacement of the node with ReplacementText.

Definition at line 355 of file Replacement.h.

References clang::CharSourceRange::getTokenRange().

Member Function Documentation

◆ apply()

bool clang::tooling::Replacement::apply ( Rewriter Rewrite) const

◆ getFilePath()

StringRef clang::tooling::Replacement::getFilePath ( ) const
inline

◆ getLength()

unsigned clang::tooling::Replacement::getLength ( ) const
inline

◆ getOffset()

unsigned clang::tooling::Replacement::getOffset ( ) const
inline

◆ getReplacementText()

StringRef clang::tooling::Replacement::getReplacementText ( ) const
inline

◆ isApplicable()

bool clang::tooling::Replacement::isApplicable ( ) const

Returns whether this replacement can be applied to a file.

Only replacements that are in a valid file can be applied.

Definition at line 52 of file Replacement.cpp.

References clang::tooling::InvalidLocation.

◆ toString()

std::string clang::tooling::Replacement::toString ( ) const

Returns a human readable string representation.

Definition at line 75 of file Replacement.cpp.

References clang::tooling::Range::getLength(), and clang::tooling::Range::getOffset().


The documentation for this class was generated from the following files: