Math.NET Numerics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

28 lines
1.2 KiB

// (c) Microsoft Corporation. All rights reserved
/// Configurable AppDomain-global diagnostics channel for the Abstract IL library
///
/// REVIEW: review if we should just switch to System.Diagnostics
module Microsoft.FSharp.Compiler.AbstractIL.Diagnostics
open Internal.Utilities
open Internal.Utilities.Pervasives
open Microsoft.FSharp.Compiler.AbstractIL
open Microsoft.FSharp.Compiler.AbstractIL.Internal
let diagnosticsLog = ref (Some stdout)
let dflushn () = match !diagnosticsLog with None -> () | Some d -> d.WriteLine(); flush d
let dflush () = match !diagnosticsLog with None -> () | Some d -> flush d
let dprintn s =
match !diagnosticsLog with None -> () | Some d -> output_string d s; output_string d "\n"; dflush()
let dprint s =
match !diagnosticsLog with None -> () | Some d -> output_string d s; dflush()
let dprintf (fmt: (_,_,_,_) format4) =
Printf.kfprintf dflush (match !diagnosticsLog with None -> System.IO.TextWriter.Null | Some d -> d) fmt
let dprintfn (fmt: (_,_,_,_) format4) =
Printf.kfprintf dflushn (match !diagnosticsLog with None -> System.IO.TextWriter.Null | Some d -> d) fmt
let setDiagnosticsChannel s = diagnosticsLog := s