liquid-fixpoint-0.1.0.0: external/misc/errorline.ml
type info =
{ mutable linenum: int; (* current line number *)
mutable linepos: int; (* char position of beginning of current line *)
fileName : string (* current file name *)
}
let current : info ref =
ref
{ linenum = 1 ;
linepos = 0 ;
fileName = ""
}
let startFile fname =
current := { linenum = 1 ;
linepos = 0 ;
fileName = fname}
let startNewline n =
let i = !current in
begin
i.linenum <- i.linenum + 1 ;
i.linepos <- n
end
let error n msg =
let i = !current in
Printf.eprintf "%s at %s: %d.%d\n"
msg i.fileName i.linenum (n - i.linepos)