SyntaxNode.h file
Base class and utilities for syntax nodes.
Namespaces
- namespace slang
- Root namespace.
- namespace slang::syntax
- Syntax tree manipulation.
Classes
- struct slang::syntax::PtrTokenOrSyntax
- A token pointer or a syntax node.
- struct slang::syntax::ConstTokenOrSyntax
- A token or a constant syntax node.
- struct slang::syntax::TokenOrSyntax
- A token or a syntax node.
- class slang::syntax::SyntaxNode
- Base class for all syntax nodes.
- class slang::syntax::SyntaxNode::token_iterator
- An iterator that walks through all tokens in a syntax node in order.
- class slang::syntax::DeferredSourceRange
- Represents a source range or a way to get one by materializing it from a syntax node.
- class slang::syntax::SyntaxListBase
- A base class for syntax nodes that represent a list of items.
-
template<typename T>class slang::syntax::SyntaxList
- A syntax node that represents a list of child syntax nodes.
- class slang::syntax::TokenList
- A syntax node that represents a list of child tokens.
-
template<typename T>class slang::syntax::SeparatedSyntaxList
- A syntax node that represents a token-separated list of child syntax nodes.
-
template<typename U>class slang::syntax::SeparatedSyntaxList::iterator_base
- An iterator that will iterate over just the nodes (and skip the delimiters) in the parent SeparatedSyntaxList.
Functions
- SyntaxNode* clone(const SyntaxNode& node, BumpAllocator& alloc)
- Performs a shallow clone of the given syntax node.
- SyntaxNode* deepClone(const SyntaxNode& node, BumpAllocator& alloc)
- Performs a deep clone of the given syntax node.
-
template<std::derived_from<SyntaxNode> T>T* clone(const T& node, BumpAllocator& alloc)
- Performs a shallow clone of the given syntax node.
-
template<std::derived_from<SyntaxNode> T>T* deepClone(const T& node, BumpAllocator& alloc)
- Performs a deep clone of the given syntax node.