enum TokenOffset [src]

A relative token index.

Fields

zero = 0
_

Members

Source

pub const TokenOffset = enum(i32) { zero = 0, _, pub fn init(base: TokenIndex, destination: TokenIndex) TokenOffset { const base_i64: i64 = base; const destination_i64: i64 = destination; return @enumFromInt(destination_i64 - base_i64); } pub fn toOptional(to: TokenOffset) OptionalTokenOffset { const result: OptionalTokenOffset = @enumFromInt(@intFromEnum(to)); assert(result != .none); return result; } pub fn toAbsolute(offset: TokenOffset, base: TokenIndex) TokenIndex { return @intCast(@as(i64, base) + @intFromEnum(offset)); } }