aboutsummaryrefslogtreecommitdiff
path: root/src/RangeSet.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-03-31 15:06:03 -0700
committerAndrew Kelley <andrew@ziglang.org>2021-03-31 15:06:03 -0700
commite272c29c163538159eb81f60cb5da3d7ebe099f9 (patch)
tree443eb48eb399e2f16ba76743d55207cbe78e8a9f /src/RangeSet.zig
parentc7b09be8de946d18c2f1afb532beb1b2426fab18 (diff)
downloadzig-e272c29c163538159eb81f60cb5da3d7ebe099f9.tar.gz
zig-e272c29c163538159eb81f60cb5da3d7ebe099f9.zip
Sema: implement switch validation for ranges
Diffstat (limited to 'src/RangeSet.zig')
-rw-r--r--src/RangeSet.zig5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/RangeSet.zig b/src/RangeSet.zig
index f8116a4375..4ae85d0f0b 100644
--- a/src/RangeSet.zig
+++ b/src/RangeSet.zig
@@ -2,13 +2,14 @@ const std = @import("std");
const Order = std.math.Order;
const Value = @import("value.zig").Value;
const RangeSet = @This();
+const SwitchProngSrc = @import("AstGen.zig").SwitchProngSrc;
ranges: std.ArrayList(Range),
pub const Range = struct {
start: Value,
end: Value,
- src: usize,
+ src: SwitchProngSrc,
};
pub fn init(allocator: *std.mem.Allocator) RangeSet {
@@ -21,7 +22,7 @@ pub fn deinit(self: *RangeSet) void {
self.ranges.deinit();
}
-pub fn add(self: *RangeSet, start: Value, end: Value, src: usize) !?usize {
+pub fn add(self: *RangeSet, start: Value, end: Value, src: SwitchProngSrc) !?SwitchProngSrc {
for (self.ranges.items) |range| {
if ((start.compare(.gte, range.start) and start.compare(.lte, range.end)) or
(end.compare(.gte, range.start) and end.compare(.lte, range.end)))