public TypeRefMask GetElementType(TypeRefMask mask)
{
TypeRefMask result;
if (IsArray(mask) && !mask.IsAnyType)
{
result = default(TypeRefMask); // uninitalized
var arrtypes = GetTypes(mask, _isArrayMask);
foreach (var t in arrtypes)
{
Debug.Assert(t.IsArray);
result |= t.ElementType;
}
if (result.IsVoid)
{
// empty array
//result = TypeRefMask.AnyType;
}
}
else
{
result = TypeRefMask.AnyType;
}
return result;
}