class Designator

Declaration

class Designator { /* full declaration omitted */ };

Description

Designator - A designator in a C99 designated initializer. This class is a discriminated union which holds the various different sorts of designators possible. A Designation is an array of these. An example of a designator are things like this: [8] .field [47] // C99 designation: 3 designators [8 ... 47] field: // GNU extensions: 2 designators These occur in initializers, e.g.: int a[10] = {2, 4, [8]=9, 10};

Declared at: clang/include/clang/Sema/Designator.h:36

Member Variables

private clang::Designator::DesignatorKind Kind
private anonymous struct / union

Method Overview

Methods

void ClearExprs(clang::Sema& Actions)

Description

ClearExprs - Null out any expression references, which prevents them from being 'delete'd later.

Declared at: clang/include/clang/Sema/Designator.h:175

Parameters

clang::Sema& Actions

Designator()

Declared at: clang/include/clang/Sema/Designator.h:42

void FreeExprs(clang::Sema& Actions)

Description

FreeExprs - Release any unclaimed memory for the expressions in this designator.

Declared at: clang/include/clang/Sema/Designator.h:179

Parameters

clang::Sema& Actions

static clang::Designator getArray(
    clang::Expr* Index,
    clang::SourceLocation LBracketLoc)

Declared at: clang/include/clang/Sema/Designator.h:138

Parameters

clang::Expr* Index
clang::SourceLocation LBracketLoc

clang::Expr* getArrayIndex() const

Declared at: clang/include/clang/Sema/Designator.h:90

static clang::Designator getArrayRange(
    clang::Expr* Start,
    clang::Expr* End,
    clang::SourceLocation LBracketLoc,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/Sema/Designator.h:149

Parameters

clang::Expr* Start
clang::Expr* End
clang::SourceLocation LBracketLoc
clang::SourceLocation EllipsisLoc

clang::Expr* getArrayRangeEnd() const

Declared at: clang/include/clang/Sema/Designator.h:99

clang::Expr* getArrayRangeStart() const

Declared at: clang/include/clang/Sema/Designator.h:95

clang::SourceLocation getDotLoc() const

Declared at: clang/include/clang/Sema/Designator.h:80

clang::SourceLocation getEllipsisLoc() const

Declared at: clang/include/clang/Sema/Designator.h:122

const clang::IdentifierInfo* getField() const

Declared at: clang/include/clang/Sema/Designator.h:75

static clang::Designator getField(
    const clang::IdentifierInfo* II,
    clang::SourceLocation DotLoc,
    clang::SourceLocation NameLoc)

Declared at: clang/include/clang/Sema/Designator.h:127

Parameters

const clang::IdentifierInfo* II
clang::SourceLocation DotLoc
clang::SourceLocation NameLoc

clang::SourceLocation getFieldLoc() const

Declared at: clang/include/clang/Sema/Designator.h:85

clang::Designator::DesignatorKind getKind() const

Declared at: clang/include/clang/Sema/Designator.h:70

clang::SourceLocation getLBracketLoc() const

Declared at: clang/include/clang/Sema/Designator.h:104

clang::SourceLocation getRBracketLoc() const

Declared at: clang/include/clang/Sema/Designator.h:113

bool isArrayDesignator() const

Declared at: clang/include/clang/Sema/Designator.h:72

bool isArrayRangeDesignator() const

Declared at: clang/include/clang/Sema/Designator.h:73

bool isFieldDesignator() const

Declared at: clang/include/clang/Sema/Designator.h:71

void setRBracketLoc(
    clang::SourceLocation RBracketLoc) const

Declared at: clang/include/clang/Sema/Designator.h:164

Parameters

clang::SourceLocation RBracketLoc