CachedAttributeGetter<T>
                
                
                
                
using Newtonsoft.
Json.
Utilities;
using System;
using System.
Runtime.
CompilerServices;
namespace Newtonsoft.
Json.
Serialization
{
    
internal static class CachedAttributeGetter<
T> 
where T : 
Attribute
    {
        [
System.
Runtime.
CompilerServices.
Nullable(
new byte[] {
            
1,
            
1,
            
2
        })]
        
private static readonly ThreadSafeStore<
object, 
T> 
TypeAttributeCache = 
new ThreadSafeStore<
object, 
T>(
JsonTypeReflector.
GetAttribute<
T>);
        [
System.
Runtime.
CompilerServices.
NullableContext(
1)]
        [
return: 
System.
Runtime.
CompilerServices.
Nullable(
2)]
        
public static T GetAttribute(
object type)
        {
            
return TypeAttributeCache.
Get(
type);
        }
    }
}