class ParsedAttributes

Declaration

class ParsedAttributes : public ParsedAttributesView { /* full declaration omitted */ };

Description

ParsedAttributes - A collection of parsed attributes. Currently we don't differentiate between the various attribute syntaxes, which is basically silly. Right now this is a very lightweight container, but the expectation is that this will become significantly more serious.

Declared at: clang/include/clang/Sema/ParsedAttr.h:1012

Inherits from: ParsedAttributesView

Member Variables

private clang::AttributePool pool

Inherited from ParsedAttributesView:

public Range

Method Overview

  • public ParsedAttributes(clang::AttributeFactory & factory)
  • public ParsedAttributes(const clang::ParsedAttributes &)
  • public clang::ParsedAttr * addNew(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::ArgsUnion * args, unsigned int numArgs, ParsedAttr::Syntax syntax, clang::SourceLocation ellipsisLoc = clang::SourceLocation())
  • public clang::ParsedAttr * addNew(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::IdentifierLoc * Param, const clang::AvailabilityChange & introduced, const clang::AvailabilityChange & deprecated, const clang::AvailabilityChange & obsoleted, clang::SourceLocation unavailable, const clang::Expr * MessageExpr, ParsedAttr::Syntax syntax, clang::SourceLocation strict, const clang::Expr * ReplacementExpr)
  • public clang::ParsedAttr * addNew(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::IdentifierLoc * Param1, clang::IdentifierLoc * Param2, clang::IdentifierLoc * Param3, ParsedAttr::Syntax syntax)
  • public clang::ParsedAttr * addNewPropertyAttr(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::IdentifierInfo * getterId, clang::IdentifierInfo * setterId, ParsedAttr::Syntax syntaxUsed)
  • public clang::ParsedAttr * addNewTypeAttr(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::ParsedType typeArg, ParsedAttr::Syntax syntaxUsed)
  • public clang::ParsedAttr * addNewTypeTagForDatatype(clang::IdentifierInfo * attrName, clang::SourceRange attrRange, clang::IdentifierInfo * scopeName, clang::SourceLocation scopeLoc, clang::IdentifierLoc * argumentKind, clang::ParsedType matchingCType, bool layoutCompatible, bool mustBeNull, ParsedAttr::Syntax syntax)
  • public void clear()
  • public clang::AttributePool & getPool() const
  • public void takeAllFrom(clang::ParsedAttributes & Other)
  • public void takeOneFrom(clang::ParsedAttributes & Other, clang::ParsedAttr * PA)

Inherited from ParsedAttributesView:

Methods

ParsedAttributes(clang::AttributeFactory& factory)

Declared at: clang/include/clang/Sema/ParsedAttr.h:1014

Parameters

clang::AttributeFactory& factory

ParsedAttributes(const clang::ParsedAttributes&)

Declared at: clang/include/clang/Sema/ParsedAttr.h:1015

Parameters

const clang::ParsedAttributes&

clang::ParsedAttr* addNew(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::ArgsUnion* args,
    unsigned int numArgs,
    ParsedAttr::Syntax syntax,
    clang::SourceLocation ellipsisLoc =
        clang::SourceLocation())

Description

Add attribute with expression arguments.

Declared at: clang/include/clang/Sema/ParsedAttr.h:1043

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::ArgsUnion* args
unsigned int numArgs
ParsedAttr::Syntax syntax
clang::SourceLocation ellipsisLoc = clang::SourceLocation()

clang::ParsedAttr* addNew(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::IdentifierLoc* Param,
    const clang::AvailabilityChange& introduced,
    const clang::AvailabilityChange& deprecated,
    const clang::AvailabilityChange& obsoleted,
    clang::SourceLocation unavailable,
    const clang::Expr* MessageExpr,
    ParsedAttr::Syntax syntax,
    clang::SourceLocation strict,
    const clang::Expr* ReplacementExpr)

Description

Add availability attribute.

Declared at: clang/include/clang/Sema/ParsedAttr.h:1055

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::IdentifierLoc* Param
const clang::AvailabilityChange& introduced
const clang::AvailabilityChange& deprecated
const clang::AvailabilityChange& obsoleted
clang::SourceLocation unavailable
const clang::Expr* MessageExpr
ParsedAttr::Syntax syntax
clang::SourceLocation strict
const clang::Expr* ReplacementExpr

clang::ParsedAttr* addNew(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::IdentifierLoc* Param1,
    clang::IdentifierLoc* Param2,
    clang::IdentifierLoc* Param3,
    ParsedAttr::Syntax syntax)

Description

Add objc_bridge_related attribute.

Declared at: clang/include/clang/Sema/ParsedAttr.h:1071

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::IdentifierLoc* Param1
clang::IdentifierLoc* Param2
clang::IdentifierLoc* Param3
ParsedAttr::Syntax syntax

clang::ParsedAttr* addNewPropertyAttr(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::IdentifierInfo* getterId,
    clang::IdentifierInfo* setterId,
    ParsedAttr::Syntax syntaxUsed)

Description

Add microsoft __delspec(property) attribute.

Declared at: clang/include/clang/Sema/ParsedAttr.h:1108

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::IdentifierInfo* getterId
clang::IdentifierInfo* setterId
ParsedAttr::Syntax syntaxUsed

clang::ParsedAttr* addNewTypeAttr(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::ParsedType typeArg,
    ParsedAttr::Syntax syntaxUsed)

Description

Add an attribute with a single type argument.

Declared at: clang/include/clang/Sema/ParsedAttr.h:1096

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::ParsedType typeArg
ParsedAttr::Syntax syntaxUsed

clang::ParsedAttr* addNewTypeTagForDatatype(
    clang::IdentifierInfo* attrName,
    clang::SourceRange attrRange,
    clang::IdentifierInfo* scopeName,
    clang::SourceLocation scopeLoc,
    clang::IdentifierLoc* argumentKind,
    clang::ParsedType matchingCType,
    bool layoutCompatible,
    bool mustBeNull,
    ParsedAttr::Syntax syntax)

Description

Add type_tag_for_datatype attribute.

Declared at: clang/include/clang/Sema/ParsedAttr.h:1083

Parameters

clang::IdentifierInfo* attrName
clang::SourceRange attrRange
clang::IdentifierInfo* scopeName
clang::SourceLocation scopeLoc
clang::IdentifierLoc* argumentKind
clang::ParsedType matchingCType
bool layoutCompatible
bool mustBeNull
ParsedAttr::Syntax syntax

void clear()

Declared at: clang/include/clang/Sema/ParsedAttr.h:1036

clang::AttributePool& getPool() const

Declared at: clang/include/clang/Sema/ParsedAttr.h:1017

void takeAllFrom(clang::ParsedAttributes& Other)

Declared at: clang/include/clang/Sema/ParsedAttr.h:1019

Parameters

clang::ParsedAttributes& Other

void takeOneFrom(clang::ParsedAttributes& Other,
                 clang::ParsedAttr* PA)

Declared at: clang/include/clang/Sema/ParsedAttr.h:1027

Parameters

clang::ParsedAttributes& Other
clang::ParsedAttr* PA