clang API Documentation

Public Member Functions | Static Public Member Functions
clang::CXXUuidofExpr Class Reference

#include <ExprCXX.h>

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

List of all members.

Public Member Functions

 CXXUuidofExpr (QualType Ty, TypeSourceInfo *Operand, SourceRange R)
 CXXUuidofExpr (QualType Ty, Expr *Operand, SourceRange R)
 CXXUuidofExpr (EmptyShell Empty, bool isExpr)
bool isTypeOperand () const
QualType getTypeOperand (ASTContext &Context) const
 Retrieves the type operand of this __uuidof() expression after various required adjustments (removing reference types, cv-qualifiers).
TypeSourceInfogetTypeOperandSourceInfo () const
 Retrieve source information for the type operand.
void setTypeOperandSourceInfo (TypeSourceInfo *TSI)
ExprgetExprOperand () const
void setExprOperand (Expr *E)
StringRef getUuidAsStringRef (ASTContext &Context) const
SourceLocation getLocStart () const LLVM_READONLY
SourceLocation getLocEnd () const LLVM_READONLY
SourceRange getSourceRange () const LLVM_READONLY
void setSourceRange (SourceRange R)
child_range children ()

Static Public Member Functions

static bool classof (const Stmt *T)
static const UuidAttr * GetUuidAttrOfType (QualType QT, bool *HasMultipleGUIDsPtr=nullptr)

Detailed Description

A Microsoft C++ __uuidof expression, which gets the _GUID that corresponds to the supplied type or expression.

This represents code like __uuidof(COMTYPE) or __uuidof(*comPtr)

Definition at line 672 of file ExprCXX.h.


Constructor & Destructor Documentation

Definition at line 678 of file ExprCXX.h.

clang::CXXUuidofExpr::CXXUuidofExpr ( QualType  Ty,
Expr Operand,
SourceRange  R 
) [inline]

Definition at line 685 of file ExprCXX.h.

clang::CXXUuidofExpr::CXXUuidofExpr ( EmptyShell  Empty,
bool  isExpr 
) [inline]

Definition at line 692 of file ExprCXX.h.


Member Function Documentation

Reimplemented from clang::Stmt.

Definition at line 744 of file ExprCXX.h.

References isTypeOperand().

static bool clang::CXXUuidofExpr::classof ( const Stmt T) [inline, static]

Reimplemented from clang::Expr.

Definition at line 734 of file ExprCXX.h.

References clang::Stmt::getStmtClass().

Definition at line 717 of file ExprCXX.h.

References isTypeOperand().

Referenced by getUuidAsStringRef().

Reimplemented from clang::Stmt.

Definition at line 730 of file ExprCXX.h.

References clang::SourceRange::getEnd().

Reimplemented from clang::Stmt.

Definition at line 729 of file ExprCXX.h.

References clang::SourceRange::getBegin().

SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager. We assume AST clients will have a pointer to the respective SourceManager.

Reimplemented from clang::Stmt.

Definition at line 731 of file ExprCXX.h.

Retrieves the type operand of this __uuidof() expression after various required adjustments (removing reference types, cv-qualifiers).

Definition at line 50 of file ExprCXX.cpp.

References clang::QualType::getNonReferenceType(), clang::TypeSourceInfo::getType(), clang::ASTContext::getUnqualifiedArrayType(), and isTypeOperand().

Referenced by getUuidAsStringRef().

Retrieve source information for the type operand.

Definition at line 707 of file ExprCXX.h.

References isTypeOperand().

StringRef CXXUuidofExpr::getUuidAsStringRef ( ASTContext Context) const
const UuidAttr * CXXUuidofExpr::GetUuidAttrOfType ( QualType  QT,
bool HasMultipleGUIDsPtr = nullptr 
) [static]

Definition at line 722 of file ExprCXX.h.

References isTypeOperand().

Definition at line 732 of file ExprCXX.h.

Definition at line 712 of file ExprCXX.h.

References isTypeOperand().


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