clang  6.0.0svn
Public Types | Public Member Functions | List of all members
clang::ObjCDeclSpec Class Reference

Captures information about "declaration specifiers" specific to Objective-C. More...

#include "clang/Sema/DeclSpec.h"

Public Types

enum  ObjCDeclQualifier {
  DQ_None = 0x0, DQ_In = 0x1, DQ_Inout = 0x2, DQ_Out = 0x4,
  DQ_Bycopy = 0x8, DQ_Byref = 0x10, DQ_Oneway = 0x20, DQ_CSNullability = 0x40
}
 ObjCDeclQualifier - Qualifier used on types in method declarations. More...
 
enum  ObjCPropertyAttributeKind {
  DQ_PR_noattr = 0x0, DQ_PR_readonly = 0x01, DQ_PR_getter = 0x02, DQ_PR_assign = 0x04,
  DQ_PR_readwrite = 0x08, DQ_PR_retain = 0x10, DQ_PR_copy = 0x20, DQ_PR_nonatomic = 0x40,
  DQ_PR_setter = 0x80, DQ_PR_atomic = 0x100, DQ_PR_weak = 0x200, DQ_PR_strong = 0x400,
  DQ_PR_unsafe_unretained = 0x800, DQ_PR_nullability = 0x1000, DQ_PR_null_resettable = 0x2000, DQ_PR_class = 0x4000
}
 PropertyAttributeKind - list of property attributes. More...
 

Public Member Functions

 ObjCDeclSpec ()
 
ObjCDeclQualifier getObjCDeclQualifier () const
 
void setObjCDeclQualifier (ObjCDeclQualifier DQVal)
 
void clearObjCDeclQualifier (ObjCDeclQualifier DQVal)
 
ObjCPropertyAttributeKind getPropertyAttributes () const
 
void setPropertyAttributes (ObjCPropertyAttributeKind PRVal)
 
NullabilityKind getNullability () const
 
SourceLocation getNullabilityLoc () const
 
void setNullability (SourceLocation loc, NullabilityKind kind)
 
const IdentifierInfogetGetterName () const
 
IdentifierInfogetGetterName ()
 
SourceLocation getGetterNameLoc () const
 
void setGetterName (IdentifierInfo *name, SourceLocation loc)
 
const IdentifierInfogetSetterName () const
 
IdentifierInfogetSetterName ()
 
SourceLocation getSetterNameLoc () const
 
void setSetterName (IdentifierInfo *name, SourceLocation loc)
 

Detailed Description

Captures information about "declaration specifiers" specific to Objective-C.

Definition at line 765 of file DeclSpec.h.

Member Enumeration Documentation

◆ ObjCDeclQualifier

ObjCDeclQualifier - Qualifier used on types in method declarations.

Not all combinations are sensible. Parameters can be one of { in, out, inout } with one of { bycopy, byref }. Returns can either be { oneway } or not.

This should be kept in sync with Decl::ObjCDeclQualifier.

Enumerator
DQ_None 
DQ_In 
DQ_Inout 
DQ_Out 
DQ_Bycopy 
DQ_Byref 
DQ_Oneway 
DQ_CSNullability 

Definition at line 773 of file DeclSpec.h.

◆ ObjCPropertyAttributeKind

PropertyAttributeKind - list of property attributes.

Keep this list in sync with LLVM's Dwarf.h ApplePropertyAttributes.

Enumerator
DQ_PR_noattr 
DQ_PR_readonly 
DQ_PR_getter 
DQ_PR_assign 
DQ_PR_readwrite 
DQ_PR_retain 
DQ_PR_copy 
DQ_PR_nonatomic 
DQ_PR_setter 
DQ_PR_atomic 
DQ_PR_weak 
DQ_PR_strong 
DQ_PR_unsafe_unretained 
DQ_PR_nullability 
DQ_PR_null_resettable 
DQ_PR_class 

Definition at line 786 of file DeclSpec.h.

Constructor & Destructor Documentation

◆ ObjCDeclSpec()

clang::ObjCDeclSpec::ObjCDeclSpec ( )
inline

Definition at line 805 of file DeclSpec.h.

Member Function Documentation

◆ clearObjCDeclQualifier()

void clang::ObjCDeclSpec::clearObjCDeclQualifier ( ObjCDeclQualifier  DQVal)
inline

Definition at line 815 of file DeclSpec.h.

◆ getGetterName() [1/2]

const IdentifierInfo* clang::ObjCDeclSpec::getGetterName ( ) const
inline

Definition at line 849 of file DeclSpec.h.

Referenced by addContextSensitiveTypeNullability().

◆ getGetterName() [2/2]

IdentifierInfo* clang::ObjCDeclSpec::getGetterName ( )
inline

Definition at line 850 of file DeclSpec.h.

◆ getGetterNameLoc()

SourceLocation clang::ObjCDeclSpec::getGetterNameLoc ( ) const
inline

Definition at line 851 of file DeclSpec.h.

◆ getNullability()

NullabilityKind clang::ObjCDeclSpec::getNullability ( ) const
inline

◆ getNullabilityLoc()

SourceLocation clang::ObjCDeclSpec::getNullabilityLoc ( ) const
inline

◆ getObjCDeclQualifier()

ObjCDeclQualifier clang::ObjCDeclSpec::getObjCDeclQualifier ( ) const
inline

Definition at line 809 of file DeclSpec.h.

Referenced by clang::Sema::CodeCompleteObjCPassingType(), and takeDeclAttributes().

◆ getPropertyAttributes()

ObjCPropertyAttributeKind clang::ObjCDeclSpec::getPropertyAttributes ( ) const
inline

◆ getSetterName() [1/2]

const IdentifierInfo* clang::ObjCDeclSpec::getSetterName ( ) const
inline

Definition at line 857 of file DeclSpec.h.

Referenced by addContextSensitiveTypeNullability().

◆ getSetterName() [2/2]

IdentifierInfo* clang::ObjCDeclSpec::getSetterName ( )
inline

Definition at line 858 of file DeclSpec.h.

◆ getSetterNameLoc()

SourceLocation clang::ObjCDeclSpec::getSetterNameLoc ( ) const
inline

Definition at line 859 of file DeclSpec.h.

◆ setGetterName()

void clang::ObjCDeclSpec::setGetterName ( IdentifierInfo name,
SourceLocation  loc 
)
inline

Definition at line 852 of file DeclSpec.h.

Referenced by diagnoseRedundantPropertyNullability().

◆ setNullability()

void clang::ObjCDeclSpec::setNullability ( SourceLocation  loc,
NullabilityKind  kind 
)
inline

Definition at line 841 of file DeclSpec.h.

Referenced by diagnoseRedundantPropertyNullability().

◆ setObjCDeclQualifier()

void clang::ObjCDeclSpec::setObjCDeclQualifier ( ObjCDeclQualifier  DQVal)
inline

Definition at line 812 of file DeclSpec.h.

◆ setPropertyAttributes()

void clang::ObjCDeclSpec::setPropertyAttributes ( ObjCPropertyAttributeKind  PRVal)
inline

Definition at line 822 of file DeclSpec.h.

Referenced by diagnoseRedundantPropertyNullability().

◆ setSetterName()

void clang::ObjCDeclSpec::setSetterName ( IdentifierInfo name,
SourceLocation  loc 
)
inline

Definition at line 860 of file DeclSpec.h.

Referenced by diagnoseRedundantPropertyNullability().


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