clang 22.0.0git
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.
 Replacement (StringRef FilePath, unsigned Offset, unsigned Length, StringRef ReplacementText)
 Creates a replacement of the range [Offset, Offset+Length) in FilePath with ReplacementText.
 Replacement (const SourceManager &Sources, SourceLocation Start, unsigned Length, StringRef ReplacementText)
 Creates a Replacement of the range [Start, Start+Length) with ReplacementText.
 Replacement (const SourceManager &Sources, const CharSourceRange &Range, StringRef ReplacementText, const LangOptions &LangOpts=LangOptions())
 Creates a Replacement of the given range with ReplacementText.
template<typename Node>
 Replacement (const SourceManager &Sources, const Node &NodeToReplace, StringRef ReplacementText, const LangOptions &LangOpts=LangOptions())
 Creates a Replacement of the node with ReplacementText.
bool isApplicable () const
 Returns whether this replacement can be applied to a file.
bool apply (Rewriter &Rewrite) const
 Applies the replacement on the Rewriter.
std::string toString () const
 Returns a human readable string representation.
StringRef getFilePath () const
 Accessors.
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 83 of file Replacement.h.

Constructor & Destructor Documentation

◆ Replacement() [1/5]

Replacement::Replacement ( )

Creates an invalid (not applicable) replacement.

Definition at line 45 of file Replacement.cpp.

References InvalidLocation.

◆ Replacement() [2/5]

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 47 of file Replacement.cpp.

◆ Replacement() [3/5]

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 52 of file Replacement.cpp.

◆ Replacement() [4/5]

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 57 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 362 of file Replacement.h.

References clang::CharSourceRange::getTokenRange().

Member Function Documentation

◆ apply()

bool Replacement::apply ( Rewriter & Rewrite) const

Applies the replacement on the Rewriter.

Definition at line 68 of file Replacement.cpp.

References clang::SrcMgr::C_User, clang::Rewrite, and SM.

Referenced by clang::tooling::applyAllReplacements().

◆ getFilePath()

◆ getLength()

◆ getOffset()

◆ getReplacementText()

◆ isApplicable()

bool 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 64 of file Replacement.cpp.

References InvalidLocation.

◆ toString()

std::string Replacement::toString ( ) const

Returns a human readable string representation.

Definition at line 87 of file Replacement.cpp.

References clang::Result.

Referenced by clang::tooling::RefactoringASTConsumer::HandleTranslationUnit(), and clang::format::TokenAnalyzer::process().


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