class

Facet::Compiler::AstArena

Inherits Reference < Object

Constructors

Instance methods

add_binary(op : TokenKind, span : Span, left : NodeId, right : NodeId) : NodeId
Source
add_ident(span : Span, symbol_id : SymbolId) : NodeId
Source
add_literal(kind : LiteralKind) : LiteralId
Source
add_literal_node(kind : LiteralKind, span : Span) : NodeId
Source
add_named_arg(name_id : SymbolId, span : Span, value : NodeId) : NodeId
Source
add_node(kind : NodeKind, span : Span, children : Array(NodeId) = [] of NodeId, payload_index : Int32 = -1, flags : UInt16 = 0_u16) : NodeId
Source
add_operator(kind : TokenKind) : OperatorId
Source
add_unary(op : TokenKind, span : Span, expr : NodeId) : NodeId
Source
children(node_id : NodeId) : Slice(NodeId)
Source
edges
Source
literal(id : LiteralId) : LiteralPayload
Source
literals
Source
macro_control_tag(node_id : NodeId) : TokenKind
Source
macro_for_header_parts(node_id : NodeId) : Tuple(NodeId, NodeId) | Nil
Source
macro_for_targets(node_id : NodeId) : Slice(NodeId) | Nil
Source
node(node_id : NodeId) : Node
Source
nodes
Source
operator_kind(id : OperatorId) : TokenKind
Source
operators
Source
set_ident_symbol(node_id : NodeId, symbol_id : SymbolId)
Source
symbols
Source