Skip to content

AST

A reflection of the AST node within the compiler. All other nodes derive from this node

graph BT
N1["AST"] -->|inherits| N2["Stringable"];
N2["Stringable"] -->|inherits| N3["Any"];

Characteristics

Quality Value
Inherits Stringable
Extends N/A
Decorators N/A
Is enum false
Is sealed false
Is extern false
Is abstract false
Is generator false
Has value semantics false
Has stored properties true
Should register destructor false
Has atomic memory false
Is copy assignable false
Is zero initializable true

Const Expressions

kSTATUS_RAW

const! kSTATUS_RAW = 0

kSTATUS_SET_PROGRAM_START

const! kSTATUS_SET_PROGRAM_START = 1

kSTATUS_SET_PROGRAM_END

const! kSTATUS_SET_PROGRAM_END = 2

kSTATUS_PROCESS_CFG_START

const! kSTATUS_PROCESS_CFG_START = 3

kSTATUS_PROCESS_CFG_END

const! kSTATUS_PROCESS_CFG_END = 4

kSTATUS_CHECK_VISIBILITY_START

const! kSTATUS_CHECK_VISIBILITY_START = 5

kSTATUS_PREPROCESS_END

const! kSTATUS_PREPROCESS_END = 6

kSTATUS_SETUP_SYMBOL_TABLE_START

const! kSTATUS_SETUP_SYMBOL_TABLE_START = 7

kSTATUS_SETUP_SYMBOL_TABLE_END

const! kSTATUS_SETUP_SYMBOL_TABLE_END = 8

kSTATUS_PROCESS_IMPORTS_START

const! kSTATUS_PROCESS_IMPORTS_START = 9

kSTATUS_PROCESS_IMPORTS_END

const! kSTATUS_PROCESS_IMPORTS_END = 10

kSTATUS_ADD_SYMBOLS_TO_TABLE_START

const! kSTATUS_ADD_SYMBOLS_TO_TABLE_START = 11

kSTATUS_ADD_SYMBOLS_TO_TABLE_END

const! kSTATUS_ADD_SYMBOLS_TO_TABLE_END = 12

kSTATUS_VERIFY_SYNTAX_START

const! kSTATUS_VERIFY_SYNTAX_START = 13

kSTATUS_VERIFY_SYNTAX_END

const! kSTATUS_VERIFY_SYNTAX_END = 14

kSTATUS_COMPOSE_GENERIC_TYPES_START

const! kSTATUS_COMPOSE_GENERIC_TYPES_START = 15

kSTATUS_COMPOSE_GENERIC_TYPES_END

const! kSTATUS_COMPOSE_GENERIC_TYPES_END = 16

kSTATUS_CHECK_EXTENDS_CYCLES_START

const! kSTATUS_CHECK_EXTENDS_CYCLES_START = 17

kSTATUS_CHECK_EXTENDS_CYCLES_END

const! kSTATUS_CHECK_EXTENDS_CYCLES_END = 18

kSTATUS_CHECK_INHERITANCE_CYCLES_START

const! kSTATUS_CHECK_INHERITANCE_CYCLES_START = 19

kSTATUS_CHECK_INHERITANCE_CYCLES_END

const! kSTATUS_CHECK_INHERITANCE_CYCLES_END = 20

kSTATUS_PERFORM_INHERITANCE_START

const! kSTATUS_PERFORM_INHERITANCE_START = 21

kSTATUS_PERFORM_INHERITANCE_END

const! kSTATUS_PERFORM_INHERITANCE_END = 22

kSTATUS_ENFORCE_INHERITANCE_SEMANTICS_START

const! kSTATUS_ENFORCE_INHERITANCE_SEMANTICS_START = 23

kSTATUS_ENFORCE_INHERITANCE_SEMANTICS_END

const! kSTATUS_ENFORCE_INHERITANCE_SEMANTICS_END = 24

kSTATUS_CHECK_PROPERTY_CYCLES_START

const! kSTATUS_CHECK_PROPERTY_CYCLES_START = 25

kSTATUS_CHECK_PROPERTY_CYCLES_END

const! kSTATUS_CHECK_PROPERTY_CYCLES_END = 26

kSTATUS_PRE_STATIC_ANALYSIS_START

const! kSTATUS_PRE_STATIC_ANALYSIS_START = 27

kSTATUS_PRE_STATIC_ANALYSIS_END

const! kSTATUS_PRE_STATIC_ANALYSIS_END = 28

kSTATUS_STATIC_ANALYSIS_START

const! kSTATUS_STATIC_ANALYSIS_START = 29

kSTATUS_STATIC_ANALYSIS_END

const! kSTATUS_STATIC_ANALYSIS_END = 30

kSTATUS_ASSIGN_TYPE_IDS_START

const! kSTATUS_ASSIGN_TYPE_IDS_START = 31

kSTATUS_ASSIGN_TYPE_IDS_END

const! kSTATUS_ASSIGN_TYPE_IDS_END = 32

kSTATUS_VERIFY_SEMANTICS_START

const! kSTATUS_VERIFY_SEMANTICS_START = 33

kSTATUS_VERIFY_SEMANTICS_END

const! kSTATUS_VERIFY_SEMANTICS_END = 34

kSTATUS_ADD_DESTROY_LIST_START

const! kSTATUS_ADD_DESTROY_LIST_START = 35

kSTATUS_ADD_DESTROY_LIST_END

const! kSTATUS_ADD_DESTROY_LIST_END = 36

kSTATUS_DETERMINE_ATOMIC_MEMORY_START

const! kSTATUS_DETERMINE_ATOMIC_MEMORY_START = 37

kSTATUS_DETERMINE_ATOMIC_MEMORY_END

const! kSTATUS_DETERMINE_ATOMIC_MEMORY_END = 38

kSTATUS_FULL

const! kSTATUS_FULL = 39

kSTATUS_REPLACE_TYPE_PTRS_START

const! kSTATUS_REPLACE_TYPE_PTRS_START = 40

kSTATUS_REPLACE_TYPE_PTRS_END

const! kSTATUS_REPLACE_TYPE_PTRS_END = 41

Functions

from_ptr

from_ptr (ptr Pointer, is_owner Bool = false) -> nom AST

Methods

construct

#default
#Gambol.function.alwaysinline
construct (s strictly @Self) -> Self

can_modify

#strict
can_modify (s nom @Self) -> Bool
returns whether the ast node is fully processed and can therefore be modified or not


str

#strict
str (s nom @Self, pretty: Bool = true, indent: Int32 = 0, include_doc_string: Bool = true, include_decorators: Bool = true) -> String
returns the string representation of the ast node that resembles the source as closely as possible


get_alternative_block

#strict
get_alternative_block (s nom @Self) -> nom BlockExpression?
get the compiler generated alternative for the given node if exists


__reload

#strict
__reload (s @Self) -> Nil

Properties

doc_string (computed)

doc_string String

decorators (computed)

decorators nom DecoratorList?

status (computed)

status UInt32

sets and returns the ast status code defined by the compiler


__ast_ptr

__ast_ptr Pointer

__is_owner

__is_owner Bool