// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
usingSystem;
usingSystem.Collections.Concurrent;
usingSystem.Collections.Generic;
usingSystem.Threading;
usingMicrosoft.CodeAnalysis.Text;
usingRoslyn.Utilities;
namespaceMicrosoft.CodeAnalysis.CodeGen
{
/// <summary>
/// Handles storage of strings referenced via tokens in metadata. When items are stored
/// they are uniquely "associated" with fake token, which is basically a sequential number.
/// IL gen will use these fake tokens during codegen and later, when actual token values
/// are known the method bodies will be patched.
/// To support these two scenarios we need two maps - Item-->uint, and uint-->Item. (the second is really just a list).
/// Handles storage of items referenced via tokens in metadata. When items are stored
/// they are uniquely "associated" with fake tokens, which are basically sequential numbers.
/// IL gen will use these fake tokens during codegen and later, when actual values
/// are known, the method bodies will be patched.
/// To support these two scenarios we need two maps - Item-->uint, and uint-->Item. (The second is really just a list).