LLVM 22.0.0git
llvm::yaml::Node Class Reference

Abstract base class for all Nodes. More...

#include "llvm/Support/YAMLParser.h"

Inheritance diagram for llvm::yaml::Node:
[legend]

Public Types

enum  NodeKind {
  NK_Null , NK_Scalar , NK_BlockScalar , NK_KeyValue ,
  NK_Mapping , NK_Sequence , NK_Alias
}

Public Member Functions

 Node (unsigned int Type, std::unique_ptr< Document > &, StringRef Anchor, StringRef Tag)
 Node (const Node &)=delete
void operator= (const Node &)=delete
void * operator new (size_t Size, BumpPtrAllocator &Alloc, size_t Alignment=16) noexcept
void operator delete (void *Ptr, BumpPtrAllocator &Alloc, size_t Size) noexcept
void operator delete (void *) noexcept=delete
StringRef getAnchor () const
 Get the value of the anchor attached to this node.
StringRef getRawTag () const
 Get the tag as it was written in the document.
std::string getVerbatimTag () const
 Get the verbatium tag for a given Node.
SMRange getSourceRange () const
void setSourceRange (SMRange SR)
TokenpeekNext ()
Token getNext ()
NodeparseBlockNode ()
BumpPtrAllocatorgetAllocator ()
void setError (const Twine &Message, Token &Location) const
bool failed () const
virtual void skip ()
unsigned int getType () const

Protected Member Functions

 ~Node ()=default

Protected Attributes

std::unique_ptr< Document > & Doc
SMRange SourceRange

Detailed Description

Abstract base class for all Nodes.

Definition at line 121 of file YAMLParser.h.

Member Enumeration Documentation

◆ NodeKind

Enumerator
NK_Null 
NK_Scalar 
NK_BlockScalar 
NK_KeyValue 
NK_Mapping 
NK_Sequence 
NK_Alias 

Definition at line 125 of file YAMLParser.h.

Constructor & Destructor Documentation

◆ Node() [1/2]

◆ Node() [2/2]

llvm::yaml::Node::Node ( const Node & )
delete

References Node().

◆ ~Node()

llvm::yaml::Node::~Node ( )
protecteddefault

Member Function Documentation

◆ failed()

bool Node::failed ( ) const

Definition at line 2028 of file YAMLParser.cpp.

References Doc.

Referenced by llvm::yaml::KeyValueNode::getValue(), and llvm::yaml::SequenceNode::increment().

◆ getAllocator()

BumpPtrAllocator & Node::getAllocator ( )

Definition at line 2020 of file YAMLParser.cpp.

References Doc.

Referenced by llvm::yaml::KeyValueNode::getKey(), and llvm::yaml::KeyValueNode::getValue().

◆ getAnchor()

StringRef llvm::yaml::Node::getAnchor ( ) const
inline

Get the value of the anchor attached to this node.

If it does not have one, getAnchor().size() will be 0.

Definition at line 157 of file YAMLParser.h.

◆ getNext()

◆ getRawTag()

StringRef llvm::yaml::Node::getRawTag ( ) const
inline

Get the tag as it was written in the document.

This does not perform tag resolution.

Definition at line 161 of file YAMLParser.h.

Referenced by getVerbatimTag().

◆ getSourceRange()

SMRange llvm::yaml::Node::getSourceRange ( ) const
inline

◆ getType()

unsigned int llvm::yaml::Node::getType ( ) const
inline

Definition at line 180 of file YAMLParser.h.

Referenced by getVerbatimTag().

◆ getVerbatimTag()

std::string Node::getVerbatimTag ( ) const

◆ operator delete() [1/2]

void llvm::yaml::Node::operator delete ( void * )
deletenoexcept

◆ operator delete() [2/2]

void llvm::yaml::Node::operator delete ( void * Ptr,
BumpPtrAllocator & Alloc,
size_t Size )
inlinenoexcept

Definition at line 148 of file YAMLParser.h.

References llvm::Alloc, Ptr, and Size.

◆ operator new()

void * llvm::yaml::Node::operator new ( size_t Size,
BumpPtrAllocator & Alloc,
size_t Alignment = 16 )
inlinenoexcept

Definition at line 143 of file YAMLParser.h.

References llvm::Alloc, and Size.

◆ operator=()

void llvm::yaml::Node::operator= ( const Node & )
delete

References Node().

◆ parseBlockNode()

Node * Node::parseBlockNode ( )

◆ peekNext()

Token & Node::peekNext ( )

◆ setError()

void Node::setError ( const Twine & Message,
Token & Location ) const

◆ setSourceRange()

void llvm::yaml::Node::setSourceRange ( SMRange SR)
inline

Definition at line 168 of file YAMLParser.h.

References SourceRange.

◆ skip()

virtual void llvm::yaml::Node::skip ( )
inlinevirtual

Member Data Documentation

◆ Doc

std::unique_ptr<Document>& llvm::yaml::Node::Doc
protected

◆ SourceRange

SMRange llvm::yaml::Node::SourceRange
protected

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