diff options
Diffstat (limited to 'include/clang/Index')
-rw-r--r-- | include/clang/Index/CodegenNameGenerator.h | 7 | ||||
-rw-r--r-- | include/clang/Index/CommentToXML.h | 7 | ||||
-rw-r--r-- | include/clang/Index/DeclOccurrence.h | 41 | ||||
-rw-r--r-- | include/clang/Index/IndexDataConsumer.h | 7 | ||||
-rw-r--r-- | include/clang/Index/IndexSymbol.h | 13 | ||||
-rw-r--r-- | include/clang/Index/IndexingAction.h | 10 | ||||
-rw-r--r-- | include/clang/Index/USRGeneration.h | 7 |
7 files changed, 67 insertions, 25 deletions
diff --git a/include/clang/Index/CodegenNameGenerator.h b/include/clang/Index/CodegenNameGenerator.h index e8dc196a20..d2528a10c9 100644 --- a/include/clang/Index/CodegenNameGenerator.h +++ b/include/clang/Index/CodegenNameGenerator.h @@ -1,9 +1,8 @@ //===- CodegenNameGenerator.h - Codegen name generation -------------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/include/clang/Index/CommentToXML.h b/include/clang/Index/CommentToXML.h index 04f9501288..66b8650c5e 100644 --- a/include/clang/Index/CommentToXML.h +++ b/include/clang/Index/CommentToXML.h @@ -1,9 +1,8 @@ //===--- CommentToXML.h - Convert comments to XML representation ----------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/include/clang/Index/DeclOccurrence.h b/include/clang/Index/DeclOccurrence.h new file mode 100644 index 0000000000..16f03a8457 --- /dev/null +++ b/include/clang/Index/DeclOccurrence.h @@ -0,0 +1,41 @@ +//===- DeclOccurrence.h - An occurrence of a decl within a file -*- C++ -*-===// +// +// 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 +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_INDEX_DECLOCCURRENCE_H +#define LLVM_CLANG_INDEX_DECLOCCURRENCE_H + +#include "clang/Basic/LLVM.h" +#include "clang/Index/IndexSymbol.h" +#include "llvm/ADT/ArrayRef.h" +#include "llvm/ADT/SmallVector.h" + +namespace clang { +class Decl; + +namespace index { + +struct DeclOccurrence { + SymbolRoleSet Roles; + unsigned Offset; + const Decl *Dcl; + SmallVector<SymbolRelation, 3> Relations; + + DeclOccurrence(SymbolRoleSet R, unsigned Offset, const Decl *D, + ArrayRef<SymbolRelation> Relations) + : Roles(R), Offset(Offset), Dcl(D), + Relations(Relations.begin(), Relations.end()) {} + + friend bool operator<(const DeclOccurrence &LHS, const DeclOccurrence &RHS) { + return LHS.Offset < RHS.Offset; + } +}; + +} // namespace index +} // namespace clang + +#endif // LLVM_CLANG_INDEX_DECLOCCURRENCE_H diff --git a/include/clang/Index/IndexDataConsumer.h b/include/clang/Index/IndexDataConsumer.h index c79f6be3e1..bc1d86696d 100644 --- a/include/clang/Index/IndexDataConsumer.h +++ b/include/clang/Index/IndexDataConsumer.h @@ -1,9 +1,8 @@ //===--- IndexDataConsumer.h - Abstract index data consumer -----*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/include/clang/Index/IndexSymbol.h b/include/clang/Index/IndexSymbol.h index 8aaaa69545..2e1e6005d6 100644 --- a/include/clang/Index/IndexSymbol.h +++ b/include/clang/Index/IndexSymbol.h @@ -1,9 +1,8 @@ //===- IndexSymbol.h - Types and functions for indexing symbols -*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// @@ -119,8 +118,12 @@ enum class SymbolRole : uint32_t { RelationContainedBy = 1 << 17, RelationIBTypeOf = 1 << 18, RelationSpecializationOf = 1 << 19, + + // Symbol only references the name of the object as written. For example, a + // constructor references the class declaration using that role. + NameReference = 1 << 20, }; -static const unsigned SymbolRoleBitNum = 20; +static const unsigned SymbolRoleBitNum = 21; typedef unsigned SymbolRoleSet; /// Represents a relation to another symbol for a symbol occurrence. diff --git a/include/clang/Index/IndexingAction.h b/include/clang/Index/IndexingAction.h index 63e38975ce..9756f3c539 100644 --- a/include/clang/Index/IndexingAction.h +++ b/include/clang/Index/IndexingAction.h @@ -1,9 +1,8 @@ //===--- IndexingAction.h - Frontend index action ---------------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// @@ -45,6 +44,9 @@ struct IndexingOptions { // callback is not available (e.g. after parsing has finished). Note that // macro references are not available in Proprocessor. bool IndexMacrosInPreprocessor = false; + // Has no effect if IndexFunctionLocals are false. + bool IndexParametersInDeclarations = false; + bool IndexTemplateParameters = false; }; /// Creates a frontend action that indexes all symbols (macros and AST decls). diff --git a/include/clang/Index/USRGeneration.h b/include/clang/Index/USRGeneration.h index f1389ecc95..f89fc5cf49 100644 --- a/include/clang/Index/USRGeneration.h +++ b/include/clang/Index/USRGeneration.h @@ -1,9 +1,8 @@ //===- USRGeneration.h - Routines for USR generation ------------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// |