From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../src/compiler/translator/SymbolUniqueId.h | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 gfx/angle/checkout/src/compiler/translator/SymbolUniqueId.h (limited to 'gfx/angle/checkout/src/compiler/translator/SymbolUniqueId.h') diff --git a/gfx/angle/checkout/src/compiler/translator/SymbolUniqueId.h b/gfx/angle/checkout/src/compiler/translator/SymbolUniqueId.h new file mode 100644 index 0000000000..7e0312d054 --- /dev/null +++ b/gfx/angle/checkout/src/compiler/translator/SymbolUniqueId.h @@ -0,0 +1,58 @@ +// +// Copyright 2017 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// SymbolUniqueId.h: Encapsulates a unique id for a symbol. + +#ifndef COMPILER_TRANSLATOR_SYMBOLUNIQUEID_H_ +#define COMPILER_TRANSLATOR_SYMBOLUNIQUEID_H_ + +#include "compiler/translator/Common.h" + +namespace sh +{ + +class TSymbolTable; +class TSymbol; + +class TSymbolUniqueId +{ + public: + POOL_ALLOCATOR_NEW_DELETE + explicit TSymbolUniqueId(const TSymbol &symbol); + constexpr TSymbolUniqueId(const TSymbolUniqueId &) = default; + TSymbolUniqueId &operator =(const TSymbolUniqueId &); + bool operator==(const TSymbolUniqueId &) const; + + constexpr int get() const { return mId; } + + private: + friend class TSymbolTable; + explicit TSymbolUniqueId(TSymbolTable *symbolTable); + + friend class BuiltInId; + constexpr TSymbolUniqueId(int staticId) : mId(staticId) {} + + int mId; +}; + +enum class SymbolType : uint8_t +{ + BuiltIn, + UserDefined, + AngleInternal, + Empty // Meaning symbol without a name. +}; + +enum class SymbolClass : uint8_t +{ + Function, + Variable, + Struct, + InterfaceBlock +}; + +} // namespace sh + +#endif // COMPILER_TRANSLATOR_SYMBOLUNIQUEID_H_ -- cgit v1.2.3