1 //===- ClangAttrEmitter.h - Generate Clang attribute handling =-*- C++ -*--===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // These tablegen backends emit Clang attribute processing code
12 //===----------------------------------------------------------------------===//
14 #ifndef CLANGATTR_EMITTER_H
15 #define CLANGATTR_EMITTER_H
17 #include "TableGenBackend.h"
21 /// ClangAttrClassEmitter - class emits the class defintions for attributes for
23 class ClangAttrClassEmitter
: public TableGenBackend
{
24 RecordKeeper
&Records
;
27 explicit ClangAttrClassEmitter(RecordKeeper
&R
)
31 void run(raw_ostream
&OS
);
34 /// ClangAttrImplEmitter - class emits the class method defintions for
35 /// attributes for clang.
36 class ClangAttrImplEmitter
: public TableGenBackend
{
37 RecordKeeper
&Records
;
40 explicit ClangAttrImplEmitter(RecordKeeper
&R
)
44 void run(raw_ostream
&OS
);
47 /// ClangAttrListEmitter - class emits the enumeration list for attributes for
49 class ClangAttrListEmitter
: public TableGenBackend
{
50 RecordKeeper
&Records
;
53 explicit ClangAttrListEmitter(RecordKeeper
&R
)
57 void run(raw_ostream
&OS
);
60 /// ClangAttrPCHReadEmitter - class emits the code to read an attribute from
61 /// a clang precompiled header.
62 class ClangAttrPCHReadEmitter
: public TableGenBackend
{
63 RecordKeeper
&Records
;
66 explicit ClangAttrPCHReadEmitter(RecordKeeper
&R
)
70 void run(raw_ostream
&OS
);
73 /// ClangAttrPCHWriteEmitter - class emits the code to read an attribute from
74 /// a clang precompiled header.
75 class ClangAttrPCHWriteEmitter
: public TableGenBackend
{
76 RecordKeeper
&Records
;
79 explicit ClangAttrPCHWriteEmitter(RecordKeeper
&R
)
83 void run(raw_ostream
&OS
);
86 /// ClangAttrSpellingListEmitter - class emits the list of spellings for attributes for
88 class ClangAttrSpellingListEmitter
: public TableGenBackend
{
89 RecordKeeper
&Records
;
92 explicit ClangAttrSpellingListEmitter(RecordKeeper
&R
)
96 void run(raw_ostream
&OS
);