clang 20.0.0git
Classes | Namespaces | Functions
ParseObjc.cpp File Reference
#include "clang/AST/ASTContext.h"
#include "clang/AST/ODRDiagsEmitter.h"
#include "clang/AST/PrettyDeclStackTrace.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Parse/ParseDiagnostic.h"
#include "clang/Parse/Parser.h"
#include "clang/Parse/RAIIObjectsForParser.h"
#include "clang/Sema/DeclSpec.h"
#include "clang/Sema/Scope.h"
#include "clang/Sema/SemaCodeCompletion.h"
#include "clang/Sema/SemaObjC.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"

Go to the source code of this file.

Classes

class  clang::Parser::ObjCTypeParamListScope
 Class to handle popping type parameters when leaving the scope. More...
 

Namespaces

namespace  OBJC2
 objc-class-instance-variables: '{' objc-instance-variable-decl-list[opt] '}'
 

Functions

static void addContextSensitiveTypeNullability (Parser &P, Declarator &D, NullabilityKind nullability, SourceLocation nullabilityLoc, bool &addedToDeclSpec)
 Add an attribute for a context-sensitive type nullability to the given declarator.
 
static bool isTopLevelObjCKeyword (tok::ObjCKeywordKind DirectiveKind)
 
static void diagnoseRedundantPropertyNullability (Parser &P, ObjCDeclSpec &DS, NullabilityKind nullability, SourceLocation nullabilityLoc)
 Diagnose redundant or conflicting nullability information.
 
static void takeDeclAttributes (ParsedAttributesView &attrs, ParsedAttributesView &from)
 Take all the decl attributes out of the given list and add them to the given attribute set.
 
static void takeDeclAttributes (ParsedAttributes &attrs, Declarator &D)
 takeDeclAttributes - Take all the decl attributes from the given declarator and add them to the given list.
 

Function Documentation

◆ addContextSensitiveTypeNullability()

static void addContextSensitiveTypeNullability ( Parser P,
Declarator D,
NullabilityKind  nullability,
SourceLocation  nullabilityLoc,
bool addedToDeclSpec 
)
static

Add an attribute for a context-sensitive type nullability to the given declarator.

Definition at line 410 of file ParseObjc.cpp.

References D, clang::Decl::getAttrs(), and P.

◆ diagnoseRedundantPropertyNullability()

static void diagnoseRedundantPropertyNullability ( Parser P,
ObjCDeclSpec DS,
NullabilityKind  nullability,
SourceLocation  nullabilityLoc 
)
static

Diagnose redundant or conflicting nullability information.

Definition at line 853 of file ParseObjc.cpp.

References clang::ObjCDeclSpec::getNullability(), clang::ObjCDeclSpec::getNullabilityLoc(), and P.

◆ isTopLevelObjCKeyword()

static bool isTopLevelObjCKeyword ( tok::ObjCKeywordKind  DirectiveKind)
static

Definition at line 617 of file ParseObjc.cpp.

◆ takeDeclAttributes() [1/2]

static void takeDeclAttributes ( ParsedAttributes attrs,
Declarator D 
)
static

takeDeclAttributes - Take all the decl attributes from the given declarator and add them to the given list.

Definition at line 1278 of file ParseObjc.cpp.

References D, clang::Decl::getAttrs(), clang::ParsedAttributes::getPool(), clang::AttributePool::takeAllFrom(), and takeDeclAttributes().

◆ takeDeclAttributes() [2/2]

static void takeDeclAttributes ( ParsedAttributesView attrs,
ParsedAttributesView from 
)
static

Take all the decl attributes out of the given list and add them to the given attribute set.

Definition at line 1266 of file ParseObjc.cpp.

References clang::ParsedAttributesView::addAtEnd(), and clang::ParsedAttributesView::remove().

Referenced by takeDeclAttributes().