clang API Documentation

Public Types | Public Member Functions | Static Public Member Functions
clang::InitializationKind Class Reference

Describes the kind of initialization being performed, along with location information for tokens related to the initialization (equal sign, parentheses). More...

#include <Initialization.h>

List of all members.

Public Types

enum  InitKind { IK_Direct, IK_Copy, IK_Default, IK_Value }
 The kind of initialization being performed. More...

Public Member Functions

InitKind getKind () const
 Determine the initialization kind.
bool isExplicitCast () const
 Determine whether this initialization is an explicit cast.
bool isCStyleOrFunctionalCast () const
 Determine whether this initialization is a C-style cast.
bool isCStyleCast () const
 brief Determine whether this is a C-style cast.
bool isFunctionalCast () const
 brief Determine whether this is a functional-style cast.
bool isImplicitValueInit () const
 Determine whether this initialization is an implicit value-initialization, e.g., as occurs during aggregate initialization.
SourceLocation getLocation () const
 Retrieve the location at which initialization is occurring.
SourceRange getRange () const
 Retrieve the source range that covers the initialization.
SourceLocation getEqualLoc () const
 Retrieve the location of the equal sign for copy initialization (if present).
bool isCopyInit () const
SourceRange getParenRange () const
 Retrieve the source range containing the locations of the open and closing parentheses for value and direct initializations.

Static Public Member Functions

static InitializationKind CreateDirect (SourceLocation InitLoc, SourceLocation LParenLoc, SourceLocation RParenLoc)
 Create a direct initialization.
static InitializationKind CreateCast (SourceRange TypeRange)
 Create a direct initialization due to a cast that isn't a C-style or functional cast.
static InitializationKind CreateCStyleCast (SourceLocation StartLoc, SourceRange TypeRange)
 Create a direct initialization for a C-style cast.
static InitializationKind CreateFunctionalCast (SourceRange TypeRange)
 Create a direct initialization for a functional cast.
static InitializationKind CreateCopy (SourceLocation InitLoc, SourceLocation EqualLoc)
 Create a copy initialization.
static InitializationKind CreateDefault (SourceLocation InitLoc)
 Create a default initialization.
static InitializationKind CreateValue (SourceLocation InitLoc, SourceLocation LParenLoc, SourceLocation RParenLoc, bool isImplicit=false)
 Create a value initialization.

Detailed Description

Describes the kind of initialization being performed, along with location information for tokens related to the initialization (equal sign, parentheses).

Definition at line 325 of file Initialization.h.


Member Enumeration Documentation

The kind of initialization being performed.

Enumerator:
IK_Direct 

Direct initialization.

IK_Copy 

Copy initialization.

IK_Default 

Default initialization.

IK_Value 

Value initialization.

Definition at line 328 of file Initialization.h.


Member Function Documentation

static InitializationKind clang::InitializationKind::CreateCast ( SourceRange  TypeRange) [inline, static]

Create a direct initialization due to a cast that isn't a C-style or functional cast.

Definition at line 375 of file Initialization.h.

References clang::SourceRange::getBegin(), and clang::SourceRange::getEnd().

Referenced by tryDiagnoseOverloadedCast(), and TryStaticImplicitCast().

static InitializationKind clang::InitializationKind::CreateCopy ( SourceLocation  InitLoc,
SourceLocation  EqualLoc 
) [inline, static]
static InitializationKind clang::InitializationKind::CreateCStyleCast ( SourceLocation  StartLoc,
SourceRange  TypeRange 
) [inline, static]

Create a direct initialization for a C-style cast.

Definition at line 382 of file Initialization.h.

References clang::SourceRange::getBegin(), and clang::SourceRange::getEnd().

Referenced by clang::Sema::BuildCompoundLiteralExpr(), tryDiagnoseOverloadedCast(), and TryStaticImplicitCast().

static InitializationKind clang::InitializationKind::CreateDefault ( SourceLocation  InitLoc) [inline, static]
static InitializationKind clang::InitializationKind::CreateDirect ( SourceLocation  InitLoc,
SourceLocation  LParenLoc,
SourceLocation  RParenLoc 
) [inline, static]
static InitializationKind clang::InitializationKind::CreateFunctionalCast ( SourceRange  TypeRange) [inline, static]

Create a direct initialization for a functional cast.

Definition at line 390 of file Initialization.h.

References clang::SourceRange::getBegin(), and clang::SourceRange::getEnd().

Referenced by tryDiagnoseOverloadedCast(), and TryStaticImplicitCast().

static InitializationKind clang::InitializationKind::CreateValue ( SourceLocation  InitLoc,
SourceLocation  LParenLoc,
SourceLocation  RParenLoc,
bool  isImplicit = false 
) [inline, static]

Create a value initialization.

Definition at line 408 of file Initialization.h.

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

SourceLocation clang::InitializationKind::getEqualLoc ( ) const [inline]

Retrieve the location of the equal sign for copy initialization (if present).

Definition at line 463 of file Initialization.h.

Referenced by PerformConstructorInitialization().

InitKind clang::InitializationKind::getKind ( ) const [inline]
SourceLocation clang::InitializationKind::getLocation ( ) const [inline]
SourceRange clang::InitializationKind::getParenRange ( ) const [inline]

Retrieve the source range containing the locations of the open and closing parentheses for value and direct initializations.

Definition at line 472 of file Initialization.h.

References getKind(), and IK_Direct.

Referenced by PerformConstructorInitialization().

SourceRange clang::InitializationKind::getRange ( ) const [inline]

Retrieve the source range that covers the initialization.

Definition at line 457 of file Initialization.h.

Referenced by clang::InitializationSequence::Perform().

bool clang::InitializationKind::isCopyInit ( ) const [inline]

Definition at line 468 of file Initialization.h.

Referenced by PerformConstructorInitialization().

bool clang::InitializationKind::isCStyleCast ( ) const [inline]

brief Determine whether this is a C-style cast.

Definition at line 439 of file Initialization.h.

Referenced by clang::InitializationSequence::Perform().

bool clang::InitializationKind::isCStyleOrFunctionalCast ( ) const [inline]
bool clang::InitializationKind::isExplicitCast ( ) const [inline]

Determine whether this initialization is an explicit cast.

Definition at line 427 of file Initialization.h.

Referenced by clang::InitializationSequence::Perform().

bool clang::InitializationKind::isFunctionalCast ( ) const [inline]

brief Determine whether this is a functional-style cast.

Definition at line 444 of file Initialization.h.

Referenced by clang::InitializationSequence::Perform().

bool clang::InitializationKind::isImplicitValueInit ( ) const [inline]

Determine whether this initialization is an implicit value-initialization, e.g., as occurs during aggregate initialization.

Definition at line 451 of file Initialization.h.

Referenced by clang::InitializationSequence::Perform().


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