]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Symbols.def
Merge ACPICA 20180810.
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / clang / include / clang / StaticAnalyzer / Core / PathSensitive / Symbols.def
1 //===-- Symbols.def - Metadata about SymExpr kinds --------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // The list of symbols (SymExpr sub-classes) used in the Static Analyzer.
11 // In order to use this information, users of this file must define
12 // one or more of the three macros:
13 //
14 // SYMBOL(Id, Parent) - for specific SymExpr sub-classes, reserving the
15 // IdKind identifier for its kind enumeration value.
16 //
17 // ABSTRACT_SYMBOL(Id, Parent) - for abstract symbol classes,
18 //
19 // SYMBOL_RANGE(Id, First, Last) - for ranges of kind-enums,
20 // allowing to determine abstract class of a symbol
21 // based on the kind enumeration value.
22 //
23 //===----------------------------------------------------------------------===//
24
25 #ifndef SYMBOL
26 #define SYMBOL(Id, Parent)
27 #endif
28
29 #ifndef ABSTRACT_SYMBOL
30 #define ABSTRACT_SYMBOL(Id, Parent)
31 #endif
32
33 #ifndef SYMBOL_RANGE
34 #define SYMBOL_RANGE(Id, First, Last)
35 #endif
36
37 ABSTRACT_SYMBOL(BinarySymExpr, SymExpr)
38   SYMBOL(IntSymExpr, BinarySymExpr)
39   SYMBOL(SymIntExpr, BinarySymExpr)
40   SYMBOL(SymSymExpr, BinarySymExpr)
41 SYMBOL_RANGE(BINARYSYMEXPRS, IntSymExprKind, SymSymExprKind)
42
43 SYMBOL(SymbolCast, SymExpr)
44
45 ABSTRACT_SYMBOL(SymbolData, SymExpr)
46   SYMBOL(SymbolConjured, SymbolData)
47   SYMBOL(SymbolDerived, SymbolData)
48   SYMBOL(SymbolExtent, SymbolData)
49   SYMBOL(SymbolMetadata, SymbolData)
50   SYMBOL(SymbolRegionValue, SymbolData)
51 SYMBOL_RANGE(SYMBOLS, SymbolConjuredKind, SymbolRegionValueKind)
52
53 #undef SYMBOL
54 #undef ABSTRACT_SYMBOL
55 #undef SYMBOL_RANGE