1 //===- Redeclaration.h - Redeclarations--------------------------*- 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 defines RedeclarationKind enum. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #ifndef LLVM_CLANG_SEMA_REDECLARATION_H 14 #define LLVM_CLANG_SEMA_REDECLARATION_H 15 16 /// Specifies whether (or how) name lookup is being performed for a 17 /// redeclaration (vs. a reference). 18 enum class RedeclarationKind { 19 /// The lookup is a reference to this name that is not for the 20 /// purpose of redeclaring the name. 21 NotForRedeclaration = 0, 22 /// The lookup results will be used for redeclaration of a name, 23 /// if an entity by that name already exists and is visible. 24 ForVisibleRedeclaration, 25 /// The lookup results will be used for redeclaration of a name 26 /// with external linkage; non-visible lookup results with external linkage 27 /// may also be found. 28 ForExternalRedeclaration 29 }; 30 31 #endif // LLVM_CLANG_SEMA_REDECLARATION_H