bool CanBeVolatile()
{
if (TypeManager.IsReferenceType(MemberType))
{
return(true);
}
switch (MemberType.BuiltinType)
{
case BuiltinTypeSpec.Type.Bool:
case BuiltinTypeSpec.Type.Char:
case BuiltinTypeSpec.Type.SByte:
case BuiltinTypeSpec.Type.Byte:
case BuiltinTypeSpec.Type.Short:
case BuiltinTypeSpec.Type.UShort:
case BuiltinTypeSpec.Type.Int:
case BuiltinTypeSpec.Type.UInt:
case BuiltinTypeSpec.Type.Float:
case BuiltinTypeSpec.Type.UIntPtr:
case BuiltinTypeSpec.Type.IntPtr:
return(true);
}
if (MemberType.IsEnum)
{
return(true);
}
return(false);
}