ROSE  0.11.101.0
Cxx_GrammarSerialization.h
1 // Declarations and templates for supporting boost::serialization of Sage IR nodes.
2 #ifndef ROSE_Cxx_GrammarSerialization_H
3 #define ROSE_Cxx_GrammarSerialization_H
4 
5 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6 
7 // sage3basic.h or rose.h must be inlucded first from a .C file (don't do it here!)
8 #include <boost/serialization/export.hpp>
9 
10 // The declaration half of exporting polymorphic classes.
11 BOOST_CLASS_EXPORT_KEY(SgBinaryComposite);
12 BOOST_CLASS_EXPORT_KEY(SgFile);
13 BOOST_CLASS_EXPORT_KEY(SgSupport);
14 BOOST_CLASS_EXPORT_KEY(SgAsmX86Instruction);
15 BOOST_CLASS_EXPORT_KEY(SgAsmPowerpcInstruction);
16 BOOST_CLASS_EXPORT_KEY(SgAsmCilInstruction);
17 BOOST_CLASS_EXPORT_KEY(SgAsmJvmInstruction);
18 BOOST_CLASS_EXPORT_KEY(SgAsmMipsInstruction);
19 BOOST_CLASS_EXPORT_KEY(SgAsmM68kInstruction);
20 BOOST_CLASS_EXPORT_KEY(SgAsmNullInstruction);
21 BOOST_CLASS_EXPORT_KEY(SgAsmInstructionList);
22 BOOST_CLASS_EXPORT_KEY(SgAsmInstruction);
23 BOOST_CLASS_EXPORT_KEY(SgAsmOperandList);
24 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryAdd);
25 BOOST_CLASS_EXPORT_KEY(SgAsmBinarySubtract);
26 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryMultiply);
27 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryDivide);
28 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryMod);
29 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryPreupdate);
30 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryPostupdate);
31 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryLsl);
32 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryMsl);
33 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryLsr);
34 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryAsr);
35 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryRor);
36 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryConcat);
37 BOOST_CLASS_EXPORT_KEY(SgAsmBinaryExpression);
38 BOOST_CLASS_EXPORT_KEY(SgAsmUnaryPlus);
39 BOOST_CLASS_EXPORT_KEY(SgAsmUnaryMinus);
40 BOOST_CLASS_EXPORT_KEY(SgAsmUnaryRrx);
41 BOOST_CLASS_EXPORT_KEY(SgAsmUnaryTruncate);
42 BOOST_CLASS_EXPORT_KEY(SgAsmUnarySignedExtend);
43 BOOST_CLASS_EXPORT_KEY(SgAsmUnaryUnsignedExtend);
44 BOOST_CLASS_EXPORT_KEY(SgAsmUnaryExpression);
45 BOOST_CLASS_EXPORT_KEY(SgAsmDirectRegisterExpression);
46 BOOST_CLASS_EXPORT_KEY(SgAsmIndirectRegisterExpression);
47 BOOST_CLASS_EXPORT_KEY(SgAsmRegisterReferenceExpression);
48 BOOST_CLASS_EXPORT_KEY(SgAsmStackExpression);
49 BOOST_CLASS_EXPORT_KEY(SgAsmRegisterNames);
50 BOOST_CLASS_EXPORT_KEY(SgAsmIntegerValueExpression);
51 BOOST_CLASS_EXPORT_KEY(SgAsmFloatValueExpression);
52 BOOST_CLASS_EXPORT_KEY(SgAsmByteOrder);
53 BOOST_CLASS_EXPORT_KEY(SgAsmConstantExpression);
54 BOOST_CLASS_EXPORT_KEY(SgAsmValueExpression);
55 BOOST_CLASS_EXPORT_KEY(SgAsmMemoryReferenceExpression);
56 BOOST_CLASS_EXPORT_KEY(SgAsmControlFlagsExpression);
57 BOOST_CLASS_EXPORT_KEY(SgAsmCommonSubExpression);
58 BOOST_CLASS_EXPORT_KEY(SgAsmRiscOperation);
59 BOOST_CLASS_EXPORT_KEY(SgAsmExprListExp);
60 BOOST_CLASS_EXPORT_KEY(SgAsmExpression);
61 BOOST_CLASS_EXPORT_KEY(SgAsmIntegerType);
62 BOOST_CLASS_EXPORT_KEY(SgAsmFloatType);
63 BOOST_CLASS_EXPORT_KEY(SgAsmScalarType);
64 BOOST_CLASS_EXPORT_KEY(SgAsmVectorType);
65 BOOST_CLASS_EXPORT_KEY(SgAsmType);
66 BOOST_CLASS_EXPORT_KEY(SgAsmFunction);
67 BOOST_CLASS_EXPORT_KEY(SgAsmBlock);
68 BOOST_CLASS_EXPORT_KEY(SgAsmStaticData);
69 BOOST_CLASS_EXPORT_KEY(SgAsmSynthesizedDataStructureDeclaration);
70 BOOST_CLASS_EXPORT_KEY(SgAsmSynthesizedFieldDeclaration);
71 BOOST_CLASS_EXPORT_KEY(SgAsmSynthesizedDeclaration);
72 BOOST_CLASS_EXPORT_KEY(SgAsmStatement);
73 BOOST_CLASS_EXPORT_KEY(SgAsmInterpretationList);
74 BOOST_CLASS_EXPORT_KEY(SgAsmInterpretation);
75 BOOST_CLASS_EXPORT_KEY(SgAsmElfFileHeader);
76 BOOST_CLASS_EXPORT_KEY(SgAsmJvmFileHeader);
77 BOOST_CLASS_EXPORT_KEY(SgAsmElfSectionTable);
78 BOOST_CLASS_EXPORT_KEY(SgAsmElfSectionTableEntry);
79 BOOST_CLASS_EXPORT_KEY(SgAsmElfSegmentTable);
80 BOOST_CLASS_EXPORT_KEY(SgAsmElfSegmentTableEntryList);
81 BOOST_CLASS_EXPORT_KEY(SgAsmElfSegmentTableEntry);
82 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymbolSection);
83 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymbolList);
84 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymbol);
85 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverSection);
86 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverEntry);
87 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverEntryList);
88 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverDefinedSection);
89 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverDefinedEntryList);
90 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverDefinedEntry);
91 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverDefinedAuxList);
92 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverDefinedAux);
93 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverNeededSection);
94 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverNeededEntryList);
95 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverNeededEntry);
96 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverNeededAuxList);
97 BOOST_CLASS_EXPORT_KEY(SgAsmElfSymverNeededAux);
98 BOOST_CLASS_EXPORT_KEY(SgAsmElfRelocSection);
99 BOOST_CLASS_EXPORT_KEY(SgAsmElfRelocEntryList);
100 BOOST_CLASS_EXPORT_KEY(SgAsmElfRelocEntry);
101 BOOST_CLASS_EXPORT_KEY(SgAsmElfDynamicSection);
102 BOOST_CLASS_EXPORT_KEY(SgAsmElfDynamicEntryList);
103 BOOST_CLASS_EXPORT_KEY(SgAsmElfDynamicEntry);
104 BOOST_CLASS_EXPORT_KEY(SgAsmElfStringSection);
105 BOOST_CLASS_EXPORT_KEY(SgAsmElfStrtab);
106 BOOST_CLASS_EXPORT_KEY(SgAsmElfNoteSection);
107 BOOST_CLASS_EXPORT_KEY(SgAsmElfNoteEntryList);
108 BOOST_CLASS_EXPORT_KEY(SgAsmElfNoteEntry);
109 BOOST_CLASS_EXPORT_KEY(SgAsmElfEHFrameSection);
110 BOOST_CLASS_EXPORT_KEY(SgAsmElfEHFrameEntryCIList);
111 BOOST_CLASS_EXPORT_KEY(SgAsmElfEHFrameEntryCI);
112 BOOST_CLASS_EXPORT_KEY(SgAsmElfEHFrameEntryFDList);
113 BOOST_CLASS_EXPORT_KEY(SgAsmElfEHFrameEntryFD);
114 BOOST_CLASS_EXPORT_KEY(SgAsmElfSection);
115 BOOST_CLASS_EXPORT_KEY(SgAsmJvmConstantPool);
116 BOOST_CLASS_EXPORT_KEY(SgAsmJvmConstantPoolEntry);
117 BOOST_CLASS_EXPORT_KEY(SgAsmJvmConstantValue);
118 BOOST_CLASS_EXPORT_KEY(SgAsmJvmCodeAttribute);
119 BOOST_CLASS_EXPORT_KEY(SgAsmJvmInnerClasses);
120 BOOST_CLASS_EXPORT_KEY(SgAsmJvmInnerClassesEntry);
121 BOOST_CLASS_EXPORT_KEY(SgAsmJvmEnclosingMethod);
122 BOOST_CLASS_EXPORT_KEY(SgAsmJvmSignature);
123 BOOST_CLASS_EXPORT_KEY(SgAsmJvmSourceFile);
124 BOOST_CLASS_EXPORT_KEY(SgAsmJvmLineNumberEntry);
125 BOOST_CLASS_EXPORT_KEY(SgAsmJvmLineNumberTable);
126 BOOST_CLASS_EXPORT_KEY(SgAsmJvmModuleMainClass);
127 BOOST_CLASS_EXPORT_KEY(SgAsmJvmAttribute);
128 BOOST_CLASS_EXPORT_KEY(SgAsmJvmClass);
129 BOOST_CLASS_EXPORT_KEY(SgAsmJvmAttributeTable);
130 BOOST_CLASS_EXPORT_KEY(SgAsmJvmExceptionTable);
131 BOOST_CLASS_EXPORT_KEY(SgAsmJvmException);
132 BOOST_CLASS_EXPORT_KEY(SgAsmJvmMethodTable);
133 BOOST_CLASS_EXPORT_KEY(SgAsmCliHeader);
134 BOOST_CLASS_EXPORT_KEY(SgAsmJvmMethod);
135 BOOST_CLASS_EXPORT_KEY(SgAsmJvmFieldTable);
136 BOOST_CLASS_EXPORT_KEY(SgAsmJvmField);
137 BOOST_CLASS_EXPORT_KEY(SgAsmDOSFileHeader);
138 BOOST_CLASS_EXPORT_KEY(SgAsmDOSExtendedHeader);
139 BOOST_CLASS_EXPORT_KEY(SgAsmPEFileHeader);
140 BOOST_CLASS_EXPORT_KEY(SgAsmPERVASizePairList);
141 BOOST_CLASS_EXPORT_KEY(SgAsmPERVASizePair);
142 BOOST_CLASS_EXPORT_KEY(SgAsmPEImportItem);
143 BOOST_CLASS_EXPORT_KEY(SgAsmPEImportItemList);
144 BOOST_CLASS_EXPORT_KEY(SgAsmPEImportDirectory);
145 BOOST_CLASS_EXPORT_KEY(SgAsmPEImportDirectoryList);
146 BOOST_CLASS_EXPORT_KEY(SgAsmPEImportSection);
147 BOOST_CLASS_EXPORT_KEY(SgAsmPEExportSection);
148 BOOST_CLASS_EXPORT_KEY(SgAsmPEExportDirectory);
149 BOOST_CLASS_EXPORT_KEY(SgAsmPEExportEntryList);
150 BOOST_CLASS_EXPORT_KEY(SgAsmPEExportEntry);
151 BOOST_CLASS_EXPORT_KEY(SgAsmPEStringSection);
152 BOOST_CLASS_EXPORT_KEY(SgAsmPESectionTable);
153 BOOST_CLASS_EXPORT_KEY(SgAsmPESectionTableEntry);
154 BOOST_CLASS_EXPORT_KEY(SgAsmPESection);
155 BOOST_CLASS_EXPORT_KEY(SgAsmCoffSymbolTable);
156 BOOST_CLASS_EXPORT_KEY(SgAsmCoffSymbolList);
157 BOOST_CLASS_EXPORT_KEY(SgAsmCoffSymbol);
158 BOOST_CLASS_EXPORT_KEY(SgAsmCoffStrtab);
159 BOOST_CLASS_EXPORT_KEY(SgAsmStringStorage);
160 BOOST_CLASS_EXPORT_KEY(SgAsmBasicString);
161 BOOST_CLASS_EXPORT_KEY(SgAsmStoredString);
162 BOOST_CLASS_EXPORT_KEY(SgAsmGenericString);
163 BOOST_CLASS_EXPORT_KEY(SgAsmGenericHeaderList);
164 BOOST_CLASS_EXPORT_KEY(SgAsmGenericHeader);
165 BOOST_CLASS_EXPORT_KEY(SgAsmGenericSymbolList);
166 BOOST_CLASS_EXPORT_KEY(SgAsmGenericSymbol);
167 BOOST_CLASS_EXPORT_KEY(SgAsmGenericStrtab);
168 BOOST_CLASS_EXPORT_KEY(SgAsmGenericSectionList);
169 BOOST_CLASS_EXPORT_KEY(SgAsmGenericSection);
170 BOOST_CLASS_EXPORT_KEY(SgAsmGenericDLLList);
171 BOOST_CLASS_EXPORT_KEY(SgAsmGenericDLL);
172 BOOST_CLASS_EXPORT_KEY(SgAsmGenericFormat);
173 BOOST_CLASS_EXPORT_KEY(SgAsmGenericFileList);
174 BOOST_CLASS_EXPORT_KEY(SgAsmGenericFile);
175 BOOST_CLASS_EXPORT_KEY(SgAsmExecutableFileFormat);
176 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssembly);
177 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssemblyOS);
178 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssemblyProcessor);
179 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssemblyRef);
180 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssemblyRefOS);
181 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssemblyRefProcessor);
182 BOOST_CLASS_EXPORT_KEY(SgAsmCilClassLayout);
183 BOOST_CLASS_EXPORT_KEY(SgAsmCilConstant);
184 BOOST_CLASS_EXPORT_KEY(SgAsmCilCustomAttribute);
185 BOOST_CLASS_EXPORT_KEY(SgAsmCilDeclSecurity);
186 BOOST_CLASS_EXPORT_KEY(SgAsmCilEvent);
187 BOOST_CLASS_EXPORT_KEY(SgAsmCilEventMap);
188 BOOST_CLASS_EXPORT_KEY(SgAsmCilExportedType);
189 BOOST_CLASS_EXPORT_KEY(SgAsmCilField);
190 BOOST_CLASS_EXPORT_KEY(SgAsmCilFieldLayout);
191 BOOST_CLASS_EXPORT_KEY(SgAsmCilFieldMarshal);
192 BOOST_CLASS_EXPORT_KEY(SgAsmCilFieldRVA);
193 BOOST_CLASS_EXPORT_KEY(SgAsmCilFile);
194 BOOST_CLASS_EXPORT_KEY(SgAsmCilGenericParam);
195 BOOST_CLASS_EXPORT_KEY(SgAsmCilGenericParamConstraint);
196 BOOST_CLASS_EXPORT_KEY(SgAsmCilImplMap);
197 BOOST_CLASS_EXPORT_KEY(SgAsmCilInterfaceImpl);
198 BOOST_CLASS_EXPORT_KEY(SgAsmCilManifestResource);
199 BOOST_CLASS_EXPORT_KEY(SgAsmCilMemberRef);
200 BOOST_CLASS_EXPORT_KEY(SgAsmCilMethodDef);
201 BOOST_CLASS_EXPORT_KEY(SgAsmCilMethodImpl);
202 BOOST_CLASS_EXPORT_KEY(SgAsmCilMethodSemantics);
203 BOOST_CLASS_EXPORT_KEY(SgAsmCilMethodSpec);
204 BOOST_CLASS_EXPORT_KEY(SgAsmCilModule);
205 BOOST_CLASS_EXPORT_KEY(SgAsmCilModuleRef);
206 BOOST_CLASS_EXPORT_KEY(SgAsmCilNestedClass);
207 BOOST_CLASS_EXPORT_KEY(SgAsmCilParam);
208 BOOST_CLASS_EXPORT_KEY(SgAsmCilProperty);
209 BOOST_CLASS_EXPORT_KEY(SgAsmCilPropertyMap);
210 BOOST_CLASS_EXPORT_KEY(SgAsmCilStandAloneSig);
211 BOOST_CLASS_EXPORT_KEY(SgAsmCilTypeDef);
212 BOOST_CLASS_EXPORT_KEY(SgAsmCilTypeRef);
213 BOOST_CLASS_EXPORT_KEY(SgAsmCilTypeSpec);
214 BOOST_CLASS_EXPORT_KEY(SgAsmCilMetadata);
215 BOOST_CLASS_EXPORT_KEY(SgAsmCilMetadataHeap);
216 BOOST_CLASS_EXPORT_KEY(SgAsmCilUint8Heap);
217 BOOST_CLASS_EXPORT_KEY(SgAsmCilUint32Heap);
218 BOOST_CLASS_EXPORT_KEY(SgAsmCilDataStream);
219 BOOST_CLASS_EXPORT_KEY(SgAsmCilMetadataRoot);
220 BOOST_CLASS_EXPORT_KEY(SgAsmCilNode);
221 BOOST_CLASS_EXPORT_KEY(SgAsmJvmNode);
222 BOOST_CLASS_EXPORT_KEY(SgAsmNode);
223 
224 
231 template<class Archive>
232 void roseAstSerializationRegistration(Archive &archive) {
233  archive.template register_type<SgBinaryComposite>();
234  archive.template register_type<SgFile>();
235  archive.template register_type<SgSupport>();
236  archive.template register_type<SgAsmX86Instruction>();
237  archive.template register_type<SgAsmPowerpcInstruction>();
238  archive.template register_type<SgAsmCilInstruction>();
239  archive.template register_type<SgAsmJvmInstruction>();
240  archive.template register_type<SgAsmMipsInstruction>();
241  archive.template register_type<SgAsmM68kInstruction>();
242  archive.template register_type<SgAsmNullInstruction>();
243  archive.template register_type<SgAsmInstructionList>();
244  archive.template register_type<SgAsmInstruction>();
245  archive.template register_type<SgAsmOperandList>();
246  archive.template register_type<SgAsmBinaryAdd>();
247  archive.template register_type<SgAsmBinarySubtract>();
248  archive.template register_type<SgAsmBinaryMultiply>();
249  archive.template register_type<SgAsmBinaryDivide>();
250  archive.template register_type<SgAsmBinaryMod>();
251  archive.template register_type<SgAsmBinaryPreupdate>();
252  archive.template register_type<SgAsmBinaryPostupdate>();
253  archive.template register_type<SgAsmBinaryLsl>();
254  archive.template register_type<SgAsmBinaryMsl>();
255  archive.template register_type<SgAsmBinaryLsr>();
256  archive.template register_type<SgAsmBinaryAsr>();
257  archive.template register_type<SgAsmBinaryRor>();
258  archive.template register_type<SgAsmBinaryConcat>();
259  archive.template register_type<SgAsmBinaryExpression>();
260  archive.template register_type<SgAsmUnaryPlus>();
261  archive.template register_type<SgAsmUnaryMinus>();
262  archive.template register_type<SgAsmUnaryRrx>();
263  archive.template register_type<SgAsmUnaryTruncate>();
264  archive.template register_type<SgAsmUnarySignedExtend>();
265  archive.template register_type<SgAsmUnaryUnsignedExtend>();
266  archive.template register_type<SgAsmUnaryExpression>();
267  archive.template register_type<SgAsmDirectRegisterExpression>();
268  archive.template register_type<SgAsmIndirectRegisterExpression>();
269  archive.template register_type<SgAsmRegisterReferenceExpression>();
270  archive.template register_type<SgAsmStackExpression>();
271  archive.template register_type<SgAsmRegisterNames>();
272  archive.template register_type<SgAsmIntegerValueExpression>();
273  archive.template register_type<SgAsmFloatValueExpression>();
274  archive.template register_type<SgAsmByteOrder>();
275  archive.template register_type<SgAsmConstantExpression>();
276  archive.template register_type<SgAsmValueExpression>();
277  archive.template register_type<SgAsmMemoryReferenceExpression>();
278  archive.template register_type<SgAsmControlFlagsExpression>();
279  archive.template register_type<SgAsmCommonSubExpression>();
280  archive.template register_type<SgAsmRiscOperation>();
281  archive.template register_type<SgAsmExprListExp>();
282  archive.template register_type<SgAsmExpression>();
283  archive.template register_type<SgAsmIntegerType>();
284  archive.template register_type<SgAsmFloatType>();
285  archive.template register_type<SgAsmScalarType>();
286  archive.template register_type<SgAsmVectorType>();
287  archive.template register_type<SgAsmType>();
288  archive.template register_type<SgAsmFunction>();
289  archive.template register_type<SgAsmBlock>();
290  archive.template register_type<SgAsmStaticData>();
291  archive.template register_type<SgAsmSynthesizedDataStructureDeclaration>();
292  archive.template register_type<SgAsmSynthesizedFieldDeclaration>();
293  archive.template register_type<SgAsmSynthesizedDeclaration>();
294  archive.template register_type<SgAsmStatement>();
295  archive.template register_type<SgAsmInterpretationList>();
296  archive.template register_type<SgAsmInterpretation>();
297  archive.template register_type<SgAsmElfFileHeader>();
298  archive.template register_type<SgAsmJvmFileHeader>();
299  archive.template register_type<SgAsmElfSectionTable>();
300  archive.template register_type<SgAsmElfSectionTableEntry>();
301  archive.template register_type<SgAsmElfSegmentTable>();
302  archive.template register_type<SgAsmElfSegmentTableEntryList>();
303  archive.template register_type<SgAsmElfSegmentTableEntry>();
304  archive.template register_type<SgAsmElfSymbolSection>();
305  archive.template register_type<SgAsmElfSymbolList>();
306  archive.template register_type<SgAsmElfSymbol>();
307  archive.template register_type<SgAsmElfSymverSection>();
308  archive.template register_type<SgAsmElfSymverEntry>();
309  archive.template register_type<SgAsmElfSymverEntryList>();
310  archive.template register_type<SgAsmElfSymverDefinedSection>();
311  archive.template register_type<SgAsmElfSymverDefinedEntryList>();
312  archive.template register_type<SgAsmElfSymverDefinedEntry>();
313  archive.template register_type<SgAsmElfSymverDefinedAuxList>();
314  archive.template register_type<SgAsmElfSymverDefinedAux>();
315  archive.template register_type<SgAsmElfSymverNeededSection>();
316  archive.template register_type<SgAsmElfSymverNeededEntryList>();
317  archive.template register_type<SgAsmElfSymverNeededEntry>();
318  archive.template register_type<SgAsmElfSymverNeededAuxList>();
319  archive.template register_type<SgAsmElfSymverNeededAux>();
320  archive.template register_type<SgAsmElfRelocSection>();
321  archive.template register_type<SgAsmElfRelocEntryList>();
322  archive.template register_type<SgAsmElfRelocEntry>();
323  archive.template register_type<SgAsmElfDynamicSection>();
324  archive.template register_type<SgAsmElfDynamicEntryList>();
325  archive.template register_type<SgAsmElfDynamicEntry>();
326  archive.template register_type<SgAsmElfStringSection>();
327  archive.template register_type<SgAsmElfStrtab>();
328  archive.template register_type<SgAsmElfNoteSection>();
329  archive.template register_type<SgAsmElfNoteEntryList>();
330  archive.template register_type<SgAsmElfNoteEntry>();
331  archive.template register_type<SgAsmElfEHFrameSection>();
332  archive.template register_type<SgAsmElfEHFrameEntryCIList>();
333  archive.template register_type<SgAsmElfEHFrameEntryCI>();
334  archive.template register_type<SgAsmElfEHFrameEntryFDList>();
335  archive.template register_type<SgAsmElfEHFrameEntryFD>();
336  archive.template register_type<SgAsmElfSection>();
337  archive.template register_type<SgAsmJvmConstantPool>();
338  archive.template register_type<SgAsmJvmConstantPoolEntry>();
339  archive.template register_type<SgAsmJvmConstantValue>();
340  archive.template register_type<SgAsmJvmCodeAttribute>();
341  archive.template register_type<SgAsmJvmInnerClasses>();
342  archive.template register_type<SgAsmJvmInnerClassesEntry>();
343  archive.template register_type<SgAsmJvmEnclosingMethod>();
344  archive.template register_type<SgAsmJvmSignature>();
345  archive.template register_type<SgAsmJvmSourceFile>();
346  archive.template register_type<SgAsmJvmLineNumberEntry>();
347  archive.template register_type<SgAsmJvmLineNumberTable>();
348  archive.template register_type<SgAsmJvmModuleMainClass>();
349  archive.template register_type<SgAsmJvmAttribute>();
350  archive.template register_type<SgAsmJvmClass>();
351  archive.template register_type<SgAsmJvmAttributeTable>();
352  archive.template register_type<SgAsmJvmExceptionTable>();
353  archive.template register_type<SgAsmJvmException>();
354  archive.template register_type<SgAsmJvmMethodTable>();
355  archive.template register_type<SgAsmCliHeader>();
356  archive.template register_type<SgAsmJvmMethod>();
357  archive.template register_type<SgAsmJvmFieldTable>();
358  archive.template register_type<SgAsmJvmField>();
359  archive.template register_type<SgAsmDOSFileHeader>();
360  archive.template register_type<SgAsmDOSExtendedHeader>();
361  archive.template register_type<SgAsmPEFileHeader>();
362  archive.template register_type<SgAsmPERVASizePairList>();
363  archive.template register_type<SgAsmPERVASizePair>();
364  archive.template register_type<SgAsmPEImportItem>();
365  archive.template register_type<SgAsmPEImportItemList>();
366  archive.template register_type<SgAsmPEImportDirectory>();
367  archive.template register_type<SgAsmPEImportDirectoryList>();
368  archive.template register_type<SgAsmPEImportSection>();
369  archive.template register_type<SgAsmPEExportSection>();
370  archive.template register_type<SgAsmPEExportDirectory>();
371  archive.template register_type<SgAsmPEExportEntryList>();
372  archive.template register_type<SgAsmPEExportEntry>();
373  archive.template register_type<SgAsmPEStringSection>();
374  archive.template register_type<SgAsmPESectionTable>();
375  archive.template register_type<SgAsmPESectionTableEntry>();
376  archive.template register_type<SgAsmPESection>();
377  archive.template register_type<SgAsmCoffSymbolTable>();
378  archive.template register_type<SgAsmCoffSymbolList>();
379  archive.template register_type<SgAsmCoffSymbol>();
380  archive.template register_type<SgAsmCoffStrtab>();
381  archive.template register_type<SgAsmStringStorage>();
382  archive.template register_type<SgAsmBasicString>();
383  archive.template register_type<SgAsmStoredString>();
384  archive.template register_type<SgAsmGenericString>();
385  archive.template register_type<SgAsmGenericHeaderList>();
386  archive.template register_type<SgAsmGenericHeader>();
387  archive.template register_type<SgAsmGenericSymbolList>();
388  archive.template register_type<SgAsmGenericSymbol>();
389  archive.template register_type<SgAsmGenericStrtab>();
390  archive.template register_type<SgAsmGenericSectionList>();
391  archive.template register_type<SgAsmGenericSection>();
392  archive.template register_type<SgAsmGenericDLLList>();
393  archive.template register_type<SgAsmGenericDLL>();
394  archive.template register_type<SgAsmGenericFormat>();
395  archive.template register_type<SgAsmGenericFileList>();
396  archive.template register_type<SgAsmGenericFile>();
397  archive.template register_type<SgAsmExecutableFileFormat>();
398  archive.template register_type<SgAsmCilAssembly>();
399  archive.template register_type<SgAsmCilAssemblyOS>();
400  archive.template register_type<SgAsmCilAssemblyProcessor>();
401  archive.template register_type<SgAsmCilAssemblyRef>();
402  archive.template register_type<SgAsmCilAssemblyRefOS>();
403  archive.template register_type<SgAsmCilAssemblyRefProcessor>();
404  archive.template register_type<SgAsmCilClassLayout>();
405  archive.template register_type<SgAsmCilConstant>();
406  archive.template register_type<SgAsmCilCustomAttribute>();
407  archive.template register_type<SgAsmCilDeclSecurity>();
408  archive.template register_type<SgAsmCilEvent>();
409  archive.template register_type<SgAsmCilEventMap>();
410  archive.template register_type<SgAsmCilExportedType>();
411  archive.template register_type<SgAsmCilField>();
412  archive.template register_type<SgAsmCilFieldLayout>();
413  archive.template register_type<SgAsmCilFieldMarshal>();
414  archive.template register_type<SgAsmCilFieldRVA>();
415  archive.template register_type<SgAsmCilFile>();
416  archive.template register_type<SgAsmCilGenericParam>();
417  archive.template register_type<SgAsmCilGenericParamConstraint>();
418  archive.template register_type<SgAsmCilImplMap>();
419  archive.template register_type<SgAsmCilInterfaceImpl>();
420  archive.template register_type<SgAsmCilManifestResource>();
421  archive.template register_type<SgAsmCilMemberRef>();
422  archive.template register_type<SgAsmCilMethodDef>();
423  archive.template register_type<SgAsmCilMethodImpl>();
424  archive.template register_type<SgAsmCilMethodSemantics>();
425  archive.template register_type<SgAsmCilMethodSpec>();
426  archive.template register_type<SgAsmCilModule>();
427  archive.template register_type<SgAsmCilModuleRef>();
428  archive.template register_type<SgAsmCilNestedClass>();
429  archive.template register_type<SgAsmCilParam>();
430  archive.template register_type<SgAsmCilProperty>();
431  archive.template register_type<SgAsmCilPropertyMap>();
432  archive.template register_type<SgAsmCilStandAloneSig>();
433  archive.template register_type<SgAsmCilTypeDef>();
434  archive.template register_type<SgAsmCilTypeRef>();
435  archive.template register_type<SgAsmCilTypeSpec>();
436  archive.template register_type<SgAsmCilMetadata>();
437  archive.template register_type<SgAsmCilMetadataHeap>();
438  archive.template register_type<SgAsmCilUint8Heap>();
439  archive.template register_type<SgAsmCilUint32Heap>();
440  archive.template register_type<SgAsmCilDataStream>();
441  archive.template register_type<SgAsmCilMetadataRoot>();
442  archive.template register_type<SgAsmCilNode>();
443  archive.template register_type<SgAsmJvmNode>();
444  archive.template register_type<SgAsmNode>();
445 }
446 
447 #endif
448 #endif
List of pointers to file sections.
CIL ClassLayout table.
The GNU symbol version definitions.
One entry of the ELF symbol version needed table.
CIL StandAloneSig table.
String associated with a binary file.
Expression that adds two operands.
JVM SourceFile attribute.
List of dynamic linking section entries.
Contiguous region of a file.
Represents a JVM method_info table/array.
CIL DeclSecurity table.
JVM ModuleMainClass attribute.
Expression representing a (no-op) unary plus operation.
Base class for references to a machine register.
Expression that performs a right rotate.
Auxiliary info for needed symbol version.
Instruction basic block.
Base class for all binary analysis IR nodes.
This class represents a source file for a project (which may contian many source files and or directo...
List of entries for the ELF symbol version definition table.
One entry of an ELF relocation table.
Expression that represents an update to a storage location.
Represents the file header of an ELF binary container.
Portable Executable Import Section.
List of generic file headers.
List of binary interpretations.
CIL AssemblyRef table.
Base class for machine instructions.
CIL Managed Code section.
Section table entry.
Byte order specification.
Represents an entry in a JVM constant pool.
CIL FieldRVA table.
CIL AssemblyProcessor table.
Base class for scalar types.
CIL NestedClass table.
Represents a JVM exception_info table/array.
List of expression nodes.
Expression that performs an arithmetic, sign-bit preserving right shift.
Expression that performs a logical, sign-bit non-preserving right shift.
Represents an JVM constant pool.
Strings stored in an ELF or PE container.
Expression that returns the remainder when dividing the first operand by the second.
Node to hold a list of symbol node pointers.
Base class for ELF file sections.
Expression representing truncation.
CIL Event table.
Base class for PE sections.
Represents a synthesized function.
JVM EnclosingMethod attribute.
CIL MethodImpl table.
Represents one JVS machine instruction.
Expression that divides the first operand by the second.
CIL AssemblyRefProcessor table.
Hods a list of symbol version aux entries.
CIL AsmCilMetadataHeap.
COFF symbol string table.
Basic information about an executable container.
JVM Code attribute.
Base class for CIL branch of binary analysis IR nodes.
CIL FieldLayout table.
This class represents the base class of a numbr of IR nodes that don't otherwise fit into the existin...
Entry in an ELF symbol version table.
Base class for string tables.
Base class for references to a machine register.
Base class for CIL branch of binary analysis IR nodes.
ELF error handling frame entry frame description entry.
CIL ImplMap table.
Represents an ELF relocation section.
Base class for CIL branch of binary analysis IR nodes.
One import directory per library.
GNU symbol version requirements table.
List of ELF relocation entries.
List of AST file node pointers.
ELF section containing dynamic linking information.
Represents the file header for DOS executables.
JVM LineNumberTable attribute.
List of ELF EH frame CI entries.
CIL GenericParamConstraint table.
Represents an ELF EH frame section.
CIL FieldMarshal table.
CIL MethodSpec table.
One entry of an ELF notes table.
ELF string table section.
CIL SgAsmCilMetadataRoot.
Reference to memory locations.
CIL ExportedType table.
An ordered list of registers.
Base class for container file headers.
CIL GenericParam table.
CIL MemberRef table.
CIL AssemblyRefOS table.
CIL Module table.
JVM Signature attribute.
Expression represting negation.
List of pointers to other AST nodes.
Expression representing a machine register.
Base class for integer values.
ELF file section containing symbols.
CIL InterfaceImpl table.
List of operands for an instruction.
Base class for dynamically linked library information.
Represents the file header of an JVM binary container.
Base class for a JVM attribute.
A single imported object.
Represents one PowerPC machine instruction.
One entry from an ELF symbol version definition table.
Represents a single ELF symbol.
CIL TypeRef table.
Base class for strings related to binary specimens.
CIL MethodSemantics table.
DOS exteded header.
CIL TypeDef table.
CIL File table.
List of COFF symbols.
Represents static data in an executable.
Represents a JVM attribute_info table/array.
CIL AssemblyOS table.
Base class for unary expressions.
Base class for many binary analysis nodes.
Represents one Intel x86 machine instruction.
Base class for CIL branch of binary analysis IR nodes.
Base class for statement-like subclasses.
CIL TypeSpec table.
Base class for CIL branch of binary analysis IR nodes.
Represents one entry of a segment table.
Expression representing sign extending.
Base class for expressions.
CIL ModuleRef table.
Expression that performs a logical left shift operation.
List of pointers to other nodes.
Expression that multiplies two operands.
Expression that performs a logical left shift operation filling low-order bits with one...
Represents one MIPS machine instruction.
Node to hold list of ELF note entries.
CIL CustomAttribute table.
JVM LineNumberEntry.
List of entries from a symbol version table.
List of SgAsmPERVASizePair AST nodes.
Expression representing unsigned extending.
Base class for binary types.
Export file section.
Registers accessed indirectly.
A JVM InnerClasses attribute array entry.
Base class for values.
CIL ManifestResource table.
Floating-point value.
CIL Assembly table.
JVM ConstantValue attribute.
Windows PE file header.
CIL Field table.
Expression that subtracts the second operand from the first.
Represents a JVM field_info table/array.
CIL EventMap table.
Expression that represents an update to a storage location.
Base class for synthesized declarations.
Represents a JVM InnerClasses attribute.
One entry from the dynamic linking table.
Expression that concatenates two values to form a wider value.
CIL Constant table.
CIL MethodDef table.
Base class for JVM branch of binary analysis IR nodes.
CIL Property table.
Integer types.
The ELF symbol version table.
Represents one entry in an ELF section table.
Represents an ELF segment table.
Strings stored in an ELF or PE container.
Represents an ELF section table.
ELF string table.
A list of imported items.
Represents an interpretation of a binary container.
CIL PropertyMap table.
List of symbol version needed entries.
Floating point types.
Base class for binary files.
Base class for binary expressions.
Declaration-like nodes that encapsulate multiple instructions.
Base class for vector types.
Base class for constants.
CIL Param table.
List of symbol version aux entries.
List of SgAsmInstruction nodes.
Static representation of instruction semantics.
A list of PE Import Directories.
ELF error handling frame entry, common information entry.
COFF symbol table.