Backed out changeset 2450366cf7ca (bug 1891629) for causing win msix mochitest failures
[gecko.git] / js / src / frontend / ScriptIndex.h
blobed16b6be57b92f9ad3ac10a1fd819be613ab1d5d
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 * vim: set ts=8 sts=2 et sw=2 tw=80:
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef frontend_ScriptIndex_h
8 #define frontend_ScriptIndex_h
10 #include <utility>
12 #include "frontend/TypedIndex.h" // TypedIndex
13 #include "js/GCPolicyAPI.h" // JS::GCPolicy, JS::IgnoreGCPolicy
15 namespace js {
16 namespace frontend {
18 class ScriptStencil;
20 using ScriptIndex = TypedIndex<ScriptStencil>;
22 // Represents a range for scripts [start, limit).
23 struct ScriptIndexRange {
24 ScriptIndex start;
25 ScriptIndex limit;
27 ScriptIndexRange(ScriptIndex start, ScriptIndex limit)
28 : start(start), limit(limit) {
29 MOZ_ASSERT(start < limit);
33 } /* namespace frontend */
34 } /* namespace js */
36 namespace JS {
37 template <>
38 struct GCPolicy<js::frontend::ScriptIndexRange>
39 : public IgnoreGCPolicy<js::frontend::ScriptIndexRange> {};
40 } // namespace JS
42 #endif /* frontend_ScriptIndex_h */