struct ContainerField [src]

Fields

comptime_token: ?TokenIndex
ast: Components

Members

Source

pub const ContainerField = struct { comptime_token: ?TokenIndex, ast: Components, pub const Components = struct { main_token: TokenIndex, /// Can only be `.none` after calling `convertToNonTupleLike`. type_expr: Node.OptionalIndex, align_expr: Node.OptionalIndex, value_expr: Node.OptionalIndex, tuple_like: bool, }; pub fn firstToken(cf: ContainerField) TokenIndex { return cf.comptime_token orelse cf.ast.main_token; } pub fn convertToNonTupleLike(cf: *ContainerField, tree: *const Ast) void { if (!cf.ast.tuple_like) return; if (tree.nodeTag(cf.ast.type_expr.unwrap().?) != .identifier) return; cf.ast.type_expr = .none; cf.ast.tuple_like = false; } }