clang 22.0.0git
Parsing.cpp File Reference
#include "clang/Tooling/Transformer/Parsing.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Tooling/Transformer/RangeSelector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Error.h"
#include <optional>
#include <string>
#include <utility>

Go to the source code of this file.

Functions

static const llvm::StringMap< RangeSelectorOp< std::string > > & getUnaryStringSelectors ()
static const llvm::StringMap< RangeSelectorOp< RangeSelector > > & getUnaryRangeSelectors ()
static const llvm::StringMap< RangeSelectorOp< std::string, std::string > > & getBinaryStringSelectors ()
static const llvm::StringMap< RangeSelectorOp< RangeSelector, RangeSelector > > & getBinaryRangeSelectors ()
template<typename Element>
std::optional< Element > findOptional (const llvm::StringMap< Element > &Map, llvm::StringRef Key)
template<typename ResultType>
ParseProgress< ResultType > makeParseProgress (ParseState State, ResultType Result)
static llvm::Error makeParseError (const ParseState &S, std::string ErrorMsg)
static ParseState advance (ParseState S, size_t N)
static StringRef consumeWhitespace (StringRef S)
static ExpectedProgress< std::nullopt_t > parseChar (char c, ParseState State)
static ExpectedProgress< std::string > parseId (ParseState State)
static ExpectedProgress< std::string > parseStringId (ParseState State)
template<typename T>
ExpectedProgress< RangeSelectorparseSingle (ParseFunction< T > ParseElement, RangeSelectorOp< T > Op, ParseState State)
template<typename T>
ExpectedProgress< RangeSelectorparsePair (ParseFunction< T > ParseElement, RangeSelectorOp< T, T > Op, ParseState State)
static ExpectedProgress< RangeSelectorparseRangeSelectorImpl (ParseState State)

Function Documentation

◆ advance()

ParseState advance ( ParseState S,
size_t N )
static

Definition at line 137 of file Parsing.cpp.

Referenced by TokenCollector::Builder::build(), parseChar(), parseId(), and parseStringId().

◆ consumeWhitespace()

StringRef consumeWhitespace ( StringRef S)
static

◆ findOptional()

template<typename Element>
std::optional< Element > findOptional ( const llvm::StringMap< Element > & Map,
llvm::StringRef Key )

Definition at line 116 of file Parsing.cpp.

Referenced by parseRangeSelectorImpl().

◆ getBinaryRangeSelectors()

const llvm::StringMap< RangeSelectorOp< RangeSelector, RangeSelector > > & getBinaryRangeSelectors ( )
static

Definition at line 109 of file Parsing.cpp.

References clang::transformer::between(), and clang::transformer::enclose().

Referenced by parseRangeSelectorImpl().

◆ getBinaryStringSelectors()

const llvm::StringMap< RangeSelectorOp< std::string, std::string > > & getBinaryStringSelectors ( )
static

Definition at line 102 of file Parsing.cpp.

References clang::transformer::encloseNodes().

Referenced by parseRangeSelectorImpl().

◆ getUnaryRangeSelectors()

const llvm::StringMap< RangeSelectorOp< RangeSelector > > & getUnaryRangeSelectors ( )
static

◆ getUnaryStringSelectors()

◆ makeParseError()

llvm::Error makeParseError ( const ParseState & S,
std::string ErrorMsg )
static

◆ makeParseProgress()

template<typename ResultType>
ParseProgress< ResultType > makeParseProgress ( ParseState State,
ResultType Result )

Definition at line 125 of file Parsing.cpp.

Referenced by parseChar(), parseId(), parsePair(), parseSingle(), and parseStringId().

◆ parseChar()

ExpectedProgress< std::nullopt_t > parseChar ( char c,
ParseState State )
static

Definition at line 148 of file Parsing.cpp.

References advance(), c, consumeWhitespace(), makeParseError(), and makeParseProgress().

Referenced by parsePair(), and parseSingle().

◆ parseId()

ExpectedProgress< std::string > parseId ( ParseState State)
static

◆ parsePair()

template<typename T>
ExpectedProgress< RangeSelector > parsePair ( ParseFunction< T > ParseElement,
RangeSelectorOp< T, T > Op,
ParseState State )

Definition at line 208 of file Parsing.cpp.

References makeParseProgress(), and parseChar().

Referenced by parseRangeSelectorImpl().

◆ parseRangeSelectorImpl()

◆ parseSingle()

template<typename T>
ExpectedProgress< RangeSelector > parseSingle ( ParseFunction< T > ParseElement,
RangeSelectorOp< T > Op,
ParseState State )

Definition at line 187 of file Parsing.cpp.

References makeParseProgress(), and parseChar().

Referenced by parseRangeSelectorImpl().

◆ parseStringId()

ExpectedProgress< std::string > parseStringId ( ParseState State)
static

Definition at line 168 of file Parsing.cpp.

References advance(), c, consumeWhitespace(), makeParseError(), and makeParseProgress().

Referenced by parseRangeSelectorImpl().