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

#include <PartialDiagnostic.h>

Collaboration diagram for clang::PartialDiagnostic::Storage:
[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
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

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

Definition at line 39 of file PartialDiagnostic.h.

Member Data Documentation

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().

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().

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().

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().

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().

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

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