file
SyntaxNode.hBase 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::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
- auto clone(const SyntaxNode& node, BumpAllocator& alloc) -> SyntaxNode*
- Performs a shallow clone of the given syntax node.
- auto deepClone(const SyntaxNode& node, BumpAllocator& alloc) -> SyntaxNode*
- Performs a deep clone of the given syntax node.
-
template<std::derived_from<SyntaxNode> T>auto clone(const T& node, BumpAllocator& alloc) -> T*
- Performs a shallow clone of the given syntax node.
-
template<std::derived_from<SyntaxNode> T>auto deepClone(const T& node, BumpAllocator& alloc) -> T*
- Performs a deep clone of the given syntax node.