Skip to content

Commit d26986a

Browse files
committed
Merge pull request #504 from Jand42/master
Add FSharpErrorInfo.ErrorNumber
2 parents a1ae9f0 + 4c7a0b9 commit d26986a

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

src/fsharp/vs/IncrementalBuild.fs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -914,7 +914,7 @@ type FSharpErrorSeverity =
914914
| Warning
915915
| Error
916916

917-
type FSharpErrorInfo(fileName, s:pos, e:pos, severity: FSharpErrorSeverity, message: string, subcategory: string) =
917+
type FSharpErrorInfo(fileName, s:pos, e:pos, severity: FSharpErrorSeverity, message: string, subcategory: string, errorNum: int) =
918918
member __.StartLine = Line.toZ s.Line
919919
member __.StartLineAlternate = s.Line
920920
member __.EndLine = Line.toZ e.Line
@@ -925,18 +925,20 @@ type FSharpErrorInfo(fileName, s:pos, e:pos, severity: FSharpErrorSeverity, mess
925925
member __.Message = message
926926
member __.Subcategory = subcategory
927927
member __.FileName = fileName
928-
member __.WithStart(newStart) = FSharpErrorInfo(fileName, newStart, e, severity, message, subcategory)
929-
member __.WithEnd(newEnd) = FSharpErrorInfo(fileName, s, newEnd, severity, message, subcategory)
928+
member __.ErrorNumber = errorNum
929+
member __.WithStart(newStart) = FSharpErrorInfo(fileName, newStart, e, severity, message, subcategory, errorNum)
930+
member __.WithEnd(newEnd) = FSharpErrorInfo(fileName, s, newEnd, severity, message, subcategory, errorNum)
930931
override __.ToString()= sprintf "%s (%d,%d)-(%d,%d) %s %s %s" fileName (int s.Line) (s.Column + 1) (int e.Line) (e.Column + 1) subcategory (if severity=FSharpErrorSeverity.Warning then "warning" else "error") message
931932

932-
/// Decompose a warning or error into parts: position, severity, message
933+
/// Decompose a warning or error into parts: position, severity, message, error number
933934
static member (*internal*) CreateFromException(exn,warn,trim:bool,fallbackRange:range) =
934935
let m = match GetRangeOfError exn with Some m -> m | None -> fallbackRange
935936
let e = if trim then m.Start else m.End
936937
let msg = bufs (fun buf -> OutputPhasedError buf exn false)
937-
FSharpErrorInfo(m.FileName, m.Start, e, (if warn then FSharpErrorSeverity.Warning else FSharpErrorSeverity.Error), msg, exn.Subcategory())
938+
let errorNum = GetErrorNumber exn
939+
FSharpErrorInfo(m.FileName, m.Start, e, (if warn then FSharpErrorSeverity.Warning else FSharpErrorSeverity.Error), msg, exn.Subcategory(), errorNum)
938940

939-
/// Decompose a warning or error into parts: position, severity, message
941+
/// Decompose a warning or error into parts: position, severity, message, error number
940942
static member internal CreateFromExceptionAndAdjustEof(exn,warn,trim:bool,fallbackRange:range, (linesCount:int, lastLength:int)) =
941943
let r = FSharpErrorInfo.CreateFromException(exn,warn,trim,fallbackRange)
942944

src/fsharp/vs/IncrementalBuild.fsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ type (*internal*) FSharpErrorInfo =
3232
member Severity:FSharpErrorSeverity
3333
member Message:string
3434
member Subcategory:string
35+
member ErrorNumber:int
3536
static member internal CreateFromExceptionAndAdjustEof : PhasedError * bool * bool * range * lastPosInFile:(int*int) -> FSharpErrorInfo
3637
static member internal CreateFromException : PhasedError * bool * bool * range -> FSharpErrorInfo
3738

0 commit comments

Comments
 (0)