clang  6.0.0svn
Public Types | Public Member Functions | Public Attributes | List of all members
clang::PartialDiagnostic::Storage Struct Reference

#include "clang/Basic/PartialDiagnostic.h"

Collaboration diagram for clang::PartialDiagnostic::Storage:
Collaboration graph
[legend]

Public Types

enum  { MaxArguments = PartialDiagnostic::MaxArguments }
 

Public Member Functions

 Storage ()
 

Public Attributes

unsigned char NumDiagArgs
 The number of entries in Arguments. More...
 
unsigned char DiagArgumentsKind [MaxArguments]
 Specifies for each argument whether it is in DiagArgumentsStr or in DiagArguments. More...
 
intptr_t DiagArgumentsVal [MaxArguments]
 The values for the various substitution positions. More...
 
std::string DiagArgumentsStr [MaxArguments]
 The values for the various substitution positions that have string arguments. More...
 
SmallVector< CharSourceRange, 8 > DiagRanges
 The list of ranges added to this diagnostic. More...
 
SmallVector< FixItHint, 6 > FixItHints
 If valid, provides a hint with some code to insert, remove, or modify at a particular position. More...
 

Detailed Description

Definition at line 38 of file PartialDiagnostic.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MaxArguments 

The maximum number of arguments we can hold.

We currently only support up to 10 arguments (%0-%9).

A single diagnostic with more than that almost certainly has to be simplified anyway.

Definition at line 41 of file PartialDiagnostic.h.

Constructor & Destructor Documentation

◆ Storage()

clang::PartialDiagnostic::Storage::Storage ( )
inline

Member Data Documentation

◆ DiagArgumentsKind

unsigned char clang::PartialDiagnostic::Storage::DiagArgumentsKind[MaxArguments]

Specifies for each argument whether it is in DiagArgumentsStr or in DiagArguments.

Definition at line 55 of file PartialDiagnostic.h.

Referenced by clang::PartialDiagnostic::AddString(), clang::PartialDiagnostic::AddTaggedVal(), and clang::PartialDiagnostic::Emit().

◆ DiagArgumentsStr

std::string clang::PartialDiagnostic::Storage::DiagArgumentsStr[MaxArguments]

The values for the various substitution positions that have string arguments.

Definition at line 66 of file PartialDiagnostic.h.

Referenced by clang::PartialDiagnostic::AddString(), and clang::PartialDiagnostic::Emit().

◆ DiagArgumentsVal

intptr_t clang::PartialDiagnostic::Storage::DiagArgumentsVal[MaxArguments]

The values for the various substitution positions.

This is used when the argument is not an std::string. The specific value is mangled into an intptr_t and the interpretation depends on exactly what sort of argument kind it is.

Definition at line 62 of file PartialDiagnostic.h.

Referenced by clang::PartialDiagnostic::AddTaggedVal(), and clang::PartialDiagnostic::Emit().

◆ DiagRanges

SmallVector<CharSourceRange, 8> clang::PartialDiagnostic::Storage::DiagRanges

The list of ranges added to this diagnostic.

Definition at line 69 of file PartialDiagnostic.h.

Referenced by clang::PartialDiagnostic::StorageAllocator::Allocate(), and clang::PartialDiagnostic::Emit().

◆ FixItHints

SmallVector<FixItHint, 6> clang::PartialDiagnostic::Storage::FixItHints

If valid, provides a hint with some code to insert, remove, or modify at a particular position.

Definition at line 73 of file PartialDiagnostic.h.

Referenced by clang::PartialDiagnostic::StorageAllocator::Allocate(), and clang::PartialDiagnostic::Emit().

◆ NumDiagArgs

unsigned char clang::PartialDiagnostic::Storage::NumDiagArgs

The documentation for this struct was generated from the following file: