clang 19.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
ParsedAttr.h File Reference
#include "clang/Basic/AttrSubjectMatchRules.h"
#include "clang/Basic/AttributeCommonInfo.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/ParsedAttrInfo.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Sema/Ownership.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/VersionTuple.h"
#include <bitset>
#include <cassert>
#include <cstddef>
#include <cstring>
#include <utility>

Go to the source code of this file.

Classes

struct  clang::AvailabilityChange
 Represents information about a change in availability for an entity, which is part of the encoding of the 'availability' attribute. More...
 
struct  clang::detail::AvailabilityData
 Describes the trailing object for Availability attribute in ParsedAttr. More...
 
struct  clang::detail::TypeTagForDatatypeData
 
struct  clang::detail::PropertyData
 
struct  clang::IdentifierLoc
 Wraps an identifier and optional source location for the identifier. More...
 
class  clang::ParsedAttr
 ParsedAttr - Represents a syntactic attribute. More...
 
class  clang::AttributeFactory
 A factory, from which one makes pools, from which one creates individual attributes which are deallocated with the pool. More...
 
class  clang::AttributePool
 
class  clang::ParsedAttributesView
 
struct  clang::ParsedAttributesView::iterator
 
struct  clang::ParsedAttributesView::const_iterator
 
struct  clang::ParsedAttributeArgumentsProperties
 
class  clang::ParsedAttributes
 ParsedAttributes - A collection of parsed attributes. More...
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::detail
 

Typedefs

using clang::ArgsUnion = llvm::PointerUnion< Expr *, IdentifierLoc * >
 A union of the various pointer types that can be passed to an ParsedAttr as an argument.
 
using clang::ArgsVector = llvm::SmallVector< ArgsUnion, 12U >
 

Enumerations

enum  clang::detail::AvailabilitySlot { clang::detail::IntroducedSlot , clang::detail::DeprecatedSlot , clang::detail::ObsoletedSlot , clang::detail::NumAvailabilitySlots }
 
enum  clang::AttributeArgumentNType {
  clang::AANT_ArgumentIntOrBool , clang::AANT_ArgumentIntegerConstant , clang::AANT_ArgumentString , clang::AANT_ArgumentIdentifier ,
  clang::AANT_ArgumentConstantExpr , clang::AANT_ArgumentBuiltinFunction
}
 These constants match the enumerated choices of err_attribute_argument_n_type and err_attribute_argument_type. More...
 
enum  clang::AttributeDeclKind {
  clang::ExpectedFunction , clang::ExpectedUnion , clang::ExpectedVariableOrFunction , clang::ExpectedFunctionOrMethod ,
  clang::ExpectedFunctionMethodOrBlock , clang::ExpectedFunctionMethodOrParameter , clang::ExpectedVariable , clang::ExpectedVariableOrField ,
  clang::ExpectedVariableFieldOrTag , clang::ExpectedTypeOrNamespace , clang::ExpectedFunctionVariableOrClass , clang::ExpectedKernelFunction ,
  clang::ExpectedFunctionWithProtoType
}
 These constants match the enumerated choices of warn_attribute_wrong_decl_type and err_attribute_wrong_decl_type. More...
 

Functions

void clang::takeAndConcatenateAttrs (ParsedAttributes &First, ParsedAttributes &Second, ParsedAttributes &Result)
 Consumes the attributes from First and Second and concatenates them into Result.
 
const StreamingDiagnostic & clang::operator<< (const StreamingDiagnostic &DB, const ParsedAttr &At)
 
const StreamingDiagnostic & clang::operator<< (const StreamingDiagnostic &DB, const ParsedAttr *At)
 
template<typename ACI , std::enable_if_t< std::is_same< ACI, AttributeCommonInfo >::value, int > = 0>
const StreamingDiagnostic & clang::operator<< (const StreamingDiagnostic &DB, const ACI &CI)
 AttributeCommonInfo has a non-explicit constructor which takes an SourceRange as its only argument, this constructor has many uses so making it explicit is hard.
 
template<typename ACI , std::enable_if_t< std::is_same< ACI, AttributeCommonInfo >::value, int > = 0>
const StreamingDiagnostic & clang::operator<< (const StreamingDiagnostic &DB, const ACI *CI)