mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 02:26:07 +00:00
Rename DiagnosticClient to DiagnosticConsumer as per issue 5397.
llvm-svn: 331152
This commit is contained in:
parent
e7c4af32c6
commit
0f587e5387
@ -54,7 +54,7 @@ number of source ranges that related to the diagnostic.
|
||||
|
||||
In this section, we'll be giving examples produced by the Clang command line
|
||||
driver, but diagnostics can be :ref:`rendered in many different ways
|
||||
<DiagnosticClient>` depending on how the ``DiagnosticClient`` interface is
|
||||
<DiagnosticConsumer>` depending on how the ``DiagnosticConsumer`` interface is
|
||||
implemented. A representative example of a diagnostic is:
|
||||
|
||||
.. code-block:: text
|
||||
@ -188,7 +188,7 @@ Formatting a Diagnostic Argument
|
||||
Arguments to diagnostics are fully typed internally, and come from a couple
|
||||
different classes: integers, types, names, and random strings. Depending on
|
||||
the class of the argument, it can be optionally formatted in different ways.
|
||||
This gives the ``DiagnosticClient`` information about what the argument means
|
||||
This gives the ``DiagnosticConsumer`` information about what the argument means
|
||||
without requiring it to use a specific presentation (consider this MVC for
|
||||
Clang :).
|
||||
|
||||
@ -387,7 +387,7 @@ exactly where those parentheses would be inserted into the source code. The
|
||||
fix-it hints themselves describe what changes to make to the source code in an
|
||||
abstract manner, which the text diagnostic printer renders as a line of
|
||||
"insertions" below the caret line. :ref:`Other diagnostic clients
|
||||
<DiagnosticClient>` might choose to render the code differently (e.g., as
|
||||
<DiagnosticConsumer>` might choose to render the code differently (e.g., as
|
||||
markup inline) or even give the user the ability to automatically fix the
|
||||
problem.
|
||||
|
||||
@ -420,26 +420,26 @@ Fix-it hints can be created with one of three constructors:
|
||||
Specifies that the code in the given source ``Range`` should be removed,
|
||||
and replaced with the given ``Code`` string.
|
||||
|
||||
.. _DiagnosticClient:
|
||||
.. _DiagnosticConsumer:
|
||||
|
||||
The ``DiagnosticClient`` Interface
|
||||
The ``DiagnosticConsumer`` Interface
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Once code generates a diagnostic with all of the arguments and the rest of the
|
||||
relevant information, Clang needs to know what to do with it. As previously
|
||||
mentioned, the diagnostic machinery goes through some filtering to map a
|
||||
severity onto a diagnostic level, then (assuming the diagnostic is not mapped
|
||||
to "``Ignore``") it invokes an object that implements the ``DiagnosticClient``
|
||||
to "``Ignore``") it invokes an object that implements the ``DiagnosticConsumer``
|
||||
interface with the information.
|
||||
|
||||
It is possible to implement this interface in many different ways. For
|
||||
example, the normal Clang ``DiagnosticClient`` (named
|
||||
example, the normal Clang ``DiagnosticConsumer`` (named
|
||||
``TextDiagnosticPrinter``) turns the arguments into strings (according to the
|
||||
various formatting rules), prints out the file/line/column information and the
|
||||
string, then prints out the line of code, the source ranges, and the caret.
|
||||
However, this behavior isn't required.
|
||||
|
||||
Another implementation of the ``DiagnosticClient`` interface is the
|
||||
Another implementation of the ``DiagnosticConsumer`` interface is the
|
||||
``TextDiagnosticBuffer`` class, which is used when Clang is in ``-verify``
|
||||
mode. Instead of formatting and printing out the diagnostics, this
|
||||
implementation just captures and remembers the diagnostics as they fly by.
|
||||
|
@ -1,4 +1,4 @@
|
||||
//===--- PathDiagnosticClients.h - Path Diagnostic Clients ------*- C++ -*-===//
|
||||
//===--- PathDiagnosticConsumers.h - Path Diagnostic Clients ------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user