| File: Internal\Reflection\Execution\FieldAccessors\RegularStaticFieldAccessor.cs | Web Access |
| Project: src\runtime\src\coreclr\nativeaot\System.Private.Reflection.Execution\src\System.Private.Reflection.Execution.csproj (System.Private.Reflection.Execution) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using Internal.Runtime; namespace Internal.Reflection.Execution.FieldAccessors { internal abstract class RegularStaticFieldAccessor : WritableStaticFieldAccessor { protected RegularStaticFieldAccessor(IntPtr cctorContext, IntPtr staticsBase, int fieldOffset, FieldTableFlags fieldBase, RuntimeTypeHandle fieldTypeHandle) : base(cctorContext, fieldTypeHandle) { StaticsBase = staticsBase; _fieldFlags = fieldBase; FieldOffset = fieldOffset; } protected IntPtr StaticsBase { get; } private readonly FieldTableFlags _fieldFlags; protected int FieldOffset { get; } protected FieldTableFlags FieldBase => _fieldFlags & FieldTableFlags.StorageClass; protected sealed override bool IsFieldInitOnly => (_fieldFlags & FieldTableFlags.IsInitOnly) == FieldTableFlags.IsInitOnly; } }