f4a2713ac8
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
54 lines
1.8 KiB
C++
54 lines
1.8 KiB
C++
//===- USRGeneration.h - Routines for USR generation ----------------------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_CLANG_INDEX_USRGENERATION_H
|
|
#define LLVM_CLANG_INDEX_USRGENERATION_H
|
|
|
|
#include "clang/Basic/LLVM.h"
|
|
#include "llvm/ADT/StringRef.h"
|
|
|
|
namespace clang {
|
|
class Decl;
|
|
|
|
namespace index {
|
|
|
|
static inline StringRef getUSRSpacePrefix() {
|
|
return "c:";
|
|
}
|
|
|
|
/// \brief Generate a USR for a Decl, including the prefix.
|
|
/// \returns true if the results should be ignored, false otherwise.
|
|
bool generateUSRForDecl(const Decl *D, SmallVectorImpl<char> &Buf);
|
|
|
|
/// \brief Generate a USR fragment for an Objective-C class.
|
|
void generateUSRForObjCClass(StringRef Cls, raw_ostream &OS);
|
|
|
|
/// \brief Generate a USR fragment for an Objective-C class category.
|
|
void generateUSRForObjCCategory(StringRef Cls, StringRef Cat, raw_ostream &OS);
|
|
|
|
/// \brief Generate a USR fragment for an Objective-C instance variable. The
|
|
/// complete USR can be created by concatenating the USR for the
|
|
/// encompassing class with this USR fragment.
|
|
void generateUSRForObjCIvar(StringRef Ivar, raw_ostream &OS);
|
|
|
|
/// \brief Generate a USR fragment for an Objective-C method.
|
|
void generateUSRForObjCMethod(StringRef Sel, bool IsInstanceMethod,
|
|
raw_ostream &OS);
|
|
|
|
/// \brief Generate a USR fragment for an Objective-C property.
|
|
void generateUSRForObjCProperty(StringRef Prop, raw_ostream &OS);
|
|
|
|
/// \brief Generate a USR fragment for an Objective-C protocol.
|
|
void generateUSRForObjCProtocol(StringRef Prot, raw_ostream &OS);
|
|
|
|
} // namespace index
|
|
} // namespace clang
|
|
|
|
#endif // LLVM_CLANG_IDE_USRGENERATION_H
|
|
|