Rename DiagnosticClient to DiagnosticConsumer as per issue 5397.

llvm-svn: 331152
This commit is contained in:
Fangrui Song 2018-04-30 00:34:09 +00:00
parent e7c4af32c6
commit 0f587e5387
2 changed files with 9 additions and 9 deletions

View File

@ -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.

View File

@ -1,4 +1,4 @@
//===--- PathDiagnosticClients.h - Path Diagnostic Clients ------*- C++ -*-===//
//===--- PathDiagnosticConsumers.h - Path Diagnostic Clients ------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//