Current section

Files

Jump to
pi_bridge lib pi eval diagnostics.ex
Raw

lib/pi/eval/diagnostics.ex

defmodule Pi.Eval.Diagnostics do
@moduledoc false
alias Pi.Target.Runtime.Diagnostics, as: RuntimeDiagnostics
@type diagnostic :: %{
severity: atom() | String.t() | nil,
message: String.t(),
file: String.t() | nil,
source: String.t() | nil,
position: term(),
span: term(),
stacktrace: [map()]
}
@spec normalize([map()]) :: [diagnostic()]
defdelegate normalize(diagnostics), to: RuntimeDiagnostics
@spec append_to_error(String.t(), [diagnostic()]) :: String.t()
def append_to_error(text, diagnostics), do: RuntimeDiagnostics.append(text, diagnostics)
end