Backed out changeset 2450366cf7ca (bug 1891629) for causing win msix mochitest failures
[gecko.git] / js / src / frontend / ScopeIndex.h
blobde8087211cc8c7ff4ced3fe2417263ec07c6b477
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_ScopeIndex_h
8 #define frontend_ScopeIndex_h
10 #include <cstdint> // uint32_t, UINT32_MAX
12 #include "frontend/TypedIndex.h" // TypedIndex
14 namespace js {
16 class Scope;
18 class ScopeIndex : public frontend::TypedIndex<Scope> {
19 // Delegate constructors;
20 using Base = frontend::TypedIndex<Scope>;
21 using Base::Base;
23 static constexpr uint32_t InvalidIndex = UINT32_MAX;
25 public:
26 static constexpr ScopeIndex invalid() { return ScopeIndex(InvalidIndex); }
27 bool isValid() const { return index != InvalidIndex; }
30 } /* namespace js */
32 #endif /* frontend_ScopeIndex_h */