clang: include/clang/AST/ODRHash.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_CLANG_AST_ODRHASH_H

16#define LLVM_CLANG_AST_ODRHASH_H

17

21#include "llvm/ADT/DenseMap.h"

22#include "llvm/ADT/FoldingSet.h"

23#include "llvm/ADT/PointerUnion.h"

24#include "llvm/ADT/SmallVector.h"

25

27

30class IdentifierInfo;

31class NestedNameSpecifier;

32class Stmt;

33class TemplateParameterList;

34

35

36

37

38

39

40

41

43

44

45 llvm::DenseMap<DeclarationName, unsigned> DeclNameMap;

46

47

49

50 llvm::FoldingSetNodeID ID;

51

52public:

54

55

56

58

59

60

62

63

64

66

67

68

69

71

72

73

75

76

77

79

80

81

83

84

86

87

89

90

101

102

104

106

108

109private:

111};

112

113}

114

115#endif

llvm::MachO::Record Record

C Language Family Type Representation.

APValue - This class implements a discriminated union of [uninitialized] [APSInt] [APFloat],...

Represents a C++ struct/union/class.

DeclContext - This is used only as base class of specific decl types that can act as declaration cont...

Decl - This represents one declaration (or definition), e.g.

The name of a declaration.

Represents a function declaration or definition.

One of these records is kept for each identifier that is lexed.

Represents a C++ nested name specifier, such as "\::std::vector::".

void AddDecl(const Decl *D)

void AddStmt(const Stmt *S)

void AddStructuralValue(const APValue &)

void AddCXXRecordDecl(const CXXRecordDecl *Record)

void AddIdentifierInfo(const IdentifierInfo *II)

void AddObjCProtocolDecl(const ObjCProtocolDecl *P)

void AddDeclarationName(DeclarationName Name, bool TreatAsDecl=false)

void AddObjCInterfaceDecl(const ObjCInterfaceDecl *Record)

void AddType(const Type *T)

void AddEnumDecl(const EnumDecl *Enum)

void AddNestedNameSpecifier(const NestedNameSpecifier *NNS)

void AddFunctionDecl(const FunctionDecl *Function, bool SkipBody=false)

void AddBoolean(bool value)

void AddTemplateName(TemplateName Name)

void AddRecordDecl(const RecordDecl *Record)

void AddSubDecl(const Decl *D)

void AddQualType(QualType T)

void AddTemplateParameterList(const TemplateParameterList *TPL)

void AddTemplateArgument(TemplateArgument TA)

static bool isSubDeclToBeProcessed(const Decl *D, const DeclContext *Parent)

Represents an ObjC class declaration.

Represents an Objective-C protocol declaration.

A (possibly-)qualified type.

Represents a struct/union/class.

Stmt - This represents one statement.

Represents a template argument.

Represents a C++ template name within the type system.

Stores a list of template parameters for a TemplateDecl and its derived classes.

The base class of the type hierarchy.

@ Decl

The l-value was an access to a declared entity or something equivalently strong, like the address of ...

The JSON file list parser is used to communicate input to InstallAPI.

const FunctionProtoType * T

@ Enum

The "enum" keyword introduces the elaborated-type-specifier.