LLVM 20.0.0git
|
#include "llvm/Support/YAMLParser.h"
#include "llvm/ADT/AllocatorList.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/Unicode.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <map>
#include <memory>
#include <string>
#include <system_error>
#include <utility>
Go to the source code of this file.
Classes | |
struct | llvm::yaml::Token |
Token - A single YAML token. More... | |
class | llvm::yaml::Scanner |
Scans YAML tokens from a MemoryBuffer. More... | |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
namespace | llvm::yaml |
Typedefs | |
using | EncodingInfo = std::pair< UnicodeEncodingForm, unsigned > |
EncodingInfo - Holds the encoding type and length of the byte order mark if it exists. | |
using | TokenQueueT = BumpPtrList< Token > |
using | UTF8Decoded = std::pair< uint32_t, unsigned > |
The Unicode scalar value of a UTF-8 minimal well-formed code unit subsequence and the subsequence's length in code units (uint8_t). | |
Enumerations | |
enum | UnicodeEncodingForm { UEF_UTF32_LE , UEF_UTF32_BE , UEF_UTF16_LE , UEF_UTF16_BE , UEF_UTF8 , UEF_Unknown } |
Functions | |
static EncodingInfo | getUnicodeEncoding (StringRef Input) |
getUnicodeEncoding - Reads up to the first 4 bytes to determine the Unicode encoding form of Input. | |
static UTF8Decoded | decodeUTF8 (StringRef Range) |
static void | encodeUTF8 (uint32_t UnicodeScalarValue, SmallVectorImpl< char > &Result) |
encodeUTF8 - Encode UnicodeScalarValue in UTF-8 and append it to result. | |
static bool | is_ns_hex_digit (const char C) |
static bool | is_ns_word_char (const char C) |
static LLVM_ATTRIBUTE_NOINLINE bool | wasEscaped (StringRef::iterator First, StringRef::iterator Position) |
static unsigned | getChompedLineBreaks (char ChompingIndicator, unsigned LineBreaks, StringRef Str) |
Get the number of line breaks after chomping. | |
static StringRef | parseScalarValue (StringRef UnquotedValue, SmallVectorImpl< char > &Storage, StringRef LookupChars, std::function< StringRef(StringRef, SmallVectorImpl< char > &)> UnescapeCallback) |
parseScalarValue - A common parsing routine for all flow scalar styles. | |
using EncodingInfo = std::pair<UnicodeEncodingForm, unsigned> |
EncodingInfo - Holds the encoding type and length of the byte order mark if it exists.
Length is in {0, 2, 3, 4}.
Definition at line 52 of file YAMLParser.cpp.
using TokenQueueT = BumpPtrList<Token> |
Definition at line 164 of file YAMLParser.cpp.
using UTF8Decoded = std::pair<uint32_t, unsigned> |
The Unicode scalar value of a UTF-8 minimal well-formed code unit subsequence and the subsequence's length in code units (uint8_t).
A length of 0 represents an error.
Definition at line 194 of file YAMLParser.cpp.
enum UnicodeEncodingForm |
Definition at line 41 of file YAMLParser.cpp.
|
static |
Definition at line 196 of file YAMLParser.cpp.
Referenced by llvm::yaml::escape().
|
static |
encodeUTF8 - Encode UnicodeScalarValue in UTF-8 and append it to result.
Definition at line 580 of file YAMLParser.cpp.
Referenced by llvm::yaml::escape().
|
static |
Get the number of line breaks after chomping.
Return the number of trailing line breaks to emit, depending on ChompingIndicator
.
Definition at line 1592 of file YAMLParser.cpp.
|
static |
getUnicodeEncoding - Reads up to the first 4 bytes to determine the Unicode encoding form of Input.
Input | A string of length 0 or more. |
Definition at line 60 of file YAMLParser.cpp.
References llvm::StringRef::empty(), llvm::StringRef::size(), UEF_Unknown, UEF_UTF16_BE, UEF_UTF16_LE, UEF_UTF32_BE, UEF_UTF32_LE, and UEF_UTF8.
Definition at line 1007 of file YAMLParser.cpp.
References llvm::CallingConv::C.
Definition at line 1009 of file YAMLParser.cpp.
References llvm::CallingConv::C.
|
static |
parseScalarValue - A common parsing routine for all flow scalar styles.
It handles line break characters by itself, adds regular content characters to the result, and forwards escaped sequences to the provided routine for the style-specific processing.
UnquotedValue | - An input value without quotation marks. |
Storage | - A storage for the result if the input value is multiline or contains escaped characters. |
LookupChars | - A set of special characters to search in the input string. Should include line break characters and the escape character specific for the processing scalar style, if any. |
UnescapeCallback | - This is called when the escape character is found in the input. |
Definition at line 2055 of file YAMLParser.cpp.
References llvm::append_range(), assert(), llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorImpl< T >::clear(), llvm::StringRef::drop_front(), llvm::SmallVectorBase< Size_T >::empty(), llvm::StringRef::find_first_of(), llvm::StringRef::find_last_not_of(), I, llvm::StringRef::ltrim(), llvm::StringRef::npos, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::reserve(), llvm::SmallVectorBase< Size_T >::size(), llvm::StringRef::size(), llvm::StringRef::substr(), and llvm::StringRef::take_front().
|
static |
Definition at line 1386 of file YAMLParser.cpp.
References assert(), llvm::First, and I.