Skip to documentation
SLOP

tiny.chant.parse.state.tag

Reference tiny.chant parse state tag

Defined in parse.state.

API (2)

Actions

Public operations.

No direct callersNo direct callsparse.statetag
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Called byCallsNo direct callstest sourcelib.chant.src.parse.state.tagtest: tags register and resolveparse.state.taglookup
Static calls · unresolved targets: 1 · external targets: 0.
Called byCallsNo direct callstest sourcelib.chant.src.parse.state.tagtest: tags register and resolveparse.state.tagregister
Static calls · unresolved targets: 1 · external targets: 0.

Source: lib/chant/src/parse/state/root.zig:9

zig
pub const tag = @import("tag.zig");

Source: lib/chant/src/parse/state/tag.zig

zig
const std = @import("std");const ast = @import("../../ast/root.zig");const types = @import("types.zig");const Error = @import("../root.zig").Error;const Parser = types.Parser;pub fn register(parser: *Parser, name: []const u8, resolved: *const ast.Type) Error!void {    try parser.tags.put(parser.arena, name, resolved);}pub fn lookup(parser: *const Parser, name: []const u8) ?*const ast.Type {    return parser.tags.get(name);}test "tags register and resolve" {    const chant = @import("../../root.zig");    var arena_state = std.heap.ArenaAllocator.init(std.testing.allocator);    defer arena_state.deinit();    const arena = arena_state.allocator();    const tokens = [_]chant.Token{        .{ .kind = .eof, .text = "", .file = "test.c", .line = 1, .column = 1 },    };    var parser = try @import("test.zig").initParser(arena, &tokens);    try register(&parser, "E", &ast.types.int_type);    try std.testing.expect(lookup(&parser, "E").? == &ast.types.int_type);}

Audit

Definitions3
Public names3
Members0
Version26.7.0
Revisiondaab053ee433