ROSE  0.11.109.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(SgAsmCilAssemblyTable);
215 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssemblyOSTable);
216 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssemblyProcessorTable);
217 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssemblyRefTable);
218 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssemblyRefOSTable);
219 BOOST_CLASS_EXPORT_KEY(SgAsmCilAssemblyRefProcessorTable);
220 BOOST_CLASS_EXPORT_KEY(SgAsmCilClassLayoutTable);
221 BOOST_CLASS_EXPORT_KEY(SgAsmCilConstantTable);
222 BOOST_CLASS_EXPORT_KEY(SgAsmCilCustomAttributeTable);
223 BOOST_CLASS_EXPORT_KEY(SgAsmCilDeclSecurityTable);
224 BOOST_CLASS_EXPORT_KEY(SgAsmCilEventTable);
225 BOOST_CLASS_EXPORT_KEY(SgAsmCilEventMapTable);
226 BOOST_CLASS_EXPORT_KEY(SgAsmCilExportedTypeTable);
227 BOOST_CLASS_EXPORT_KEY(SgAsmCilFieldTable);
228 BOOST_CLASS_EXPORT_KEY(SgAsmCilFieldLayoutTable);
229 BOOST_CLASS_EXPORT_KEY(SgAsmCilFieldMarshalTable);
230 BOOST_CLASS_EXPORT_KEY(SgAsmCilFieldRVATable);
231 BOOST_CLASS_EXPORT_KEY(SgAsmCilFileTable);
232 BOOST_CLASS_EXPORT_KEY(SgAsmCilGenericParamTable);
233 BOOST_CLASS_EXPORT_KEY(SgAsmCilGenericParamConstraintTable);
234 BOOST_CLASS_EXPORT_KEY(SgAsmCilImplMapTable);
235 BOOST_CLASS_EXPORT_KEY(SgAsmCilInterfaceImplTable);
236 BOOST_CLASS_EXPORT_KEY(SgAsmCilManifestResourceTable);
237 BOOST_CLASS_EXPORT_KEY(SgAsmCilMemberRefTable);
238 BOOST_CLASS_EXPORT_KEY(SgAsmCilMethodDefTable);
239 BOOST_CLASS_EXPORT_KEY(SgAsmCilMethodImplTable);
240 BOOST_CLASS_EXPORT_KEY(SgAsmCilMethodSemanticsTable);
241 BOOST_CLASS_EXPORT_KEY(SgAsmCilMethodSpecTable);
242 BOOST_CLASS_EXPORT_KEY(SgAsmCilModuleTable);
243 BOOST_CLASS_EXPORT_KEY(SgAsmCilModuleRefTable);
244 BOOST_CLASS_EXPORT_KEY(SgAsmCilNestedClassTable);
245 BOOST_CLASS_EXPORT_KEY(SgAsmCilParamTable);
246 BOOST_CLASS_EXPORT_KEY(SgAsmCilPropertyTable);
247 BOOST_CLASS_EXPORT_KEY(SgAsmCilPropertyMapTable);
248 BOOST_CLASS_EXPORT_KEY(SgAsmCilStandAloneSigTable);
249 BOOST_CLASS_EXPORT_KEY(SgAsmCilTypeDefTable);
250 BOOST_CLASS_EXPORT_KEY(SgAsmCilTypeRefTable);
251 BOOST_CLASS_EXPORT_KEY(SgAsmCilTypeSpecTable);
252 BOOST_CLASS_EXPORT_KEY(SgAsmCilMetadata);
253 BOOST_CLASS_EXPORT_KEY(SgAsmCilMetadataHeap);
254 BOOST_CLASS_EXPORT_KEY(SgAsmCilUint8Heap);
255 BOOST_CLASS_EXPORT_KEY(SgAsmCilUint32Heap);
256 BOOST_CLASS_EXPORT_KEY(SgAsmCilDataStream);
257 BOOST_CLASS_EXPORT_KEY(SgAsmCilMetadataRoot);
258 BOOST_CLASS_EXPORT_KEY(SgAsmCilNode);
259 BOOST_CLASS_EXPORT_KEY(SgAsmJvmNode);
260 BOOST_CLASS_EXPORT_KEY(SgAsmNode);
261 
262 
269 template<class Archive>
270 void roseAstSerializationRegistration(Archive &archive) {
271  archive.template register_type<SgBinaryComposite>();
272  archive.template register_type<SgFile>();
273  archive.template register_type<SgSupport>();
274  archive.template register_type<SgAsmX86Instruction>();
275  archive.template register_type<SgAsmPowerpcInstruction>();
276  archive.template register_type<SgAsmCilInstruction>();
277  archive.template register_type<SgAsmJvmInstruction>();
278  archive.template register_type<SgAsmMipsInstruction>();
279  archive.template register_type<SgAsmM68kInstruction>();
280  archive.template register_type<SgAsmNullInstruction>();
281  archive.template register_type<SgAsmInstructionList>();
282  archive.template register_type<SgAsmInstruction>();
283  archive.template register_type<SgAsmOperandList>();
284  archive.template register_type<SgAsmBinaryAdd>();
285  archive.template register_type<SgAsmBinarySubtract>();
286  archive.template register_type<SgAsmBinaryMultiply>();
287  archive.template register_type<SgAsmBinaryDivide>();
288  archive.template register_type<SgAsmBinaryMod>();
289  archive.template register_type<SgAsmBinaryPreupdate>();
290  archive.template register_type<SgAsmBinaryPostupdate>();
291  archive.template register_type<SgAsmBinaryLsl>();
292  archive.template register_type<SgAsmBinaryMsl>();
293  archive.template register_type<SgAsmBinaryLsr>();
294  archive.template register_type<SgAsmBinaryAsr>();
295  archive.template register_type<SgAsmBinaryRor>();
296  archive.template register_type<SgAsmBinaryConcat>();
297  archive.template register_type<SgAsmBinaryExpression>();
298  archive.template register_type<SgAsmUnaryPlus>();
299  archive.template register_type<SgAsmUnaryMinus>();
300  archive.template register_type<SgAsmUnaryRrx>();
301  archive.template register_type<SgAsmUnaryTruncate>();
302  archive.template register_type<SgAsmUnarySignedExtend>();
303  archive.template register_type<SgAsmUnaryUnsignedExtend>();
304  archive.template register_type<SgAsmUnaryExpression>();
305  archive.template register_type<SgAsmDirectRegisterExpression>();
306  archive.template register_type<SgAsmIndirectRegisterExpression>();
307  archive.template register_type<SgAsmRegisterReferenceExpression>();
308  archive.template register_type<SgAsmStackExpression>();
309  archive.template register_type<SgAsmRegisterNames>();
310  archive.template register_type<SgAsmIntegerValueExpression>();
311  archive.template register_type<SgAsmFloatValueExpression>();
312  archive.template register_type<SgAsmByteOrder>();
313  archive.template register_type<SgAsmConstantExpression>();
314  archive.template register_type<SgAsmValueExpression>();
315  archive.template register_type<SgAsmMemoryReferenceExpression>();
316  archive.template register_type<SgAsmControlFlagsExpression>();
317  archive.template register_type<SgAsmCommonSubExpression>();
318  archive.template register_type<SgAsmRiscOperation>();
319  archive.template register_type<SgAsmExprListExp>();
320  archive.template register_type<SgAsmExpression>();
321  archive.template register_type<SgAsmIntegerType>();
322  archive.template register_type<SgAsmFloatType>();
323  archive.template register_type<SgAsmScalarType>();
324  archive.template register_type<SgAsmVectorType>();
325  archive.template register_type<SgAsmType>();
326  archive.template register_type<SgAsmFunction>();
327  archive.template register_type<SgAsmBlock>();
328  archive.template register_type<SgAsmStaticData>();
329  archive.template register_type<SgAsmSynthesizedDataStructureDeclaration>();
330  archive.template register_type<SgAsmSynthesizedFieldDeclaration>();
331  archive.template register_type<SgAsmSynthesizedDeclaration>();
332  archive.template register_type<SgAsmStatement>();
333  archive.template register_type<SgAsmInterpretationList>();
334  archive.template register_type<SgAsmInterpretation>();
335  archive.template register_type<SgAsmElfFileHeader>();
336  archive.template register_type<SgAsmJvmFileHeader>();
337  archive.template register_type<SgAsmElfSectionTable>();
338  archive.template register_type<SgAsmElfSectionTableEntry>();
339  archive.template register_type<SgAsmElfSegmentTable>();
340  archive.template register_type<SgAsmElfSegmentTableEntryList>();
341  archive.template register_type<SgAsmElfSegmentTableEntry>();
342  archive.template register_type<SgAsmElfSymbolSection>();
343  archive.template register_type<SgAsmElfSymbolList>();
344  archive.template register_type<SgAsmElfSymbol>();
345  archive.template register_type<SgAsmElfSymverSection>();
346  archive.template register_type<SgAsmElfSymverEntry>();
347  archive.template register_type<SgAsmElfSymverEntryList>();
348  archive.template register_type<SgAsmElfSymverDefinedSection>();
349  archive.template register_type<SgAsmElfSymverDefinedEntryList>();
350  archive.template register_type<SgAsmElfSymverDefinedEntry>();
351  archive.template register_type<SgAsmElfSymverDefinedAuxList>();
352  archive.template register_type<SgAsmElfSymverDefinedAux>();
353  archive.template register_type<SgAsmElfSymverNeededSection>();
354  archive.template register_type<SgAsmElfSymverNeededEntryList>();
355  archive.template register_type<SgAsmElfSymverNeededEntry>();
356  archive.template register_type<SgAsmElfSymverNeededAuxList>();
357  archive.template register_type<SgAsmElfSymverNeededAux>();
358  archive.template register_type<SgAsmElfRelocSection>();
359  archive.template register_type<SgAsmElfRelocEntryList>();
360  archive.template register_type<SgAsmElfRelocEntry>();
361  archive.template register_type<SgAsmElfDynamicSection>();
362  archive.template register_type<SgAsmElfDynamicEntryList>();
363  archive.template register_type<SgAsmElfDynamicEntry>();
364  archive.template register_type<SgAsmElfStringSection>();
365  archive.template register_type<SgAsmElfStrtab>();
366  archive.template register_type<SgAsmElfNoteSection>();
367  archive.template register_type<SgAsmElfNoteEntryList>();
368  archive.template register_type<SgAsmElfNoteEntry>();
369  archive.template register_type<SgAsmElfEHFrameSection>();
370  archive.template register_type<SgAsmElfEHFrameEntryCIList>();
371  archive.template register_type<SgAsmElfEHFrameEntryCI>();
372  archive.template register_type<SgAsmElfEHFrameEntryFDList>();
373  archive.template register_type<SgAsmElfEHFrameEntryFD>();
374  archive.template register_type<SgAsmElfSection>();
375  archive.template register_type<SgAsmJvmConstantPool>();
376  archive.template register_type<SgAsmJvmConstantPoolEntry>();
377  archive.template register_type<SgAsmJvmConstantValue>();
378  archive.template register_type<SgAsmJvmCodeAttribute>();
379  archive.template register_type<SgAsmJvmInnerClasses>();
380  archive.template register_type<SgAsmJvmInnerClassesEntry>();
381  archive.template register_type<SgAsmJvmEnclosingMethod>();
382  archive.template register_type<SgAsmJvmSignature>();
383  archive.template register_type<SgAsmJvmSourceFile>();
384  archive.template register_type<SgAsmJvmLineNumberEntry>();
385  archive.template register_type<SgAsmJvmLineNumberTable>();
386  archive.template register_type<SgAsmJvmModuleMainClass>();
387  archive.template register_type<SgAsmJvmAttribute>();
388  archive.template register_type<SgAsmJvmClass>();
389  archive.template register_type<SgAsmJvmAttributeTable>();
390  archive.template register_type<SgAsmJvmExceptionTable>();
391  archive.template register_type<SgAsmJvmException>();
392  archive.template register_type<SgAsmJvmMethodTable>();
393  archive.template register_type<SgAsmCliHeader>();
394  archive.template register_type<SgAsmJvmMethod>();
395  archive.template register_type<SgAsmJvmFieldTable>();
396  archive.template register_type<SgAsmJvmField>();
397  archive.template register_type<SgAsmDOSFileHeader>();
398  archive.template register_type<SgAsmDOSExtendedHeader>();
399  archive.template register_type<SgAsmPEFileHeader>();
400  archive.template register_type<SgAsmPERVASizePairList>();
401  archive.template register_type<SgAsmPERVASizePair>();
402  archive.template register_type<SgAsmPEImportItem>();
403  archive.template register_type<SgAsmPEImportItemList>();
404  archive.template register_type<SgAsmPEImportDirectory>();
405  archive.template register_type<SgAsmPEImportDirectoryList>();
406  archive.template register_type<SgAsmPEImportSection>();
407  archive.template register_type<SgAsmPEExportSection>();
408  archive.template register_type<SgAsmPEExportDirectory>();
409  archive.template register_type<SgAsmPEExportEntryList>();
410  archive.template register_type<SgAsmPEExportEntry>();
411  archive.template register_type<SgAsmPEStringSection>();
412  archive.template register_type<SgAsmPESectionTable>();
413  archive.template register_type<SgAsmPESectionTableEntry>();
414  archive.template register_type<SgAsmPESection>();
415  archive.template register_type<SgAsmCoffSymbolTable>();
416  archive.template register_type<SgAsmCoffSymbolList>();
417  archive.template register_type<SgAsmCoffSymbol>();
418  archive.template register_type<SgAsmCoffStrtab>();
419  archive.template register_type<SgAsmStringStorage>();
420  archive.template register_type<SgAsmBasicString>();
421  archive.template register_type<SgAsmStoredString>();
422  archive.template register_type<SgAsmGenericString>();
423  archive.template register_type<SgAsmGenericHeaderList>();
424  archive.template register_type<SgAsmGenericHeader>();
425  archive.template register_type<SgAsmGenericSymbolList>();
426  archive.template register_type<SgAsmGenericSymbol>();
427  archive.template register_type<SgAsmGenericStrtab>();
428  archive.template register_type<SgAsmGenericSectionList>();
429  archive.template register_type<SgAsmGenericSection>();
430  archive.template register_type<SgAsmGenericDLLList>();
431  archive.template register_type<SgAsmGenericDLL>();
432  archive.template register_type<SgAsmGenericFormat>();
433  archive.template register_type<SgAsmGenericFileList>();
434  archive.template register_type<SgAsmGenericFile>();
435  archive.template register_type<SgAsmExecutableFileFormat>();
436  archive.template register_type<SgAsmCilAssembly>();
437  archive.template register_type<SgAsmCilAssemblyOS>();
438  archive.template register_type<SgAsmCilAssemblyProcessor>();
439  archive.template register_type<SgAsmCilAssemblyRef>();
440  archive.template register_type<SgAsmCilAssemblyRefOS>();
441  archive.template register_type<SgAsmCilAssemblyRefProcessor>();
442  archive.template register_type<SgAsmCilClassLayout>();
443  archive.template register_type<SgAsmCilConstant>();
444  archive.template register_type<SgAsmCilCustomAttribute>();
445  archive.template register_type<SgAsmCilDeclSecurity>();
446  archive.template register_type<SgAsmCilEvent>();
447  archive.template register_type<SgAsmCilEventMap>();
448  archive.template register_type<SgAsmCilExportedType>();
449  archive.template register_type<SgAsmCilField>();
450  archive.template register_type<SgAsmCilFieldLayout>();
451  archive.template register_type<SgAsmCilFieldMarshal>();
452  archive.template register_type<SgAsmCilFieldRVA>();
453  archive.template register_type<SgAsmCilFile>();
454  archive.template register_type<SgAsmCilGenericParam>();
455  archive.template register_type<SgAsmCilGenericParamConstraint>();
456  archive.template register_type<SgAsmCilImplMap>();
457  archive.template register_type<SgAsmCilInterfaceImpl>();
458  archive.template register_type<SgAsmCilManifestResource>();
459  archive.template register_type<SgAsmCilMemberRef>();
460  archive.template register_type<SgAsmCilMethodDef>();
461  archive.template register_type<SgAsmCilMethodImpl>();
462  archive.template register_type<SgAsmCilMethodSemantics>();
463  archive.template register_type<SgAsmCilMethodSpec>();
464  archive.template register_type<SgAsmCilModule>();
465  archive.template register_type<SgAsmCilModuleRef>();
466  archive.template register_type<SgAsmCilNestedClass>();
467  archive.template register_type<SgAsmCilParam>();
468  archive.template register_type<SgAsmCilProperty>();
469  archive.template register_type<SgAsmCilPropertyMap>();
470  archive.template register_type<SgAsmCilStandAloneSig>();
471  archive.template register_type<SgAsmCilTypeDef>();
472  archive.template register_type<SgAsmCilTypeRef>();
473  archive.template register_type<SgAsmCilTypeSpec>();
474  archive.template register_type<SgAsmCilAssemblyTable>();
475  archive.template register_type<SgAsmCilAssemblyOSTable>();
476  archive.template register_type<SgAsmCilAssemblyProcessorTable>();
477  archive.template register_type<SgAsmCilAssemblyRefTable>();
478  archive.template register_type<SgAsmCilAssemblyRefOSTable>();
479  archive.template register_type<SgAsmCilAssemblyRefProcessorTable>();
480  archive.template register_type<SgAsmCilClassLayoutTable>();
481  archive.template register_type<SgAsmCilConstantTable>();
482  archive.template register_type<SgAsmCilCustomAttributeTable>();
483  archive.template register_type<SgAsmCilDeclSecurityTable>();
484  archive.template register_type<SgAsmCilEventTable>();
485  archive.template register_type<SgAsmCilEventMapTable>();
486  archive.template register_type<SgAsmCilExportedTypeTable>();
487  archive.template register_type<SgAsmCilFieldTable>();
488  archive.template register_type<SgAsmCilFieldLayoutTable>();
489  archive.template register_type<SgAsmCilFieldMarshalTable>();
490  archive.template register_type<SgAsmCilFieldRVATable>();
491  archive.template register_type<SgAsmCilFileTable>();
492  archive.template register_type<SgAsmCilGenericParamTable>();
493  archive.template register_type<SgAsmCilGenericParamConstraintTable>();
494  archive.template register_type<SgAsmCilImplMapTable>();
495  archive.template register_type<SgAsmCilInterfaceImplTable>();
496  archive.template register_type<SgAsmCilManifestResourceTable>();
497  archive.template register_type<SgAsmCilMemberRefTable>();
498  archive.template register_type<SgAsmCilMethodDefTable>();
499  archive.template register_type<SgAsmCilMethodImplTable>();
500  archive.template register_type<SgAsmCilMethodSemanticsTable>();
501  archive.template register_type<SgAsmCilMethodSpecTable>();
502  archive.template register_type<SgAsmCilModuleTable>();
503  archive.template register_type<SgAsmCilModuleRefTable>();
504  archive.template register_type<SgAsmCilNestedClassTable>();
505  archive.template register_type<SgAsmCilParamTable>();
506  archive.template register_type<SgAsmCilPropertyTable>();
507  archive.template register_type<SgAsmCilPropertyMapTable>();
508  archive.template register_type<SgAsmCilStandAloneSigTable>();
509  archive.template register_type<SgAsmCilTypeDefTable>();
510  archive.template register_type<SgAsmCilTypeRefTable>();
511  archive.template register_type<SgAsmCilTypeSpecTable>();
512  archive.template register_type<SgAsmCilMetadata>();
513  archive.template register_type<SgAsmCilMetadataHeap>();
514  archive.template register_type<SgAsmCilUint8Heap>();
515  archive.template register_type<SgAsmCilUint32Heap>();
516  archive.template register_type<SgAsmCilDataStream>();
517  archive.template register_type<SgAsmCilMetadataRoot>();
518  archive.template register_type<SgAsmCilNode>();
519  archive.template register_type<SgAsmJvmNode>();
520  archive.template register_type<SgAsmNode>();
521 }
522 
523 #endif
524 #endif
List of pointers to file sections.
CIL ClassLayout node.
The GNU symbol version definitions.
CIL TypeSpec tables.
One entry of the ELF symbol version needed table.
CIL StandAloneSig node.
CIL Constant tables.
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 node.
JVM ModuleMainClass attribute.
Expression representing a (no-op) unary plus operation.
CIL TypeRef tables.
Base class for references to a machine register.
CIL AssemblyRef tables.
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.
CIL InterfaceImpl tables.
List of generic file headers.
List of binary interpretations.
CIL AssemblyRef node.
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 node.
CIL AssemblyProcessor node.
Base class for scalar types.
CIL NestedClass node.
CIL FieldMarshal tables.
Represents a JVM exception_info table/array.
List of expression nodes.
Expression that performs an arithmetic, sign-bit preserving right shift.
CIL StandAloneSig tables.
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 node.
Base class for PE sections.
Represents a synthesized function.
JVM EnclosingMethod attribute.
CIL MethodImpl node.
Represents one JVS machine instruction.
Expression that divides the first operand by the second.
CIL AssemblyRefProcessor node.
Hods a list of symbol version aux entries.
CIL ModuleRef tables.
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 MemberRef tables.
CIL FieldLayout tables.
CIL FieldLayout node.
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.
CIL Module tables.
CIL ClassLayout tables.
CIL CustomAttribute tables.
Base class for CIL branch of binary analysis IR nodes.
ELF error handling frame entry frame description entry.
CIL ImplMap node.
Represents an ELF relocation section.
CIL MethodSpec tables.
Base class for CIL branch of binary analysis IR nodes.
One import directory per library.
CIL File tables.
CIL FieldRVA tables.
GNU symbol version requirements table.
List of ELF relocation entries.
CIL AssemblyRefProcessor tables.
CIL ExportedType tables.
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 node.
Represents an ELF EH frame section.
CIL FieldMarshal node.
CIL MethodSpec node.
One entry of an ELF notes table.
ELF string table section.
CIL SgAsmCilMetadataRoot.
Reference to memory locations.
CIL ExportedType node.
An ordered list of registers.
CIL Event tables.
Base class for container file headers.
CIL Assembly tables.
CIL EventMap tables.
CIL GenericParam node.
CIL MemberRef node.
CIL AssemblyRefOS node.
CIL Module node.
JVM Signature attribute.
CIL AssemblyProcessor tables.
Expression represting negation.
List of pointers to other AST nodes.
Expression representing a machine register.
CIL GenericParamConstraint tables.
Base class for integer values.
ELF file section containing symbols.
CIL InterfaceImpl node.
List of operands for an instruction.
Base class for dynamically linked library information.
Represents the file header of an JVM binary container.
CIL PropertyMap tables.
CIL Field tables.
Base class for a JVM attribute.
A single imported object.
CIL NestedClass tables.
Represents one PowerPC machine instruction.
One entry from an ELF symbol version definition table.
Represents a single ELF symbol.
CIL TypeRef node.
Base class for strings related to binary specimens.
CIL MethodSemantics node.
DOS exteded header.
CIL TypeDef node.
CIL File node.
List of COFF symbols.
Represents static data in an executable.
Represents a JVM attribute_info table/array.
CIL AssemblyOS node.
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 node.
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 node.
CIL MethodImpl tables.
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 node.
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 node.
Floating-point value.
CIL GenericParam tables.
CIL Assembly node.
CIL AssemblyOS tables.
CIL ImplMap tables.
JVM ConstantValue attribute.
Windows PE file header.
CIL Property tables.
CIL Field node.
Expression that subtracts the second operand from the first.
Represents a JVM field_info table/array.
CIL EventMap node.
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 node.
CIL MethodDef node.
Base class for JVM branch of binary analysis IR nodes.
CIL DeclSecurity tables.
CIL MethodSemantics tables.
CIL Property node.
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 Param tables.
CIL PropertyMap node.
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.
CIL ManifestResource tables.
Base class for constants.
CIL Param node.
List of symbol version aux entries.
List of SgAsmInstruction nodes.
CIL TypeDef tables.
Static representation of instruction semantics.
CIL AssemblyRefOS tables.
CIL MethodDef tables.
A list of PE Import Directories.
ELF error handling frame entry, common information entry.
COFF symbol table.