compiler/front/sexp_reporter

  Source   Edit

Implementation of the structured CLI message generator. Using --msgFormat=sexp will make compiler switch to the report hook implemented in this module.

Procs

proc add(self: var SexpNode; str: string; expr: SexpNode) {....raises: [], tags: [].}
  Source   Edit
proc reportHook(conf: ConfigRef; r: Report): TErrorHandling {.
    ...raises: [KeyError, Exception], tags: [ReadDirEffect, RootEffect].}
  Source   Edit
proc sexp(e: StackTraceEntry): SexpNode {....raises: [KeyError, Exception],
    tags: [ReadDirEffect, RootEffect].}
  Source   Edit
proc sexp(i: ReportLineInfo): SexpNode {....raises: [KeyError, Exception],
    tags: [ReadDirEffect, RootEffect].}
  Source   Edit
proc sexp(i: TLineInfo): SexpNode {....raises: [KeyError, Exception],
                                    tags: [ReadDirEffect, RootEffect].}
  Source   Edit
proc sexp(id: FileIndex): SexpNode {....raises: [KeyError, Exception],
                                     tags: [ReadDirEffect, RootEffect].}
  Source   Edit
proc sexp(n: NodeId): SexpNode {....raises: [], tags: [].}
  Source   Edit
proc sexp(node: PNode): SexpNode {....raises: [], tags: [].}
  Source   Edit
proc sexp(s: cstring): SexpNode {....raises: [], tags: [].}
  Source   Edit
proc sexp(t: PSym): SexpNode {....raises: [KeyError, Exception],
                               tags: [ReadDirEffect, RootEffect].}
  Source   Edit
proc sexp(typ: PType): SexpNode {....raises: [], tags: [].}
  Source   Edit
proc sexp(v: SomeInteger): SexpNode
  Source   Edit
proc sexp[E: enum](e: E): SexpNode
  Source   Edit
proc sexp[I](s: set[I]): SexpNode
  Source   Edit
proc sexp[R, T](s: array[R, T]): SexpNode
  Source   Edit
proc sexp[T: object | tuple](obj: ref T): SexpNode
  Source   Edit
proc sexp[T: object | tuple](obj: T): SexpNode
  Source   Edit
proc sexp[T](o: Option[T]): SexpNode
  Source   Edit
proc sexp[T](s: seq[T]): SexpNode
  Source   Edit
proc sexpItems[T](s: T): SexpNode
  Source   Edit