StructDecl
Trailing:
- captures_len: u32 // if has_captures_len
- fields_len: u32, // if has_fields_len
- decls_len: u32, // if has_decls_len
- capture: Capture // for every captures_len
- capture_name: NullTerminatedString // for every captures_len
- backing_int_body_len: u32, // if has_backing_int
- backing_int_ref: Ref, // if has_backing_int and backing_int_body_len is 0
- backing_int_body_inst: Inst, // if has_backing_int and backing_int_body_len is > 0
- decl: Index, // for every decls_len; points to a
declarationinstruction - flags: u32 // for every 8 fields
- sets of 4 bits: 0b000X: whether corresponding field has an align expression 0b00X0: whether corresponding field has a default expression 0b0X00: whether corresponding field is comptime 0bX000: whether corresponding field has a type expression
- fields: { // for every fields_len field_name: u32, field_type: Ref, // if corresponding bit is not set. none means anytype. field_type_body_len: u32, // if corresponding bit is set align_body_len: u32, // if corresponding bit is set init_body_len: u32, // if corresponding bit is set }
- bodies: { // for every fields_len field_type_body_inst: Inst, // for each field_type_body_len align_body_inst: Inst, // for each align_body_len init_body_inst: Inst, // for each init_body_len }
Fields of this type
Fields
- fields_hash_0:u32
- fields_hash_1:u32
- fields_hash_2:u32
- fields_hash_3:u32
- src_line:u32
- src_node:Ast.Node.Index
- This node provides a new absolute baseline node for all instructions within this struct.
Type definitions in this namespace