structstd.zig.Ast.full.ContainerField[src]

Fields

comptime_token: ?TokenIndex
ast: Components

Functions

FunctionfirstToken[src]

pub fn firstToken(cf: ContainerField) TokenIndex

Parameters

Source Code

Source code
pub fn firstToken(cf: ContainerField) TokenIndex {
    return cf.comptime_token orelse cf.ast.main_token;
}

FunctionconvertToNonTupleLike[src]

pub fn convertToNonTupleLike(cf: *ContainerField, nodes: NodeList.Slice) void

Parameters

Source Code

Source code
pub fn convertToNonTupleLike(cf: *ContainerField, nodes: NodeList.Slice) void {
    if (!cf.ast.tuple_like) return;
    if (nodes.items(.tag)[cf.ast.type_expr] != .identifier) return;

    cf.ast.type_expr = 0;
    cf.ast.tuple_like = false;
}

Source Code

Source code
pub const ContainerField = struct {
    comptime_token: ?TokenIndex,
    ast: Components,

    pub const Components = struct {
        main_token: TokenIndex,
        type_expr: Node.Index,
        align_expr: Node.Index,
        value_expr: Node.Index,
        tuple_like: bool,
    };

    pub fn firstToken(cf: ContainerField) TokenIndex {
        return cf.comptime_token orelse cf.ast.main_token;
    }

    pub fn convertToNonTupleLike(cf: *ContainerField, nodes: NodeList.Slice) void {
        if (!cf.ast.tuple_like) return;
        if (nodes.items(.tag)[cf.ast.type_expr] != .identifier) return;

        cf.ast.type_expr = 0;
        cf.ast.tuple_like = false;
    }
}