class ObjCPropertyImplDecl

Declaration

class ObjCPropertyImplDecl : public Decl { /* full declaration omitted */ };

Description

ObjCPropertyImplDecl - Represents implementation declaration of a property in a class or category implementation block. For example: @ synthesize prop1 = ivar1;

Declared at: clang/include/clang/AST/DeclObjC.h:2753

Inherits from: Decl

Member Variables

private clang::SourceLocation AtLoc
private clang::SourceLocation IvarLoc
private clang::ObjCPropertyDecl* PropertyDecl
Property declaration being implemented
private clang::ObjCIvarDecl* PropertyIvarDecl
Null for @ dynamic. Required for @ synthesize.
private clang::ObjCMethodDecl* GetterMethodDecl = nullptr
The getter's definition, which has an empty body if synthesized.
private clang::ObjCMethodDecl* SetterMethodDecl = nullptr
The getter's definition, which has an empty body if synthesized.
private clang::Expr* GetterCXXConstructor = nullptr
Null for @ dynamic. Non-null if property must be copy-constructed in getter.
private clang::Expr* SetterCXXAssignment = nullptr
Null for @ dynamic. Non-null if property has assignment operator to call in Setter synthesis.

Inherited from Decl:

protected NextInContextAndBits
protected Access
protected FromASTFile
protected IdentifierNamespace
protected CacheValidAndLinkage

Method Overview

Inherited from Decl:

Methods

static clang::ObjCPropertyImplDecl* Create(
    clang::ASTContext& C,
    clang::DeclContext* DC,
    clang::SourceLocation atLoc,
    clang::SourceLocation L,
    clang::ObjCPropertyDecl* property,
    clang::ObjCPropertyImplDecl::Kind PK,
    clang::ObjCIvarDecl* ivarDecl,
    clang::SourceLocation ivarLoc)

Declared at: clang/include/clang/AST/DeclObjC.h:2803

Parameters

clang::ASTContext& C
clang::DeclContext* DC
clang::SourceLocation atLoc
clang::SourceLocation L
clang::ObjCPropertyDecl* property
clang::ObjCPropertyImplDecl::Kind PK
clang::ObjCIvarDecl* ivarDecl
clang::SourceLocation ivarLoc

static clang::ObjCPropertyImplDecl*
CreateDeserialized(clang::ASTContext& C,
                   unsigned int ID)

Declared at: clang/include/clang/AST/DeclObjC.h:2810

Parameters

clang::ASTContext& C
unsigned int ID

ObjCPropertyImplDecl(
    clang::DeclContext* DC,
    clang::SourceLocation atLoc,
    clang::SourceLocation L,
    clang::ObjCPropertyDecl* property,
    clang::ObjCPropertyImplDecl::Kind PK,
    clang::ObjCIvarDecl* ivarDecl,
    clang::SourceLocation ivarLoc)

Declared at: clang/include/clang/AST/DeclObjC.h:2790

Parameters

clang::DeclContext* DC
clang::SourceLocation atLoc
clang::SourceLocation L
clang::ObjCPropertyDecl* property
clang::ObjCPropertyImplDecl::Kind PK
clang::ObjCIvarDecl* ivarDecl
clang::SourceLocation ivarLoc

static bool classof(const clang::Decl* D)

Declared at: clang/include/clang/AST/DeclObjC.h:2870

Parameters

const clang::Decl* D

static bool classofKind(Decl::Kind K)

Declared at: clang/include/clang/AST/DeclObjC.h:2871

Parameters

Decl::Kind K

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/DeclObjC.h:2814

clang::Expr* getGetterCXXConstructor() const

Declared at: clang/include/clang/AST/DeclObjC.h:2854

clang::ObjCMethodDecl* getGetterMethodDecl() const

Declared at: clang/include/clang/AST/DeclObjC.h:2848

clang::ObjCPropertyDecl* getPropertyDecl() const

Declared at: clang/include/clang/AST/DeclObjC.h:2817

clang::ObjCPropertyImplDecl::Kind
getPropertyImplementation() const

Declared at: clang/include/clang/AST/DeclObjC.h:2822

clang::ObjCIvarDecl* getPropertyIvarDecl() const

Declared at: clang/include/clang/AST/DeclObjC.h:2826

clang::SourceLocation getPropertyIvarDeclLoc()
    const

Declared at: clang/include/clang/AST/DeclObjC.h:2829

clang::Expr* getSetterCXXAssignment() const

Declared at: clang/include/clang/AST/DeclObjC.h:2862

clang::ObjCMethodDecl* getSetterMethodDecl() const

Declared at: clang/include/clang/AST/DeclObjC.h:2851

clang::SourceRange getSourceRange() const

Description

Source range that this declaration covers.

Declared at: clang/include/clang/AST/DeclObjC.h:2812

bool isIvarNameSpecified() const

Description

For @ synthesize, returns true if an ivar name was explicitly specified.

Declared at: clang/include/clang/AST/DeclObjC.h:2844

void setAtLoc(clang::SourceLocation Loc)

Declared at: clang/include/clang/AST/DeclObjC.h:2815

Parameters

clang::SourceLocation Loc

void setGetterCXXConstructor(
    clang::Expr* getterCXXConstructor)

Declared at: clang/include/clang/AST/DeclObjC.h:2858

Parameters

clang::Expr* getterCXXConstructor

void setGetterMethodDecl(
    clang::ObjCMethodDecl* MD)

Declared at: clang/include/clang/AST/DeclObjC.h:2849

Parameters

clang::ObjCMethodDecl* MD

void setPropertyDecl(
    clang::ObjCPropertyDecl* Prop)

Declared at: clang/include/clang/AST/DeclObjC.h:2820

Parameters

clang::ObjCPropertyDecl* Prop

void setPropertyIvarDecl(
    clang::ObjCIvarDecl* Ivar,
    clang::SourceLocation IvarLoc)

Declared at: clang/include/clang/AST/DeclObjC.h:2831

Parameters

clang::ObjCIvarDecl* Ivar
clang::SourceLocation IvarLoc

void setSetterCXXAssignment(
    clang::Expr* setterCXXAssignment)

Declared at: clang/include/clang/AST/DeclObjC.h:2866

Parameters

clang::Expr* setterCXXAssignment

void setSetterMethodDecl(
    clang::ObjCMethodDecl* MD)

Declared at: clang/include/clang/AST/DeclObjC.h:2852

Parameters

clang::ObjCMethodDecl* MD