/// <summary> /// Return true if the given type is valid as a calling convention modifier type. /// </summary> internal static bool IsCallingConventionModifier(NamedTypeSymbol modifierType) { Debug.Assert(modifierType.ContainingAssembly is not null || modifierType.IsErrorType()); return((object?)modifierType.ContainingAssembly == modifierType.ContainingAssembly?.CorLibrary && modifierType.Arity == 0 && modifierType.Name != "CallConv" && modifierType.Name.StartsWith("CallConv", StringComparison.Ordinal) && modifierType.IsCompilerServicesTopLevelType()); }