[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

Egor Zhdan via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 26 04:50:45 PST 2024


================
@@ -0,0 +1,989 @@
+//===--- SemaAPINotes.cpp - API Notes Handling ----------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+//  This file implements the mapping from API notes to declaration attributes.
+//
+//===----------------------------------------------------------------------===//
+
+#include "clang/APINotes/APINotesReader.h"
+#include "clang/AST/Decl.h"
+#include "clang/AST/DeclObjC.h"
+#include "clang/Basic/SourceLocation.h"
+#include "clang/Lex/Lexer.h"
+#include "clang/Sema/SemaInternal.h"
+
+using namespace clang;
+
+namespace {
+enum class IsActive_t : bool { Inactive, Active };
+enum class IsReplacement_t : bool { Original, Replacement };
----------------
egorzhdan wrote:

`State` seems a bit too generic of a name to me, and these are still `bool`s so they won't get more cases. I renamed `IsReplacement_t` to `IsSubstitution_t`, but I would prefer to leave `IsActive_t` as is.

https://github.com/llvm/llvm-project/pull/78445


More information about the cfe-commits mailing list