structstd.zon.parse.Error.Note.Iterator[src]

Fields

index: usize = 0
err: Error
status: *const Status

Functions

Functionnext[src]

pub fn next(self: *@This()) ?Note

Parameters

self: *@This()

Source Code

Source code
pub fn next(self: *@This()) ?Note {
    switch (self.err) {
        .zoir => |err| {
            if (self.index >= err.note_count) return null;
            const zoir = self.status.zoir.?;
            const note = err.getNotes(zoir)[self.index];
            self.index += 1;
            return .{ .zoir = note };
        },
        .type_check => |err| {
            if (self.index >= err.getNoteCount()) return null;
            const note = err.getNote(self.index);
            self.index += 1;
            return .{ .type_check = note };
        },
    }
}

Source Code

Source code
pub const Iterator = struct {
    index: usize = 0,
    err: Error,
    status: *const Status,

    pub fn next(self: *@This()) ?Note {
        switch (self.err) {
            .zoir => |err| {
                if (self.index >= err.note_count) return null;
                const zoir = self.status.zoir.?;
                const note = err.getNotes(zoir)[self.index];
                self.index += 1;
                return .{ .zoir = note };
            },
            .type_check => |err| {
                if (self.index >= err.getNoteCount()) return null;
                const note = err.getNote(self.index);
                self.index += 1;
                return .{ .type_check = note };
            },
        }
    }
}