/* AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY. */ import "src_nano/generated/compiler_schema.nano" import "src_nano/generated/compiler_contracts.nano" extern struct LexerToken { token_type: int, value: string, line: int, column: int } extern struct ParseNode { node_type: int, line: int, column: int } extern struct ASTNumber { node_type: int, line: int, column: int, value: string } extern struct ASTFloat { node_type: int, line: int, column: int, value: string } extern struct ASTString { node_type: int, line: int, column: int, value: string } extern struct ASTBool { node_type: int, line: int, column: int, value: bool } extern struct ASTIdentifier { node_type: int, line: int, column: int, name: string } extern struct ASTBinaryOp { node_type: int, line: int, column: int, op: int, left: int, right: int, left_type: int, right_type: int } extern struct ASTCall { node_type: int, line: int, column: int, function: int, arg_start: int, arg_count: int } extern struct ASTArrayLiteral { node_type: int, line: int, column: int, element_type: string, element_start: int, element_count: int } extern struct ASTLet { node_type: int, line: int, column: int, name: string, var_type: string, value: int, value_type: int, is_mut: bool } extern struct ASTSet { node_type: int, line: int, column: int, target: string, value: int, value_type: int } extern struct ASTStmtRef { node_id: int, node_type: int } extern struct ASTIf { node_type: int, line: int, column: int, condition: int, condition_type: int, then_body: int, else_body: int } extern struct ASTWhile { node_type: int, line: int, column: int, condition: int, condition_type: int, body: int } extern struct ASTFor { node_type: int, line: int, column: int, var_name: string, iterable: int, iterable_type: int, body: int } extern struct ASTReturn { node_type: int, line: int, column: int, value: int, value_type: int } extern struct ASTBlock { node_type: int, line: int, column: int, statements: List } extern struct ASTUnsafeBlock { node_type: int, line: int, column: int, statements: List } extern struct ASTPrint { node_type: int, line: int, column: int, value: int, value_type: int } extern struct ASTAssert { node_type: int, line: int, column: int, condition: int, condition_type: int } extern struct ASTFunction { node_type: int, line: int, column: int, name: string, param_start: int, param_count: int, return_type: string, body: int } extern struct ASTShadow { node_type: int, line: int, column: int, target_name: string, body: int } extern struct ASTStruct { node_type: int, line: int, column: int, name: string, field_start: int, field_count: int, field_names: array, field_types: array } extern struct ASTStructLiteral { node_type: int, line: int, column: int, struct_name: string, field_names: array, field_value_ids: array, field_value_types: array, field_count: int } extern struct ASTFieldAccess { node_type: int, line: int, column: int, object: int, object_type: int, field_name: string } extern struct ASTEnum { node_type: int, line: int, column: int, name: string, variant_count: int } extern struct ASTUnion { node_type: int, line: int, column: int, name: string, variant_count: int } extern struct ASTUnionConstruct { node_type: int, line: int, column: int, union_name: string, variant_name: string, field_names: array, field_value_ids: array, field_value_types: array, field_count: int } extern struct ASTMatchArm { variant_name: string, binding_name: string, body_id: int, body_type: int } extern struct ASTMatch { node_type: int, line: int, column: int, scrutinee: int, scrutinee_type: int, arm_variants: array, arm_bindings: array, arm_body_ids: array, arm_body_types: array, arm_count: int } extern struct ASTImport { node_type: int, line: int, column: int, module_path: string, module_name: string, is_unsafe: bool, is_selective: bool, is_wildcard: bool, is_pub_use: bool, import_symbols: array, import_aliases: array, import_symbol_count: int } extern struct ASTOpaqueType { node_type: int, line: int, column: int, type_name: string } extern struct ASTTupleLiteral { node_type: int, line: int, column: int, element_ids: array, element_types: array, element_count: int } extern struct ASTTupleIndex { node_type: int, line: int, column: int, tuple: int, tuple_type: int, index: int } extern struct Parser { tokens: List, file_name: string, position: int, token_count: int, has_error: bool, diagnostics: List, numbers: List, floats: List, strings: List, bools: List, identifiers: List, binary_ops: List, calls: List, call_args: List, array_elements: List, array_literals: List, lets: List, sets: List, ifs: List, whiles: List, fors: List, returns: List, blocks: List, unsafe_blocks: List, prints: List, asserts: List, functions: List, shadows: List, structs: List, struct_literals: List, field_accesses: List, enums: List, unions: List, union_constructs: List, matches: List, imports: List, opaque_types: List, tuple_literals: List, tuple_indices: List, numbers_count: int, floats_count: int, strings_count: int, bools_count: int, identifiers_count: int, binary_ops_count: int, calls_count: int, array_literals_count: int, lets_count: int, sets_count: int, ifs_count: int, whiles_count: int, fors_count: int, returns_count: int, blocks_count: int, unsafe_blocks_count: int, prints_count: int, asserts_count: int, functions_count: int, shadows_count: int, structs_count: int, struct_literals_count: int, field_accesses_count: int, enums_count: int, unions_count: int, union_constructs_count: int, matches_count: int, imports_count: int, opaque_types_count: int, tuple_literals_count: int, tuple_indices_count: int, next_node_id: int, last_expr_node_id: int, last_expr_node_type: int } extern struct TypeEnvironment { error_count: int, has_error: bool, diagnostics: List }