aboutsummaryrefslogtreecommitdiff
path: root/src/stage1/range_set.hpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-09-21 18:38:55 -0700
committerAndrew Kelley <andrew@ziglang.org>2020-09-21 18:38:55 -0700
commit528832bd3a2e7b686ee84aef5887df740a6114db (patch)
tree90ccff9faa2ba2604c8538aeec0a147a4b01148c /src/stage1/range_set.hpp
parentb9f61d401502f5d221e72c0d0e3bf448b11dcd68 (diff)
downloadzig-528832bd3a2e7b686ee84aef5887df740a6114db.tar.gz
zig-528832bd3a2e7b686ee84aef5887df740a6114db.zip
rename src-self-hosted/ to src/
Diffstat (limited to 'src/stage1/range_set.hpp')
-rw-r--r--src/stage1/range_set.hpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/stage1/range_set.hpp b/src/stage1/range_set.hpp
new file mode 100644
index 0000000000..9164a8b5c0
--- /dev/null
+++ b/src/stage1/range_set.hpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2017 Andrew Kelley
+ *
+ * This file is part of zig, which is MIT licensed.
+ * See http://opensource.org/licenses/MIT
+ */
+
+#ifndef ZIG_RANGE_SET_HPP
+#define ZIG_RANGE_SET_HPP
+
+#include "all_types.hpp"
+
+struct Range {
+ BigInt first;
+ BigInt last;
+};
+
+struct RangeWithSrc {
+ Range range;
+ AstNode *source_node;
+};
+
+struct RangeSet {
+ ZigList<RangeWithSrc> src_range_list;
+};
+
+AstNode *rangeset_add_range(RangeSet *rs, BigInt *first, BigInt *last, AstNode *source_node);
+bool rangeset_spans(RangeSet *rs, BigInt *first, BigInt *last);
+
+#endif