LLVM 20.0.0git
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::yaml::Node Class Reference

Abstract base class for all Nodes. More...

#include "llvm/Support/YAMLParser.h"

Inheritance diagram for llvm::yaml::Node:
Inheritance graph
[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 119 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 123 of file YAMLParser.h.

Constructor & Destructor Documentation

◆ Node() [1/2]

llvm::yaml::Node::Node ( unsigned int  Type,
std::unique_ptr< Document > &  ,
StringRef  Anchor,
StringRef  Tag 
)

◆ Node() [2/2]

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

◆ ~Node()

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

Member Function Documentation

◆ failed()

bool Node::failed ( ) const

Definition at line 2027 of file YAMLParser.cpp.

References Doc.

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

◆ getAllocator()

BumpPtrAllocator & Node::getAllocator ( )

Definition at line 2019 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 155 of file YAMLParser.h.

◆ getNext()

Token Node::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 159 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 178 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 146 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 141 of file YAMLParser.h.

References llvm::Alloc, and Size.

◆ operator=()

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

◆ 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 166 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: