clang API Documentation

Public Types | Public Member Functions | Static Public Member Functions | Friends
clang::AttributedType Class Reference

#include <Type.h>

Inheritance diagram for clang::AttributedType:
Inheritance graph
[legend]
Collaboration diagram for clang::AttributedType:
Collaboration graph
[legend]

List of all members.

Public Types

enum  Kind {
  attr_address_space, attr_regparm, attr_vector_size, attr_neon_vector_type,
  attr_neon_polyvector_type, FirstExprOperandKind = attr_address_space, LastExprOperandKind = attr_neon_polyvector_type, attr_objc_gc,
  attr_objc_ownership, attr_pcs, attr_pcs_vfp, FirstEnumOperandKind = attr_objc_gc,
  LastEnumOperandKind = attr_pcs_vfp, attr_noreturn, attr_cdecl, attr_fastcall,
  attr_stdcall, attr_thiscall, attr_pascal, attr_vectorcall,
  attr_pnaclcall, attr_inteloclbicc, attr_ms_abi, attr_sysv_abi,
  attr_ptr32, attr_ptr64, attr_sptr, attr_uptr
}

Public Member Functions

Kind getAttrKind () const
QualType getModifiedType () const
QualType getEquivalentType () const
bool isSugared () const
QualType desugar () const
bool isMSTypeSpec () const
bool isCallingConv () const
void Profile (llvm::FoldingSetNodeID &ID)

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &ID, Kind attrKind, QualType modified, QualType equivalent)
static bool classof (const Type *T)

Friends

class ASTContext

Detailed Description

AttributedType - An attributed type is a type to which a type attribute has been applied. The "modified type" is the fully-sugared type to which the attributed type was applied; generally it is not canonically equivalent to the attributed type. The "equivalent type" is the minimally-desugared type which the type is canonically equivalent to.

For example, in the following attributed type: int32_t __attribute__((vector_size(16)))

Definition at line 3406 of file Type.h.


Member Enumeration Documentation

Enumerator:
attr_address_space 
attr_regparm 
attr_vector_size 
attr_neon_vector_type 
attr_neon_polyvector_type 
FirstExprOperandKind 
LastExprOperandKind 
attr_objc_gc 
attr_objc_ownership 
attr_pcs 
attr_pcs_vfp 
FirstEnumOperandKind 
LastEnumOperandKind 
attr_noreturn 
attr_cdecl 
attr_fastcall 
attr_stdcall 
attr_thiscall 
attr_pascal 
attr_vectorcall 
attr_pnaclcall 
attr_inteloclbicc 
attr_ms_abi 
attr_sysv_abi 
attr_ptr32 
attr_ptr64 
attr_sptr 
attr_uptr 

Definition at line 3410 of file Type.h.


Member Function Documentation

static bool clang::AttributedType::classof ( const Type T) [inline, static]

Definition at line 3490 of file Type.h.

References clang::Type::getTypeClass().

Definition at line 3473 of file Type.h.

Definition at line 3470 of file Type.h.

Referenced by handleMSPointerTypeQualifierAttr().

Definition at line 3469 of file Type.h.

Referenced by clang::Sema::getCallingConvAttributedType().

Definition at line 1899 of file Type.cpp.

References attr_ptr32, attr_ptr64, attr_sptr, attr_uptr, and getAttrKind().

Definition at line 3472 of file Type.h.

void clang::AttributedType::Profile ( llvm::FoldingSetNodeID &  ID) [inline]

Definition at line 3479 of file Type.h.

Referenced by clang::ASTContext::getAttributedType().

static void clang::AttributedType::Profile ( llvm::FoldingSetNodeID &  ID,
Kind  attrKind,
QualType  modified,
QualType  equivalent 
) [inline, static]

Definition at line 3483 of file Type.h.

References clang::QualType::getAsOpaquePtr().


Friends And Related Function Documentation

friend class ASTContext [friend]

Reimplemented from clang::Type.

Definition at line 3452 of file Type.h.


The documentation for this class was generated from the following files: