clang API Documentation

clang::SizeOfAlignOfExpr Class Reference

#include <Expr.h>

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

List of all members.

Public Member Functions

 SizeOfAlignOfExpr (bool issizeof, TypeSourceInfo *TInfo, QualType resultType, SourceLocation op, SourceLocation rp)
 SizeOfAlignOfExpr (bool issizeof, Expr *E, QualType resultType, SourceLocation op, SourceLocation rp)
 SizeOfAlignOfExpr (EmptyShell Empty)
 Construct an empty sizeof/alignof expression.
bool isSizeOf () const
void setSizeof (bool S)
bool isArgumentType () const
QualType getArgumentType () const
TypeSourceInfogetArgumentTypeInfo () const
ExprgetArgumentExpr ()
const ExprgetArgumentExpr () const
void setArgument (Expr *E)
void setArgument (TypeSourceInfo *TInfo)
QualType getTypeOfArgument () const
SourceLocation getOperatorLoc () const
void setOperatorLoc (SourceLocation L)
SourceLocation getRParenLoc () const
void setRParenLoc (SourceLocation L)
SourceRange getSourceRange () const
child_range children ()

Static Public Member Functions

static bool classof (const Stmt *T)
static bool classof (const SizeOfAlignOfExpr *)

Detailed Description

SizeOfAlignOfExpr - [C99 6.5.3.4] - This is for sizeof/alignof, both of types and expressions.

Definition at line 1559 of file Expr.h.


Constructor & Destructor Documentation

clang::SizeOfAlignOfExpr::SizeOfAlignOfExpr ( bool  issizeof,
TypeSourceInfo TInfo,
QualType  resultType,
SourceLocation  op,
SourceLocation  rp 
) [inline]

Definition at line 1569 of file Expr.h.

clang::SizeOfAlignOfExpr::SizeOfAlignOfExpr ( bool  issizeof,
Expr E,
QualType  resultType,
SourceLocation  op,
SourceLocation  rp 
) [inline]

Definition at line 1581 of file Expr.h.

clang::SizeOfAlignOfExpr::SizeOfAlignOfExpr ( EmptyShell  Empty  )  [inline, explicit]

Construct an empty sizeof/alignof expression.

Definition at line 1594 of file Expr.h.


Member Function Documentation

Stmt::child_range SizeOfAlignOfExpr::children (  ) 

Reimplemented from clang::Stmt.

Definition at line 2858 of file Expr.cpp.

References getArgumentType(), and isArgumentType().

static bool clang::SizeOfAlignOfExpr::classof ( const SizeOfAlignOfExpr  )  [inline, static]

Definition at line 1641 of file Expr.h.

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

Reimplemented from clang::Expr.

Definition at line 1638 of file Expr.h.

References clang::Stmt::getStmtClass().

const Expr* clang::SizeOfAlignOfExpr::getArgumentExpr (  )  const [inline]

Definition at line 1612 of file Expr.h.

References getArgumentExpr().

Expr* clang::SizeOfAlignOfExpr::getArgumentExpr (  )  [inline]
QualType clang::SizeOfAlignOfExpr::getArgumentType (  )  const [inline]

Definition at line 1601 of file Expr.h.

References getArgumentTypeInfo(), and clang::TypeSourceInfo::getType().

Referenced by children(), and getTypeOfArgument().

TypeSourceInfo* clang::SizeOfAlignOfExpr::getArgumentTypeInfo (  )  const [inline]

Definition at line 1604 of file Expr.h.

References isArgumentType().

Referenced by getArgumentType(), and clang::ASTStmtWriter::VisitSizeOfAlignOfExpr().

SourceLocation clang::SizeOfAlignOfExpr::getOperatorLoc (  )  const [inline]

Definition at line 1628 of file Expr.h.

Referenced by clang::ASTStmtWriter::VisitSizeOfAlignOfExpr().

SourceLocation clang::SizeOfAlignOfExpr::getRParenLoc (  )  const [inline]

Definition at line 1631 of file Expr.h.

Referenced by clang::ASTStmtWriter::VisitSizeOfAlignOfExpr().

SourceRange clang::SizeOfAlignOfExpr::getSourceRange (  )  const [inline]

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 1634 of file Expr.h.

QualType clang::SizeOfAlignOfExpr::getTypeOfArgument (  )  const [inline]

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

Definition at line 1624 of file Expr.h.

References getArgumentExpr(), getArgumentType(), clang::Expr::getType(), and isArgumentType().

Referenced by CheckICE(), and clang::ento::ExprEngine::VisitSizeOfAlignOfExpr().

bool clang::SizeOfAlignOfExpr::isArgumentType (  )  const [inline]
bool clang::SizeOfAlignOfExpr::isSizeOf (  )  const [inline]
void clang::SizeOfAlignOfExpr::setArgument ( TypeSourceInfo TInfo  )  [inline]

Definition at line 1617 of file Expr.h.

void clang::SizeOfAlignOfExpr::setArgument ( Expr E  )  [inline]

Definition at line 1616 of file Expr.h.

Referenced by clang::ASTStmtReader::VisitSizeOfAlignOfExpr().

void clang::SizeOfAlignOfExpr::setOperatorLoc ( SourceLocation  L  )  [inline]

Definition at line 1629 of file Expr.h.

Referenced by clang::ASTStmtReader::VisitSizeOfAlignOfExpr().

void clang::SizeOfAlignOfExpr::setRParenLoc ( SourceLocation  L  )  [inline]

Definition at line 1632 of file Expr.h.

Referenced by clang::ASTStmtReader::VisitSizeOfAlignOfExpr().

void clang::SizeOfAlignOfExpr::setSizeof ( bool  S  )  [inline]

Definition at line 1598 of file Expr.h.

Referenced by clang::ASTStmtReader::VisitSizeOfAlignOfExpr().


Member Data Documentation

Definition at line 1564 of file Expr.h.

Definition at line 1563 of file Expr.h.


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