clang
20.0.0git
include
clang
Analysis
DomainSpecific
ObjCNoReturn.h
Go to the documentation of this file.
1
//= ObjCNoReturn.h - Handling of Cocoa APIs known not to return --*- C++ -*---//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file implements special handling of recognizing ObjC API hooks that
10
// do not return but aren't marked as such in API headers.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_CLANG_ANALYSIS_DOMAINSPECIFIC_OBJCNORETURN_H
15
#define LLVM_CLANG_ANALYSIS_DOMAINSPECIFIC_OBJCNORETURN_H
16
17
#include "
clang/Basic/IdentifierTable.h
"
18
19
namespace
clang
{
20
21
class
ASTContext;
22
class
ObjCMessageExpr;
23
24
class
ObjCNoReturn
{
25
/// Cached "raise" selector.
26
Selector
RaiseSel;
27
28
/// Cached identifier for "NSException".
29
IdentifierInfo
*NSExceptionII;
30
31
enum
{ NUM_RAISE_SELECTORS = 2 };
32
33
/// Cached set of selectors in NSException that are 'noreturn'.
34
Selector
NSExceptionInstanceRaiseSelectors[NUM_RAISE_SELECTORS];
35
36
public
:
37
ObjCNoReturn
(
ASTContext
&
C
);
38
39
/// Return true if the given message expression is known to never
40
/// return.
41
bool
isImplicitNoReturn
(
const
ObjCMessageExpr
*ME);
42
};
43
}
44
45
#endif
IdentifierTable.h
Defines the clang::IdentifierInfo, clang::IdentifierTable, and clang::Selector interfaces.
clang::ASTContext
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Definition:
ASTContext.h:187
clang::IdentifierInfo
One of these records is kept for each identifier that is lexed.
Definition:
IdentifierTable.h:117
clang::ObjCMessageExpr
An expression that sends a message to the given Objective-C object or class.
Definition:
ExprObjC.h:945
clang::ObjCNoReturn
Definition:
ObjCNoReturn.h:24
clang::ObjCNoReturn::isImplicitNoReturn
bool isImplicitNoReturn(const ObjCMessageExpr *ME)
Return true if the given message expression is known to never return.
Definition:
ObjCNoReturn.cpp:49
clang::Selector
Smart pointer class that efficiently represents Objective-C method names.
Definition:
IdentifierTable.h:966
clang
The JSON file list parser is used to communicate input to InstallAPI.
Definition:
CalledOnceCheck.h:17
clang::LinkageSpecLanguageIDs::C
@ C
Generated on Fri Nov 22 2024 09:46:58 for clang by
1.9.6