// dnlib: See LICENSE.txt for more info
using System;
namespace dnlib.DotNet {
///
/// Field flags, see CorHdr.h/CorFieldAttr
///
[Flags]
public enum FieldAttributes : ushort {
/// member access mask - Use this mask to retrieve accessibility information.
FieldAccessMask = 0x0007,
/// Member not referenceable.
PrivateScope = 0x0000,
/// Member not referenceable.
CompilerControlled = PrivateScope,
/// Accessible only by the parent type.
Private = 0x0001,
/// Accessible by sub-types only in this Assembly.
FamANDAssem = 0x0002,
/// Accessibly by anyone in the Assembly.
Assembly = 0x0003,
/// Accessible only by type and sub-types.
Family = 0x0004,
/// Accessibly by sub-types anywhere, plus anyone in assembly.
FamORAssem = 0x0005,
/// Accessibly by anyone who has visibility to this scope.
Public = 0x0006,
/// Defined on type, else per instance.
Static = 0x0010,
/// Field may only be initialized, not written to after init.
InitOnly = 0x0020,
/// Value is compile time constant.
Literal = 0x0040,
/// Field does not have to be serialized when type is remoted.
NotSerialized = 0x0080,
/// field is special. Name describes how.
SpecialName = 0x0200,
/// Implementation is forwarded through pinvoke.
PinvokeImpl = 0x2000,
/// Runtime(metadata internal APIs) should check name encoding.
RTSpecialName = 0x0400,
/// Field has marshalling information.
HasFieldMarshal = 0x1000,
/// Field has default.
HasDefault = 0x8000,
/// Field has RVA.
HasFieldRVA = 0x0100,
}
}