Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::Compiler_Type_Expr Struct Reference

Abstract base class for parsed type-annotation syntax. More...

#include <Compiler_AST.H>

Inheritance diagram for Aleph::Compiler_Type_Expr:
[legend]
Collaboration diagram for Aleph::Compiler_Type_Expr:
[legend]

Public Member Functions

 Compiler_Type_Expr (const Compiler_Type_Expr_Kind k=Compiler_Type_Expr_Kind::Invalid, const Source_Span &sp={}) noexcept
 Constructs a type-expression base node.
 
- Public Member Functions inherited from Aleph::Compiler_Ast_Node
 Compiler_Ast_Node (const Source_Span &sp={}) noexcept
 Constructs a node with an optional span.
 
virtual ~Compiler_Ast_Node () noexcept=default
 Virtual destructor to ensure proper cleanup of derived nodes.
 

Public Attributes

Compiler_Type_Expr_Kind kind = Compiler_Type_Expr_Kind::Invalid
 Specific type-expression variant.
 
- Public Attributes inherited from Aleph::Compiler_Ast_Node
Source_Span span
 Source region covered by this node.
 

Detailed Description

Abstract base class for parsed type-annotation syntax.

Type expressions are part of the surface AST because explicit type annotations belong to parsing, while their semantic meaning is resolved later.

Note
Thread-safety: Not thread-safe.
Complexity: O(1).

Definition at line 481 of file Compiler_AST.H.

Constructor & Destructor Documentation

◆ Compiler_Type_Expr()

Aleph::Compiler_Type_Expr::Compiler_Type_Expr ( const Compiler_Type_Expr_Kind  k = Compiler_Type_Expr_Kind::Invalid,
const Source_Span &  sp = {} 
)
inlinenoexcept

Constructs a type-expression base node.

Definition at line 486 of file Compiler_AST.H.

Member Data Documentation

◆ kind

Compiler_Type_Expr_Kind Aleph::Compiler_Type_Expr::kind = Compiler_Type_Expr_Kind::Invalid

Specific type-expression variant.

Definition at line 483 of file Compiler_AST.H.

Referenced by Aleph::Compiler_Ast_Detail::dump_type_expr().


The documentation for this struct was generated from the following file: