/// <returns>True if a diagnostic was reported</returns> internal bool ReportUnsafeIfNotAllowed(Location location, DiagnosticBag diagnostics, TypeSymbol sizeOfTypeOpt = null) { #if XSHARP var diagnosticInfo = Compilation.Options.HasRuntime && Compilation.Options.AllowUnsafe ? null : GetUnsafeDiagnosticInfo(sizeOfTypeOpt); #else var diagnosticInfo = GetUnsafeDiagnosticInfo(sizeOfTypeOpt); #endif if (diagnosticInfo == null) { return(false); } diagnostics.Add(new CSDiagnostic(diagnosticInfo, location)); #if XSHARP if ((object)sizeOfTypeOpt != null) { return(false); } if (ErrorFacts.IsWarning(diagnosticInfo.Code)) { return(false); } #endif return(true); }