struct ContainerField [src]
Fields
comptime_token: ?TokenIndex
ast: Components
Members
- Components (struct)
- convertToNonTupleLike (Function)
- firstToken (Function)
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;
}
}