A11 (C++ runtime)
Native C++ implementation of the A11 streaming action runtime
Loading...
Searching...
No Matches
diagnostic.h File Reference
#include <cstddef>
#include <string>
#include <string_view>
#include <vector>
#include <absl/types/span.h>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  a11::flow::Position
 One place in the source: the byte offset, and the line and column at it. More...
 
struct  a11::flow::Range
 Half-open span of source, [start, end). More...
 
struct  a11::flow::Edit
 One replacement of a span of source. An empty text is a deletion. More...
 
struct  a11::flow::Fix
 An edit, or set of edits, that would fix a diagnostic. More...
 
struct  a11::flow::Diagnostic
 One problem found in a flow. More...
 
struct  a11::flow::CodeInfo
 What a diagnostic code means, for documentation and for a11 flow codes. More...
 
class  a11::flow::LineIndex
 Line and column lookup over one source text. More...
 

Namespaces

namespace  a11
 
namespace  a11::flow
 

Enumerations

enum class  a11::flow::Severity { a11::flow::kError , a11::flow::kWarning , a11::flow::kWeakWarning , a11::flow::kInformation }
 How much a diagnostic matters. More...
 
enum class  a11::flow::Family {
  a11::flow::kSyntax , a11::flow::kForm , a11::flow::kName , a11::flow::kSequence ,
  a11::flow::kBarrier , a11::flow::kUnused
}
 The kind of problem, which is the grouping a reader thinks in. More...
 

Functions

std::string_view a11::flow::SeverityName (Severity severity)
 The spelling of a severity in the output formats.
 
std::string_view a11::flow::FamilyName (Family family)
 The spelling of a family in the output formats.
 
Severity a11::flow::SeverityFromName (std::string_view name)
 Severity for a name from the output formats, or kError if unknown.
 
Family a11::flow::FamilyFromName (std::string_view name)
 Family for a name from the output formats, or kSyntax if unknown.
 
const Diagnostic *absl_nullable a11::flow::FirstError (absl::Span< const Diagnostic > diagnostics)
 The first error in diagnostics, or nullptr if none is an error.
 
absl::Span< const CodeInfo > a11::flow::KnownCodes ()
 Every diagnostic code the language can produce, sorted by code.
 
const CodeInfo *absl_nullable a11::flow::FindCode (std::string_view code)
 The entry for a code, or nullptr if nothing publishes it.
 
void a11::flow::SortDiagnostics (std::vector< Diagnostic > &diagnostics)
 Sorts diagnostics into the order every frontend presents them in: by position, then by code, so two runs over the same file agree byte for byte.