enumstd.zig.Zir.Inst.Declaration.Flags.Id[src]

Fields

unnamed_test
@"test"
decltest
@"comptime"
@"usingnamespace"
pub_usingnamespace
const_simple
const_typed
@"const"
pub_const_simple
pub_const_typed
pub_const
extern_const_simple
extern_const
pub_extern_const_simple
pub_extern_const
export_const
pub_export_const
var_simple
@"var"
var_threadlocal
pub_var_simple
pub_var
pub_var_threadlocal
extern_var
extern_var_threadlocal
pub_extern_var
pub_extern_var_threadlocal
export_var
export_var_threadlocal
pub_export_var
pub_export_var_threadlocal

Functions

FunctionhasName[src]

pub fn hasName(id: Id) bool

Parameters

id: Id

Source Code

Source code
pub fn hasName(id: Id) bool {
    return switch (id) {
        .unnamed_test,
        .@"comptime",
        .@"usingnamespace",
        .pub_usingnamespace,
        => false,
        else => true,
    };
}

FunctionhasLibName[src]

pub fn hasLibName(id: Id) bool

Parameters

id: Id

Source Code

Source code
pub fn hasLibName(id: Id) bool {
    return switch (id) {
        .extern_const,
        .pub_extern_const,
        .extern_var,
        .extern_var_threadlocal,
        .pub_extern_var,
        .pub_extern_var_threadlocal,
        => true,
        else => false,
    };
}

FunctionhasTypeBody[src]

pub fn hasTypeBody(id: Id) bool

Parameters

id: Id

Source Code

Source code
pub fn hasTypeBody(id: Id) bool {
    return switch (id) {
        .unnamed_test,
        .@"test",
        .decltest,
        .@"comptime",
        .@"usingnamespace",
        .pub_usingnamespace,
        => false, // these constructs are untyped
        .const_simple,
        .pub_const_simple,
        .var_simple,
        .pub_var_simple,
        => false, // these reprs omit type bodies
        else => true,
    };
}

FunctionhasValueBody[src]

pub fn hasValueBody(id: Id) bool

Parameters

id: Id

Source Code

Source code
pub fn hasValueBody(id: Id) bool {
    return switch (id) {
        .extern_const_simple,
        .extern_const,
        .pub_extern_const_simple,
        .pub_extern_const,
        .extern_var,
        .extern_var_threadlocal,
        .pub_extern_var,
        .pub_extern_var_threadlocal,
        => false, // externs do not have values
        else => true,
    };
}

FunctionhasSpecialBodies[src]

pub fn hasSpecialBodies(id: Id) bool

Parameters

id: Id

Source Code

Source code
pub fn hasSpecialBodies(id: Id) bool {
    return switch (id) {
        .unnamed_test,
        .@"test",
        .decltest,
        .@"comptime",
        .@"usingnamespace",
        .pub_usingnamespace,
        => false, // these constructs are untyped
        .const_simple,
        .const_typed,
        .pub_const_simple,
        .pub_const_typed,
        .extern_const_simple,
        .pub_extern_const_simple,
        .var_simple,
        .pub_var_simple,
        => false, // these reprs omit special bodies
        else => true,
    };
}

Functionlinkage[src]

pub fn linkage(id: Id) Declaration.Unwrapped.Linkage

Parameters

id: Id

Source Code

Source code
pub fn linkage(id: Id) Declaration.Unwrapped.Linkage {
    return switch (id) {
        .extern_const_simple,
        .extern_const,
        .pub_extern_const_simple,
        .pub_extern_const,
        .extern_var,
        .extern_var_threadlocal,
        .pub_extern_var,
        .pub_extern_var_threadlocal,
        => .@"extern",
        .export_const,
        .pub_export_const,
        .export_var,
        .export_var_threadlocal,
        .pub_export_var,
        .pub_export_var_threadlocal,
        => .@"export",
        else => .normal,
    };
}

Functionkind[src]

pub fn kind(id: Id) Declaration.Unwrapped.Kind

Parameters

id: Id

Source Code

Source code
pub fn kind(id: Id) Declaration.Unwrapped.Kind {
    return switch (id) {
        .unnamed_test => .unnamed_test,
        .@"test" => .@"test",
        .decltest => .decltest,
        .@"comptime" => .@"comptime",
        .@"usingnamespace", .pub_usingnamespace => .@"usingnamespace",
        .const_simple,
        .const_typed,
        .@"const",
        .pub_const_simple,
        .pub_const_typed,
        .pub_const,
        .extern_const_simple,
        .extern_const,
        .pub_extern_const_simple,
        .pub_extern_const,
        .export_const,
        .pub_export_const,
        => .@"const",
        .var_simple,
        .@"var",
        .var_threadlocal,
        .pub_var_simple,
        .pub_var,
        .pub_var_threadlocal,
        .extern_var,
        .extern_var_threadlocal,
        .pub_extern_var,
        .pub_extern_var_threadlocal,
        .export_var,
        .export_var_threadlocal,
        .pub_export_var,
        .pub_export_var_threadlocal,
        => .@"var",
    };
}

FunctionisPub[src]

pub fn isPub(id: Id) bool

Parameters

id: Id

Source Code

Source code
pub fn isPub(id: Id) bool {
    return switch (id) {
        .pub_usingnamespace,
        .pub_const_simple,
        .pub_const_typed,
        .pub_const,
        .pub_extern_const_simple,
        .pub_extern_const,
        .pub_export_const,
        .pub_var_simple,
        .pub_var,
        .pub_var_threadlocal,
        .pub_extern_var,
        .pub_extern_var_threadlocal,
        .pub_export_var,
        .pub_export_var_threadlocal,
        => true,
        else => false,
    };
}

FunctionisThreadlocal[src]

pub fn isThreadlocal(id: Id) bool

Parameters

id: Id

Source Code

Source code
pub fn isThreadlocal(id: Id) bool {
    return switch (id) {
        .var_threadlocal,
        .pub_var_threadlocal,
        .extern_var_threadlocal,
        .pub_extern_var_threadlocal,
        .export_var_threadlocal,
        .pub_export_var_threadlocal,
        => true,
        else => false,
    };
}

Source Code

Source code
pub const Id = enum(u5) {
    unnamed_test,
    @"test",
    decltest,
    @"comptime",

    @"usingnamespace",
    pub_usingnamespace,

    const_simple,
    const_typed,
    @"const",
    pub_const_simple,
    pub_const_typed,
    pub_const,

    extern_const_simple,
    extern_const,
    pub_extern_const_simple,
    pub_extern_const,

    export_const,
    pub_export_const,

    var_simple,
    @"var",
    var_threadlocal,
    pub_var_simple,
    pub_var,
    pub_var_threadlocal,

    extern_var,
    extern_var_threadlocal,
    pub_extern_var,
    pub_extern_var_threadlocal,

    export_var,
    export_var_threadlocal,
    pub_export_var,
    pub_export_var_threadlocal,

    pub fn hasName(id: Id) bool {
        return switch (id) {
            .unnamed_test,
            .@"comptime",
            .@"usingnamespace",
            .pub_usingnamespace,
            => false,
            else => true,
        };
    }

    pub fn hasLibName(id: Id) bool {
        return switch (id) {
            .extern_const,
            .pub_extern_const,
            .extern_var,
            .extern_var_threadlocal,
            .pub_extern_var,
            .pub_extern_var_threadlocal,
            => true,
            else => false,
        };
    }

    pub fn hasTypeBody(id: Id) bool {
        return switch (id) {
            .unnamed_test,
            .@"test",
            .decltest,
            .@"comptime",
            .@"usingnamespace",
            .pub_usingnamespace,
            => false, // these constructs are untyped
            .const_simple,
            .pub_const_simple,
            .var_simple,
            .pub_var_simple,
            => false, // these reprs omit type bodies
            else => true,
        };
    }

    pub fn hasValueBody(id: Id) bool {
        return switch (id) {
            .extern_const_simple,
            .extern_const,
            .pub_extern_const_simple,
            .pub_extern_const,
            .extern_var,
            .extern_var_threadlocal,
            .pub_extern_var,
            .pub_extern_var_threadlocal,
            => false, // externs do not have values
            else => true,
        };
    }

    pub fn hasSpecialBodies(id: Id) bool {
        return switch (id) {
            .unnamed_test,
            .@"test",
            .decltest,
            .@"comptime",
            .@"usingnamespace",
            .pub_usingnamespace,
            => false, // these constructs are untyped
            .const_simple,
            .const_typed,
            .pub_const_simple,
            .pub_const_typed,
            .extern_const_simple,
            .pub_extern_const_simple,
            .var_simple,
            .pub_var_simple,
            => false, // these reprs omit special bodies
            else => true,
        };
    }

    pub fn linkage(id: Id) Declaration.Unwrapped.Linkage {
        return switch (id) {
            .extern_const_simple,
            .extern_const,
            .pub_extern_const_simple,
            .pub_extern_const,
            .extern_var,
            .extern_var_threadlocal,
            .pub_extern_var,
            .pub_extern_var_threadlocal,
            => .@"extern",
            .export_const,
            .pub_export_const,
            .export_var,
            .export_var_threadlocal,
            .pub_export_var,
            .pub_export_var_threadlocal,
            => .@"export",
            else => .normal,
        };
    }

    pub fn kind(id: Id) Declaration.Unwrapped.Kind {
        return switch (id) {
            .unnamed_test => .unnamed_test,
            .@"test" => .@"test",
            .decltest => .decltest,
            .@"comptime" => .@"comptime",
            .@"usingnamespace", .pub_usingnamespace => .@"usingnamespace",
            .const_simple,
            .const_typed,
            .@"const",
            .pub_const_simple,
            .pub_const_typed,
            .pub_const,
            .extern_const_simple,
            .extern_const,
            .pub_extern_const_simple,
            .pub_extern_const,
            .export_const,
            .pub_export_const,
            => .@"const",
            .var_simple,
            .@"var",
            .var_threadlocal,
            .pub_var_simple,
            .pub_var,
            .pub_var_threadlocal,
            .extern_var,
            .extern_var_threadlocal,
            .pub_extern_var,
            .pub_extern_var_threadlocal,
            .export_var,
            .export_var_threadlocal,
            .pub_export_var,
            .pub_export_var_threadlocal,
            => .@"var",
        };
    }

    pub fn isPub(id: Id) bool {
        return switch (id) {
            .pub_usingnamespace,
            .pub_const_simple,
            .pub_const_typed,
            .pub_const,
            .pub_extern_const_simple,
            .pub_extern_const,
            .pub_export_const,
            .pub_var_simple,
            .pub_var,
            .pub_var_threadlocal,
            .pub_extern_var,
            .pub_extern_var_threadlocal,
            .pub_export_var,
            .pub_export_var_threadlocal,
            => true,
            else => false,
        };
    }

    pub fn isThreadlocal(id: Id) bool {
        return switch (id) {
            .var_threadlocal,
            .pub_var_threadlocal,
            .extern_var_threadlocal,
            .pub_extern_var_threadlocal,
            .export_var_threadlocal,
            .pub_export_var_threadlocal,
            => true,
            else => false,
        };
    }
}