class UnaryExprOrTypeTraitExpr

Declaration

class UnaryExprOrTypeTraitExpr : public Expr { /* full declaration omitted */ };

Description

UnaryExprOrTypeTraitExpr - expression with either a type or (unevaluated) expression operand. Used for sizeof/alignof (C99 6.5.3.4) and vec_step (OpenCL 1.1 6.11.12).

Declared at: clang/include/clang/AST/Expr.h:2549

Inherits from: Expr

Member Variables

private union(unnamed union at / home / hdoc / tmp / llvm - project / clang / include / clang / AST / Expr.h : 2550 : 3) Argument
private clang::SourceLocation OpLoc
private clang::SourceLocation RParenLoc

Inherited from Stmt:

protected

Method Overview

Inherited from Expr:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

UnaryExprOrTypeTraitExpr(
    clang::UnaryExprOrTypeTrait ExprKind,
    clang::Expr* E,
    clang::QualType resultType,
    clang::SourceLocation op,
    clang::SourceLocation rp)

Declared at: clang/include/clang/AST/Expr.h:2573

Parameters

clang::UnaryExprOrTypeTrait ExprKind
clang::Expr* E
clang::QualType resultType
clang::SourceLocation op
clang::SourceLocation rp

UnaryExprOrTypeTraitExpr(
    clang::Stmt::EmptyShell Empty)

Description

Construct an empty sizeof/alignof expression.

Declared at: clang/include/clang/AST/Expr.h:2578

Parameters

clang::Stmt::EmptyShell Empty

UnaryExprOrTypeTraitExpr(
    clang::UnaryExprOrTypeTrait ExprKind,
    clang::TypeSourceInfo* TInfo,
    clang::QualType resultType,
    clang::SourceLocation op,
    clang::SourceLocation rp)

Declared at: clang/include/clang/AST/Expr.h:2557

Parameters

clang::UnaryExprOrTypeTrait ExprKind
clang::TypeSourceInfo* TInfo
clang::QualType resultType
clang::SourceLocation op
clang::SourceLocation rp

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/Expr.h:2637

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/Expr.h:2636

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/Expr.h:2631

Parameters

const clang::Stmt* T

clang::Expr* getArgumentExpr()

Declared at: clang/include/clang/AST/Expr.h:2599

const clang::Expr* getArgumentExpr() const

Declared at: clang/include/clang/AST/Expr.h:2603

clang::QualType getArgumentType() const

Declared at: clang/include/clang/AST/Expr.h:2592

clang::TypeSourceInfo* getArgumentTypeInfo() const

Declared at: clang/include/clang/AST/Expr.h:2595

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/Expr.h:2628

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/Expr.h:2629

clang::UnaryExprOrTypeTrait getKind() const

Declared at: clang/include/clang/AST/Expr.h:2581

clang::SourceLocation getOperatorLoc() const

Declared at: clang/include/clang/AST/Expr.h:2622

clang::SourceLocation getRParenLoc() const

Declared at: clang/include/clang/AST/Expr.h:2625

clang::QualType getTypeOfArgument() const

Description

Gets the argument type, or the type of the argument expression, whichever is appropriate.

Declared at: clang/include/clang/AST/Expr.h:2618

bool isArgumentType() const

Declared at: clang/include/clang/AST/Expr.h:2591

void setArgument(clang::TypeSourceInfo* TInfo)

Declared at: clang/include/clang/AST/Expr.h:2611

Parameters

clang::TypeSourceInfo* TInfo

void setArgument(clang::Expr* E)

Declared at: clang/include/clang/AST/Expr.h:2607

Parameters

clang::Expr* E

void setKind(clang::UnaryExprOrTypeTrait K)

Declared at: clang/include/clang/AST/Expr.h:2584

Parameters

clang::UnaryExprOrTypeTrait K

void setOperatorLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/Expr.h:2623

Parameters

clang::SourceLocation L

void setRParenLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/Expr.h:2626

Parameters

clang::SourceLocation L