• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python3
2# coding=utf-8
3#
4# Copyright (c) 2024 Huawei Device Co., Ltd.
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17"""Keywords from headers, to correctly recognize them in parser."""
18
19known_macroses = [
20    "NO_COPY_OPERATOR",
21    "NO_MOVE_SEMANTIC",
22    "NO_COPY_SEMANTIC",
23    "DEFINE_BITOPS",
24    "DECLARE_NODE_TYPES",
25    "DEFAULT_MOVE_SEMANTIC",
26    "TYPE_MAPPING",
27    "AST_NODE_MAPPING",
28    "AST_NODE_REINTERPRET_MAPPING",
29    "DECLARE_FLAG_OPERATIONS",
30    "SCOPE_TYPES",
31    "DEFAULT_COPY_SEMANTIC",
32    "VARIABLE_TYPES",
33    "DECLARATION_KINDS",
34]
35
36modifiers_list = [
37    "const",
38    "constexpr",
39    "explicit",
40    "export",
41    "extern",
42    "inline",
43    "mutable",
44    "noexcept",
45    "template",
46    "throw",
47    "typename",
48    "virtual",
49    "volatile",
50    "[[maybe_unused]]",
51    "[[nodiscard]]",
52    "[[noreturn]]",
53    "static",
54]
55