13 #include <featureTests.h>
14 #if defined(ROSE_ENABLE_BINARY_ANALYSIS)
15 #include "ROSETTA_macros.h"
17 #include "AstNodeClass.h"
21 DOCUMENTATION_should_never_be_defined;
25 #define DECLARE_LEAF_CLASS(CLASS_WITHOUT_Sg)
27 #define DECLARE_LEAF_CLASS(CLASS_WITHOUT_Sg) \
28 NEW_TERMINAL_MACRO(CLASS_WITHOUT_Sg, #CLASS_WITHOUT_Sg, #CLASS_WITHOUT_Sg "Tag"); \
29 CLASS_WITHOUT_Sg.setCppCondition("!defined(DOCUMENTATION)");\
30 CLASS_WITHOUT_Sg.setAutomaticGenerationOfConstructor(false);\
31 CLASS_WITHOUT_Sg.setAutomaticGenerationOfDestructor(false)
35 #define DECLARE_HEADERS(CLASS_WITHOUT_Sg)
37 #define DECLARE_HEADERS(CLASS_WITHOUT_Sg) \
38 CLASS_WITHOUT_Sg.setPredeclarationString("Sg" #CLASS_WITHOUT_Sg "_HEADERS", \
39 ROSE_AUTOMAKE_ABSOLUTE_PATH_TOP_SRCDIR + "/src/ROSETTA/src/binaryInstruction.C")
43 #define DECLARE_OTHERS(CLASS_WITHOUT_Sg)
45 #define DECLARE_OTHERS(CLASS_WITHOUT_Sg) \
46 CLASS_WITHOUT_Sg.setFunctionPrototype("Sg" #CLASS_WITHOUT_Sg "_OTHERS", \
47 ROSE_AUTOMAKE_ABSOLUTE_PATH_TOP_SRCDIR + "/src/ROSETTA/src/binaryInstruction.C")
51 #define IS_SERIALIZABLE()
53 #define IS_SERIALIZABLE(CLASS_WITHOUT_Sg) \
54 CLASS_WITHOUT_Sg.isBoostSerializable(true)
90 #endif // DOCUMENTATION
93 void Grammar::setUpBinaryInstructions() {
94 #endif // !DOCUMENTATION
101 DECLARE_LEAF_CLASS(AsmX86Instruction);
102 IS_SERIALIZABLE(AsmX86Instruction);
104 DECLARE_HEADERS(AsmX86Instruction);
105 #if defined(SgAsmX86Instruction_HEADERS) || defined(DOCUMENTATION)
106 #include <Rose/BinaryAnalysis/BasicTypes.h>
107 #include <Rose/BinaryAnalysis/InstructionEnumsX86.h>
108 #endif // SgAsmX86Instruction_HEADERS
113 #endif // DOCUMENTATION
115 #ifndef DOCUMENTATION
116 AsmX86Instruction.setDataPrototype(
117 "Rose::BinaryAnalysis::X86InstructionKind",
"kind",
"= Rose::BinaryAnalysis::x86_unknown_instruction",
118 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
119 #endif // !DOCUMENTATION
121 #ifndef DOCUMENTATION
122 AsmX86Instruction.setDataPrototype(
123 "Rose::BinaryAnalysis::X86InstructionSize",
"baseSize",
"= Rose::BinaryAnalysis::x86_insnsize_none",
124 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
125 #endif // !DOCUMENTATION
127 #ifndef DOCUMENTATION
128 AsmX86Instruction.setDataPrototype(
129 "Rose::BinaryAnalysis::X86InstructionSize",
"operandSize",
"= Rose::BinaryAnalysis::x86_insnsize_none",
130 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
131 #endif // !DOCUMENTATION
133 #ifndef DOCUMENTATION
134 AsmX86Instruction.setDataPrototype(
135 "Rose::BinaryAnalysis::X86InstructionSize",
"addressSize",
"= Rose::BinaryAnalysis::x86_insnsize_none",
136 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
137 #endif // !DOCUMENTATION
139 #ifndef DOCUMENTATION
140 AsmX86Instruction.setDataPrototype(
141 "bool",
"lockPrefix",
"= false",
142 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
143 #endif // !DOCUMENTATION
145 #ifndef DOCUMENTATION
146 AsmX86Instruction.setDataPrototype(
147 "Rose::BinaryAnalysis::X86RepeatPrefix",
"repeatPrefix",
"= Rose::BinaryAnalysis::x86_repeat_none",
148 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
149 #endif // !DOCUMENTATION
151 #ifndef DOCUMENTATION
152 AsmX86Instruction.setDataPrototype(
153 "Rose::BinaryAnalysis::X86BranchPrediction",
"branchPrediction",
"= Rose::BinaryAnalysis::x86_branch_prediction_none",
154 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
155 #endif // !DOCUMENTATION
157 #ifndef DOCUMENTATION
158 AsmX86Instruction.setDataPrototype(
159 "Rose::BinaryAnalysis::X86SegmentRegister",
"segmentOverride",
"= Rose::BinaryAnalysis::x86_segreg_none",
160 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
161 #endif // !DOCUMENTATION
163 DECLARE_OTHERS(AsmX86Instruction);
164 #if defined(SgAsmX86Instruction_OTHERS) || defined(DOCUMENTATION)
167 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
169 friend class boost::serialization::access;
172 void serialize(S &s,
const unsigned ) {
175 s & BOOST_SERIALIZATION_NVP(p_kind);
176 s & BOOST_SERIALIZATION_NVP(p_baseSize);
177 s & BOOST_SERIALIZATION_NVP(p_operandSize);
178 s & BOOST_SERIALIZATION_NVP(p_addressSize);
179 s & BOOST_SERIALIZATION_NVP(p_lockPrefix);
180 s & BOOST_SERIALIZATION_NVP(p_repeatPrefix);
181 s & BOOST_SERIALIZATION_NVP(p_branchPrediction);
182 s & BOOST_SERIALIZATION_NVP(p_segmentOverride);
185 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
284 rose_addr_t *target, rose_addr_t *ret)
override;
286 rose_addr_t *target, rose_addr_t *ret)
override;
308 std::string
const& mnemonic,
322 #endif // SgAsmX86Instruction_OTHERS
325 #endif // DOCUMENTATION
332 DECLARE_LEAF_CLASS(AsmDwarfVolatileType);
333 IS_SERIALIZABLE(AsmDwarfVolatileType);
337 #endif // DOCUMENTATION
339 DECLARE_OTHERS(AsmDwarfVolatileType);
340 #if defined(SgAsmDwarfVolatileType_OTHERS) || defined(DOCUMENTATION)
343 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
345 friend class boost::serialization::access;
348 void serialize(S &s,
const unsigned ) {
353 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
366 uint64_t
const& offset,
367 uint64_t
const& overall_offset);
377 #endif // SgAsmDwarfVolatileType_OTHERS
380 #endif // DOCUMENTATION
387 DECLARE_LEAF_CLASS(AsmVectorType);
388 IS_SERIALIZABLE(AsmVectorType);
393 #endif // DOCUMENTATION
395 #ifndef DOCUMENTATION
396 AsmVectorType.setDataPrototype(
397 "size_t",
"nElmts",
"= 0",
398 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
399 #endif // !DOCUMENTATION
401 #ifndef DOCUMENTATION
402 AsmVectorType.setDataPrototype(
403 "SgAsmType*",
"elmtType",
"= nullptr",
404 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
405 #endif // !DOCUMENTATION
407 DECLARE_OTHERS(AsmVectorType);
408 #if defined(SgAsmVectorType_OTHERS) || defined(DOCUMENTATION)
411 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
413 friend class boost::serialization::access;
416 void serialize(S &s,
const unsigned ) {
418 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmType);
419 s & BOOST_SERIALIZATION_NVP(p_nElmts);
420 s & BOOST_SERIALIZATION_NVP(p_elmtType);
423 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
447 virtual void check()
const override;
448 virtual std::string
toString()
const override;
449 virtual size_t get_nBits()
const override;
466 #endif // SgAsmVectorType_OTHERS
469 #endif // DOCUMENTATION
476 DECLARE_LEAF_CLASS(AsmUnaryUnsignedExtend);
477 IS_SERIALIZABLE(AsmUnaryUnsignedExtend);
486 #endif // DOCUMENTATION
488 DECLARE_OTHERS(AsmUnaryUnsignedExtend);
489 #if defined(SgAsmUnaryUnsignedExtend_OTHERS) || defined(DOCUMENTATION)
492 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
494 friend class boost::serialization::access;
497 void serialize(S &s,
const unsigned ) {
502 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
524 #endif // SgAsmUnaryUnsignedExtend_OTHERS
527 #endif // DOCUMENTATION
534 DECLARE_LEAF_CLASS(AsmUnaryTruncate);
535 IS_SERIALIZABLE(AsmUnaryTruncate);
544 #endif // DOCUMENTATION
546 DECLARE_OTHERS(AsmUnaryTruncate);
547 #if defined(SgAsmUnaryTruncate_OTHERS) || defined(DOCUMENTATION)
550 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
552 friend class boost::serialization::access;
555 void serialize(S &s,
const unsigned ) {
560 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
582 #endif // SgAsmUnaryTruncate_OTHERS
585 #endif // DOCUMENTATION
592 DECLARE_LEAF_CLASS(AsmUnarySignedExtend);
593 IS_SERIALIZABLE(AsmUnarySignedExtend);
602 #endif // DOCUMENTATION
604 DECLARE_OTHERS(AsmUnarySignedExtend);
605 #if defined(SgAsmUnarySignedExtend_OTHERS) || defined(DOCUMENTATION)
608 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
610 friend class boost::serialization::access;
613 void serialize(S &s,
const unsigned ) {
618 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
640 #endif // SgAsmUnarySignedExtend_OTHERS
643 #endif // DOCUMENTATION
650 DECLARE_LEAF_CLASS(AsmUnaryRrx);
651 IS_SERIALIZABLE(AsmUnaryRrx);
653 DECLARE_HEADERS(AsmUnaryRrx);
654 #if defined(SgAsmUnaryRrx_HEADERS) || defined(DOCUMENTATION)
656 #endif // SgAsmUnaryRrx_HEADERS
660 #endif // DOCUMENTATION
662 DECLARE_OTHERS(AsmUnaryRrx);
663 #if defined(SgAsmUnaryRrx_OTHERS) || defined(DOCUMENTATION)
666 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
668 friend class boost::serialization::access;
671 void serialize(S &s,
const unsigned ) {
676 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
698 #endif // SgAsmUnaryRrx_OTHERS
701 #endif // DOCUMENTATION
708 DECLARE_LEAF_CLASS(AsmUnaryPlus);
709 IS_SERIALIZABLE(AsmUnaryPlus);
714 #endif // DOCUMENTATION
716 DECLARE_OTHERS(AsmUnaryPlus);
717 #if defined(SgAsmUnaryPlus_OTHERS) || defined(DOCUMENTATION)
720 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
722 friend class boost::serialization::access;
725 void serialize(S &s,
const unsigned ) {
730 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
752 #endif // SgAsmUnaryPlus_OTHERS
755 #endif // DOCUMENTATION
762 DECLARE_LEAF_CLASS(AsmUnaryMinus);
763 IS_SERIALIZABLE(AsmUnaryMinus);
768 #endif // DOCUMENTATION
770 DECLARE_OTHERS(AsmUnaryMinus);
771 #if defined(SgAsmUnaryMinus_OTHERS) || defined(DOCUMENTATION)
774 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
776 friend class boost::serialization::access;
779 void serialize(S &s,
const unsigned ) {
784 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
806 #endif // SgAsmUnaryMinus_OTHERS
809 #endif // DOCUMENTATION
816 #ifndef DOCUMENTATION
817 AstNodeClass& AsmUnaryExpression = nonTerminalConstructor(
818 "AsmUnaryExpression",
820 "AsmUnaryExpression",
821 "AsmUnaryExpressionTag",
822 SubclassListBuilder()
826 | AsmUnarySignedExtend
828 | AsmUnaryUnsignedExtend
830 assert(AsmUnaryExpression.associatedGrammar !=
nullptr);
831 AsmUnaryExpression.setCppCondition(
"!defined(DOCUMENTATION)");
832 AsmUnaryExpression.isBoostSerializable(
true);
833 AsmUnaryExpression.setAutomaticGenerationOfConstructor(
false);
834 AsmUnaryExpression.setAutomaticGenerationOfDestructor(
false);
835 #endif // !DOCUMENTATION
840 #endif // DOCUMENTATION
842 #ifndef DOCUMENTATION
843 AsmUnaryExpression.setDataPrototype(
844 "SgAsmExpression*",
"operand",
"= nullptr",
845 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
846 #endif // !DOCUMENTATION
848 DECLARE_OTHERS(AsmUnaryExpression);
849 #if defined(SgAsmUnaryExpression_OTHERS) || defined(DOCUMENTATION)
852 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
854 friend class boost::serialization::access;
857 void serialize(S &s,
const unsigned ) {
860 s & BOOST_SERIALIZATION_NVP(p_operand);
863 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
893 #endif // SgAsmUnaryExpression_OTHERS
896 #endif // DOCUMENTATION
903 DECLARE_LEAF_CLASS(AsmSynthesizedFieldDeclaration);
904 IS_SERIALIZABLE(AsmSynthesizedFieldDeclaration);
906 DECLARE_HEADERS(AsmSynthesizedFieldDeclaration);
907 #if defined(SgAsmSynthesizedFieldDeclaration_HEADERS) || defined(DOCUMENTATION)
909 #endif // SgAsmSynthesizedFieldDeclaration_HEADERS
913 #endif // DOCUMENTATION
915 #ifndef DOCUMENTATION
916 AsmSynthesizedFieldDeclaration.setDataPrototype(
917 "std::string",
"name",
"",
918 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
919 #endif // !DOCUMENTATION
921 #ifndef DOCUMENTATION
922 AsmSynthesizedFieldDeclaration.setDataPrototype(
923 "uint64_t",
"offset",
"= 0",
924 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
925 #endif // !DOCUMENTATION
927 DECLARE_OTHERS(AsmSynthesizedFieldDeclaration);
928 #if defined(SgAsmSynthesizedFieldDeclaration_OTHERS) || defined(DOCUMENTATION)
931 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
933 friend class boost::serialization::access;
936 void serialize(S &s,
const unsigned ) {
939 s & BOOST_SERIALIZATION_NVP(p_name);
940 s & BOOST_SERIALIZATION_NVP(p_offset);
943 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
949 std::string
const&
get_name()
const;
982 #endif // SgAsmSynthesizedFieldDeclaration_OTHERS
985 #endif // DOCUMENTATION
992 DECLARE_LEAF_CLASS(AsmSynthesizedDataStructureDeclaration);
993 IS_SERIALIZABLE(AsmSynthesizedDataStructureDeclaration);
1007 #endif // DOCUMENTATION
1009 DECLARE_OTHERS(AsmSynthesizedDataStructureDeclaration);
1010 #if defined(SgAsmSynthesizedDataStructureDeclaration_OTHERS) || defined(DOCUMENTATION)
1013 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1015 friend class boost::serialization::access;
1018 void serialize(S &s,
const unsigned ) {
1023 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
1025 SgAsmSynthesizedDeclarationPtrList p_declarationList;
1030 p_declarationList.push_back(declaration);
1052 #endif // SgAsmSynthesizedDataStructureDeclaration_OTHERS
1053 #ifdef DOCUMENTATION
1055 #endif // DOCUMENTATION
1062 DECLARE_LEAF_CLASS(AsmStringStorage);
1063 IS_SERIALIZABLE(AsmStringStorage);
1065 #ifdef DOCUMENTATION
1068 #endif // DOCUMENTATION
1070 #ifndef DOCUMENTATION
1071 AsmStringStorage.setDataPrototype(
1072 "SgAsmGenericStrtab*",
"strtab",
"= nullptr",
1073 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1074 #endif // !DOCUMENTATION
1076 #ifndef DOCUMENTATION
1077 AsmStringStorage.setDataPrototype(
1078 "std::string",
"string",
"",
1079 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1080 #endif // !DOCUMENTATION
1082 #ifndef DOCUMENTATION
1083 AsmStringStorage.setDataPrototype(
1084 "rose_addr_t",
"offset",
"= 0",
1085 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1086 #endif // !DOCUMENTATION
1088 DECLARE_OTHERS(AsmStringStorage);
1089 #if defined(SgAsmStringStorage_OTHERS) || defined(DOCUMENTATION)
1092 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1094 friend class boost::serialization::access;
1097 void serialize(S &s,
const unsigned ) {
1100 s & BOOST_SERIALIZATION_NVP(p_strtab);
1101 s & BOOST_SERIALIZATION_NVP(p_string);
1102 s & BOOST_SERIALIZATION_NVP(p_offset);
1105 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
1133 void dump(FILE *s,
const char *prefix, ssize_t idx)
const;
1142 friend class SgAsmStoredStrtab;
1159 #endif // SgAsmStringStorage_OTHERS
1160 #ifdef DOCUMENTATION
1162 #endif // DOCUMENTATION
1169 DECLARE_LEAF_CLASS(AsmStoredString);
1170 IS_SERIALIZABLE(AsmStoredString);
1172 #ifdef DOCUMENTATION
1175 #endif // DOCUMENTATION
1177 #ifndef DOCUMENTATION
1178 AsmStoredString.setDataPrototype(
1179 "SgAsmStringStorage*",
"storage",
"= nullptr",
1180 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1181 #endif // !DOCUMENTATION
1183 DECLARE_OTHERS(AsmStoredString);
1184 #if defined(SgAsmStoredString_OTHERS) || defined(DOCUMENTATION)
1187 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1189 friend class boost::serialization::access;
1192 void serialize(S &s,
const unsigned ) {
1195 s & BOOST_SERIALIZATION_NVP(p_storage);
1198 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
1218 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
1226 virtual std::string
get_string(
bool escape=
false)
const override;
1231 virtual void set_string(
const std::string&)
override;
1236 virtual void set_string(rose_addr_t)
override;
1241 virtual rose_addr_t
get_offset()
const override;
1258 #endif // SgAsmStoredString_OTHERS
1259 #ifdef DOCUMENTATION
1261 #endif // DOCUMENTATION
1268 DECLARE_LEAF_CLASS(AsmStaticData);
1269 IS_SERIALIZABLE(AsmStaticData);
1271 #ifdef DOCUMENTATION
1280 #endif // DOCUMENTATION
1282 #ifndef DOCUMENTATION
1283 AsmStaticData.setDataPrototype(
1284 "SgUnsignedCharList",
"raw_bytes",
"",
1285 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1286 #endif // !DOCUMENTATION
1288 DECLARE_OTHERS(AsmStaticData);
1289 #if defined(SgAsmStaticData_OTHERS) || defined(DOCUMENTATION)
1292 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1294 friend class boost::serialization::access;
1297 void serialize(S &s,
const unsigned ) {
1300 s & BOOST_SERIALIZATION_NVP(p_raw_bytes);
1303 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
1340 #endif // SgAsmStaticData_OTHERS
1341 #ifdef DOCUMENTATION
1343 #endif // DOCUMENTATION
1350 DECLARE_LEAF_CLASS(AsmStackExpression);
1351 IS_SERIALIZABLE(AsmStackExpression);
1353 #ifdef DOCUMENTATION
1356 #endif // DOCUMENTATION
1358 #ifndef DOCUMENTATION
1359 AsmStackExpression.setDataPrototype(
1360 "int",
"stack_position",
"= 0",
1361 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1362 #endif // !DOCUMENTATION
1364 DECLARE_OTHERS(AsmStackExpression);
1365 #if defined(SgAsmStackExpression_OTHERS) || defined(DOCUMENTATION)
1368 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1370 friend class boost::serialization::access;
1373 void serialize(S &s,
const unsigned ) {
1376 s & BOOST_SERIALIZATION_NVP(p_stack_position);
1379 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
1412 #endif // SgAsmStackExpression_OTHERS
1413 #ifdef DOCUMENTATION
1415 #endif // DOCUMENTATION
1422 DECLARE_LEAF_CLASS(AsmRiscOperation);
1423 IS_SERIALIZABLE(AsmRiscOperation);
1425 #ifdef DOCUMENTATION
1435 #endif // DOCUMENTATION
1437 #ifndef DOCUMENTATION
1438 AsmRiscOperation.setDataPrototype(
1439 "SgAsmRiscOperation::RiscOperator",
"riscOperator",
"= OP_NONE",
1440 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1441 #endif // !DOCUMENTATION
1443 #ifndef DOCUMENTATION
1444 AsmRiscOperation.setDataPrototype(
1445 "SgAsmExprListExp*",
"operands",
"= nullptr",
1446 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
1447 #endif // !DOCUMENTATION
1449 DECLARE_OTHERS(AsmRiscOperation);
1450 #if defined(SgAsmRiscOperation_OTHERS) || defined(DOCUMENTATION)
1453 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1455 friend class boost::serialization::access;
1458 void serialize(S &s,
const unsigned ) {
1461 s & BOOST_SERIALIZATION_NVP(p_riscOperator);
1462 s & BOOST_SERIALIZATION_NVP(p_operands);
1465 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
1480 OP_filterCallTarget,
1481 OP_filterReturnTarget,
1482 OP_filterIndirectJumpTarget,
1492 OP_leastSignificantSetBit,
1493 OP_mostSignificantSetBit,
1498 OP_shiftRightArithmetic,
1503 OP_isUnsignedLessThan,
1504 OP_isUnsignedLessThanOrEqual,
1505 OP_isUnsignedGreaterThan,
1506 OP_isUnsignedGreaterThanOrEqual,
1507 OP_isSignedLessThan,
1508 OP_isSignedLessThanOrEqual,
1509 OP_isSignedGreaterThan,
1510 OP_isSignedGreaterThanOrEqual,
1522 OP_unsignedMultiply,
1580 #endif // SgAsmRiscOperation_OTHERS
1581 #ifdef DOCUMENTATION
1583 #endif // DOCUMENTATION
1590 DECLARE_LEAF_CLASS(AsmRegisterNames);
1591 IS_SERIALIZABLE(AsmRegisterNames);
1593 #ifdef DOCUMENTATION
1596 #endif // DOCUMENTATION
1598 #ifndef DOCUMENTATION
1599 AsmRegisterNames.setDataPrototype(
1600 "SgAsmRegisterReferenceExpressionPtrList",
"registers",
"",
1601 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
1602 #endif // !DOCUMENTATION
1604 #ifndef DOCUMENTATION
1605 AsmRegisterNames.setDataPrototype(
1606 "unsigned",
"mask",
"= 0",
1607 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1608 #endif // !DOCUMENTATION
1610 DECLARE_OTHERS(AsmRegisterNames);
1611 #if defined(SgAsmRegisterNames_OTHERS) || defined(DOCUMENTATION)
1614 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1616 friend class boost::serialization::access;
1619 void serialize(S &s,
const unsigned ) {
1622 s & BOOST_SERIALIZATION_NVP(p_registers);
1623 s & BOOST_SERIALIZATION_NVP(p_mask);
1626 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
1635 SgAsmRegisterReferenceExpressionPtrList
const&
get_registers()
const;
1637 void set_registers(SgAsmRegisterReferenceExpressionPtrList
const&);
1667 #endif // SgAsmRegisterNames_OTHERS
1668 #ifdef DOCUMENTATION
1670 #endif // DOCUMENTATION
1677 DECLARE_LEAF_CLASS(AsmPowerpcInstruction);
1678 IS_SERIALIZABLE(AsmPowerpcInstruction);
1680 DECLARE_HEADERS(AsmPowerpcInstruction);
1681 #if defined(SgAsmPowerpcInstruction_HEADERS) || defined(DOCUMENTATION)
1682 #include <Rose/BinaryAnalysis/InstructionEnumsPowerpc.h>
1683 #endif // SgAsmPowerpcInstruction_HEADERS
1685 #ifdef DOCUMENTATION
1688 #endif // DOCUMENTATION
1690 #ifndef DOCUMENTATION
1691 AsmPowerpcInstruction.setDataPrototype(
1692 "Rose::BinaryAnalysis::PowerpcInstructionKind",
"kind",
"= Rose::BinaryAnalysis::powerpc_unknown_instruction",
1693 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1694 #endif // !DOCUMENTATION
1696 DECLARE_OTHERS(AsmPowerpcInstruction);
1697 #if defined(SgAsmPowerpcInstruction_OTHERS) || defined(DOCUMENTATION)
1700 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1702 friend class boost::serialization::access;
1705 void serialize(S &s,
const unsigned ) {
1708 s & BOOST_SERIALIZATION_NVP(p_kind);
1711 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
1741 virtual bool isUnknown()
const override;
1744 rose_addr_t *target, rose_addr_t *retva)
override;
1746 rose_addr_t *target, rose_addr_t *retva)
override;
1760 std::string
const& mnemonic,
1771 #endif // SgAsmPowerpcInstruction_OTHERS
1772 #ifdef DOCUMENTATION
1774 #endif // DOCUMENTATION
1781 DECLARE_LEAF_CLASS(AsmPEStringSection);
1782 IS_SERIALIZABLE(AsmPEStringSection);
1784 #ifdef DOCUMENTATION
1787 #endif // DOCUMENTATION
1789 #ifndef DOCUMENTATION
1790 AsmPEStringSection.setDataPrototype(
1791 "SgAsmCoffStrtab*",
"strtab",
"= nullptr",
1792 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1793 #endif // !DOCUMENTATION
1795 DECLARE_OTHERS(AsmPEStringSection);
1796 #if defined(SgAsmPEStringSection_OTHERS) || defined(DOCUMENTATION)
1799 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1801 friend class boost::serialization::access;
1804 void serialize(S &s,
const unsigned ) {
1807 s & BOOST_SERIALIZATION_NVP(p_strtab);
1810 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
1824 virtual bool reallocate()
override;
1825 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
1826 virtual void set_size(rose_addr_t newsize)
override;
1827 virtual void unparse(std::ostream&)
const override;
1844 #endif // SgAsmPEStringSection_OTHERS
1845 #ifdef DOCUMENTATION
1847 #endif // DOCUMENTATION
1854 DECLARE_LEAF_CLASS(AsmPESectionTable);
1855 IS_SERIALIZABLE(AsmPESectionTable);
1857 #ifdef DOCUMENTATION
1860 #endif // DOCUMENTATION
1862 DECLARE_OTHERS(AsmPESectionTable);
1863 #if defined(SgAsmPESectionTable_OTHERS) || defined(DOCUMENTATION)
1866 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1868 friend class boost::serialization::access;
1871 void serialize(S &s,
const unsigned ) {
1876 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
1886 virtual bool reallocate()
override;
1887 virtual void unparse(std::ostream&)
const override;
1888 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
1905 #endif // SgAsmPESectionTable_OTHERS
1906 #ifdef DOCUMENTATION
1908 #endif // DOCUMENTATION
1915 DECLARE_LEAF_CLASS(AsmPESectionTableEntry);
1916 IS_SERIALIZABLE(AsmPESectionTableEntry);
1918 #ifdef DOCUMENTATION
1921 #endif // DOCUMENTATION
1923 #ifndef DOCUMENTATION
1924 AsmPESectionTableEntry.setDataPrototype(
1925 "std::string",
"name",
"",
1926 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1927 #endif // !DOCUMENTATION
1929 #ifndef DOCUMENTATION
1930 AsmPESectionTableEntry.setDataPrototype(
1931 "rose_addr_t",
"virtual_size",
"= 0",
1932 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1933 #endif // !DOCUMENTATION
1935 #ifndef DOCUMENTATION
1936 AsmPESectionTableEntry.setDataPrototype(
1937 "rose_addr_t",
"rva",
"= 0",
1938 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1939 #endif // !DOCUMENTATION
1941 #ifndef DOCUMENTATION
1942 AsmPESectionTableEntry.setDataPrototype(
1943 "rose_addr_t",
"physical_size",
"= 0",
1944 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1945 #endif // !DOCUMENTATION
1947 #ifndef DOCUMENTATION
1948 AsmPESectionTableEntry.setDataPrototype(
1949 "rose_addr_t",
"physical_offset",
"= 0",
1950 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1951 #endif // !DOCUMENTATION
1953 #ifndef DOCUMENTATION
1954 AsmPESectionTableEntry.setDataPrototype(
1955 "unsigned",
"coff_line_nums",
"= 0",
1956 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1957 #endif // !DOCUMENTATION
1959 #ifndef DOCUMENTATION
1960 AsmPESectionTableEntry.setDataPrototype(
1961 "unsigned",
"n_relocs",
"= 0",
1962 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1963 #endif // !DOCUMENTATION
1965 #ifndef DOCUMENTATION
1966 AsmPESectionTableEntry.setDataPrototype(
1967 "unsigned",
"n_coff_line_nums",
"= 0",
1968 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1969 #endif // !DOCUMENTATION
1971 #ifndef DOCUMENTATION
1972 AsmPESectionTableEntry.setDataPrototype(
1973 "unsigned",
"flags",
"= 0",
1974 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1975 #endif // !DOCUMENTATION
1977 DECLARE_OTHERS(AsmPESectionTableEntry);
1978 #if defined(SgAsmPESectionTableEntry_OTHERS) || defined(DOCUMENTATION)
1981 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1983 friend class boost::serialization::access;
1986 void serialize(S &s,
const unsigned ) {
1989 s & BOOST_SERIALIZATION_NVP(p_name);
1990 s & BOOST_SERIALIZATION_NVP(p_virtual_size);
1991 s & BOOST_SERIALIZATION_NVP(p_rva);
1992 s & BOOST_SERIALIZATION_NVP(p_physical_size);
1993 s & BOOST_SERIALIZATION_NVP(p_physical_offset);
1994 s & BOOST_SERIALIZATION_NVP(p_coff_line_nums);
1995 s & BOOST_SERIALIZATION_NVP(p_n_relocs);
1996 s & BOOST_SERIALIZATION_NVP(p_n_coff_line_nums);
1997 s & BOOST_SERIALIZATION_NVP(p_flags);
2000 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
2011 uint32_t virtual_size;
2013 uint32_t physical_size;
2014 uint32_t physical_offset;
2015 uint32_t coff_line_nums;
2017 uint32_t n_coff_line_nums;
2020 #if !defined(SWIG) && !defined(_MSC_VER)
2021 __attribute__((packed))
2030 enum PESectionFlags {
2031 OF_CODE = 0x00000020,
2032 OF_IDATA = 0x00000040,
2033 OF_UDATA = 0x00000080,
2034 OF_INFO = 0x00000200,
2035 OF_REMOVE = 0x00000800,
2036 OF_COMDAT = 0x00001000,
2037 OF_NO_DEFER_SPEC_EXC= 0x00004000,
2039 OF_GPREL = 0x00008000,
2040 OF_ALIGN_1 = 0x00100000,
2041 OF_ALIGN_2 = 0x00200000,
2042 OF_ALIGN_4 = 0x00300000,
2043 OF_ALIGN_8 = 0x00400000,
2044 OF_ALIGN_16 = 0x00500000,
2045 OF_ALIGN_32 = 0x00600000,
2046 OF_ALIGN_64 = 0x00700000,
2047 OF_ALIGN_128 = 0x00800000,
2048 OF_ALIGN_256 = 0x00900000,
2049 OF_ALIGN_512 = 0x00a00000,
2050 OF_ALIGN_1k = 0x00b00000,
2051 OF_ALIGN_2k = 0x00c00000,
2052 OF_ALIGN_4k = 0x00d00000,
2053 OF_ALIGN_8k = 0x00e00000,
2054 OF_ALIGN_MASK = 0x00f00000,
2055 OF_NRELOC_OVFL = 0x01000000,
2056 OF_DISCARDABLE = 0x02000000,
2057 OF_NO_CACHE = 0x04000000,
2058 OF_NO_PAGING = 0x08000000,
2059 OF_SHARED = 0x10000000,
2060 OF_EXECUTABLE = 0x20000000,
2061 OF_READABLE = 0x40000000,
2062 OF_WRITABLE = 0x80000000
2074 std::string
const&
get_name()
const;
2094 rose_addr_t
const&
get_rva()
const;
2095 void set_rva(rose_addr_t
const&);
2166 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
2183 #endif // SgAsmPESectionTableEntry_OTHERS
2184 #ifdef DOCUMENTATION
2186 #endif // DOCUMENTATION
2193 DECLARE_LEAF_CLASS(AsmPERVASizePairList);
2194 IS_SERIALIZABLE(AsmPERVASizePairList);
2196 #ifdef DOCUMENTATION
2202 #endif // DOCUMENTATION
2204 #ifndef DOCUMENTATION
2205 AsmPERVASizePairList.setDataPrototype(
2206 "SgAsmPERVASizePairPtrList",
"pairs",
"",
2207 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
2208 #endif // !DOCUMENTATION
2210 DECLARE_OTHERS(AsmPERVASizePairList);
2211 #if defined(SgAsmPERVASizePairList_OTHERS) || defined(DOCUMENTATION)
2214 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2216 friend class boost::serialization::access;
2219 void serialize(S &s,
const unsigned ) {
2222 s & BOOST_SERIALIZATION_NVP(p_pairs);
2225 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
2231 SgAsmPERVASizePairPtrList
const&
get_pairs()
const;
2233 void set_pairs(SgAsmPERVASizePairPtrList
const&);
2253 #endif // SgAsmPERVASizePairList_OTHERS
2254 #ifdef DOCUMENTATION
2256 #endif // DOCUMENTATION
2263 DECLARE_LEAF_CLASS(AsmPERVASizePair);
2264 IS_SERIALIZABLE(AsmPERVASizePair);
2266 #ifdef DOCUMENTATION
2269 #endif // DOCUMENTATION
2271 #ifndef DOCUMENTATION
2272 AsmPERVASizePair.setDataPrototype(
2273 "rose_rva_t",
"e_rva",
"= 0",
2274 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2275 #endif // !DOCUMENTATION
2277 #ifndef DOCUMENTATION
2278 AsmPERVASizePair.setDataPrototype(
2279 "rose_addr_t",
"e_size",
"= 0",
2280 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2281 #endif // !DOCUMENTATION
2283 #ifndef DOCUMENTATION
2284 AsmPERVASizePair.setDataPrototype(
2285 "SgAsmGenericSection*",
"section",
"= nullptr",
2286 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2287 #endif // !DOCUMENTATION
2289 DECLARE_OTHERS(AsmPERVASizePair);
2290 #if defined(SgAsmPERVASizePair_OTHERS) || defined(DOCUMENTATION)
2293 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2295 friend class boost::serialization::access;
2298 void serialize(S &s,
const unsigned ) {
2301 s & BOOST_SERIALIZATION_NVP(p_e_rva);
2302 s & BOOST_SERIALIZATION_NVP(p_e_size);
2303 s & BOOST_SERIALIZATION_NVP(p_section);
2306 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
2321 #if !defined(SWIG) && !defined(_MSC_VER)
2322 __attribute__((packed))
2395 #endif // SgAsmPERVASizePair_OTHERS
2396 #ifdef DOCUMENTATION
2398 #endif // DOCUMENTATION
2405 DECLARE_LEAF_CLASS(AsmPEImportSection);
2406 IS_SERIALIZABLE(AsmPEImportSection);
2408 #ifdef DOCUMENTATION
2552 #endif // DOCUMENTATION
2554 #ifndef DOCUMENTATION
2555 AsmPEImportSection.setDataPrototype(
2556 "SgAsmPEImportDirectoryList*",
"import_directories",
"= createAndParent<SgAsmPEImportDirectoryList>(this)",
2557 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
2558 #endif // !DOCUMENTATION
2560 DECLARE_OTHERS(AsmPEImportSection);
2561 #if defined(SgAsmPEImportSection_OTHERS) || defined(DOCUMENTATION)
2564 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2566 friend class boost::serialization::access;
2569 void serialize(S &s,
const unsigned ) {
2572 s & BOOST_SERIALIZATION_NVP(p_import_directories);
2575 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
2589 virtual bool reallocate()
override;
2590 virtual void unparse(std::ostream&)
const override;
2591 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
2598 static bool show_import_mesg();
2599 static void import_mesg_reset() { mesg_nprinted=0; }
2611 static size_t mesg_nprinted;
2628 #endif // SgAsmPEImportSection_OTHERS
2629 #ifdef DOCUMENTATION
2631 #endif // DOCUMENTATION
2638 DECLARE_LEAF_CLASS(AsmPEImportItemList);
2639 IS_SERIALIZABLE(AsmPEImportItemList);
2641 #ifdef DOCUMENTATION
2647 #endif // DOCUMENTATION
2649 #ifndef DOCUMENTATION
2650 AsmPEImportItemList.setDataPrototype(
2651 "SgAsmPEImportItemPtrList",
"vector",
"",
2652 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
2653 #endif // !DOCUMENTATION
2655 DECLARE_OTHERS(AsmPEImportItemList);
2656 #if defined(SgAsmPEImportItemList_OTHERS) || defined(DOCUMENTATION)
2659 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2661 friend class boost::serialization::access;
2664 void serialize(S &s,
const unsigned ) {
2667 s & BOOST_SERIALIZATION_NVP(p_vector);
2670 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
2676 SgAsmPEImportItemPtrList
const&
get_vector()
const;
2678 void set_vector(SgAsmPEImportItemPtrList
const&);
2697 #endif // SgAsmPEImportItemList_OTHERS
2698 #ifdef DOCUMENTATION
2700 #endif // DOCUMENTATION
2707 DECLARE_LEAF_CLASS(AsmPEImportItem);
2708 IS_SERIALIZABLE(AsmPEImportItem);
2710 #ifdef DOCUMENTATION
2719 #endif // DOCUMENTATION
2721 #ifndef DOCUMENTATION
2722 AsmPEImportItem.setDataPrototype(
2723 "bool",
"by_ordinal",
"= true",
2724 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2725 #endif // !DOCUMENTATION
2727 #ifndef DOCUMENTATION
2728 AsmPEImportItem.setDataPrototype(
2729 "unsigned",
"ordinal",
"= 0",
2730 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2731 #endif // !DOCUMENTATION
2733 #ifndef DOCUMENTATION
2734 AsmPEImportItem.setDataPrototype(
2735 "unsigned",
"hint",
"= 0",
2736 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2737 #endif // !DOCUMENTATION
2739 #ifndef DOCUMENTATION
2740 AsmPEImportItem.setDataPrototype(
2741 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
2742 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
2743 #endif // !DOCUMENTATION
2745 #ifndef DOCUMENTATION
2746 AsmPEImportItem.setDataPrototype(
2747 "rose_rva_t",
"hintname_rva",
"= 0",
2748 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2749 #endif // !DOCUMENTATION
2751 #ifndef DOCUMENTATION
2752 AsmPEImportItem.setDataPrototype(
2753 "size_t",
"hintname_nalloc",
"= 0",
2754 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2755 #endif // !DOCUMENTATION
2757 #ifndef DOCUMENTATION
2758 AsmPEImportItem.setDataPrototype(
2759 "rose_rva_t",
"bound_rva",
"= 0",
2760 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2761 #endif // !DOCUMENTATION
2763 #ifndef DOCUMENTATION
2764 AsmPEImportItem.setDataPrototype(
2765 "bool",
"iat_written",
"= false",
2766 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2767 #endif // !DOCUMENTATION
2769 DECLARE_OTHERS(AsmPEImportItem);
2770 #if defined(SgAsmPEImportItem_OTHERS) || defined(DOCUMENTATION)
2773 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2775 friend class boost::serialization::access;
2778 void serialize(S &s,
const unsigned ) {
2781 s & BOOST_SERIALIZATION_NVP(p_by_ordinal);
2782 s & BOOST_SERIALIZATION_NVP(p_ordinal);
2783 s & BOOST_SERIALIZATION_NVP(p_hint);
2784 s & BOOST_SERIALIZATION_NVP(p_name);
2785 s & BOOST_SERIALIZATION_NVP(p_hintname_rva);
2786 s & BOOST_SERIALIZATION_NVP(p_hintname_nalloc);
2787 s & BOOST_SERIALIZATION_NVP(p_bound_rva);
2788 s & BOOST_SERIALIZATION_NVP(p_iat_written);
2791 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
2880 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
2913 #endif // SgAsmPEImportItem_OTHERS
2914 #ifdef DOCUMENTATION
2916 #endif // DOCUMENTATION
2923 DECLARE_LEAF_CLASS(AsmPEImportDirectoryList);
2924 IS_SERIALIZABLE(AsmPEImportDirectoryList);
2926 #ifdef DOCUMENTATION
2932 #endif // DOCUMENTATION
2934 #ifndef DOCUMENTATION
2935 AsmPEImportDirectoryList.setDataPrototype(
2936 "SgAsmPEImportDirectoryPtrList",
"vector",
"",
2937 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
2938 #endif // !DOCUMENTATION
2940 DECLARE_OTHERS(AsmPEImportDirectoryList);
2941 #if defined(SgAsmPEImportDirectoryList_OTHERS) || defined(DOCUMENTATION)
2944 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2946 friend class boost::serialization::access;
2949 void serialize(S &s,
const unsigned ) {
2952 s & BOOST_SERIALIZATION_NVP(p_vector);
2955 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
2963 SgAsmPEImportDirectoryPtrList
const&
get_vector()
const;
2965 void set_vector(SgAsmPEImportDirectoryPtrList
const&);
2984 #endif // SgAsmPEImportDirectoryList_OTHERS
2985 #ifdef DOCUMENTATION
2987 #endif // DOCUMENTATION
2994 DECLARE_LEAF_CLASS(AsmPEImportDirectory);
2995 IS_SERIALIZABLE(AsmPEImportDirectory);
2997 #ifdef DOCUMENTATION
3003 #endif // DOCUMENTATION
3005 #ifndef DOCUMENTATION
3006 AsmPEImportDirectory.setDataPrototype(
3007 "SgAsmGenericString*",
"dll_name",
"= 0",
3008 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3009 #endif // !DOCUMENTATION
3011 #ifndef DOCUMENTATION
3012 AsmPEImportDirectory.setDataPrototype(
3013 "rose_rva_t",
"dll_name_rva",
"= 0",
3014 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3015 #endif // !DOCUMENTATION
3017 #ifndef DOCUMENTATION
3018 AsmPEImportDirectory.setDataPrototype(
3019 "size_t",
"dll_name_nalloc",
"= 0",
3020 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3021 #endif // !DOCUMENTATION
3023 #ifndef DOCUMENTATION
3024 AsmPEImportDirectory.setDataPrototype(
3025 "time_t",
"time",
"= 0",
3026 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3027 #endif // !DOCUMENTATION
3029 #ifndef DOCUMENTATION
3030 AsmPEImportDirectory.setDataPrototype(
3031 "unsigned",
"forwarder_chain",
"= 0",
3032 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3033 #endif // !DOCUMENTATION
3035 #ifndef DOCUMENTATION
3036 AsmPEImportDirectory.setDataPrototype(
3037 "rose_rva_t",
"ilt_rva",
"= 0",
3038 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3039 #endif // !DOCUMENTATION
3041 #ifndef DOCUMENTATION
3042 AsmPEImportDirectory.setDataPrototype(
3043 "size_t",
"ilt_nalloc",
"= 0",
3044 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3045 #endif // !DOCUMENTATION
3047 #ifndef DOCUMENTATION
3048 AsmPEImportDirectory.setDataPrototype(
3049 "rose_rva_t",
"iat_rva",
"= 0",
3050 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3051 #endif // !DOCUMENTATION
3053 #ifndef DOCUMENTATION
3054 AsmPEImportDirectory.setDataPrototype(
3055 "size_t",
"iat_nalloc",
"= 0",
3056 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3057 #endif // !DOCUMENTATION
3059 #ifndef DOCUMENTATION
3060 AsmPEImportDirectory.setDataPrototype(
3061 "SgAsmPEImportItemList*",
"imports",
"= createAndParent<SgAsmPEImportItemList>(this)",
3062 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3063 #endif // !DOCUMENTATION
3065 DECLARE_OTHERS(AsmPEImportDirectory);
3066 #if defined(SgAsmPEImportDirectory_OTHERS) || defined(DOCUMENTATION)
3069 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
3071 friend class boost::serialization::access;
3074 void serialize(S &s,
const unsigned ) {
3077 s & BOOST_SERIALIZATION_NVP(p_dll_name);
3078 s & BOOST_SERIALIZATION_NVP(p_dll_name_rva);
3079 s & BOOST_SERIALIZATION_NVP(p_dll_name_nalloc);
3080 s & BOOST_SERIALIZATION_NVP(p_time);
3081 s & BOOST_SERIALIZATION_NVP(p_forwarder_chain);
3082 s & BOOST_SERIALIZATION_NVP(p_ilt_rva);
3083 s & BOOST_SERIALIZATION_NVP(p_ilt_nalloc);
3084 s & BOOST_SERIALIZATION_NVP(p_iat_rva);
3085 s & BOOST_SERIALIZATION_NVP(p_iat_nalloc);
3086 s & BOOST_SERIALIZATION_NVP(p_imports);
3089 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
3100 uint32_t forwarder_chain;
3101 uint32_t dll_name_rva;
3104 #if !defined(SWIG) && !defined(_MSC_VER)
3105 __attribute__((packed))
3242 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
3271 void parse_ilt_iat(
const rose_rva_t &table_start,
bool assume_bound);
3272 void unparse_ilt_iat(std::ostream&,
const rose_rva_t &table_start,
bool assume_bound,
size_t nalloc)
const;
3289 #endif // SgAsmPEImportDirectory_OTHERS
3290 #ifdef DOCUMENTATION
3292 #endif // DOCUMENTATION
3299 DECLARE_LEAF_CLASS(AsmPEFileHeader);
3300 IS_SERIALIZABLE(AsmPEFileHeader);
3302 #ifdef DOCUMENTATION
3307 #endif // DOCUMENTATION
3309 #ifndef DOCUMENTATION
3310 AsmPEFileHeader.setDataPrototype(
3311 "unsigned",
"e_cpu_type",
"= 0",
3312 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3313 #endif // !DOCUMENTATION
3315 #ifndef DOCUMENTATION
3316 AsmPEFileHeader.setDataPrototype(
3317 "unsigned",
"e_nsections",
"= 0",
3318 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3319 #endif // !DOCUMENTATION
3321 #ifndef DOCUMENTATION
3322 AsmPEFileHeader.setDataPrototype(
3323 "unsigned",
"e_time",
"= 0",
3324 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3325 #endif // !DOCUMENTATION
3327 #ifndef DOCUMENTATION
3328 AsmPEFileHeader.setDataPrototype(
3329 "rose_addr_t",
"e_coff_symtab",
"= 0",
3330 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3331 #endif // !DOCUMENTATION
3333 #ifndef DOCUMENTATION
3334 AsmPEFileHeader.setDataPrototype(
3335 "rose_addr_t",
"e_nt_hdr_size",
"= 0",
3336 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3337 #endif // !DOCUMENTATION
3339 #ifndef DOCUMENTATION
3340 AsmPEFileHeader.setDataPrototype(
3341 "unsigned",
"e_coff_nsyms",
"= 0",
3342 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3343 #endif // !DOCUMENTATION
3345 #ifndef DOCUMENTATION
3346 AsmPEFileHeader.setDataPrototype(
3347 "unsigned",
"e_flags",
"= 0",
3348 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3349 #endif // !DOCUMENTATION
3351 #ifndef DOCUMENTATION
3352 AsmPEFileHeader.setDataPrototype(
3353 "unsigned",
"e_opt_magic",
"= 0",
3354 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3355 #endif // !DOCUMENTATION
3357 #ifndef DOCUMENTATION
3358 AsmPEFileHeader.setDataPrototype(
3359 "unsigned",
"e_lmajor",
"= 0",
3360 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3361 #endif // !DOCUMENTATION
3363 #ifndef DOCUMENTATION
3364 AsmPEFileHeader.setDataPrototype(
3365 "unsigned",
"e_lminor",
"= 0",
3366 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3367 #endif // !DOCUMENTATION
3369 #ifndef DOCUMENTATION
3370 AsmPEFileHeader.setDataPrototype(
3371 "unsigned",
"e_code_size",
"= 0",
3372 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3373 #endif // !DOCUMENTATION
3375 #ifndef DOCUMENTATION
3376 AsmPEFileHeader.setDataPrototype(
3377 "unsigned",
"e_data_size",
"= 0",
3378 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3379 #endif // !DOCUMENTATION
3381 #ifndef DOCUMENTATION
3382 AsmPEFileHeader.setDataPrototype(
3383 "unsigned",
"e_bss_size",
"= 0",
3384 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3385 #endif // !DOCUMENTATION
3387 #ifndef DOCUMENTATION
3388 AsmPEFileHeader.setDataPrototype(
3389 "rose_rva_t",
"e_code_rva",
"= 0",
3390 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3391 #endif // !DOCUMENTATION
3393 #ifndef DOCUMENTATION
3394 AsmPEFileHeader.setDataPrototype(
3395 "rose_rva_t",
"e_data_rva",
"= 0",
3396 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3397 #endif // !DOCUMENTATION
3399 #ifndef DOCUMENTATION
3400 AsmPEFileHeader.setDataPrototype(
3401 "unsigned",
"e_section_align",
"= 0",
3402 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3403 #endif // !DOCUMENTATION
3405 #ifndef DOCUMENTATION
3406 AsmPEFileHeader.setDataPrototype(
3407 "unsigned",
"e_file_align",
"= 0",
3408 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3409 #endif // !DOCUMENTATION
3411 #ifndef DOCUMENTATION
3412 AsmPEFileHeader.setDataPrototype(
3413 "unsigned",
"e_os_major",
"= 0",
3414 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3415 #endif // !DOCUMENTATION
3417 #ifndef DOCUMENTATION
3418 AsmPEFileHeader.setDataPrototype(
3419 "unsigned",
"e_os_minor",
"= 0",
3420 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3421 #endif // !DOCUMENTATION
3423 #ifndef DOCUMENTATION
3424 AsmPEFileHeader.setDataPrototype(
3425 "unsigned",
"e_user_major",
"= 0",
3426 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3427 #endif // !DOCUMENTATION
3429 #ifndef DOCUMENTATION
3430 AsmPEFileHeader.setDataPrototype(
3431 "unsigned",
"e_user_minor",
"= 0",
3432 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3433 #endif // !DOCUMENTATION
3435 #ifndef DOCUMENTATION
3436 AsmPEFileHeader.setDataPrototype(
3437 "unsigned",
"e_subsys_major",
"= 0",
3438 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3439 #endif // !DOCUMENTATION
3441 #ifndef DOCUMENTATION
3442 AsmPEFileHeader.setDataPrototype(
3443 "unsigned",
"e_subsys_minor",
"= 0",
3444 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3445 #endif // !DOCUMENTATION
3447 #ifndef DOCUMENTATION
3448 AsmPEFileHeader.setDataPrototype(
3449 "unsigned",
"e_reserved9",
"= 0",
3450 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3451 #endif // !DOCUMENTATION
3453 #ifndef DOCUMENTATION
3454 AsmPEFileHeader.setDataPrototype(
3455 "unsigned",
"e_image_size",
"= 0",
3456 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3457 #endif // !DOCUMENTATION
3459 #ifndef DOCUMENTATION
3460 AsmPEFileHeader.setDataPrototype(
3461 "unsigned",
"e_header_size",
"= 0",
3462 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3463 #endif // !DOCUMENTATION
3465 #ifndef DOCUMENTATION
3466 AsmPEFileHeader.setDataPrototype(
3467 "unsigned",
"e_file_checksum",
"= 0",
3468 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3469 #endif // !DOCUMENTATION
3471 #ifndef DOCUMENTATION
3472 AsmPEFileHeader.setDataPrototype(
3473 "unsigned",
"e_subsystem",
"= 0",
3474 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3475 #endif // !DOCUMENTATION
3477 #ifndef DOCUMENTATION
3478 AsmPEFileHeader.setDataPrototype(
3479 "unsigned",
"e_dll_flags",
"= 0",
3480 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3481 #endif // !DOCUMENTATION
3483 #ifndef DOCUMENTATION
3484 AsmPEFileHeader.setDataPrototype(
3485 "unsigned",
"e_stack_reserve_size",
"= 0",
3486 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3487 #endif // !DOCUMENTATION
3489 #ifndef DOCUMENTATION
3490 AsmPEFileHeader.setDataPrototype(
3491 "unsigned",
"e_stack_commit_size",
"= 0",
3492 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3493 #endif // !DOCUMENTATION
3495 #ifndef DOCUMENTATION
3496 AsmPEFileHeader.setDataPrototype(
3497 "unsigned",
"e_heap_reserve_size",
"= 0",
3498 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3499 #endif // !DOCUMENTATION
3501 #ifndef DOCUMENTATION
3502 AsmPEFileHeader.setDataPrototype(
3503 "unsigned",
"e_heap_commit_size",
"= 0",
3504 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3505 #endif // !DOCUMENTATION
3507 #ifndef DOCUMENTATION
3508 AsmPEFileHeader.setDataPrototype(
3509 "unsigned",
"e_loader_flags",
"= 0",
3510 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3511 #endif // !DOCUMENTATION
3513 #ifndef DOCUMENTATION
3514 AsmPEFileHeader.setDataPrototype(
3515 "unsigned",
"e_num_rvasize_pairs",
"= 0",
3516 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3517 #endif // !DOCUMENTATION
3519 #ifndef DOCUMENTATION
3520 AsmPEFileHeader.setDataPrototype(
3521 "SgAsmPERVASizePairList*",
"rvasize_pairs",
"= nullptr",
3522 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3523 #endif // !DOCUMENTATION
3525 #ifndef DOCUMENTATION
3526 AsmPEFileHeader.setDataPrototype(
3527 "SgAsmPESectionTable*",
"section_table",
"= NULL",
3528 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3529 #endif // !DOCUMENTATION
3531 #ifndef DOCUMENTATION
3532 AsmPEFileHeader.setDataPrototype(
3533 "SgAsmCoffSymbolTable*",
"coff_symtab",
"= NULL",
3534 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3535 #endif // !DOCUMENTATION
3537 DECLARE_OTHERS(AsmPEFileHeader);
3538 #if defined(SgAsmPEFileHeader_OTHERS) || defined(DOCUMENTATION)
3541 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
3543 friend class boost::serialization::access;
3546 void serialize(S &s,
const unsigned ) {
3549 s & BOOST_SERIALIZATION_NVP(p_e_cpu_type);
3550 s & BOOST_SERIALIZATION_NVP(p_e_nsections);
3551 s & BOOST_SERIALIZATION_NVP(p_e_time);
3552 s & BOOST_SERIALIZATION_NVP(p_e_coff_symtab);
3553 s & BOOST_SERIALIZATION_NVP(p_e_nt_hdr_size);
3554 s & BOOST_SERIALIZATION_NVP(p_e_coff_nsyms);
3555 s & BOOST_SERIALIZATION_NVP(p_e_flags);
3556 s & BOOST_SERIALIZATION_NVP(p_e_opt_magic);
3557 s & BOOST_SERIALIZATION_NVP(p_e_lmajor);
3558 s & BOOST_SERIALIZATION_NVP(p_e_lminor);
3559 s & BOOST_SERIALIZATION_NVP(p_e_code_size);
3560 s & BOOST_SERIALIZATION_NVP(p_e_data_size);
3561 s & BOOST_SERIALIZATION_NVP(p_e_bss_size);
3562 s & BOOST_SERIALIZATION_NVP(p_e_code_rva);
3563 s & BOOST_SERIALIZATION_NVP(p_e_data_rva);
3564 s & BOOST_SERIALIZATION_NVP(p_e_section_align);
3565 s & BOOST_SERIALIZATION_NVP(p_e_file_align);
3566 s & BOOST_SERIALIZATION_NVP(p_e_os_major);
3567 s & BOOST_SERIALIZATION_NVP(p_e_os_minor);
3568 s & BOOST_SERIALIZATION_NVP(p_e_user_major);
3569 s & BOOST_SERIALIZATION_NVP(p_e_user_minor);
3570 s & BOOST_SERIALIZATION_NVP(p_e_subsys_major);
3571 s & BOOST_SERIALIZATION_NVP(p_e_subsys_minor);
3572 s & BOOST_SERIALIZATION_NVP(p_e_reserved9);
3573 s & BOOST_SERIALIZATION_NVP(p_e_image_size);
3574 s & BOOST_SERIALIZATION_NVP(p_e_header_size);
3575 s & BOOST_SERIALIZATION_NVP(p_e_file_checksum);
3576 s & BOOST_SERIALIZATION_NVP(p_e_subsystem);
3577 s & BOOST_SERIALIZATION_NVP(p_e_dll_flags);
3578 s & BOOST_SERIALIZATION_NVP(p_e_stack_reserve_size);
3579 s & BOOST_SERIALIZATION_NVP(p_e_stack_commit_size);
3580 s & BOOST_SERIALIZATION_NVP(p_e_heap_reserve_size);
3581 s & BOOST_SERIALIZATION_NVP(p_e_heap_commit_size);
3582 s & BOOST_SERIALIZATION_NVP(p_e_loader_flags);
3583 s & BOOST_SERIALIZATION_NVP(p_e_num_rvasize_pairs);
3584 s & BOOST_SERIALIZATION_NVP(p_rvasize_pairs);
3585 s & BOOST_SERIALIZATION_NVP(p_section_table);
3586 s & BOOST_SERIALIZATION_NVP(p_coff_symtab);
3589 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
3599 unsigned char e_magic[4];
3600 uint16_t e_cpu_type;
3601 uint16_t e_nsections;
3603 uint32_t e_coff_symtab;
3604 uint32_t e_coff_nsyms;
3605 uint16_t e_nt_hdr_size;
3608 #if !defined(SWIG) && !defined(_MSC_VER)
3609 __attribute__((packed))
3614 uint16_t e_opt_magic;
3617 uint16_t e_code_size;
3618 uint32_t e_data_size;
3619 uint32_t e_bss_size;
3620 uint32_t e_entrypoint_rva;
3621 uint32_t e_code_rva;
3622 uint32_t e_data_rva;
3623 uint32_t e_image_base;
3624 uint32_t e_section_align;
3625 uint32_t e_file_align;
3626 uint16_t e_os_major;
3627 uint16_t e_os_minor;
3628 uint16_t e_user_major;
3629 uint16_t e_user_minor;
3630 uint16_t e_subsys_major;
3631 uint16_t e_subsys_minor;
3632 uint32_t e_reserved9;
3633 uint32_t e_image_size;
3634 uint32_t e_header_size;
3635 uint32_t e_file_checksum;
3636 uint16_t e_subsystem;
3637 uint16_t e_dll_flags;
3638 uint32_t e_stack_reserve_size;
3639 uint32_t e_stack_commit_size;
3640 uint32_t e_heap_reserve_size;
3641 uint32_t e_heap_commit_size;
3642 uint32_t e_loader_flags;
3643 uint32_t e_num_rvasize_pairs;
3645 #if !defined(SWIG) && !defined(_MSC_VER)
3646 __attribute__((packed))
3651 uint16_t e_opt_magic;
3654 uint16_t e_code_size;
3655 uint32_t e_data_size;
3656 uint32_t e_bss_size;
3657 uint32_t e_entrypoint_rva;
3658 uint32_t e_code_rva;
3660 uint64_t e_image_base;
3661 uint32_t e_section_align;
3662 uint32_t e_file_align;
3663 uint16_t e_os_major;
3664 uint16_t e_os_minor;
3665 uint16_t e_user_major;
3666 uint16_t e_user_minor;
3667 uint16_t e_subsys_major;
3668 uint16_t e_subsys_minor;
3669 uint32_t e_reserved9;
3670 uint32_t e_image_size;
3671 uint32_t e_header_size;
3672 uint32_t e_file_checksum;
3673 uint16_t e_subsystem;
3674 uint16_t e_dll_flags;
3675 uint64_t e_stack_reserve_size;
3676 uint64_t e_stack_commit_size;
3677 uint64_t e_heap_reserve_size;
3678 uint64_t e_heap_commit_size;
3679 uint32_t e_loader_flags;
3680 uint32_t e_num_rvasize_pairs;
3682 #if !defined(SWIG) && !defined(_MSC_VER)
3683 __attribute__((packed))
3692 HF_PROGRAM = 0x0000,
3693 HF_EXECUTABLE = 0x0002,
3695 HF_LIBRARY = 0x2000,
3696 HF_RESERVED_MASK = 0xddfd
3701 HF_SPEC_UNKNOWN = 0x0000,
3704 HF_WINCHAR = 0x0003,
3705 HF_OS2CHAR = 0x0005,
3711 DLL_PROC_INIT = 0x0001,
3712 DLL_PROC_TERM = 0x0002,
3713 DLL_THRD_INIT = 0x0004,
3714 DLL_THRD_TERM = 0x0008,
3715 DLL_RESERVED_MASK = 0xfff0
3723 PAIR_EXCEPTIONS = 3,
3724 PAIR_CERTIFICATES = 4,
3725 PAIR_BASERELOCS = 5,
3727 PAIR_ARCHITECTURE = 7,
3730 PAIR_LOADCONFIG = 10,
3731 PAIR_BOUNDIMPORT = 11,
3733 PAIR_DELAYIMPORT = 13,
3734 PAIR_CLRRUNTIME = 14,
3735 PAIR_RESERVED15 = 15
4149 void add_rvasize_pairs();
4153 virtual void unparse(std::ostream&)
const override;
4154 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
4155 void create_table_sections();
4182 #endif // SgAsmPEFileHeader_OTHERS
4183 #ifdef DOCUMENTATION
4185 #endif // DOCUMENTATION
4192 DECLARE_LEAF_CLASS(AsmPEExportSection);
4193 IS_SERIALIZABLE(AsmPEExportSection);
4195 #ifdef DOCUMENTATION
4198 #endif // DOCUMENTATION
4200 #ifndef DOCUMENTATION
4201 AsmPEExportSection.setDataPrototype(
4202 "SgAsmPEExportDirectory*",
"export_dir",
"= nullptr",
4203 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4204 #endif // !DOCUMENTATION
4206 #ifndef DOCUMENTATION
4207 AsmPEExportSection.setDataPrototype(
4208 "SgAsmPEExportEntryList*",
"exports",
"= createAndParent<SgAsmPEExportEntryList>(this)",
4209 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4210 #endif // !DOCUMENTATION
4212 DECLARE_OTHERS(AsmPEExportSection);
4213 #if defined(SgAsmPEExportSection_OTHERS) || defined(DOCUMENTATION)
4216 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4218 friend class boost::serialization::access;
4221 void serialize(S &s,
const unsigned ) {
4224 s & BOOST_SERIALIZATION_NVP(p_export_dir);
4225 s & BOOST_SERIALIZATION_NVP(p_exports);
4228 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
4269 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
4287 #endif // SgAsmPEExportSection_OTHERS
4288 #ifdef DOCUMENTATION
4290 #endif // DOCUMENTATION
4297 #ifndef DOCUMENTATION
4298 AstNodeClass& AsmPESection = nonTerminalConstructor(
4303 SubclassListBuilder()
4304 | AsmPEExportSection
4305 | AsmPEImportSection
4306 | AsmPEStringSection
4308 assert(AsmPESection.associatedGrammar !=
nullptr);
4309 AsmPESection.setCppCondition(
"!defined(DOCUMENTATION)");
4310 AsmPESection.isBoostSerializable(
true);
4311 AsmPESection.setAutomaticGenerationOfConstructor(
false);
4312 AsmPESection.setAutomaticGenerationOfDestructor(
false);
4313 #endif // !DOCUMENTATION
4315 #ifdef DOCUMENTATION
4318 #endif // DOCUMENTATION
4320 #ifndef DOCUMENTATION
4321 AsmPESection.setDataPrototype(
4322 "SgAsmPESectionTableEntry*",
"section_entry",
"= nullptr",
4323 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4324 #endif // !DOCUMENTATION
4326 DECLARE_OTHERS(AsmPESection);
4327 #if defined(SgAsmPESection_OTHERS) || defined(DOCUMENTATION)
4330 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4332 friend class boost::serialization::access;
4335 void serialize(S &s,
const unsigned ) {
4338 s & BOOST_SERIALIZATION_NVP(p_section_entry);
4341 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
4361 virtual bool reallocate()
override;
4362 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
4379 #endif // SgAsmPESection_OTHERS
4380 #ifdef DOCUMENTATION
4382 #endif // DOCUMENTATION
4389 DECLARE_LEAF_CLASS(AsmPEExportEntryList);
4390 IS_SERIALIZABLE(AsmPEExportEntryList);
4392 #ifdef DOCUMENTATION
4398 #endif // DOCUMENTATION
4400 #ifndef DOCUMENTATION
4401 AsmPEExportEntryList.setDataPrototype(
4402 "SgAsmPEExportEntryPtrList",
"exports",
"",
4403 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4404 #endif // !DOCUMENTATION
4406 DECLARE_OTHERS(AsmPEExportEntryList);
4407 #if defined(SgAsmPEExportEntryList_OTHERS) || defined(DOCUMENTATION)
4410 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4412 friend class boost::serialization::access;
4415 void serialize(S &s,
const unsigned ) {
4418 s & BOOST_SERIALIZATION_NVP(p_exports);
4421 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
4427 SgAsmPEExportEntryPtrList
const&
get_exports()
const;
4429 void set_exports(SgAsmPEExportEntryPtrList
const&);
4448 #endif // SgAsmPEExportEntryList_OTHERS
4449 #ifdef DOCUMENTATION
4451 #endif // DOCUMENTATION
4458 DECLARE_LEAF_CLASS(AsmPEExportEntry);
4459 IS_SERIALIZABLE(AsmPEExportEntry);
4461 #ifdef DOCUMENTATION
4464 #endif // DOCUMENTATION
4466 #ifndef DOCUMENTATION
4467 AsmPEExportEntry.setDataPrototype(
4468 "SgAsmGenericString*",
"name",
"= nullptr",
4469 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4470 #endif // !DOCUMENTATION
4472 #ifndef DOCUMENTATION
4473 AsmPEExportEntry.setDataPrototype(
4474 "unsigned",
"ordinal",
"= 0",
4475 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4476 #endif // !DOCUMENTATION
4478 #ifndef DOCUMENTATION
4479 AsmPEExportEntry.setDataPrototype(
4480 "rose_rva_t",
"export_rva",
"= 0",
4481 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4482 #endif // !DOCUMENTATION
4484 #ifndef DOCUMENTATION
4485 AsmPEExportEntry.setDataPrototype(
4486 "SgAsmGenericString*",
"forwarder",
"= nullptr",
4487 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4488 #endif // !DOCUMENTATION
4490 DECLARE_OTHERS(AsmPEExportEntry);
4491 #if defined(SgAsmPEExportEntry_OTHERS) || defined(DOCUMENTATION)
4494 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4496 friend class boost::serialization::access;
4499 void serialize(S &s,
const unsigned ) {
4502 s & BOOST_SERIALIZATION_NVP(p_name);
4503 s & BOOST_SERIALIZATION_NVP(p_ordinal);
4504 s & BOOST_SERIALIZATION_NVP(p_export_rva);
4505 s & BOOST_SERIALIZATION_NVP(p_forwarder);
4508 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
4552 void dump(FILE *f,
const char *prefix,ssize_t idx)
const;
4577 #endif // SgAsmPEExportEntry_OTHERS
4578 #ifdef DOCUMENTATION
4580 #endif // DOCUMENTATION
4587 DECLARE_LEAF_CLASS(AsmPEExportDirectory);
4588 IS_SERIALIZABLE(AsmPEExportDirectory);
4590 #ifdef DOCUMENTATION
4593 #endif // DOCUMENTATION
4595 #ifndef DOCUMENTATION
4596 AsmPEExportDirectory.setDataPrototype(
4597 "unsigned",
"res1",
"= 0",
4598 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4599 #endif // !DOCUMENTATION
4601 #ifndef DOCUMENTATION
4602 AsmPEExportDirectory.setDataPrototype(
4603 "time_t",
"timestamp",
"= 0",
4604 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4605 #endif // !DOCUMENTATION
4607 #ifndef DOCUMENTATION
4608 AsmPEExportDirectory.setDataPrototype(
4609 "unsigned",
"vmajor",
"= 0",
4610 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4611 #endif // !DOCUMENTATION
4613 #ifndef DOCUMENTATION
4614 AsmPEExportDirectory.setDataPrototype(
4615 "unsigned",
"vminor",
"= 0",
4616 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4617 #endif // !DOCUMENTATION
4619 #ifndef DOCUMENTATION
4620 AsmPEExportDirectory.setDataPrototype(
4621 "rose_rva_t",
"name_rva",
"= 0",
4622 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4623 #endif // !DOCUMENTATION
4625 #ifndef DOCUMENTATION
4626 AsmPEExportDirectory.setDataPrototype(
4627 "unsigned",
"ord_base",
"= 0",
4628 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4629 #endif // !DOCUMENTATION
4631 #ifndef DOCUMENTATION
4632 AsmPEExportDirectory.setDataPrototype(
4633 "size_t",
"expaddr_n",
"= 0",
4634 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4635 #endif // !DOCUMENTATION
4637 #ifndef DOCUMENTATION
4638 AsmPEExportDirectory.setDataPrototype(
4639 "size_t",
"nameptr_n",
"= 0",
4640 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4641 #endif // !DOCUMENTATION
4643 #ifndef DOCUMENTATION
4644 AsmPEExportDirectory.setDataPrototype(
4645 "rose_rva_t",
"expaddr_rva",
"= 0",
4646 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4647 #endif // !DOCUMENTATION
4649 #ifndef DOCUMENTATION
4650 AsmPEExportDirectory.setDataPrototype(
4651 "rose_rva_t",
"nameptr_rva",
"= 0",
4652 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4653 #endif // !DOCUMENTATION
4655 #ifndef DOCUMENTATION
4656 AsmPEExportDirectory.setDataPrototype(
4657 "rose_rva_t",
"ordinals_rva",
"= 0",
4658 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4659 #endif // !DOCUMENTATION
4661 #ifndef DOCUMENTATION
4662 AsmPEExportDirectory.setDataPrototype(
4663 "SgAsmGenericString*",
"name",
"= NULL",
4664 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4665 #endif // !DOCUMENTATION
4667 DECLARE_OTHERS(AsmPEExportDirectory);
4668 #if defined(SgAsmPEExportDirectory_OTHERS) || defined(DOCUMENTATION)
4671 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4673 friend class boost::serialization::access;
4676 void serialize(S &s,
const unsigned ) {
4679 s & BOOST_SERIALIZATION_NVP(p_res1);
4680 s & BOOST_SERIALIZATION_NVP(p_timestamp);
4681 s & BOOST_SERIALIZATION_NVP(p_vmajor);
4682 s & BOOST_SERIALIZATION_NVP(p_vminor);
4683 s & BOOST_SERIALIZATION_NVP(p_name_rva);
4684 s & BOOST_SERIALIZATION_NVP(p_ord_base);
4685 s & BOOST_SERIALIZATION_NVP(p_expaddr_n);
4686 s & BOOST_SERIALIZATION_NVP(p_nameptr_n);
4687 s & BOOST_SERIALIZATION_NVP(p_expaddr_rva);
4688 s & BOOST_SERIALIZATION_NVP(p_nameptr_rva);
4689 s & BOOST_SERIALIZATION_NVP(p_ordinals_rva);
4690 s & BOOST_SERIALIZATION_NVP(p_name);
4693 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
4711 uint32_t expaddr_rva;
4712 uint32_t nameptr_rva;
4713 uint32_t ordinals_rva;
4715 #if !defined(SWIG) && !defined(_MSC_VER)
4716 __attribute__((packed))
4854 void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
4871 #endif // SgAsmPEExportDirectory_OTHERS
4872 #ifdef DOCUMENTATION
4874 #endif // DOCUMENTATION
4881 DECLARE_LEAF_CLASS(AsmOperandList);
4882 IS_SERIALIZABLE(AsmOperandList);
4884 #ifdef DOCUMENTATION
4887 #endif // DOCUMENTATION
4889 #ifndef DOCUMENTATION
4890 AsmOperandList.setDataPrototype(
4891 "SgAsmExpressionPtrList",
"operands",
"",
4892 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4893 #endif // !DOCUMENTATION
4895 DECLARE_OTHERS(AsmOperandList);
4896 #if defined(SgAsmOperandList_OTHERS) || defined(DOCUMENTATION)
4899 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4901 friend class boost::serialization::access;
4904 void serialize(S &s,
const unsigned ) {
4906 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
4907 s & BOOST_SERIALIZATION_NVP(p_operands);
4910 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
4942 #endif // SgAsmOperandList_OTHERS
4943 #ifdef DOCUMENTATION
4945 #endif // DOCUMENTATION
4952 DECLARE_LEAF_CLASS(AsmNullInstruction);
4953 IS_SERIALIZABLE(AsmNullInstruction);
4955 #ifdef DOCUMENTATION
4957 #endif // DOCUMENTATION
4959 DECLARE_OTHERS(AsmNullInstruction);
4960 #if defined(SgAsmNullInstruction_OTHERS) || defined(DOCUMENTATION)
4963 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4965 friend class boost::serialization::access;
4968 void serialize(S &s,
const unsigned ) {
4973 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
4976 enum Kind { null_unknown };
4981 rose_addr_t *target, rose_addr_t *ret)
override;
4983 rose_addr_t *target, rose_addr_t *ret)
override;
4992 virtual bool isUnknown()
const override;
5005 std::string
const& mnemonic);
5015 #endif // SgAsmNullInstruction_OTHERS
5016 #ifdef DOCUMENTATION
5018 #endif // DOCUMENTATION
5025 DECLARE_LEAF_CLASS(AsmNEStringTable);
5026 IS_SERIALIZABLE(AsmNEStringTable);
5028 #ifdef DOCUMENTATION
5030 #endif // DOCUMENTATION
5032 DECLARE_OTHERS(AsmNEStringTable);
5033 #if defined(SgAsmNEStringTable_OTHERS) || defined(DOCUMENTATION)
5036 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5038 friend class boost::serialization::access;
5041 void serialize(S &s,
const unsigned ) {
5046 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
5049 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5050 std::string get_string(rose_addr_t offset);
5067 #endif // SgAsmNEStringTable_OTHERS
5068 #ifdef DOCUMENTATION
5070 #endif // DOCUMENTATION
5077 DECLARE_LEAF_CLASS(AsmNESectionTable);
5078 IS_SERIALIZABLE(AsmNESectionTable);
5080 #ifdef DOCUMENTATION
5082 #endif // DOCUMENTATION
5084 #ifndef DOCUMENTATION
5085 AsmNESectionTable.setDataPrototype(
5086 "unsigned",
"flags",
"= 0",
5087 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5088 #endif // !DOCUMENTATION
5090 #ifndef DOCUMENTATION
5091 AsmNESectionTable.setDataPrototype(
5092 "unsigned",
"sector",
"= 0",
5093 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5094 #endif // !DOCUMENTATION
5096 #ifndef DOCUMENTATION
5097 AsmNESectionTable.setDataPrototype(
5098 "rose_addr_t",
"physical_size",
"= 0",
5099 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5100 #endif // !DOCUMENTATION
5102 #ifndef DOCUMENTATION
5103 AsmNESectionTable.setDataPrototype(
5104 "rose_addr_t",
"virtual_size",
"= 0",
5105 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5106 #endif // !DOCUMENTATION
5108 DECLARE_OTHERS(AsmNESectionTable);
5109 #if defined(SgAsmNESectionTable_OTHERS) || defined(DOCUMENTATION)
5112 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5114 friend class boost::serialization::access;
5117 void serialize(S &s,
const unsigned ) {
5120 s & BOOST_SERIALIZATION_NVP(p_flags);
5121 s & BOOST_SERIALIZATION_NVP(p_sector);
5122 s & BOOST_SERIALIZATION_NVP(p_physical_size);
5123 s & BOOST_SERIALIZATION_NVP(p_virtual_size);
5126 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
5129 unsigned const& get_flags()
const;
5130 void set_flags(
unsigned const&);
5133 unsigned const& get_sector()
const;
5134 void set_sector(
unsigned const&);
5137 rose_addr_t
const& get_physical_size()
const;
5138 void set_physical_size(rose_addr_t
const&);
5141 rose_addr_t
const& get_virtual_size()
const;
5142 void set_virtual_size(rose_addr_t
const&);
5145 virtual void unparse(std::ostream&)
const override;
5146 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5163 #endif // SgAsmNESectionTable_OTHERS
5164 #ifdef DOCUMENTATION
5166 #endif // DOCUMENTATION
5173 DECLARE_LEAF_CLASS(AsmNESectionTableEntry);
5174 IS_SERIALIZABLE(AsmNESectionTableEntry);
5176 #ifdef DOCUMENTATION
5178 #endif // DOCUMENTATION
5180 #ifndef DOCUMENTATION
5181 AsmNESectionTableEntry.setDataPrototype(
5182 "unsigned",
"flags",
"= 0",
5183 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5184 #endif // !DOCUMENTATION
5186 #ifndef DOCUMENTATION
5187 AsmNESectionTableEntry.setDataPrototype(
5188 "unsigned",
"sector",
"= 0",
5189 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5190 #endif // !DOCUMENTATION
5192 #ifndef DOCUMENTATION
5193 AsmNESectionTableEntry.setDataPrototype(
5194 "rose_addr_t",
"physical_size",
"= 0",
5195 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5196 #endif // !DOCUMENTATION
5198 #ifndef DOCUMENTATION
5199 AsmNESectionTableEntry.setDataPrototype(
5200 "rose_addr_t",
"virtual_size",
"= 0",
5201 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5202 #endif // !DOCUMENTATION
5204 DECLARE_OTHERS(AsmNESectionTableEntry);
5205 #if defined(SgAsmNESectionTableEntry_OTHERS) || defined(DOCUMENTATION)
5208 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5210 friend class boost::serialization::access;
5213 void serialize(S &s,
const unsigned ) {
5216 s & BOOST_SERIALIZATION_NVP(p_flags);
5217 s & BOOST_SERIALIZATION_NVP(p_sector);
5218 s & BOOST_SERIALIZATION_NVP(p_physical_size);
5219 s & BOOST_SERIALIZATION_NVP(p_virtual_size);
5222 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
5233 uint16_t physical_size;
5235 uint16_t virtual_size;
5240 __attribute__((packed))
5248 enum NESectionFlags {
5249 SF_RESERVED = 0x0e08,
5251 SF_TYPE_MASK = 0x0007,
5257 SF_MOVABLE = 0x0010,
5259 SF_PRELOAD = 0x0040,
5260 SF_NOT_WRITABLE = 0x0080,
5261 SF_RELOCINFO = 0x0100,
5262 SF_DISCARDABLE = 0x1000,
5270 unsigned const& get_flags()
const;
5271 void set_flags(
unsigned const&);
5274 unsigned const& get_sector()
const;
5275 void set_sector(
unsigned const&);
5278 rose_addr_t
const& get_physical_size()
const;
5279 void set_physical_size(rose_addr_t
const&);
5282 rose_addr_t
const& get_virtual_size()
const;
5283 void set_virtual_size(rose_addr_t
const&);
5290 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const {dump(f, prefix, idx, NULL);}
5291 void dump(FILE*,
const char *prefix, ssize_t idx,
SgAsmNEFileHeader *fhdr)
const;
5308 #endif // SgAsmNESectionTableEntry_OTHERS
5309 #ifdef DOCUMENTATION
5311 #endif // DOCUMENTATION
5318 DECLARE_LEAF_CLASS(AsmNESection);
5319 IS_SERIALIZABLE(AsmNESection);
5321 #ifdef DOCUMENTATION
5323 #endif // DOCUMENTATION
5325 #ifndef DOCUMENTATION
5326 AsmNESection.setDataPrototype(
5327 "SgAsmNESectionTableEntry*",
"st_entry",
"= nullptr",
5328 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5329 #endif // !DOCUMENTATION
5331 #ifndef DOCUMENTATION
5332 AsmNESection.setDataPrototype(
5333 "SgAsmNERelocTable*",
"reloc_table",
"= nullptr",
5334 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5335 #endif // !DOCUMENTATION
5337 DECLARE_OTHERS(AsmNESection);
5338 #if defined(SgAsmNESection_OTHERS) || defined(DOCUMENTATION)
5341 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5343 friend class boost::serialization::access;
5346 void serialize(S &s,
const unsigned ) {
5349 s & BOOST_SERIALIZATION_NVP(p_st_entry);
5350 s & BOOST_SERIALIZATION_NVP(p_reloc_table);
5353 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
5364 virtual void unparse(std::ostream&)
const override;
5365 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5382 #endif // SgAsmNESection_OTHERS
5383 #ifdef DOCUMENTATION
5385 #endif // DOCUMENTATION
5392 DECLARE_LEAF_CLASS(AsmNERelocTable);
5393 IS_SERIALIZABLE(AsmNERelocTable);
5395 #ifdef DOCUMENTATION
5397 #endif // DOCUMENTATION
5399 #ifndef DOCUMENTATION
5400 AsmNERelocTable.setDataPrototype(
5401 "SgAsmNERelocEntryPtrList",
"entries",
"",
5402 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5403 #endif // !DOCUMENTATION
5405 DECLARE_OTHERS(AsmNERelocTable);
5406 #if defined(SgAsmNERelocTable_OTHERS) || defined(DOCUMENTATION)
5409 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5411 friend class boost::serialization::access;
5414 void serialize(S &s,
const unsigned ) {
5417 s & BOOST_SERIALIZATION_NVP(p_entries);
5420 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
5423 SgAsmNERelocEntryPtrList
const& get_entries()
const;
5424 SgAsmNERelocEntryPtrList& get_entries();
5425 void set_entries(SgAsmNERelocEntryPtrList
const&);
5428 virtual void unparse(std::ostream&)
const override;
5429 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5446 #endif // SgAsmNERelocTable_OTHERS
5447 #ifdef DOCUMENTATION
5449 #endif // DOCUMENTATION
5456 DECLARE_LEAF_CLASS(AsmNERelocEntry);
5457 IS_SERIALIZABLE(AsmNERelocEntry);
5459 #ifdef DOCUMENTATION
5461 #endif // DOCUMENTATION
5463 #ifndef DOCUMENTATION
5464 AsmNERelocEntry.setDataPrototype(
5465 "SgAsmNERelocEntry::NERelocSrcType",
"src_type",
"= SgAsmNERelocEntry::RF_SRCTYPE_8OFF",
5466 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5467 #endif // !DOCUMENTATION
5469 #ifndef DOCUMENTATION
5470 AsmNERelocEntry.setDataPrototype(
5471 "SgAsmNERelocEntry::NERelocModifiers",
"modifier",
"= SgAsmNERelocEntry::RF_MODIFIER_SINGLE",
5472 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5473 #endif // !DOCUMENTATION
5475 #ifndef DOCUMENTATION
5476 AsmNERelocEntry.setDataPrototype(
5477 "SgAsmNERelocEntry::NERelocTgtType",
"tgt_type",
"= SgAsmNERelocEntry::RF_TGTTYPE_IREF",
5478 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5479 #endif // !DOCUMENTATION
5481 #ifndef DOCUMENTATION
5482 AsmNERelocEntry.setDataPrototype(
5483 "SgAsmNERelocEntry::NERelocFlags",
"flags",
"= SgAsmNERelocEntry::RF_ADDITIVE",
5484 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5485 #endif // !DOCUMENTATION
5487 #ifndef DOCUMENTATION
5488 AsmNERelocEntry.setDataPrototype(
5489 "rose_addr_t",
"src_offset",
"= 0",
5490 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5491 #endif // !DOCUMENTATION
5493 #ifndef DOCUMENTATION
5494 AsmNERelocEntry.setDataPrototype(
5495 "SgAsmNERelocEntry::iref_type",
"iref",
"",
5496 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5497 #endif // !DOCUMENTATION
5499 #ifndef DOCUMENTATION
5500 AsmNERelocEntry.setDataPrototype(
5501 "SgAsmNERelocEntry::iord_type",
"iord",
"",
5502 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5503 #endif // !DOCUMENTATION
5505 #ifndef DOCUMENTATION
5506 AsmNERelocEntry.setDataPrototype(
5507 "SgAsmNERelocEntry::iname_type",
"iname",
"",
5508 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5509 #endif // !DOCUMENTATION
5511 #ifndef DOCUMENTATION
5512 AsmNERelocEntry.setDataPrototype(
5513 "SgAsmNERelocEntry::osfixup_type",
"osfixup",
"",
5514 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5515 #endif // !DOCUMENTATION
5517 DECLARE_OTHERS(AsmNERelocEntry);
5518 #if defined(SgAsmNERelocEntry_OTHERS) || defined(DOCUMENTATION)
5521 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5523 friend class boost::serialization::access;
5526 void serialize(S &s,
const unsigned ) {
5529 s & BOOST_SERIALIZATION_NVP(p_src_type);
5530 s & BOOST_SERIALIZATION_NVP(p_modifier);
5531 s & BOOST_SERIALIZATION_NVP(p_tgt_type);
5532 s & BOOST_SERIALIZATION_NVP(p_flags);
5533 s & BOOST_SERIALIZATION_NVP(p_src_offset);
5534 s & BOOST_SERIALIZATION_NVP(p_iref);
5535 s & BOOST_SERIALIZATION_NVP(p_iord);
5536 s & BOOST_SERIALIZATION_NVP(p_iname);
5537 s & BOOST_SERIALIZATION_NVP(p_osfixup);
5540 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
5547 enum NERelocSrcType {
5548 RF_SRCTYPE_8OFF = 0,
5549 RF_SRCTYPE_WORDSEG = 2,
5550 RF_SRCTYPE_16PTR = 3,
5551 RF_SRCTYPE_16OFF = 5,
5552 RF_SRCTYPE_32PTR = 6,
5553 RF_SRCTYPE_32OFF = 7,
5554 RF_SRCTYPE_NEARCALL = 8,
5555 RF_SRCTYPE_48PTR = 11,
5556 RF_SRCTYPE_32OFF_b = 13
5559 enum NERelocTgtType {
5560 RF_TGTTYPE_IREF = 0,
5561 RF_TGTTYPE_IORD = 1,
5562 RF_TGTTYPE_INAME = 2,
5563 RF_TGTTYPE_OSFIXUP = 3
5566 enum NERelocModifiers {
5567 RF_MODIFIER_SINGLE = 1,
5568 RF_MODIFIER_MULTI = 3
5576 RF_16SECTION = 0x10,
5586 rose_addr_t tgt_offset;
5588 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5590 void serialize(S &s,
const unsigned ) {
5591 s & BOOST_SERIALIZATION_NVP(sect_idx);
5592 s & BOOST_SERIALIZATION_NVP(res1);
5593 s & BOOST_SERIALIZATION_NVP(tgt_offset);
5598 friend std::ostream & operator<< ( std::ostream & os,
const iref_type & x );
5608 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5610 void serialize(S &s,
const unsigned ) {
5611 s & BOOST_SERIALIZATION_NVP(modref);
5612 s & BOOST_SERIALIZATION_NVP(ordinal);
5613 s & BOOST_SERIALIZATION_NVP(addend);
5618 friend std::ostream & operator<< ( std::ostream & os,
const iord_type & x );
5628 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5630 void serialize(S &s,
const unsigned ) {
5631 s & BOOST_SERIALIZATION_NVP(modref);
5632 s & BOOST_SERIALIZATION_NVP(nm_off);
5633 s & BOOST_SERIALIZATION_NVP(addend);
5638 friend std::ostream & operator<< ( std::ostream & os,
const iname_type & x );
5647 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5649 void serialize(S &s,
const unsigned ) {
5650 s & BOOST_SERIALIZATION_NVP(type);
5651 s & BOOST_SERIALIZATION_NVP(res3);
5656 friend std::ostream & operator<< ( std::ostream & os,
const osfixup_type & x );
5665 SgAsmNERelocEntry::NERelocSrcType
const& get_src_type()
const;
5666 void set_src_type(SgAsmNERelocEntry::NERelocSrcType
const&);
5669 SgAsmNERelocEntry::NERelocModifiers
const& get_modifier()
const;
5670 void set_modifier(SgAsmNERelocEntry::NERelocModifiers
const&);
5673 SgAsmNERelocEntry::NERelocTgtType
const& get_tgt_type()
const;
5674 void set_tgt_type(SgAsmNERelocEntry::NERelocTgtType
const&);
5677 SgAsmNERelocEntry::NERelocFlags
const& get_flags()
const;
5678 void set_flags(SgAsmNERelocEntry::NERelocFlags
const&);
5681 rose_addr_t
const& get_src_offset()
const;
5682 void set_src_offset(rose_addr_t
const&);
5705 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
5722 #endif // SgAsmNERelocEntry_OTHERS
5723 #ifdef DOCUMENTATION
5725 #endif // DOCUMENTATION
5732 DECLARE_LEAF_CLASS(AsmNENameTable);
5733 IS_SERIALIZABLE(AsmNENameTable);
5735 #ifdef DOCUMENTATION
5737 #endif // DOCUMENTATION
5739 #ifndef DOCUMENTATION
5740 AsmNENameTable.setDataPrototype(
5741 "SgStringList",
"names",
"",
5742 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5743 #endif // !DOCUMENTATION
5745 #ifndef DOCUMENTATION
5746 AsmNENameTable.setDataPrototype(
5747 "SgUnsignedList",
"ordinals",
"",
5748 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5749 #endif // !DOCUMENTATION
5751 DECLARE_OTHERS(AsmNENameTable);
5752 #if defined(SgAsmNENameTable_OTHERS) || defined(DOCUMENTATION)
5755 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5757 friend class boost::serialization::access;
5760 void serialize(S &s,
const unsigned ) {
5763 s & BOOST_SERIALIZATION_NVP(p_names);
5764 s & BOOST_SERIALIZATION_NVP(p_ordinals);
5767 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
5770 SgStringList
const& get_names()
const;
5771 void set_names(SgStringList
const&);
5774 SgUnsignedList
const& get_ordinals()
const;
5775 void set_ordinals(SgUnsignedList
const&);
5778 virtual void unparse(std::ostream&)
const override;
5779 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5780 std::vector<std::string> get_names_by_ordinal(
unsigned ordinal);
5797 #endif // SgAsmNENameTable_OTHERS
5798 #ifdef DOCUMENTATION
5800 #endif // DOCUMENTATION
5807 DECLARE_LEAF_CLASS(AsmNEModuleTable);
5808 IS_SERIALIZABLE(AsmNEModuleTable);
5810 #ifdef DOCUMENTATION
5812 #endif // DOCUMENTATION
5814 #ifndef DOCUMENTATION
5815 AsmNEModuleTable.setDataPrototype(
5816 "SgAsmNEStringTable*",
"strtab",
"= nullptr",
5817 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5818 #endif // !DOCUMENTATION
5820 #ifndef DOCUMENTATION
5821 AsmNEModuleTable.setDataPrototype(
5822 "SgAddressList",
"name_offsets",
"",
5823 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5824 #endif // !DOCUMENTATION
5826 #ifndef DOCUMENTATION
5827 AsmNEModuleTable.setDataPrototype(
5828 "SgStringList",
"names",
"",
5829 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5830 #endif // !DOCUMENTATION
5832 DECLARE_OTHERS(AsmNEModuleTable);
5833 #if defined(SgAsmNEModuleTable_OTHERS) || defined(DOCUMENTATION)
5836 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5838 friend class boost::serialization::access;
5841 void serialize(S &s,
const unsigned ) {
5844 s & BOOST_SERIALIZATION_NVP(p_strtab);
5845 s & BOOST_SERIALIZATION_NVP(p_name_offsets);
5846 s & BOOST_SERIALIZATION_NVP(p_names);
5849 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
5856 SgAddressList
const& get_name_offsets()
const;
5857 void set_name_offsets(SgAddressList
const&);
5860 SgStringList
const& get_names()
const;
5861 void set_names(SgStringList
const&);
5864 virtual void unparse(std::ostream&)
const override;
5865 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5882 #endif // SgAsmNEModuleTable_OTHERS
5883 #ifdef DOCUMENTATION
5885 #endif // DOCUMENTATION
5892 DECLARE_LEAF_CLASS(AsmNEFileHeader);
5893 IS_SERIALIZABLE(AsmNEFileHeader);
5895 #ifdef DOCUMENTATION
5897 #endif // DOCUMENTATION
5899 #ifndef DOCUMENTATION
5900 AsmNEFileHeader.setDataPrototype(
5901 "unsigned",
"e_linker_major",
"= 0",
5902 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5903 #endif // !DOCUMENTATION
5905 #ifndef DOCUMENTATION
5906 AsmNEFileHeader.setDataPrototype(
5907 "unsigned",
"e_linker_minor",
"= 0",
5908 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5909 #endif // !DOCUMENTATION
5911 #ifndef DOCUMENTATION
5912 AsmNEFileHeader.setDataPrototype(
5913 "unsigned",
"e_checksum",
"= 0",
5914 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5915 #endif // !DOCUMENTATION
5917 #ifndef DOCUMENTATION
5918 AsmNEFileHeader.setDataPrototype(
5919 "unsigned",
"e_flags1",
"= 0",
5920 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5921 #endif // !DOCUMENTATION
5923 #ifndef DOCUMENTATION
5924 AsmNEFileHeader.setDataPrototype(
5925 "unsigned",
"e_autodata_sn",
"= 0",
5926 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5927 #endif // !DOCUMENTATION
5929 #ifndef DOCUMENTATION
5930 AsmNEFileHeader.setDataPrototype(
5931 "unsigned",
"e_bss_size",
"= 0",
5932 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5933 #endif // !DOCUMENTATION
5935 #ifndef DOCUMENTATION
5936 AsmNEFileHeader.setDataPrototype(
5937 "unsigned",
"e_stack_size",
"= 0",
5938 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5939 #endif // !DOCUMENTATION
5941 #ifndef DOCUMENTATION
5942 AsmNEFileHeader.setDataPrototype(
5943 "unsigned",
"e_csip",
"= 0",
5944 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5945 #endif // !DOCUMENTATION
5947 #ifndef DOCUMENTATION
5948 AsmNEFileHeader.setDataPrototype(
5949 "unsigned",
"e_sssp",
"= 0",
5950 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5951 #endif // !DOCUMENTATION
5953 #ifndef DOCUMENTATION
5954 AsmNEFileHeader.setDataPrototype(
5955 "unsigned",
"e_nsections",
"= 0",
5956 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5957 #endif // !DOCUMENTATION
5959 #ifndef DOCUMENTATION
5960 AsmNEFileHeader.setDataPrototype(
5961 "unsigned",
"e_nmodrefs",
"= 0",
5962 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5963 #endif // !DOCUMENTATION
5965 #ifndef DOCUMENTATION
5966 AsmNEFileHeader.setDataPrototype(
5967 "unsigned",
"e_nnonresnames",
"= 0",
5968 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5969 #endif // !DOCUMENTATION
5971 #ifndef DOCUMENTATION
5972 AsmNEFileHeader.setDataPrototype(
5973 "unsigned",
"e_nmovable_entries",
"= 0",
5974 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5975 #endif // !DOCUMENTATION
5977 #ifndef DOCUMENTATION
5978 AsmNEFileHeader.setDataPrototype(
5979 "unsigned",
"e_sector_align",
"= 0",
5980 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5981 #endif // !DOCUMENTATION
5983 #ifndef DOCUMENTATION
5984 AsmNEFileHeader.setDataPrototype(
5985 "unsigned",
"e_nresources",
"= 0",
5986 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5987 #endif // !DOCUMENTATION
5989 #ifndef DOCUMENTATION
5990 AsmNEFileHeader.setDataPrototype(
5991 "unsigned",
"e_exetype",
"= 0",
5992 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5993 #endif // !DOCUMENTATION
5995 #ifndef DOCUMENTATION
5996 AsmNEFileHeader.setDataPrototype(
5997 "unsigned",
"e_flags2",
"= 0",
5998 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5999 #endif // !DOCUMENTATION
6001 #ifndef DOCUMENTATION
6002 AsmNEFileHeader.setDataPrototype(
6003 "unsigned",
"e_res1",
"= 0",
6004 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6005 #endif // !DOCUMENTATION
6007 #ifndef DOCUMENTATION
6008 AsmNEFileHeader.setDataPrototype(
6009 "unsigned",
"e_winvers",
"= 0",
6010 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6011 #endif // !DOCUMENTATION
6013 #ifndef DOCUMENTATION
6014 AsmNEFileHeader.setDataPrototype(
6015 "rose_addr_t",
"e_entrytab_rfo",
"= 0",
6016 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6017 #endif // !DOCUMENTATION
6019 #ifndef DOCUMENTATION
6020 AsmNEFileHeader.setDataPrototype(
6021 "rose_addr_t",
"e_entrytab_size",
"= 0",
6022 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6023 #endif // !DOCUMENTATION
6025 #ifndef DOCUMENTATION
6026 AsmNEFileHeader.setDataPrototype(
6027 "rose_addr_t",
"e_sectab_rfo",
"= 0",
6028 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6029 #endif // !DOCUMENTATION
6031 #ifndef DOCUMENTATION
6032 AsmNEFileHeader.setDataPrototype(
6033 "rose_addr_t",
"e_rsrctab_rfo",
"= 0",
6034 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6035 #endif // !DOCUMENTATION
6037 #ifndef DOCUMENTATION
6038 AsmNEFileHeader.setDataPrototype(
6039 "rose_addr_t",
"e_resnametab_rfo",
"= 0",
6040 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6041 #endif // !DOCUMENTATION
6043 #ifndef DOCUMENTATION
6044 AsmNEFileHeader.setDataPrototype(
6045 "rose_addr_t",
"e_modreftab_rfo",
"= 0",
6046 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6047 #endif // !DOCUMENTATION
6049 #ifndef DOCUMENTATION
6050 AsmNEFileHeader.setDataPrototype(
6051 "rose_addr_t",
"e_importnametab_rfo",
"= 0",
6052 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6053 #endif // !DOCUMENTATION
6055 #ifndef DOCUMENTATION
6056 AsmNEFileHeader.setDataPrototype(
6057 "rose_addr_t",
"e_nonresnametab_offset",
"= 0",
6058 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6059 #endif // !DOCUMENTATION
6061 #ifndef DOCUMENTATION
6062 AsmNEFileHeader.setDataPrototype(
6063 "rose_addr_t",
"e_fastload_sector",
"= 0",
6064 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6065 #endif // !DOCUMENTATION
6067 #ifndef DOCUMENTATION
6068 AsmNEFileHeader.setDataPrototype(
6069 "rose_addr_t",
"e_fastload_nsectors",
"= 0",
6070 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6071 #endif // !DOCUMENTATION
6073 #ifndef DOCUMENTATION
6074 AsmNEFileHeader.setDataPrototype(
6075 "SgAsmDOSExtendedHeader*",
"dos2_header",
"= nullptr",
6076 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6077 #endif // !DOCUMENTATION
6079 #ifndef DOCUMENTATION
6080 AsmNEFileHeader.setDataPrototype(
6081 "SgAsmNESectionTable*",
"section_table",
"= nullptr",
6082 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6083 #endif // !DOCUMENTATION
6085 #ifndef DOCUMENTATION
6086 AsmNEFileHeader.setDataPrototype(
6087 "SgAsmNENameTable*",
"resname_table",
"= nullptr",
6088 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6089 #endif // !DOCUMENTATION
6091 #ifndef DOCUMENTATION
6092 AsmNEFileHeader.setDataPrototype(
6093 "SgAsmNENameTable*",
"nonresname_table",
"= nullptr",
6094 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6095 #endif // !DOCUMENTATION
6097 #ifndef DOCUMENTATION
6098 AsmNEFileHeader.setDataPrototype(
6099 "SgAsmNEModuleTable*",
"module_table",
"= nullptr",
6100 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6101 #endif // !DOCUMENTATION
6103 #ifndef DOCUMENTATION
6104 AsmNEFileHeader.setDataPrototype(
6105 "SgAsmNEEntryTable*",
"entry_table",
"= nullptr",
6106 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6107 #endif // !DOCUMENTATION
6109 DECLARE_OTHERS(AsmNEFileHeader);
6110 #if defined(SgAsmNEFileHeader_OTHERS) || defined(DOCUMENTATION)
6113 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6115 friend class boost::serialization::access;
6118 void serialize(S &s,
const unsigned ) {
6121 s & BOOST_SERIALIZATION_NVP(p_e_linker_major);
6122 s & BOOST_SERIALIZATION_NVP(p_e_linker_minor);
6123 s & BOOST_SERIALIZATION_NVP(p_e_checksum);
6124 s & BOOST_SERIALIZATION_NVP(p_e_flags1);
6125 s & BOOST_SERIALIZATION_NVP(p_e_autodata_sn);
6126 s & BOOST_SERIALIZATION_NVP(p_e_bss_size);
6127 s & BOOST_SERIALIZATION_NVP(p_e_stack_size);
6128 s & BOOST_SERIALIZATION_NVP(p_e_csip);
6129 s & BOOST_SERIALIZATION_NVP(p_e_sssp);
6130 s & BOOST_SERIALIZATION_NVP(p_e_nsections);
6131 s & BOOST_SERIALIZATION_NVP(p_e_nmodrefs);
6132 s & BOOST_SERIALIZATION_NVP(p_e_nnonresnames);
6133 s & BOOST_SERIALIZATION_NVP(p_e_nmovable_entries);
6134 s & BOOST_SERIALIZATION_NVP(p_e_sector_align);
6135 s & BOOST_SERIALIZATION_NVP(p_e_nresources);
6136 s & BOOST_SERIALIZATION_NVP(p_e_exetype);
6137 s & BOOST_SERIALIZATION_NVP(p_e_flags2);
6138 s & BOOST_SERIALIZATION_NVP(p_e_res1);
6139 s & BOOST_SERIALIZATION_NVP(p_e_winvers);
6140 s & BOOST_SERIALIZATION_NVP(p_e_entrytab_rfo);
6141 s & BOOST_SERIALIZATION_NVP(p_e_entrytab_size);
6142 s & BOOST_SERIALIZATION_NVP(p_e_sectab_rfo);
6143 s & BOOST_SERIALIZATION_NVP(p_e_rsrctab_rfo);
6144 s & BOOST_SERIALIZATION_NVP(p_e_resnametab_rfo);
6145 s & BOOST_SERIALIZATION_NVP(p_e_modreftab_rfo);
6146 s & BOOST_SERIALIZATION_NVP(p_e_importnametab_rfo);
6147 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_offset);
6148 s & BOOST_SERIALIZATION_NVP(p_e_fastload_sector);
6149 s & BOOST_SERIALIZATION_NVP(p_e_fastload_nsectors);
6150 s & BOOST_SERIALIZATION_NVP(p_dos2_header);
6151 s & BOOST_SERIALIZATION_NVP(p_section_table);
6152 s & BOOST_SERIALIZATION_NVP(p_resname_table);
6153 s & BOOST_SERIALIZATION_NVP(p_nonresname_table);
6154 s & BOOST_SERIALIZATION_NVP(p_module_table);
6155 s & BOOST_SERIALIZATION_NVP(p_entry_table);
6158 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
6174 unsigned char e_magic[2];
6175 unsigned char e_linker_major;
6176 unsigned char e_linker_minor;
6177 uint16_t e_entrytab_rfo;
6178 uint16_t e_entrytab_size;
6179 uint32_t e_checksum;
6181 uint16_t e_autodata_sn;
6182 uint16_t e_bss_size;
6183 uint16_t e_stack_size;
6186 uint16_t e_nsections;
6187 uint16_t e_nmodrefs;
6188 uint16_t e_nnonresnames;
6189 uint16_t e_sectab_rfo;
6190 uint16_t e_rsrctab_rfo;
6191 uint16_t e_resnametab_rfo;
6192 uint16_t e_modreftab_rfo;
6193 uint16_t e_importnametab_rfo;
6194 uint32_t e_nonresnametab_offset;
6195 uint16_t e_nmovable_entries;
6196 uint16_t e_sector_align;
6197 uint16_t e_nresources;
6198 unsigned char e_exetype;
6199 unsigned char e_flags2;
6200 uint16_t e_fastload_sector;
6201 uint16_t e_fastload_nsectors;
6208 __attribute__((packed))
6222 HF1_RESERVED = 0x57f4,
6223 HF1_NO_DATA = 0x0000,
6224 HF1_SINGLE_DATA = 0x0001,
6225 HF1_MULTIPLE_DATA = 0x0002,
6226 HF1_LOADER_SEGMENT = 0x0800,
6227 HF1_FATAL_ERRORS = 0x2000,
6228 HF1_LIBRARY = 0x8000
6233 HF2_RESERVED = 0xf1,
6234 HF2_PROTECTED_MODE = 0x02,
6243 unsigned const& get_e_linker_major()
const;
6244 void set_e_linker_major(
unsigned const&);
6247 unsigned const& get_e_linker_minor()
const;
6248 void set_e_linker_minor(
unsigned const&);
6251 unsigned const& get_e_checksum()
const;
6252 void set_e_checksum(
unsigned const&);
6255 unsigned const& get_e_flags1()
const;
6256 void set_e_flags1(
unsigned const&);
6259 unsigned const& get_e_autodata_sn()
const;
6260 void set_e_autodata_sn(
unsigned const&);
6263 unsigned const& get_e_bss_size()
const;
6264 void set_e_bss_size(
unsigned const&);
6267 unsigned const& get_e_stack_size()
const;
6268 void set_e_stack_size(
unsigned const&);
6271 unsigned const& get_e_csip()
const;
6272 void set_e_csip(
unsigned const&);
6275 unsigned const& get_e_sssp()
const;
6276 void set_e_sssp(
unsigned const&);
6279 unsigned const& get_e_nsections()
const;
6280 void set_e_nsections(
unsigned const&);
6283 unsigned const& get_e_nmodrefs()
const;
6284 void set_e_nmodrefs(
unsigned const&);
6287 unsigned const& get_e_nnonresnames()
const;
6288 void set_e_nnonresnames(
unsigned const&);
6291 unsigned const& get_e_nmovable_entries()
const;
6292 void set_e_nmovable_entries(
unsigned const&);
6295 unsigned const& get_e_sector_align()
const;
6296 void set_e_sector_align(
unsigned const&);
6299 unsigned const& get_e_nresources()
const;
6300 void set_e_nresources(
unsigned const&);
6303 unsigned const& get_e_exetype()
const;
6304 void set_e_exetype(
unsigned const&);
6307 unsigned const& get_e_flags2()
const;
6308 void set_e_flags2(
unsigned const&);
6311 unsigned const& get_e_res1()
const;
6312 void set_e_res1(
unsigned const&);
6315 unsigned const& get_e_winvers()
const;
6316 void set_e_winvers(
unsigned const&);
6319 rose_addr_t
const& get_e_entrytab_rfo()
const;
6320 void set_e_entrytab_rfo(rose_addr_t
const&);
6323 rose_addr_t
const& get_e_entrytab_size()
const;
6324 void set_e_entrytab_size(rose_addr_t
const&);
6327 rose_addr_t
const& get_e_sectab_rfo()
const;
6328 void set_e_sectab_rfo(rose_addr_t
const&);
6331 rose_addr_t
const& get_e_rsrctab_rfo()
const;
6332 void set_e_rsrctab_rfo(rose_addr_t
const&);
6335 rose_addr_t
const& get_e_resnametab_rfo()
const;
6336 void set_e_resnametab_rfo(rose_addr_t
const&);
6339 rose_addr_t
const& get_e_modreftab_rfo()
const;
6340 void set_e_modreftab_rfo(rose_addr_t
const&);
6343 rose_addr_t
const& get_e_importnametab_rfo()
const;
6344 void set_e_importnametab_rfo(rose_addr_t
const&);
6347 rose_addr_t
const& get_e_nonresnametab_offset()
const;
6348 void set_e_nonresnametab_offset(rose_addr_t
const&);
6351 rose_addr_t
const& get_e_fastload_sector()
const;
6352 void set_e_fastload_sector(rose_addr_t
const&);
6355 rose_addr_t
const& get_e_fastload_nsectors()
const;
6356 void set_e_fastload_nsectors(rose_addr_t
const&);
6389 virtual void unparse(std::ostream&)
const override;
6391 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
6411 #endif // SgAsmNEFileHeader_OTHERS
6412 #ifdef DOCUMENTATION
6414 #endif // DOCUMENTATION
6421 DECLARE_LEAF_CLASS(AsmNEEntryTable);
6422 IS_SERIALIZABLE(AsmNEEntryTable);
6424 #ifdef DOCUMENTATION
6426 #endif // DOCUMENTATION
6428 #ifndef DOCUMENTATION
6429 AsmNEEntryTable.setDataPrototype(
6430 "SgSizeTList",
"bundle_sizes",
"",
6431 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6432 #endif // !DOCUMENTATION
6434 #ifndef DOCUMENTATION
6435 AsmNEEntryTable.setDataPrototype(
6436 "SgAsmNEEntryPointPtrList",
"entries",
"",
6437 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6438 #endif // !DOCUMENTATION
6440 DECLARE_OTHERS(AsmNEEntryTable);
6441 #if defined(SgAsmNEEntryTable_OTHERS) || defined(DOCUMENTATION)
6444 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6446 friend class boost::serialization::access;
6449 void serialize(S &s,
const unsigned ) {
6452 s & BOOST_SERIALIZATION_NVP(p_bundle_sizes);
6453 s & BOOST_SERIALIZATION_NVP(p_entries);
6456 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
6459 SgSizeTList
const& get_bundle_sizes()
const;
6460 void set_bundle_sizes(SgSizeTList
const&);
6463 SgAsmNEEntryPointPtrList
const& get_entries()
const;
6464 SgAsmNEEntryPointPtrList& get_entries();
6465 void set_entries(SgAsmNEEntryPointPtrList
const&);
6468 void populate_entries();
6469 virtual void unparse(std::ostream&)
const override;
6470 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
6487 #endif // SgAsmNEEntryTable_OTHERS
6488 #ifdef DOCUMENTATION
6490 #endif // DOCUMENTATION
6497 DECLARE_LEAF_CLASS(AsmNEEntryPoint);
6498 IS_SERIALIZABLE(AsmNEEntryPoint);
6500 #ifdef DOCUMENTATION
6502 #endif // DOCUMENTATION
6504 #ifndef DOCUMENTATION
6505 AsmNEEntryPoint.setDataPrototype(
6506 "SgAsmNEEntryPoint::NEEntryFlags",
"flags",
"= SgAsmNEEntryPoint::EF_ZERO",
6507 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6508 #endif // !DOCUMENTATION
6510 #ifndef DOCUMENTATION
6511 AsmNEEntryPoint.setDataPrototype(
6512 "unsigned",
"int3f",
"= 0",
6513 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6514 #endif // !DOCUMENTATION
6516 #ifndef DOCUMENTATION
6517 AsmNEEntryPoint.setDataPrototype(
6518 "unsigned",
"section_idx",
"= 0",
6519 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6520 #endif // !DOCUMENTATION
6522 #ifndef DOCUMENTATION
6523 AsmNEEntryPoint.setDataPrototype(
6524 "unsigned",
"section_offset",
"= 0",
6525 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6526 #endif // !DOCUMENTATION
6528 DECLARE_OTHERS(AsmNEEntryPoint);
6529 #if defined(SgAsmNEEntryPoint_OTHERS) || defined(DOCUMENTATION)
6532 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6534 friend class boost::serialization::access;
6537 void serialize(S &s,
const unsigned ) {
6540 s & BOOST_SERIALIZATION_NVP(p_flags);
6541 s & BOOST_SERIALIZATION_NVP(p_int3f);
6542 s & BOOST_SERIALIZATION_NVP(p_section_idx);
6543 s & BOOST_SERIALIZATION_NVP(p_section_offset);
6546 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
6562 SgAsmNEEntryPoint::NEEntryFlags
const& get_flags()
const;
6563 void set_flags(SgAsmNEEntryPoint::NEEntryFlags
const&);
6566 unsigned const& get_int3f()
const;
6567 void set_int3f(
unsigned const&);
6570 unsigned const& get_section_idx()
const;
6571 void set_section_idx(
unsigned const&);
6574 unsigned const& get_section_offset()
const;
6575 void set_section_offset(
unsigned const&);
6580 SgAsmNEEntryPoint(SgAsmNEEntryPoint::NEEntryFlags flags,
unsigned int3f,
unsigned s_idx,
unsigned s_off);
6581 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
6598 #endif // SgAsmNEEntryPoint_OTHERS
6599 #ifdef DOCUMENTATION
6601 #endif // DOCUMENTATION
6608 DECLARE_LEAF_CLASS(AsmMipsInstruction);
6609 IS_SERIALIZABLE(AsmMipsInstruction);
6611 DECLARE_HEADERS(AsmMipsInstruction);
6612 #if defined(SgAsmMipsInstruction_HEADERS) || defined(DOCUMENTATION)
6613 #include <Rose/BinaryAnalysis/InstructionEnumsMips.h>
6614 #endif // SgAsmMipsInstruction_HEADERS
6616 #ifdef DOCUMENTATION
6619 #endif // DOCUMENTATION
6621 #ifndef DOCUMENTATION
6622 AsmMipsInstruction.setDataPrototype(
6623 "Rose::BinaryAnalysis::MipsInstructionKind",
"kind",
"= Rose::BinaryAnalysis::mips_unknown_instruction",
6624 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6625 #endif // !DOCUMENTATION
6627 DECLARE_OTHERS(AsmMipsInstruction);
6628 #if defined(SgAsmMipsInstruction_OTHERS) || defined(DOCUMENTATION)
6631 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6633 friend class boost::serialization::access;
6636 void serialize(S &s,
const unsigned ) {
6639 s & BOOST_SERIALIZATION_NVP(p_kind);
6642 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
6659 rose_addr_t *target, rose_addr_t *ret)
override;
6661 rose_addr_t *target, rose_addr_t *ret)
override;
6665 virtual bool isUnknown()
const override;
6679 std::string
const& mnemonic,
6690 #endif // SgAsmMipsInstruction_OTHERS
6691 #ifdef DOCUMENTATION
6693 #endif // DOCUMENTATION
6700 DECLARE_LEAF_CLASS(AsmMemoryReferenceExpression);
6701 IS_SERIALIZABLE(AsmMemoryReferenceExpression);
6703 #ifdef DOCUMENTATION
6706 #endif // DOCUMENTATION
6708 #ifndef DOCUMENTATION
6709 AsmMemoryReferenceExpression.setDataPrototype(
6710 "SgAsmExpression*",
"address",
"= nullptr",
6711 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6712 #endif // !DOCUMENTATION
6714 #ifndef DOCUMENTATION
6715 AsmMemoryReferenceExpression.setDataPrototype(
6716 "SgAsmExpression*",
"segment",
"= nullptr",
6717 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6718 #endif // !DOCUMENTATION
6720 DECLARE_OTHERS(AsmMemoryReferenceExpression);
6721 #if defined(SgAsmMemoryReferenceExpression_OTHERS) || defined(DOCUMENTATION)
6724 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6726 friend class boost::serialization::access;
6729 void serialize(S &s,
const unsigned ) {
6732 s & BOOST_SERIALIZATION_NVP(p_address);
6733 s & BOOST_SERIALIZATION_NVP(p_segment);
6736 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
6783 #endif // SgAsmMemoryReferenceExpression_OTHERS
6784 #ifdef DOCUMENTATION
6786 #endif // DOCUMENTATION
6793 DECLARE_LEAF_CLASS(AsmM68kInstruction);
6794 IS_SERIALIZABLE(AsmM68kInstruction);
6796 DECLARE_HEADERS(AsmM68kInstruction);
6797 #if defined(SgAsmM68kInstruction_HEADERS) || defined(DOCUMENTATION)
6798 #include <Rose/BinaryAnalysis/InstructionEnumsM68k.h>
6799 #endif // SgAsmM68kInstruction_HEADERS
6801 #ifdef DOCUMENTATION
6803 #endif // DOCUMENTATION
6805 #ifndef DOCUMENTATION
6806 AsmM68kInstruction.setDataPrototype(
6807 "Rose::BinaryAnalysis::M68kInstructionKind",
"kind",
"= Rose::BinaryAnalysis::m68k_unknown_instruction",
6808 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6809 #endif // !DOCUMENTATION
6811 DECLARE_OTHERS(AsmM68kInstruction);
6812 #if defined(SgAsmM68kInstruction_OTHERS) || defined(DOCUMENTATION)
6815 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6817 friend class boost::serialization::access;
6820 void serialize(S &s,
const unsigned ) {
6823 s & BOOST_SERIALIZATION_NVP(p_kind);
6826 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
6843 rose_addr_t *target, rose_addr_t *ret)
override;
6845 rose_addr_t *target, rose_addr_t *ret)
override;
6854 virtual bool isUnknown()
const override;
6867 std::string
const& mnemonic,
6878 #endif // SgAsmM68kInstruction_OTHERS
6879 #ifdef DOCUMENTATION
6881 #endif // DOCUMENTATION
6888 DECLARE_LEAF_CLASS(AsmLESectionTable);
6889 IS_SERIALIZABLE(AsmLESectionTable);
6891 #ifdef DOCUMENTATION
6893 #endif // DOCUMENTATION
6895 DECLARE_OTHERS(AsmLESectionTable);
6896 #if defined(SgAsmLESectionTable_OTHERS) || defined(DOCUMENTATION)
6899 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6901 friend class boost::serialization::access;
6904 void serialize(S &s,
const unsigned ) {
6909 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
6912 virtual void unparse(std::ostream&)
const override;
6913 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
6930 #endif // SgAsmLESectionTable_OTHERS
6931 #ifdef DOCUMENTATION
6933 #endif // DOCUMENTATION
6940 DECLARE_LEAF_CLASS(AsmLESectionTableEntry);
6941 IS_SERIALIZABLE(AsmLESectionTableEntry);
6943 DECLARE_HEADERS(AsmLESectionTableEntry);
6944 #if defined(SgAsmLESectionTableEntry_HEADERS) || defined(DOCUMENTATION)
6945 #include <Rose/BinaryAnalysis/ByteOrder.h>
6946 #endif // SgAsmLESectionTableEntry_HEADERS
6948 #ifdef DOCUMENTATION
6950 #endif // DOCUMENTATION
6952 #ifndef DOCUMENTATION
6953 AsmLESectionTableEntry.setDataPrototype(
6954 "unsigned",
"flags",
"= 0",
6955 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6956 #endif // !DOCUMENTATION
6958 #ifndef DOCUMENTATION
6959 AsmLESectionTableEntry.setDataPrototype(
6960 "unsigned",
"pagemap_index",
"= 0",
6961 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6962 #endif // !DOCUMENTATION
6964 #ifndef DOCUMENTATION
6965 AsmLESectionTableEntry.setDataPrototype(
6966 "unsigned",
"pagemap_nentries",
"= 0",
6967 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6968 #endif // !DOCUMENTATION
6970 #ifndef DOCUMENTATION
6971 AsmLESectionTableEntry.setDataPrototype(
6972 "unsigned",
"res1",
"= 0",
6973 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6974 #endif // !DOCUMENTATION
6976 #ifndef DOCUMENTATION
6977 AsmLESectionTableEntry.setDataPrototype(
6978 "rose_addr_t",
"mapped_size",
"= 0",
6979 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6980 #endif // !DOCUMENTATION
6982 #ifndef DOCUMENTATION
6983 AsmLESectionTableEntry.setDataPrototype(
6984 "rose_addr_t",
"base_addr",
"= 0",
6985 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6986 #endif // !DOCUMENTATION
6988 DECLARE_OTHERS(AsmLESectionTableEntry);
6989 #if defined(SgAsmLESectionTableEntry_OTHERS) || defined(DOCUMENTATION)
6992 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6994 friend class boost::serialization::access;
6997 void serialize(S &s,
const unsigned ) {
7000 s & BOOST_SERIALIZATION_NVP(p_flags);
7001 s & BOOST_SERIALIZATION_NVP(p_pagemap_index);
7002 s & BOOST_SERIALIZATION_NVP(p_pagemap_nentries);
7003 s & BOOST_SERIALIZATION_NVP(p_res1);
7004 s & BOOST_SERIALIZATION_NVP(p_mapped_size);
7005 s & BOOST_SERIALIZATION_NVP(p_base_addr);
7008 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
7018 uint32_t mapped_size;
7021 uint32_t pagemap_index;
7022 uint32_t pagemap_nentries;
7028 __attribute__((packed))
7042 SF_RESERVED = 0xffff0800,
7054 SF_TYPE_MASK = 0x00000300,
7055 SF_TYPE_NORMAL = 0x00000000,
7071 unsigned const& get_flags()
const;
7072 void set_flags(
unsigned const&);
7075 unsigned const& get_pagemap_index()
const;
7076 void set_pagemap_index(
unsigned const&);
7079 unsigned const& get_pagemap_nentries()
const;
7080 void set_pagemap_nentries(
unsigned const&);
7083 unsigned const& get_res1()
const;
7084 void set_res1(
unsigned const&);
7087 rose_addr_t
const& get_mapped_size()
const;
7088 void set_mapped_size(rose_addr_t
const&);
7091 rose_addr_t
const& get_base_addr()
const;
7092 void set_base_addr(rose_addr_t
const&);
7100 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
7117 #endif // SgAsmLESectionTableEntry_OTHERS
7118 #ifdef DOCUMENTATION
7120 #endif // DOCUMENTATION
7127 DECLARE_LEAF_CLASS(AsmLESection);
7128 IS_SERIALIZABLE(AsmLESection);
7130 #ifdef DOCUMENTATION
7132 #endif // DOCUMENTATION
7134 #ifndef DOCUMENTATION
7135 AsmLESection.setDataPrototype(
7136 "SgAsmLESectionTableEntry*",
"st_entry",
"= NULL",
7137 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7138 #endif // !DOCUMENTATION
7140 DECLARE_OTHERS(AsmLESection);
7141 #if defined(SgAsmLESection_OTHERS) || defined(DOCUMENTATION)
7144 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7146 friend class boost::serialization::access;
7149 void serialize(S &s,
const unsigned ) {
7152 s & BOOST_SERIALIZATION_NVP(p_st_entry);
7155 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
7162 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7179 #endif // SgAsmLESection_OTHERS
7180 #ifdef DOCUMENTATION
7182 #endif // DOCUMENTATION
7189 DECLARE_LEAF_CLASS(AsmLERelocTable);
7190 IS_SERIALIZABLE(AsmLERelocTable);
7192 #ifdef DOCUMENTATION
7194 #endif // DOCUMENTATION
7196 #ifndef DOCUMENTATION
7197 AsmLERelocTable.setDataPrototype(
7198 "SgAsmLERelocEntryPtrList",
"entries",
"",
7199 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7200 #endif // !DOCUMENTATION
7202 DECLARE_OTHERS(AsmLERelocTable);
7203 #if defined(SgAsmLERelocTable_OTHERS) || defined(DOCUMENTATION)
7206 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7208 friend class boost::serialization::access;
7211 void serialize(S &s,
const unsigned ) {
7214 s & BOOST_SERIALIZATION_NVP(p_entries);
7217 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
7220 SgAsmLERelocEntryPtrList
const& get_entries()
const;
7221 SgAsmLERelocEntryPtrList& get_entries();
7222 void set_entries(SgAsmLERelocEntryPtrList
const&);
7225 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7242 #endif // SgAsmLERelocTable_OTHERS
7243 #ifdef DOCUMENTATION
7245 #endif // DOCUMENTATION
7252 DECLARE_LEAF_CLASS(AsmLEPageTable);
7253 IS_SERIALIZABLE(AsmLEPageTable);
7255 #ifdef DOCUMENTATION
7257 #endif // DOCUMENTATION
7259 #ifndef DOCUMENTATION
7260 AsmLEPageTable.setDataPrototype(
7261 "SgAsmLEPageTableEntryPtrList",
"entries",
"",
7262 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7263 #endif // !DOCUMENTATION
7265 DECLARE_OTHERS(AsmLEPageTable);
7266 #if defined(SgAsmLEPageTable_OTHERS) || defined(DOCUMENTATION)
7269 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7271 friend class boost::serialization::access;
7274 void serialize(S &s,
const unsigned ) {
7277 s & BOOST_SERIALIZATION_NVP(p_entries);
7280 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
7283 SgAsmLEPageTableEntryPtrList
const& get_entries()
const;
7284 SgAsmLEPageTableEntryPtrList& get_entries();
7285 void set_entries(SgAsmLEPageTableEntryPtrList
const&);
7288 virtual void unparse(std::ostream&)
const override;
7289 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7307 #endif // SgAsmLEPageTable_OTHERS
7308 #ifdef DOCUMENTATION
7310 #endif // DOCUMENTATION
7317 DECLARE_LEAF_CLASS(AsmLEPageTableEntry);
7318 IS_SERIALIZABLE(AsmLEPageTableEntry);
7320 DECLARE_HEADERS(AsmLEPageTableEntry);
7321 #if defined(SgAsmLEPageTableEntry_HEADERS) || defined(DOCUMENTATION)
7322 #include <Rose/BinaryAnalysis/ByteOrder.h>
7323 #endif // SgAsmLEPageTableEntry_HEADERS
7325 #ifdef DOCUMENTATION
7327 #endif // DOCUMENTATION
7329 #ifndef DOCUMENTATION
7330 AsmLEPageTableEntry.setDataPrototype(
7331 "unsigned",
"pageno",
"= 0",
7332 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7333 #endif // !DOCUMENTATION
7335 #ifndef DOCUMENTATION
7336 AsmLEPageTableEntry.setDataPrototype(
7337 "unsigned",
"flags",
"= 0",
7338 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7339 #endif // !DOCUMENTATION
7341 DECLARE_OTHERS(AsmLEPageTableEntry);
7342 #if defined(SgAsmLEPageTableEntry_OTHERS) || defined(DOCUMENTATION)
7345 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7347 friend class boost::serialization::access;
7350 void serialize(S &s,
const unsigned ) {
7353 s & BOOST_SERIALIZATION_NVP(p_pageno);
7354 s & BOOST_SERIALIZATION_NVP(p_flags);
7357 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
7374 unsigned char pageno_lo;
7375 unsigned char flags;
7380 __attribute__((packed))
7392 unsigned const& get_pageno()
const;
7393 void set_pageno(
unsigned const&);
7396 unsigned const& get_flags()
const;
7397 void set_flags(
unsigned const&);
7404 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
7422 #endif // SgAsmLEPageTableEntry_OTHERS
7423 #ifdef DOCUMENTATION
7425 #endif // DOCUMENTATION
7432 DECLARE_LEAF_CLASS(AsmLENameTable);
7433 IS_SERIALIZABLE(AsmLENameTable);
7435 #ifdef DOCUMENTATION
7437 #endif // DOCUMENTATION
7439 #ifndef DOCUMENTATION
7440 AsmLENameTable.setDataPrototype(
7441 "SgStringList",
"names",
"",
7442 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7443 #endif // !DOCUMENTATION
7445 #ifndef DOCUMENTATION
7446 AsmLENameTable.setDataPrototype(
7447 "SgUnsignedList",
"ordinals",
"",
7448 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7449 #endif // !DOCUMENTATION
7451 DECLARE_OTHERS(AsmLENameTable);
7452 #if defined(SgAsmLENameTable_OTHERS) || defined(DOCUMENTATION)
7455 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7457 friend class boost::serialization::access;
7460 void serialize(S &s,
const unsigned ) {
7463 s & BOOST_SERIALIZATION_NVP(p_names);
7464 s & BOOST_SERIALIZATION_NVP(p_ordinals);
7467 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
7470 SgStringList
const& get_names()
const;
7471 void set_names(SgStringList
const&);
7474 SgUnsignedList
const& get_ordinals()
const;
7475 void set_ordinals(SgUnsignedList
const&);
7482 virtual void unparse(std::ostream&)
const override;
7483 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7500 #endif // SgAsmLENameTable_OTHERS
7501 #ifdef DOCUMENTATION
7503 #endif // DOCUMENTATION
7510 DECLARE_LEAF_CLASS(AsmLEFileHeader);
7511 IS_SERIALIZABLE(AsmLEFileHeader);
7513 DECLARE_HEADERS(AsmLEFileHeader);
7514 #if defined(SgAsmLEFileHeader_HEADERS) || defined(DOCUMENTATION)
7515 #include <Rose/BinaryAnalysis/ByteOrder.h>
7516 #endif // SgAsmLEFileHeader_HEADERS
7518 #ifdef DOCUMENTATION
7520 #endif // DOCUMENTATION
7522 #ifndef DOCUMENTATION
7523 AsmLEFileHeader.setDataPrototype(
7524 "unsigned",
"e_byte_order",
"= 0",
7525 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7526 #endif // !DOCUMENTATION
7528 #ifndef DOCUMENTATION
7529 AsmLEFileHeader.setDataPrototype(
7530 "unsigned",
"e_word_order",
"= 0",
7531 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7532 #endif // !DOCUMENTATION
7534 #ifndef DOCUMENTATION
7535 AsmLEFileHeader.setDataPrototype(
7536 "unsigned",
"e_format_level",
"= 0",
7537 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7538 #endif // !DOCUMENTATION
7540 #ifndef DOCUMENTATION
7541 AsmLEFileHeader.setDataPrototype(
7542 "unsigned",
"e_cpu_type",
"= 0",
7543 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7544 #endif // !DOCUMENTATION
7546 #ifndef DOCUMENTATION
7547 AsmLEFileHeader.setDataPrototype(
7548 "unsigned",
"e_os_type",
"= 0",
7549 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7550 #endif // !DOCUMENTATION
7552 #ifndef DOCUMENTATION
7553 AsmLEFileHeader.setDataPrototype(
7554 "unsigned",
"e_module_version",
"= 0",
7555 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7556 #endif // !DOCUMENTATION
7558 #ifndef DOCUMENTATION
7559 AsmLEFileHeader.setDataPrototype(
7560 "unsigned",
"e_flags",
"= 0",
7561 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7562 #endif // !DOCUMENTATION
7564 #ifndef DOCUMENTATION
7565 AsmLEFileHeader.setDataPrototype(
7566 "unsigned",
"e_eip_section",
"= 0",
7567 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7568 #endif // !DOCUMENTATION
7570 #ifndef DOCUMENTATION
7571 AsmLEFileHeader.setDataPrototype(
7572 "unsigned",
"e_esp_section",
"= 0",
7573 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7574 #endif // !DOCUMENTATION
7576 #ifndef DOCUMENTATION
7577 AsmLEFileHeader.setDataPrototype(
7578 "unsigned",
"e_last_page_size",
"= 0",
7579 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7580 #endif // !DOCUMENTATION
7582 #ifndef DOCUMENTATION
7583 AsmLEFileHeader.setDataPrototype(
7584 "unsigned",
"e_page_offset_shift",
"= 0",
7585 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7586 #endif // !DOCUMENTATION
7588 #ifndef DOCUMENTATION
7589 AsmLEFileHeader.setDataPrototype(
7590 "unsigned",
"e_fixup_sect_cksum",
"= 0",
7591 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7592 #endif // !DOCUMENTATION
7594 #ifndef DOCUMENTATION
7595 AsmLEFileHeader.setDataPrototype(
7596 "unsigned",
"e_loader_sect_cksum",
"= 0",
7597 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7598 #endif // !DOCUMENTATION
7600 #ifndef DOCUMENTATION
7601 AsmLEFileHeader.setDataPrototype(
7602 "unsigned",
"e_secttab_nentries",
"= 0",
7603 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7604 #endif // !DOCUMENTATION
7606 #ifndef DOCUMENTATION
7607 AsmLEFileHeader.setDataPrototype(
7608 "unsigned",
"e_rsrctab_nentries",
"= 0",
7609 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7610 #endif // !DOCUMENTATION
7612 #ifndef DOCUMENTATION
7613 AsmLEFileHeader.setDataPrototype(
7614 "unsigned",
"e_fmtdirtab_nentries",
"= 0",
7615 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7616 #endif // !DOCUMENTATION
7618 #ifndef DOCUMENTATION
7619 AsmLEFileHeader.setDataPrototype(
7620 "unsigned",
"e_import_modtab_nentries",
"= 0",
7621 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7622 #endif // !DOCUMENTATION
7624 #ifndef DOCUMENTATION
7625 AsmLEFileHeader.setDataPrototype(
7626 "unsigned",
"e_preload_npages",
"= 0",
7627 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7628 #endif // !DOCUMENTATION
7630 #ifndef DOCUMENTATION
7631 AsmLEFileHeader.setDataPrototype(
7632 "unsigned",
"e_nonresnametab_size",
"= 0",
7633 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7634 #endif // !DOCUMENTATION
7636 #ifndef DOCUMENTATION
7637 AsmLEFileHeader.setDataPrototype(
7638 "unsigned",
"e_nonresnametab_cksum",
"= 0",
7639 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7640 #endif // !DOCUMENTATION
7642 #ifndef DOCUMENTATION
7643 AsmLEFileHeader.setDataPrototype(
7644 "unsigned",
"e_auto_ds_section",
"= 0",
7645 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7646 #endif // !DOCUMENTATION
7648 #ifndef DOCUMENTATION
7649 AsmLEFileHeader.setDataPrototype(
7650 "unsigned",
"e_debug_info_size",
"= 0",
7651 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7652 #endif // !DOCUMENTATION
7654 #ifndef DOCUMENTATION
7655 AsmLEFileHeader.setDataPrototype(
7656 "unsigned",
"e_num_instance_preload",
"= 0",
7657 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7658 #endif // !DOCUMENTATION
7660 #ifndef DOCUMENTATION
7661 AsmLEFileHeader.setDataPrototype(
7662 "unsigned",
"e_num_instance_demand",
"= 0",
7663 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7664 #endif // !DOCUMENTATION
7666 #ifndef DOCUMENTATION
7667 AsmLEFileHeader.setDataPrototype(
7668 "unsigned",
"e_heap_size",
"= 0",
7669 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7670 #endif // !DOCUMENTATION
7672 #ifndef DOCUMENTATION
7673 AsmLEFileHeader.setDataPrototype(
7674 "rose_addr_t",
"e_npages",
"= 0",
7675 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7676 #endif // !DOCUMENTATION
7678 #ifndef DOCUMENTATION
7679 AsmLEFileHeader.setDataPrototype(
7680 "rose_addr_t",
"e_eip",
"= 0",
7681 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7682 #endif // !DOCUMENTATION
7684 #ifndef DOCUMENTATION
7685 AsmLEFileHeader.setDataPrototype(
7686 "rose_addr_t",
"e_esp",
"= 0",
7687 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7688 #endif // !DOCUMENTATION
7690 #ifndef DOCUMENTATION
7691 AsmLEFileHeader.setDataPrototype(
7692 "rose_addr_t",
"e_page_size",
"= 0",
7693 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7694 #endif // !DOCUMENTATION
7696 #ifndef DOCUMENTATION
7697 AsmLEFileHeader.setDataPrototype(
7698 "rose_addr_t",
"e_fixup_sect_size",
"= 0",
7699 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7700 #endif // !DOCUMENTATION
7702 #ifndef DOCUMENTATION
7703 AsmLEFileHeader.setDataPrototype(
7704 "rose_addr_t",
"e_loader_sect_size",
"= 0",
7705 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7706 #endif // !DOCUMENTATION
7708 #ifndef DOCUMENTATION
7709 AsmLEFileHeader.setDataPrototype(
7710 "rose_addr_t",
"e_secttab_rfo",
"= 0",
7711 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7712 #endif // !DOCUMENTATION
7714 #ifndef DOCUMENTATION
7715 AsmLEFileHeader.setDataPrototype(
7716 "rose_addr_t",
"e_pagetab_rfo",
"= 0",
7717 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7718 #endif // !DOCUMENTATION
7720 #ifndef DOCUMENTATION
7721 AsmLEFileHeader.setDataPrototype(
7722 "rose_addr_t",
"e_iterpages_offset",
"= 0",
7723 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7724 #endif // !DOCUMENTATION
7726 #ifndef DOCUMENTATION
7727 AsmLEFileHeader.setDataPrototype(
7728 "rose_addr_t",
"e_rsrctab_rfo",
"= 0",
7729 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7730 #endif // !DOCUMENTATION
7732 #ifndef DOCUMENTATION
7733 AsmLEFileHeader.setDataPrototype(
7734 "rose_addr_t",
"e_resnametab_rfo",
"= 0",
7735 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7736 #endif // !DOCUMENTATION
7738 #ifndef DOCUMENTATION
7739 AsmLEFileHeader.setDataPrototype(
7740 "rose_addr_t",
"e_entrytab_rfo",
"= 0",
7741 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7742 #endif // !DOCUMENTATION
7744 #ifndef DOCUMENTATION
7745 AsmLEFileHeader.setDataPrototype(
7746 "rose_addr_t",
"e_fmtdirtab_rfo",
"= 0",
7747 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7748 #endif // !DOCUMENTATION
7750 #ifndef DOCUMENTATION
7751 AsmLEFileHeader.setDataPrototype(
7752 "rose_addr_t",
"e_fixup_pagetab_rfo",
"= 0",
7753 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7754 #endif // !DOCUMENTATION
7756 #ifndef DOCUMENTATION
7757 AsmLEFileHeader.setDataPrototype(
7758 "rose_addr_t",
"e_fixup_rectab_rfo",
"= 0",
7759 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7760 #endif // !DOCUMENTATION
7762 #ifndef DOCUMENTATION
7763 AsmLEFileHeader.setDataPrototype(
7764 "rose_addr_t",
"e_import_modtab_rfo",
"= 0",
7765 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7766 #endif // !DOCUMENTATION
7768 #ifndef DOCUMENTATION
7769 AsmLEFileHeader.setDataPrototype(
7770 "rose_addr_t",
"e_import_proctab_rfo",
"= 0",
7771 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7772 #endif // !DOCUMENTATION
7774 #ifndef DOCUMENTATION
7775 AsmLEFileHeader.setDataPrototype(
7776 "rose_addr_t",
"e_ppcksumtab_rfo",
"= 0",
7777 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7778 #endif // !DOCUMENTATION
7780 #ifndef DOCUMENTATION
7781 AsmLEFileHeader.setDataPrototype(
7782 "rose_addr_t",
"e_data_pages_offset",
"= 0",
7783 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7784 #endif // !DOCUMENTATION
7786 #ifndef DOCUMENTATION
7787 AsmLEFileHeader.setDataPrototype(
7788 "rose_addr_t",
"e_nonresnametab_offset",
"= 0",
7789 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7790 #endif // !DOCUMENTATION
7792 #ifndef DOCUMENTATION
7793 AsmLEFileHeader.setDataPrototype(
7794 "rose_addr_t",
"e_debug_info_rfo",
"= 0",
7795 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7796 #endif // !DOCUMENTATION
7798 #ifndef DOCUMENTATION
7799 AsmLEFileHeader.setDataPrototype(
7800 "SgAsmDOSExtendedHeader*",
"dos2_header",
"= nullptr",
7801 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7802 #endif // !DOCUMENTATION
7804 #ifndef DOCUMENTATION
7805 AsmLEFileHeader.setDataPrototype(
7806 "SgAsmLESectionTable*",
"section_table",
"= nullptr",
7807 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7808 #endif // !DOCUMENTATION
7810 #ifndef DOCUMENTATION
7811 AsmLEFileHeader.setDataPrototype(
7812 "SgAsmLEPageTable*",
"page_table",
"= nullptr",
7813 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7814 #endif // !DOCUMENTATION
7816 #ifndef DOCUMENTATION
7817 AsmLEFileHeader.setDataPrototype(
7818 "SgAsmLENameTable*",
"resname_table",
"= nullptr",
7819 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7820 #endif // !DOCUMENTATION
7822 #ifndef DOCUMENTATION
7823 AsmLEFileHeader.setDataPrototype(
7824 "SgAsmLENameTable*",
"nonresname_table",
"= nullptr",
7825 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7826 #endif // !DOCUMENTATION
7828 #ifndef DOCUMENTATION
7829 AsmLEFileHeader.setDataPrototype(
7830 "SgAsmLEEntryTable*",
"entry_table",
"= nullptr",
7831 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7832 #endif // !DOCUMENTATION
7834 #ifndef DOCUMENTATION
7835 AsmLEFileHeader.setDataPrototype(
7836 "SgAsmLERelocTable*",
"reloc_table",
"= nullptr",
7837 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7838 #endif // !DOCUMENTATION
7840 DECLARE_OTHERS(AsmLEFileHeader);
7841 #if defined(SgAsmLEFileHeader_OTHERS) || defined(DOCUMENTATION)
7844 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7846 friend class boost::serialization::access;
7849 void serialize(S &s,
const unsigned ) {
7852 s & BOOST_SERIALIZATION_NVP(p_e_byte_order);
7853 s & BOOST_SERIALIZATION_NVP(p_e_word_order);
7854 s & BOOST_SERIALIZATION_NVP(p_e_format_level);
7855 s & BOOST_SERIALIZATION_NVP(p_e_cpu_type);
7856 s & BOOST_SERIALIZATION_NVP(p_e_os_type);
7857 s & BOOST_SERIALIZATION_NVP(p_e_module_version);
7858 s & BOOST_SERIALIZATION_NVP(p_e_flags);
7859 s & BOOST_SERIALIZATION_NVP(p_e_eip_section);
7860 s & BOOST_SERIALIZATION_NVP(p_e_esp_section);
7861 s & BOOST_SERIALIZATION_NVP(p_e_last_page_size);
7862 s & BOOST_SERIALIZATION_NVP(p_e_page_offset_shift);
7863 s & BOOST_SERIALIZATION_NVP(p_e_fixup_sect_cksum);
7864 s & BOOST_SERIALIZATION_NVP(p_e_loader_sect_cksum);
7865 s & BOOST_SERIALIZATION_NVP(p_e_secttab_nentries);
7866 s & BOOST_SERIALIZATION_NVP(p_e_rsrctab_nentries);
7867 s & BOOST_SERIALIZATION_NVP(p_e_fmtdirtab_nentries);
7868 s & BOOST_SERIALIZATION_NVP(p_e_import_modtab_nentries);
7869 s & BOOST_SERIALIZATION_NVP(p_e_preload_npages);
7870 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_size);
7871 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_cksum);
7872 s & BOOST_SERIALIZATION_NVP(p_e_auto_ds_section);
7873 s & BOOST_SERIALIZATION_NVP(p_e_debug_info_size);
7874 s & BOOST_SERIALIZATION_NVP(p_e_num_instance_preload);
7875 s & BOOST_SERIALIZATION_NVP(p_e_num_instance_demand);
7876 s & BOOST_SERIALIZATION_NVP(p_e_heap_size);
7877 s & BOOST_SERIALIZATION_NVP(p_e_npages);
7878 s & BOOST_SERIALIZATION_NVP(p_e_eip);
7879 s & BOOST_SERIALIZATION_NVP(p_e_esp);
7880 s & BOOST_SERIALIZATION_NVP(p_e_page_size);
7881 s & BOOST_SERIALIZATION_NVP(p_e_fixup_sect_size);
7882 s & BOOST_SERIALIZATION_NVP(p_e_loader_sect_size);
7883 s & BOOST_SERIALIZATION_NVP(p_e_secttab_rfo);
7884 s & BOOST_SERIALIZATION_NVP(p_e_pagetab_rfo);
7885 s & BOOST_SERIALIZATION_NVP(p_e_iterpages_offset);
7886 s & BOOST_SERIALIZATION_NVP(p_e_rsrctab_rfo);
7887 s & BOOST_SERIALIZATION_NVP(p_e_resnametab_rfo);
7888 s & BOOST_SERIALIZATION_NVP(p_e_entrytab_rfo);
7889 s & BOOST_SERIALIZATION_NVP(p_e_fmtdirtab_rfo);
7890 s & BOOST_SERIALIZATION_NVP(p_e_fixup_pagetab_rfo);
7891 s & BOOST_SERIALIZATION_NVP(p_e_fixup_rectab_rfo);
7892 s & BOOST_SERIALIZATION_NVP(p_e_import_modtab_rfo);
7893 s & BOOST_SERIALIZATION_NVP(p_e_import_proctab_rfo);
7894 s & BOOST_SERIALIZATION_NVP(p_e_ppcksumtab_rfo);
7895 s & BOOST_SERIALIZATION_NVP(p_e_data_pages_offset);
7896 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_offset);
7897 s & BOOST_SERIALIZATION_NVP(p_e_debug_info_rfo);
7898 s & BOOST_SERIALIZATION_NVP(p_dos2_header);
7899 s & BOOST_SERIALIZATION_NVP(p_section_table);
7900 s & BOOST_SERIALIZATION_NVP(p_page_table);
7901 s & BOOST_SERIALIZATION_NVP(p_resname_table);
7902 s & BOOST_SERIALIZATION_NVP(p_nonresname_table);
7903 s & BOOST_SERIALIZATION_NVP(p_entry_table);
7904 s & BOOST_SERIALIZATION_NVP(p_reloc_table);
7907 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
7917 unsigned char e_magic[2];
7918 unsigned char e_byte_order;
7919 unsigned char e_word_order;
7920 uint32_t e_format_level;
7921 uint16_t e_cpu_type;
7923 uint32_t e_module_version;
7926 uint32_t e_eip_section;
7928 uint32_t e_esp_section;
7930 uint32_t e_page_size;
7931 uint32_t e_lps_or_shift;
7932 uint32_t e_fixup_sect_size;
7933 uint32_t e_fixup_sect_cksum;
7934 uint32_t e_loader_sect_size;
7935 uint32_t e_loader_sect_cksum;
7936 uint32_t e_secttab_rfo;
7937 uint32_t e_secttab_nentries;
7938 uint32_t e_pagetab_rfo;
7939 uint32_t e_iterpages_offset;
7940 uint32_t e_rsrctab_rfo;
7941 uint32_t e_rsrctab_nentries;
7942 uint32_t e_resnametab_rfo;
7943 uint32_t e_entrytab_rfo;
7944 uint32_t e_fmtdirtab_rfo;
7945 uint32_t e_fmtdirtab_nentries;
7946 uint32_t e_fixup_pagetab_rfo;
7947 uint32_t e_fixup_rectab_rfo;
7948 uint32_t e_import_modtab_rfo;
7949 uint32_t e_import_modtab_nentries;
7950 uint32_t e_import_proctab_rfo;
7951 uint32_t e_ppcksumtab_rfo;
7952 uint32_t e_data_pages_offset;
7953 uint32_t e_preload_npages;
7954 uint32_t e_nonresnametab_offset;
7955 uint32_t e_nonresnametab_size;
7956 uint32_t e_nonresnametab_cksum;
7957 uint32_t e_auto_ds_section;
7958 uint32_t e_debug_info_rfo;
7959 uint32_t e_debug_info_size;
7960 uint32_t e_num_instance_preload;
7961 uint32_t e_num_instance_demand;
7962 uint32_t e_heap_size;
7967 __attribute__((packed))
7975 enum LEFileHeaderFlags {
7976 HF_RESERVED = 0xbffc5ccb,
7977 HF_PROC_LIB_INIT = 0x00000004,
7978 HF_IFIXUPS_APPLIED = 0x00000010,
7979 HF_EFIXUPS_APPLIED = 0x00000020,
7980 HF_PM_WINDOW_NO = 0x00000100,
7981 HF_PM_WINDOW_OK = 0x00000200,
7982 HF_PM_WINDOW_USE = 0x00000300,
7983 HF_NOT_LOADABLE = 0x00002000,
7984 HF_PROC_LIB_TERM = 0x40000000,
7986 HF_MODTYPE_MASK = 0x00038000,
7987 HF_MODTYPE_PROG = 0x00000000,
7988 HF_MODTYPE_LIB = 0x00008000,
7989 HF_MODTYPE_PLIB = 0x00018000,
7990 HF_MODTYPE_PDEV = 0x00020000,
7991 HF_MODTYPE_VDEV = 0x00028000
7998 unsigned const& get_e_byte_order()
const;
7999 void set_e_byte_order(
unsigned const&);
8002 unsigned const& get_e_word_order()
const;
8003 void set_e_word_order(
unsigned const&);
8006 unsigned const& get_e_format_level()
const;
8007 void set_e_format_level(
unsigned const&);
8010 unsigned const& get_e_cpu_type()
const;
8011 void set_e_cpu_type(
unsigned const&);
8014 unsigned const& get_e_os_type()
const;
8015 void set_e_os_type(
unsigned const&);
8018 unsigned const& get_e_module_version()
const;
8019 void set_e_module_version(
unsigned const&);
8022 unsigned const& get_e_flags()
const;
8023 void set_e_flags(
unsigned const&);
8026 unsigned const& get_e_eip_section()
const;
8027 void set_e_eip_section(
unsigned const&);
8030 unsigned const& get_e_esp_section()
const;
8031 void set_e_esp_section(
unsigned const&);
8034 unsigned const& get_e_last_page_size()
const;
8035 void set_e_last_page_size(
unsigned const&);
8038 unsigned const& get_e_page_offset_shift()
const;
8039 void set_e_page_offset_shift(
unsigned const&);
8042 unsigned const& get_e_fixup_sect_cksum()
const;
8043 void set_e_fixup_sect_cksum(
unsigned const&);
8046 unsigned const& get_e_loader_sect_cksum()
const;
8047 void set_e_loader_sect_cksum(
unsigned const&);
8050 unsigned const& get_e_secttab_nentries()
const;
8051 void set_e_secttab_nentries(
unsigned const&);
8054 unsigned const& get_e_rsrctab_nentries()
const;
8055 void set_e_rsrctab_nentries(
unsigned const&);
8058 unsigned const& get_e_fmtdirtab_nentries()
const;
8059 void set_e_fmtdirtab_nentries(
unsigned const&);
8062 unsigned const& get_e_import_modtab_nentries()
const;
8063 void set_e_import_modtab_nentries(
unsigned const&);
8066 unsigned const& get_e_preload_npages()
const;
8067 void set_e_preload_npages(
unsigned const&);
8070 unsigned const& get_e_nonresnametab_size()
const;
8071 void set_e_nonresnametab_size(
unsigned const&);
8074 unsigned const& get_e_nonresnametab_cksum()
const;
8075 void set_e_nonresnametab_cksum(
unsigned const&);
8078 unsigned const& get_e_auto_ds_section()
const;
8079 void set_e_auto_ds_section(
unsigned const&);
8082 unsigned const& get_e_debug_info_size()
const;
8083 void set_e_debug_info_size(
unsigned const&);
8086 unsigned const& get_e_num_instance_preload()
const;
8087 void set_e_num_instance_preload(
unsigned const&);
8090 unsigned const& get_e_num_instance_demand()
const;
8091 void set_e_num_instance_demand(
unsigned const&);
8094 unsigned const& get_e_heap_size()
const;
8095 void set_e_heap_size(
unsigned const&);
8098 rose_addr_t
const& get_e_npages()
const;
8099 void set_e_npages(rose_addr_t
const&);
8102 rose_addr_t
const& get_e_eip()
const;
8103 void set_e_eip(rose_addr_t
const&);
8106 rose_addr_t
const& get_e_esp()
const;
8107 void set_e_esp(rose_addr_t
const&);
8110 rose_addr_t
const& get_e_page_size()
const;
8111 void set_e_page_size(rose_addr_t
const&);
8114 rose_addr_t
const& get_e_fixup_sect_size()
const;
8115 void set_e_fixup_sect_size(rose_addr_t
const&);
8118 rose_addr_t
const& get_e_loader_sect_size()
const;
8119 void set_e_loader_sect_size(rose_addr_t
const&);
8122 rose_addr_t
const& get_e_secttab_rfo()
const;
8123 void set_e_secttab_rfo(rose_addr_t
const&);
8126 rose_addr_t
const& get_e_pagetab_rfo()
const;
8127 void set_e_pagetab_rfo(rose_addr_t
const&);
8130 rose_addr_t
const& get_e_iterpages_offset()
const;
8131 void set_e_iterpages_offset(rose_addr_t
const&);
8134 rose_addr_t
const& get_e_rsrctab_rfo()
const;
8135 void set_e_rsrctab_rfo(rose_addr_t
const&);
8138 rose_addr_t
const& get_e_resnametab_rfo()
const;
8139 void set_e_resnametab_rfo(rose_addr_t
const&);
8142 rose_addr_t
const& get_e_entrytab_rfo()
const;
8143 void set_e_entrytab_rfo(rose_addr_t
const&);
8146 rose_addr_t
const& get_e_fmtdirtab_rfo()
const;
8147 void set_e_fmtdirtab_rfo(rose_addr_t
const&);
8150 rose_addr_t
const& get_e_fixup_pagetab_rfo()
const;
8151 void set_e_fixup_pagetab_rfo(rose_addr_t
const&);
8154 rose_addr_t
const& get_e_fixup_rectab_rfo()
const;
8155 void set_e_fixup_rectab_rfo(rose_addr_t
const&);
8158 rose_addr_t
const& get_e_import_modtab_rfo()
const;
8159 void set_e_import_modtab_rfo(rose_addr_t
const&);
8162 rose_addr_t
const& get_e_import_proctab_rfo()
const;
8163 void set_e_import_proctab_rfo(rose_addr_t
const&);
8166 rose_addr_t
const& get_e_ppcksumtab_rfo()
const;
8167 void set_e_ppcksumtab_rfo(rose_addr_t
const&);
8170 rose_addr_t
const& get_e_data_pages_offset()
const;
8171 void set_e_data_pages_offset(rose_addr_t
const&);
8174 rose_addr_t
const& get_e_nonresnametab_offset()
const;
8175 void set_e_nonresnametab_offset(rose_addr_t
const&);
8178 rose_addr_t
const& get_e_debug_info_rfo()
const;
8179 void set_e_debug_info_rfo(rose_addr_t
const&);
8213 virtual void unparse(std::ostream&)
const override;
8214 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
8240 #endif // SgAsmLEFileHeader_OTHERS
8241 #ifdef DOCUMENTATION
8243 #endif // DOCUMENTATION
8250 DECLARE_LEAF_CLASS(AsmLEEntryTable);
8251 IS_SERIALIZABLE(AsmLEEntryTable);
8253 #ifdef DOCUMENTATION
8255 #endif // DOCUMENTATION
8257 #ifndef DOCUMENTATION
8258 AsmLEEntryTable.setDataPrototype(
8259 "SgSizeTList",
"bundle_sizes",
"",
8260 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8261 #endif // !DOCUMENTATION
8263 #ifndef DOCUMENTATION
8264 AsmLEEntryTable.setDataPrototype(
8265 "SgAsmLEEntryPointPtrList",
"entries",
"",
8266 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8267 #endif // !DOCUMENTATION
8269 DECLARE_OTHERS(AsmLEEntryTable);
8270 #if defined(SgAsmLEEntryTable_OTHERS) || defined(DOCUMENTATION)
8273 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
8275 friend class boost::serialization::access;
8278 void serialize(S &s,
const unsigned ) {
8281 s & BOOST_SERIALIZATION_NVP(p_bundle_sizes);
8282 s & BOOST_SERIALIZATION_NVP(p_entries);
8285 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
8288 SgSizeTList
const& get_bundle_sizes()
const;
8289 void set_bundle_sizes(SgSizeTList
const&);
8292 SgAsmLEEntryPointPtrList
const& get_entries()
const;
8293 SgAsmLEEntryPointPtrList& get_entries();
8294 void set_entries(SgAsmLEEntryPointPtrList
const&);
8297 virtual void unparse(std::ostream&)
const override;
8298 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
8315 #endif // SgAsmLEEntryTable_OTHERS
8316 #ifdef DOCUMENTATION
8318 #endif // DOCUMENTATION
8325 DECLARE_LEAF_CLASS(AsmLEEntryPoint);
8326 IS_SERIALIZABLE(AsmLEEntryPoint);
8328 DECLARE_HEADERS(AsmLEEntryPoint);
8329 #if defined(SgAsmLEEntryPoint_HEADERS) || defined(DOCUMENTATION)
8330 #include <Rose/BinaryAnalysis/ByteOrder.h>
8331 #endif // SgAsmLEEntryPoint_HEADERS
8333 #ifdef DOCUMENTATION
8335 #endif // DOCUMENTATION
8337 #ifndef DOCUMENTATION
8338 AsmLEEntryPoint.setDataPrototype(
8339 "SgAsmLEEntryPointPtrList",
"entries",
"",
8340 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8341 #endif // !DOCUMENTATION
8343 #ifndef DOCUMENTATION
8344 AsmLEEntryPoint.setDataPrototype(
8345 "unsigned",
"flags",
"= 0",
8346 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8347 #endif // !DOCUMENTATION
8349 #ifndef DOCUMENTATION
8350 AsmLEEntryPoint.setDataPrototype(
8351 "unsigned",
"objnum",
"= 0",
8352 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8353 #endif // !DOCUMENTATION
8355 #ifndef DOCUMENTATION
8356 AsmLEEntryPoint.setDataPrototype(
8357 "unsigned",
"entry_type",
"= 0",
8358 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8359 #endif // !DOCUMENTATION
8361 #ifndef DOCUMENTATION
8362 AsmLEEntryPoint.setDataPrototype(
8363 "unsigned",
"res1",
"= 0",
8364 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8365 #endif // !DOCUMENTATION
8367 #ifndef DOCUMENTATION
8368 AsmLEEntryPoint.setDataPrototype(
8369 "rose_addr_t",
"entry_offset",
"= 0",
8370 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8371 #endif // !DOCUMENTATION
8373 DECLARE_OTHERS(AsmLEEntryPoint);
8374 #if defined(SgAsmLEEntryPoint_OTHERS) || defined(DOCUMENTATION)
8377 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
8379 friend class boost::serialization::access;
8382 void serialize(S &s,
const unsigned ) {
8385 s & BOOST_SERIALIZATION_NVP(p_entries);
8386 s & BOOST_SERIALIZATION_NVP(p_flags);
8387 s & BOOST_SERIALIZATION_NVP(p_objnum);
8388 s & BOOST_SERIALIZATION_NVP(p_entry_type);
8389 s & BOOST_SERIALIZATION_NVP(p_res1);
8390 s & BOOST_SERIALIZATION_NVP(p_entry_offset);
8393 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
8407 uint32_t entry_offset;
8413 __attribute__((packed))
8425 SgAsmLEEntryPointPtrList
const& get_entries()
const;
8426 SgAsmLEEntryPointPtrList& get_entries();
8427 void set_entries(SgAsmLEEntryPointPtrList
const&);
8430 unsigned const& get_flags()
const;
8431 void set_flags(
unsigned const&);
8434 unsigned const& get_objnum()
const;
8435 void set_objnum(
unsigned const&);
8438 unsigned const& get_entry_type()
const;
8439 void set_entry_type(
unsigned const&);
8442 unsigned const& get_res1()
const;
8443 void set_res1(
unsigned const&);
8446 rose_addr_t
const& get_entry_offset()
const;
8447 void set_entry_offset(rose_addr_t
const&);
8453 SgAsmLEEntryPoint(Rose::BinaryAnalysis::ByteOrder::Endianness sex,
unsigned flags);
8454 rose_addr_t unparse(std::ostream&, Rose::BinaryAnalysis::ByteOrder::Endianness,
const SgAsmGenericSection*,
8455 rose_addr_t spos)
const;
8456 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
8473 #endif // SgAsmLEEntryPoint_OTHERS
8474 #ifdef DOCUMENTATION
8476 #endif // DOCUMENTATION
8483 DECLARE_LEAF_CLASS(AsmJvmStackMapVerificationType);
8484 IS_SERIALIZABLE(AsmJvmStackMapVerificationType);
8486 #ifdef DOCUMENTATION
8491 #endif // DOCUMENTATION
8493 #ifndef DOCUMENTATION
8494 AsmJvmStackMapVerificationType.setDataPrototype(
8495 "uint8_t",
"tag",
"= 9",
8496 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8497 #endif // !DOCUMENTATION
8499 #ifndef DOCUMENTATION
8500 AsmJvmStackMapVerificationType.setDataPrototype(
8501 "uint16_t",
"cpool_index",
"= 0",
8502 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8503 #endif // !DOCUMENTATION
8505 #ifndef DOCUMENTATION
8506 AsmJvmStackMapVerificationType.setDataPrototype(
8507 "uint16_t",
"offset",
"= 0",
8508 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8509 #endif // !DOCUMENTATION
8511 DECLARE_OTHERS(AsmJvmStackMapVerificationType);
8512 #if defined(SgAsmJvmStackMapVerificationType_OTHERS) || defined(DOCUMENTATION)
8515 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
8517 friend class boost::serialization::access;
8520 void serialize(S &s,
const unsigned ) {
8523 s & BOOST_SERIALIZATION_NVP(p_tag);
8524 s & BOOST_SERIALIZATION_NVP(p_cpool_index);
8525 s & BOOST_SERIALIZATION_NVP(p_offset);
8528 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
8534 enum verification_type_tag {
8541 ITEM_UninitializedThis = 6,
8543 ITEM_Uninitialized = 8
8549 #ifdef DOCUMENTATION
8553 union verification_type_info {
8555 Integer_variable_info;
8556 Float_variable_info;
8558 Double_variable_info;
8560 UninitializedThis_variable_info;
8561 Object_variable_info;
8562 Uninitialized_variable_info;
8566 struct Top_variable_info {
8569 struct Integer_variable_info {
8572 struct Float_variable_info {
8575 struct Long_variable_info {
8578 struct Double_variable_info {
8581 struct Null_variable_info {
8584 struct UnitializedThis_variable_info {
8587 struct Object_variable_info {
8589 uint16_t cpool_index;
8591 struct Unitialized_variable_info {
8607 uint8_t
const&
get_tag()
const;
8643 virtual void unparse(std::ostream&)
const override;
8646 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
8663 #endif // SgAsmJvmStackMapVerificationType_OTHERS
8664 #ifdef DOCUMENTATION
8666 #endif // DOCUMENTATION
8673 DECLARE_LEAF_CLASS(AsmJvmStackMapTable);
8674 IS_SERIALIZABLE(AsmJvmStackMapTable);
8676 #ifdef DOCUMENTATION
8682 #endif // DOCUMENTATION
8684 #ifndef DOCUMENTATION
8685 AsmJvmStackMapTable.setDataPrototype(
8686 "SgAsmJvmStackMapFramePtrList",
"entries",
"",
8687 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8688 #endif // !DOCUMENTATION
8690 DECLARE_OTHERS(AsmJvmStackMapTable);
8691 #if defined(SgAsmJvmStackMapTable_OTHERS) || defined(DOCUMENTATION)
8694 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
8696 friend class boost::serialization::access;
8699 void serialize(S &s,
const unsigned ) {
8702 s & BOOST_SERIALIZATION_NVP(p_entries);
8705 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
8714 SgAsmJvmStackMapFramePtrList
const&
get_entries()
const;
8716 void set_entries(SgAsmJvmStackMapFramePtrList
const&);
8731 virtual void unparse(std::ostream&)
const override;
8734 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
8751 #endif // SgAsmJvmStackMapTable_OTHERS
8752 #ifdef DOCUMENTATION
8754 #endif // DOCUMENTATION
8761 DECLARE_LEAF_CLASS(AsmJvmStackMapFrame);
8762 IS_SERIALIZABLE(AsmJvmStackMapFrame);
8764 #ifdef DOCUMENTATION
8769 #endif // DOCUMENTATION
8771 #ifndef DOCUMENTATION
8772 AsmJvmStackMapFrame.setDataPrototype(
8773 "SgAsmJvmStackMapVerificationTypePtrList",
"stack",
"",
8774 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8775 #endif // !DOCUMENTATION
8777 #ifndef DOCUMENTATION
8778 AsmJvmStackMapFrame.setDataPrototype(
8779 "SgAsmJvmStackMapVerificationTypePtrList",
"locals",
"",
8780 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8781 #endif // !DOCUMENTATION
8783 #ifndef DOCUMENTATION
8784 AsmJvmStackMapFrame.setDataPrototype(
8785 "uint8_t",
"frame_type",
"= 0",
8786 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8787 #endif // !DOCUMENTATION
8789 #ifndef DOCUMENTATION
8790 AsmJvmStackMapFrame.setDataPrototype(
8791 "uint16_t",
"offset_delta",
"= 0",
8792 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8793 #endif // !DOCUMENTATION
8795 DECLARE_OTHERS(AsmJvmStackMapFrame);
8796 #if defined(SgAsmJvmStackMapFrame_OTHERS) || defined(DOCUMENTATION)
8799 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
8801 friend class boost::serialization::access;
8804 void serialize(S &s,
const unsigned ) {
8807 s & BOOST_SERIALIZATION_NVP(p_stack);
8808 s & BOOST_SERIALIZATION_NVP(p_locals);
8809 s & BOOST_SERIALIZATION_NVP(p_frame_type);
8810 s & BOOST_SERIALIZATION_NVP(p_offset_delta);
8813 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
8819 SgAsmJvmStackMapVerificationTypePtrList
const&
get_stack()
const;
8820 SgAsmJvmStackMapVerificationTypePtrList&
get_stack();
8821 void set_stack(SgAsmJvmStackMapVerificationTypePtrList
const&);
8828 SgAsmJvmStackMapVerificationTypePtrList
const&
get_locals()
const;
8829 SgAsmJvmStackMapVerificationTypePtrList&
get_locals();
8830 void set_locals(SgAsmJvmStackMapVerificationTypePtrList
const&);
8835 #ifdef DOCUMENTATION
8842 same_locals_1_stack_item_frame_extended;
8854 verification_type_info stack;
8858 uint16_t offset_delta;
8859 verification_type_info stack;
8863 uint16_t offset_delta;
8867 uint16_t offset_delta;
8871 uint16_t offset_delta;
8872 verification_type_info stack;
8876 uint16_t offset_delta;
8877 uint16_t number_of_locals;
8878 verification_type_info stack[number_of_locals];
8879 uint16_t number_of_stack_items;
8880 verification_type_info stack[number_of_stack_items];
8920 virtual void unparse(std::ostream&)
const override;
8923 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
8940 #endif // SgAsmJvmStackMapFrame_OTHERS
8941 #ifdef DOCUMENTATION
8943 #endif // DOCUMENTATION
8950 DECLARE_LEAF_CLASS(AsmJvmSourceFile);
8951 IS_SERIALIZABLE(AsmJvmSourceFile);
8953 #ifdef DOCUMENTATION
8958 #endif // DOCUMENTATION
8960 #ifndef DOCUMENTATION
8961 AsmJvmSourceFile.setDataPrototype(
8962 "uint16_t",
"sourcefile_index",
"= 0",
8963 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8964 #endif // !DOCUMENTATION
8966 DECLARE_OTHERS(AsmJvmSourceFile);
8967 #if defined(SgAsmJvmSourceFile_OTHERS) || defined(DOCUMENTATION)
8970 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
8972 friend class boost::serialization::access;
8975 void serialize(S &s,
const unsigned ) {
8978 s & BOOST_SERIALIZATION_NVP(p_sourcefile_index);
8981 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9002 virtual void unparse(std::ostream&)
const override;
9005 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9022 #endif // SgAsmJvmSourceFile_OTHERS
9023 #ifdef DOCUMENTATION
9025 #endif // DOCUMENTATION
9032 DECLARE_LEAF_CLASS(AsmJvmSignature);
9033 IS_SERIALIZABLE(AsmJvmSignature);
9035 #ifdef DOCUMENTATION
9041 #endif // DOCUMENTATION
9043 #ifndef DOCUMENTATION
9044 AsmJvmSignature.setDataPrototype(
9045 "uint16_t",
"signature_index",
"= 0",
9046 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9047 #endif // !DOCUMENTATION
9049 DECLARE_OTHERS(AsmJvmSignature);
9050 #if defined(SgAsmJvmSignature_OTHERS) || defined(DOCUMENTATION)
9053 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9055 friend class boost::serialization::access;
9058 void serialize(S &s,
const unsigned ) {
9061 s & BOOST_SERIALIZATION_NVP(p_signature_index);
9064 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9085 virtual void unparse(std::ostream&)
const override;
9088 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9105 #endif // SgAsmJvmSignature_OTHERS
9106 #ifdef DOCUMENTATION
9108 #endif // DOCUMENTATION
9115 DECLARE_LEAF_CLASS(AsmJvmNestMembers);
9116 IS_SERIALIZABLE(AsmJvmNestMembers);
9118 #ifdef DOCUMENTATION
9125 #endif // DOCUMENTATION
9127 #ifndef DOCUMENTATION
9128 AsmJvmNestMembers.setDataPrototype(
9129 "SgUnsigned16List",
"classes",
"",
9130 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9131 #endif // !DOCUMENTATION
9133 DECLARE_OTHERS(AsmJvmNestMembers);
9134 #if defined(SgAsmJvmNestMembers_OTHERS) || defined(DOCUMENTATION)
9137 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9139 friend class boost::serialization::access;
9142 void serialize(S &s,
const unsigned ) {
9145 s & BOOST_SERIALIZATION_NVP(p_classes);
9148 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9172 virtual void unparse(std::ostream&)
const override;
9175 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9192 #endif // SgAsmJvmNestMembers_OTHERS
9193 #ifdef DOCUMENTATION
9195 #endif // DOCUMENTATION
9202 DECLARE_LEAF_CLASS(AsmJvmNestHost);
9203 IS_SERIALIZABLE(AsmJvmNestHost);
9205 #ifdef DOCUMENTATION
9211 #endif // DOCUMENTATION
9213 #ifndef DOCUMENTATION
9214 AsmJvmNestHost.setDataPrototype(
9215 "uint16_t",
"host_class_index",
"= 0",
9216 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9217 #endif // !DOCUMENTATION
9219 DECLARE_OTHERS(AsmJvmNestHost);
9220 #if defined(SgAsmJvmNestHost_OTHERS) || defined(DOCUMENTATION)
9223 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9225 friend class boost::serialization::access;
9228 void serialize(S &s,
const unsigned ) {
9231 s & BOOST_SERIALIZATION_NVP(p_host_class_index);
9234 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9258 virtual void unparse(std::ostream&)
const override;
9261 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9278 #endif // SgAsmJvmNestHost_OTHERS
9279 #ifdef DOCUMENTATION
9281 #endif // DOCUMENTATION
9288 DECLARE_LEAF_CLASS(AsmJvmModuleMainClass);
9289 IS_SERIALIZABLE(AsmJvmModuleMainClass);
9291 #ifdef DOCUMENTATION
9297 #endif // DOCUMENTATION
9299 #ifndef DOCUMENTATION
9300 AsmJvmModuleMainClass.setDataPrototype(
9301 "uint16_t",
"main_class_index",
"= 0",
9302 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9303 #endif // !DOCUMENTATION
9305 DECLARE_OTHERS(AsmJvmModuleMainClass);
9306 #if defined(SgAsmJvmModuleMainClass_OTHERS) || defined(DOCUMENTATION)
9309 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9311 friend class boost::serialization::access;
9314 void serialize(S &s,
const unsigned ) {
9317 s & BOOST_SERIALIZATION_NVP(p_main_class_index);
9320 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9341 virtual void unparse(std::ostream&)
const override;
9344 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9361 #endif // SgAsmJvmModuleMainClass_OTHERS
9362 #ifdef DOCUMENTATION
9364 #endif // DOCUMENTATION
9371 DECLARE_LEAF_CLASS(AsmJvmMethodTable);
9372 IS_SERIALIZABLE(AsmJvmMethodTable);
9374 #ifdef DOCUMENTATION
9381 #endif // DOCUMENTATION
9383 #ifndef DOCUMENTATION
9384 AsmJvmMethodTable.setDataPrototype(
9385 "SgAsmJvmMethodPtrList",
"methods",
"",
9386 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
9387 #endif // !DOCUMENTATION
9389 DECLARE_OTHERS(AsmJvmMethodTable);
9390 #if defined(SgAsmJvmMethodTable_OTHERS) || defined(DOCUMENTATION)
9393 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9395 friend class boost::serialization::access;
9398 void serialize(S &s,
const unsigned ) {
9401 s & BOOST_SERIALIZATION_NVP(p_methods);
9404 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9427 virtual void unparse(std::ostream&)
const override;
9430 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9447 #endif // SgAsmJvmMethodTable_OTHERS
9448 #ifdef DOCUMENTATION
9450 #endif // DOCUMENTATION
9457 DECLARE_LEAF_CLASS(AsmJvmMethod);
9458 IS_SERIALIZABLE(AsmJvmMethod);
9460 #ifdef DOCUMENTATION
9466 #endif // DOCUMENTATION
9468 #ifndef DOCUMENTATION
9469 AsmJvmMethod.setDataPrototype(
9470 "uint16_t",
"access_flags",
"= 0",
9471 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9472 #endif // !DOCUMENTATION
9474 #ifndef DOCUMENTATION
9475 AsmJvmMethod.setDataPrototype(
9476 "uint16_t",
"name_index",
"= 0",
9477 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9478 #endif // !DOCUMENTATION
9480 #ifndef DOCUMENTATION
9481 AsmJvmMethod.setDataPrototype(
9482 "uint16_t",
"descriptor_index",
"= 0",
9483 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9484 #endif // !DOCUMENTATION
9486 #ifndef DOCUMENTATION
9487 AsmJvmMethod.setDataPrototype(
9488 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
9489 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
9490 #endif // !DOCUMENTATION
9492 #ifndef DOCUMENTATION
9493 AsmJvmMethod.setDataPrototype(
9494 "SgAsmInstructionList*",
"instruction_list",
"= createAndParent<SgAsmInstructionList>(this)",
9495 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9496 #endif // !DOCUMENTATION
9498 DECLARE_OTHERS(AsmJvmMethod);
9499 #if defined(SgAsmJvmMethod_OTHERS) || defined(DOCUMENTATION)
9502 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9504 friend class boost::serialization::access;
9507 void serialize(S &s,
const unsigned ) {
9510 s & BOOST_SERIALIZATION_NVP(p_access_flags);
9511 s & BOOST_SERIALIZATION_NVP(p_name_index);
9512 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
9513 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
9514 s & BOOST_SERIALIZATION_NVP(p_instruction_list);
9517 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9577 virtual void unparse(std::ostream&)
const override;
9580 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9597 #endif // SgAsmJvmMethod_OTHERS
9598 #ifdef DOCUMENTATION
9600 #endif // DOCUMENTATION
9607 DECLARE_LEAF_CLASS(AsmJvmLineNumberTable);
9608 IS_SERIALIZABLE(AsmJvmLineNumberTable);
9610 #ifdef DOCUMENTATION
9617 #endif // DOCUMENTATION
9619 #ifndef DOCUMENTATION
9620 AsmJvmLineNumberTable.setDataPrototype(
9621 "SgAsmJvmLineNumberEntryPtrList",
"line_number_table",
"",
9622 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9623 #endif // !DOCUMENTATION
9625 DECLARE_OTHERS(AsmJvmLineNumberTable);
9626 #if defined(SgAsmJvmLineNumberTable_OTHERS) || defined(DOCUMENTATION)
9629 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9631 friend class boost::serialization::access;
9634 void serialize(S &s,
const unsigned ) {
9637 s & BOOST_SERIALIZATION_NVP(p_line_number_table);
9640 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9662 virtual void unparse(std::ostream&)
const override;
9665 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9682 #endif // SgAsmJvmLineNumberTable_OTHERS
9683 #ifdef DOCUMENTATION
9685 #endif // DOCUMENTATION
9692 DECLARE_LEAF_CLASS(AsmJvmLineNumberEntry);
9693 IS_SERIALIZABLE(AsmJvmLineNumberEntry);
9695 #ifdef DOCUMENTATION
9700 #endif // DOCUMENTATION
9702 #ifndef DOCUMENTATION
9703 AsmJvmLineNumberEntry.setDataPrototype(
9704 "uint16_t",
"start_pc",
"= 0",
9705 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9706 #endif // !DOCUMENTATION
9708 #ifndef DOCUMENTATION
9709 AsmJvmLineNumberEntry.setDataPrototype(
9710 "uint16_t",
"line_number",
"= 0",
9711 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9712 #endif // !DOCUMENTATION
9714 DECLARE_OTHERS(AsmJvmLineNumberEntry);
9715 #if defined(SgAsmJvmLineNumberEntry_OTHERS) || defined(DOCUMENTATION)
9718 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9720 friend class boost::serialization::access;
9723 void serialize(S &s,
const unsigned ) {
9726 s & BOOST_SERIALIZATION_NVP(p_start_pc);
9727 s & BOOST_SERIALIZATION_NVP(p_line_number);
9730 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9761 virtual void unparse(std::ostream&)
const override;
9764 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9781 #endif // SgAsmJvmLineNumberEntry_OTHERS
9782 #ifdef DOCUMENTATION
9784 #endif // DOCUMENTATION
9791 DECLARE_LEAF_CLASS(AsmJvmInstruction);
9792 IS_SERIALIZABLE(AsmJvmInstruction);
9794 DECLARE_HEADERS(AsmJvmInstruction);
9795 #if defined(SgAsmJvmInstruction_HEADERS) || defined(DOCUMENTATION)
9796 #include <Rose/BinaryAnalysis/InstructionEnumsJvm.h>
9797 #endif // SgAsmJvmInstruction_HEADERS
9799 #ifdef DOCUMENTATION
9802 #endif // DOCUMENTATION
9804 #ifndef DOCUMENTATION
9805 AsmJvmInstruction.setDataPrototype(
9806 "Rose::BinaryAnalysis::JvmInstructionKind",
"kind",
"= Rose::BinaryAnalysis::JvmInstructionKind::unknown",
9807 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9808 #endif // !DOCUMENTATION
9810 DECLARE_OTHERS(AsmJvmInstruction);
9811 #if defined(SgAsmJvmInstruction_OTHERS) || defined(DOCUMENTATION)
9814 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9816 friend class boost::serialization::access;
9819 void serialize(S &s,
const unsigned ) {
9822 s & BOOST_SERIALIZATION_NVP(p_kind);
9825 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9842 rose_addr_t *target, rose_addr_t *ret)
override;
9844 rose_addr_t *target, rose_addr_t *ret)
override;
9848 virtual bool isUnknown()
const override;
9862 std::string
const& mnemonic,
9873 #endif // SgAsmJvmInstruction_OTHERS
9874 #ifdef DOCUMENTATION
9876 #endif // DOCUMENTATION
9883 DECLARE_LEAF_CLASS(AsmJvmInnerClasses);
9884 IS_SERIALIZABLE(AsmJvmInnerClasses);
9886 #ifdef DOCUMENTATION
9893 #endif // DOCUMENTATION
9895 #ifndef DOCUMENTATION
9896 AsmJvmInnerClasses.setDataPrototype(
9897 "SgAsmJvmInnerClassesEntryPtrList",
"classes",
"",
9898 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9899 #endif // !DOCUMENTATION
9901 DECLARE_OTHERS(AsmJvmInnerClasses);
9902 #if defined(SgAsmJvmInnerClasses_OTHERS) || defined(DOCUMENTATION)
9905 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9907 friend class boost::serialization::access;
9910 void serialize(S &s,
const unsigned ) {
9913 s & BOOST_SERIALIZATION_NVP(p_classes);
9916 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
9922 SgAsmJvmInnerClassesEntryPtrList
const&
get_classes()
const;
9924 void set_classes(SgAsmJvmInnerClassesEntryPtrList
const&);
9939 virtual void unparse(std::ostream&)
const override;
9942 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9959 #endif // SgAsmJvmInnerClasses_OTHERS
9960 #ifdef DOCUMENTATION
9962 #endif // DOCUMENTATION
9969 DECLARE_LEAF_CLASS(AsmJvmInnerClassesEntry);
9970 IS_SERIALIZABLE(AsmJvmInnerClassesEntry);
9972 #ifdef DOCUMENTATION
9978 #endif // DOCUMENTATION
9980 #ifndef DOCUMENTATION
9981 AsmJvmInnerClassesEntry.setDataPrototype(
9982 "uint16_t",
"inner_class_info_index",
"= 0",
9983 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9984 #endif // !DOCUMENTATION
9986 #ifndef DOCUMENTATION
9987 AsmJvmInnerClassesEntry.setDataPrototype(
9988 "uint16_t",
"outer_class_info_index",
"= 0",
9989 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9990 #endif // !DOCUMENTATION
9992 #ifndef DOCUMENTATION
9993 AsmJvmInnerClassesEntry.setDataPrototype(
9994 "uint16_t",
"inner_name_index",
"= 0",
9995 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9996 #endif // !DOCUMENTATION
9998 #ifndef DOCUMENTATION
9999 AsmJvmInnerClassesEntry.setDataPrototype(
10000 "uint16_t",
"inner_class_access_flags",
"= 0",
10001 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10002 #endif // !DOCUMENTATION
10004 DECLARE_OTHERS(AsmJvmInnerClassesEntry);
10005 #if defined(SgAsmJvmInnerClassesEntry_OTHERS) || defined(DOCUMENTATION)
10008 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10010 friend class boost::serialization::access;
10013 void serialize(S &s,
const unsigned ) {
10015 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10016 s & BOOST_SERIALIZATION_NVP(p_inner_class_info_index);
10017 s & BOOST_SERIALIZATION_NVP(p_outer_class_info_index);
10018 s & BOOST_SERIALIZATION_NVP(p_inner_name_index);
10019 s & BOOST_SERIALIZATION_NVP(p_inner_class_access_flags);
10022 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
10078 virtual void unparse(std::ostream&)
const override;
10081 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10098 #endif // SgAsmJvmInnerClassesEntry_OTHERS
10099 #ifdef DOCUMENTATION
10101 #endif // DOCUMENTATION
10108 DECLARE_LEAF_CLASS(AsmJvmFileHeader);
10109 IS_SERIALIZABLE(AsmJvmFileHeader);
10111 #ifdef DOCUMENTATION
10119 #endif // DOCUMENTATION
10121 #ifndef DOCUMENTATION
10122 AsmJvmFileHeader.setDataPrototype(
10123 "uint16_t",
"minor_version",
"= 0",
10124 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10125 #endif // !DOCUMENTATION
10127 #ifndef DOCUMENTATION
10128 AsmJvmFileHeader.setDataPrototype(
10129 "uint16_t",
"major_version",
"= 0",
10130 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10131 #endif // !DOCUMENTATION
10133 #ifndef DOCUMENTATION
10134 AsmJvmFileHeader.setDataPrototype(
10135 "uint16_t",
"access_flags",
"= 0",
10136 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10137 #endif // !DOCUMENTATION
10139 #ifndef DOCUMENTATION
10140 AsmJvmFileHeader.setDataPrototype(
10141 "uint16_t",
"this_class",
"= 0",
10142 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10143 #endif // !DOCUMENTATION
10145 #ifndef DOCUMENTATION
10146 AsmJvmFileHeader.setDataPrototype(
10147 "uint16_t",
"super_class",
"= 0",
10148 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10149 #endif // !DOCUMENTATION
10151 #ifndef DOCUMENTATION
10152 AsmJvmFileHeader.setDataPrototype(
10153 "SgAsmJvmConstantPool*",
"constant_pool",
"= nullptr",
10154 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10155 #endif // !DOCUMENTATION
10157 #ifndef DOCUMENTATION
10158 AsmJvmFileHeader.setDataPrototype(
10159 "std::list<uint16_t>",
"interfaces",
"",
10160 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10161 #endif // !DOCUMENTATION
10163 #ifndef DOCUMENTATION
10164 AsmJvmFileHeader.setDataPrototype(
10165 "SgAsmJvmFieldTable*",
"field_table",
"= nullptr",
10166 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10167 #endif // !DOCUMENTATION
10169 #ifndef DOCUMENTATION
10170 AsmJvmFileHeader.setDataPrototype(
10171 "SgAsmJvmMethodTable*",
"method_table",
"= nullptr",
10172 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10173 #endif // !DOCUMENTATION
10175 #ifndef DOCUMENTATION
10176 AsmJvmFileHeader.setDataPrototype(
10177 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
10178 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10179 #endif // !DOCUMENTATION
10181 DECLARE_OTHERS(AsmJvmFileHeader);
10182 #if defined(SgAsmJvmFileHeader_OTHERS) || defined(DOCUMENTATION)
10185 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10187 friend class boost::serialization::access;
10190 void serialize(S &s,
const unsigned ) {
10193 s & BOOST_SERIALIZATION_NVP(p_minor_version);
10194 s & BOOST_SERIALIZATION_NVP(p_major_version);
10195 s & BOOST_SERIALIZATION_NVP(p_access_flags);
10196 s & BOOST_SERIALIZATION_NVP(p_this_class);
10197 s & BOOST_SERIALIZATION_NVP(p_super_class);
10198 s & BOOST_SERIALIZATION_NVP(p_constant_pool);
10199 s & BOOST_SERIALIZATION_NVP(p_interfaces);
10200 s & BOOST_SERIALIZATION_NVP(p_field_table);
10201 s & BOOST_SERIALIZATION_NVP(p_method_table);
10202 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
10205 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
10333 virtual void unparse(std::ostream&)
const override;
10357 #endif // SgAsmJvmFileHeader_OTHERS
10358 #ifdef DOCUMENTATION
10360 #endif // DOCUMENTATION
10367 DECLARE_LEAF_CLASS(AsmJvmFieldTable);
10368 IS_SERIALIZABLE(AsmJvmFieldTable);
10370 #ifdef DOCUMENTATION
10377 #endif // DOCUMENTATION
10379 #ifndef DOCUMENTATION
10380 AsmJvmFieldTable.setDataPrototype(
10381 "SgAsmJvmFieldPtrList",
"fields",
"",
10382 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
10383 #endif // !DOCUMENTATION
10385 DECLARE_OTHERS(AsmJvmFieldTable);
10386 #if defined(SgAsmJvmFieldTable_OTHERS) || defined(DOCUMENTATION)
10389 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10391 friend class boost::serialization::access;
10394 void serialize(S &s,
const unsigned ) {
10397 s & BOOST_SERIALIZATION_NVP(p_fields);
10400 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
10406 SgAsmJvmFieldPtrList
const&
get_fields()
const;
10408 void set_fields(SgAsmJvmFieldPtrList
const&);
10422 virtual void unparse(std::ostream&)
const override;
10425 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10442 #endif // SgAsmJvmFieldTable_OTHERS
10443 #ifdef DOCUMENTATION
10445 #endif // DOCUMENTATION
10452 DECLARE_LEAF_CLASS(AsmJvmField);
10453 IS_SERIALIZABLE(AsmJvmField);
10455 #ifdef DOCUMENTATION
10460 #endif // DOCUMENTATION
10462 #ifndef DOCUMENTATION
10463 AsmJvmField.setDataPrototype(
10464 "uint16_t",
"access_flags",
"= 0",
10465 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10466 #endif // !DOCUMENTATION
10468 #ifndef DOCUMENTATION
10469 AsmJvmField.setDataPrototype(
10470 "uint16_t",
"name_index",
"= 0",
10471 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10472 #endif // !DOCUMENTATION
10474 #ifndef DOCUMENTATION
10475 AsmJvmField.setDataPrototype(
10476 "uint16_t",
"descriptor_index",
"= 0",
10477 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10478 #endif // !DOCUMENTATION
10480 #ifndef DOCUMENTATION
10481 AsmJvmField.setDataPrototype(
10482 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
10483 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
10484 #endif // !DOCUMENTATION
10486 DECLARE_OTHERS(AsmJvmField);
10487 #if defined(SgAsmJvmField_OTHERS) || defined(DOCUMENTATION)
10490 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10492 friend class boost::serialization::access;
10495 void serialize(S &s,
const unsigned ) {
10497 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10498 s & BOOST_SERIALIZATION_NVP(p_access_flags);
10499 s & BOOST_SERIALIZATION_NVP(p_name_index);
10500 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
10501 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
10504 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
10554 virtual void unparse(std::ostream&)
const override;
10557 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10574 #endif // SgAsmJvmField_OTHERS
10575 #ifdef DOCUMENTATION
10577 #endif // DOCUMENTATION
10584 DECLARE_LEAF_CLASS(AsmJvmExceptionTable);
10585 IS_SERIALIZABLE(AsmJvmExceptionTable);
10587 #ifdef DOCUMENTATION
10593 #endif // DOCUMENTATION
10595 #ifndef DOCUMENTATION
10596 AsmJvmExceptionTable.setDataPrototype(
10597 "SgAsmJvmExceptionHandlerPtrList",
"handlers",
"",
10598 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10599 #endif // !DOCUMENTATION
10601 DECLARE_OTHERS(AsmJvmExceptionTable);
10602 #if defined(SgAsmJvmExceptionTable_OTHERS) || defined(DOCUMENTATION)
10605 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10607 friend class boost::serialization::access;
10610 void serialize(S &s,
const unsigned ) {
10612 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10613 s & BOOST_SERIALIZATION_NVP(p_handlers);
10616 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
10622 SgAsmJvmExceptionHandlerPtrList
const&
get_handlers()
const;
10624 void set_handlers(SgAsmJvmExceptionHandlerPtrList
const&);
10639 virtual void unparse(std::ostream&)
const override;
10642 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10659 #endif // SgAsmJvmExceptionTable_OTHERS
10660 #ifdef DOCUMENTATION
10662 #endif // DOCUMENTATION
10669 DECLARE_LEAF_CLASS(AsmJvmExceptions);
10670 IS_SERIALIZABLE(AsmJvmExceptions);
10672 #ifdef DOCUMENTATION
10679 #endif // DOCUMENTATION
10681 #ifndef DOCUMENTATION
10682 AsmJvmExceptions.setDataPrototype(
10683 "SgUnsigned16List",
"exception_index_table",
"",
10684 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10685 #endif // !DOCUMENTATION
10687 DECLARE_OTHERS(AsmJvmExceptions);
10688 #if defined(SgAsmJvmExceptions_OTHERS) || defined(DOCUMENTATION)
10691 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10693 friend class boost::serialization::access;
10696 void serialize(S &s,
const unsigned ) {
10699 s & BOOST_SERIALIZATION_NVP(p_exception_index_table);
10702 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
10725 virtual void unparse(std::ostream&)
const override;
10728 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10745 #endif // SgAsmJvmExceptions_OTHERS
10746 #ifdef DOCUMENTATION
10748 #endif // DOCUMENTATION
10755 DECLARE_LEAF_CLASS(AsmJvmExceptionHandler);
10756 IS_SERIALIZABLE(AsmJvmExceptionHandler);
10758 #ifdef DOCUMENTATION
10763 #endif // DOCUMENTATION
10765 #ifndef DOCUMENTATION
10766 AsmJvmExceptionHandler.setDataPrototype(
10767 "uint16_t",
"start_pc",
"= 0",
10768 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10769 #endif // !DOCUMENTATION
10771 #ifndef DOCUMENTATION
10772 AsmJvmExceptionHandler.setDataPrototype(
10773 "uint16_t",
"end_pc",
"= 0",
10774 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10775 #endif // !DOCUMENTATION
10777 #ifndef DOCUMENTATION
10778 AsmJvmExceptionHandler.setDataPrototype(
10779 "uint16_t",
"handler_pc",
"= 0",
10780 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10781 #endif // !DOCUMENTATION
10783 #ifndef DOCUMENTATION
10784 AsmJvmExceptionHandler.setDataPrototype(
10785 "uint16_t",
"catch_type",
"= 0",
10786 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10787 #endif // !DOCUMENTATION
10789 DECLARE_OTHERS(AsmJvmExceptionHandler);
10790 #if defined(SgAsmJvmExceptionHandler_OTHERS) || defined(DOCUMENTATION)
10793 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10795 friend class boost::serialization::access;
10798 void serialize(S &s,
const unsigned ) {
10800 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10801 s & BOOST_SERIALIZATION_NVP(p_start_pc);
10802 s & BOOST_SERIALIZATION_NVP(p_end_pc);
10803 s & BOOST_SERIALIZATION_NVP(p_handler_pc);
10804 s & BOOST_SERIALIZATION_NVP(p_catch_type);
10807 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
10862 virtual void unparse(std::ostream&)
const override;
10865 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10882 #endif // SgAsmJvmExceptionHandler_OTHERS
10883 #ifdef DOCUMENTATION
10885 #endif // DOCUMENTATION
10892 DECLARE_LEAF_CLASS(AsmJvmEnclosingMethod);
10893 IS_SERIALIZABLE(AsmJvmEnclosingMethod);
10895 #ifdef DOCUMENTATION
10901 #endif // DOCUMENTATION
10903 #ifndef DOCUMENTATION
10904 AsmJvmEnclosingMethod.setDataPrototype(
10905 "uint16_t",
"class_index",
"= 0",
10906 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10907 #endif // !DOCUMENTATION
10909 #ifndef DOCUMENTATION
10910 AsmJvmEnclosingMethod.setDataPrototype(
10911 "uint16_t",
"method_index",
"= 0",
10912 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10913 #endif // !DOCUMENTATION
10915 DECLARE_OTHERS(AsmJvmEnclosingMethod);
10916 #if defined(SgAsmJvmEnclosingMethod_OTHERS) || defined(DOCUMENTATION)
10919 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10921 friend class boost::serialization::access;
10924 void serialize(S &s,
const unsigned ) {
10927 s & BOOST_SERIALIZATION_NVP(p_class_index);
10928 s & BOOST_SERIALIZATION_NVP(p_method_index);
10931 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
10962 virtual void unparse(std::ostream&)
const override;
10965 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10982 #endif // SgAsmJvmEnclosingMethod_OTHERS
10983 #ifdef DOCUMENTATION
10985 #endif // DOCUMENTATION
10992 DECLARE_LEAF_CLASS(AsmJvmConstantValue);
10993 IS_SERIALIZABLE(AsmJvmConstantValue);
10995 #ifdef DOCUMENTATION
11001 #endif // DOCUMENTATION
11003 #ifndef DOCUMENTATION
11004 AsmJvmConstantValue.setDataPrototype(
11005 "uint16_t",
"constantvalue_index",
"= 0",
11006 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11007 #endif // !DOCUMENTATION
11009 DECLARE_OTHERS(AsmJvmConstantValue);
11010 #if defined(SgAsmJvmConstantValue_OTHERS) || defined(DOCUMENTATION)
11013 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11015 friend class boost::serialization::access;
11018 void serialize(S &s,
const unsigned ) {
11021 s & BOOST_SERIALIZATION_NVP(p_constantvalue_index);
11024 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
11045 virtual void unparse(std::ostream&)
const override;
11048 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11065 #endif // SgAsmJvmConstantValue_OTHERS
11066 #ifdef DOCUMENTATION
11068 #endif // DOCUMENTATION
11075 DECLARE_LEAF_CLASS(AsmJvmConstantPool);
11076 IS_SERIALIZABLE(AsmJvmConstantPool);
11078 #ifdef DOCUMENTATION
11085 #endif // DOCUMENTATION
11087 #ifndef DOCUMENTATION
11088 AsmJvmConstantPool.setDataPrototype(
11089 "SgAsmJvmConstantPoolEntryPtrList",
"entries",
"",
11090 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11091 #endif // !DOCUMENTATION
11093 DECLARE_OTHERS(AsmJvmConstantPool);
11094 #if defined(SgAsmJvmConstantPool_OTHERS) || defined(DOCUMENTATION)
11097 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11099 friend class boost::serialization::access;
11102 void serialize(S &s,
const unsigned ) {
11105 s & BOOST_SERIALIZATION_NVP(p_entries);
11108 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
11114 SgAsmJvmConstantPoolEntryPtrList
const&
get_entries()
const;
11116 void set_entries(SgAsmJvmConstantPoolEntryPtrList
const&);
11144 virtual void unparse(std::ostream&)
const override;
11147 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11168 #endif // SgAsmJvmConstantPool_OTHERS
11169 #ifdef DOCUMENTATION
11171 #endif // DOCUMENTATION
11178 DECLARE_LEAF_CLASS(AsmJvmConstantPoolEntry);
11179 IS_SERIALIZABLE(AsmJvmConstantPoolEntry);
11181 #ifdef DOCUMENTATION
11187 #endif // DOCUMENTATION
11189 #ifndef DOCUMENTATION
11190 AsmJvmConstantPoolEntry.setDataPrototype(
11191 "SgAsmJvmConstantPoolEntry::Kind",
"tag",
"= SgAsmJvmConstantPoolEntry::EMPTY",
11192 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11193 #endif // !DOCUMENTATION
11195 #ifndef DOCUMENTATION
11196 AsmJvmConstantPoolEntry.setDataPrototype(
11197 "uint32_t",
"bytes",
"= 0",
11198 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11199 #endif // !DOCUMENTATION
11201 #ifndef DOCUMENTATION
11202 AsmJvmConstantPoolEntry.setDataPrototype(
11203 "uint32_t",
"hi_bytes",
"= 0",
11204 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11205 #endif // !DOCUMENTATION
11207 #ifndef DOCUMENTATION
11208 AsmJvmConstantPoolEntry.setDataPrototype(
11209 "uint32_t",
"low_bytes",
"= 0",
11210 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11211 #endif // !DOCUMENTATION
11213 #ifndef DOCUMENTATION
11214 AsmJvmConstantPoolEntry.setDataPrototype(
11215 "uint16_t",
"bootstrap_method_attr_index",
"= 0",
11216 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11217 #endif // !DOCUMENTATION
11219 #ifndef DOCUMENTATION
11220 AsmJvmConstantPoolEntry.setDataPrototype(
11221 "uint16_t",
"class_index",
"= 0",
11222 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11223 #endif // !DOCUMENTATION
11225 #ifndef DOCUMENTATION
11226 AsmJvmConstantPoolEntry.setDataPrototype(
11227 "uint16_t",
"descriptor_index",
"= 0",
11228 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11229 #endif // !DOCUMENTATION
11231 #ifndef DOCUMENTATION
11232 AsmJvmConstantPoolEntry.setDataPrototype(
11233 "uint16_t",
"name_index",
"= 0",
11234 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11235 #endif // !DOCUMENTATION
11237 #ifndef DOCUMENTATION
11238 AsmJvmConstantPoolEntry.setDataPrototype(
11239 "uint16_t",
"name_and_type_index",
"= 0",
11240 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11241 #endif // !DOCUMENTATION
11243 #ifndef DOCUMENTATION
11244 AsmJvmConstantPoolEntry.setDataPrototype(
11245 "uint16_t",
"reference_index",
"= 0",
11246 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11247 #endif // !DOCUMENTATION
11249 #ifndef DOCUMENTATION
11250 AsmJvmConstantPoolEntry.setDataPrototype(
11251 "uint8_t",
"reference_kind",
"= 0",
11252 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11253 #endif // !DOCUMENTATION
11255 #ifndef DOCUMENTATION
11256 AsmJvmConstantPoolEntry.setDataPrototype(
11257 "uint16_t",
"string_index",
"= 0",
11258 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11259 #endif // !DOCUMENTATION
11261 #ifndef DOCUMENTATION
11262 AsmJvmConstantPoolEntry.setDataPrototype(
11263 "uint16_t",
"length",
"= 0",
11264 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11265 #endif // !DOCUMENTATION
11267 #ifndef DOCUMENTATION
11268 AsmJvmConstantPoolEntry.setDataPrototype(
11269 "char*",
"utf8_bytes",
"= nullptr",
11270 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11271 #endif // !DOCUMENTATION
11273 DECLARE_OTHERS(AsmJvmConstantPoolEntry);
11274 #if defined(SgAsmJvmConstantPoolEntry_OTHERS) || defined(DOCUMENTATION)
11277 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11279 friend class boost::serialization::access;
11282 void serialize(S &s,
const unsigned ) {
11284 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11285 s & BOOST_SERIALIZATION_NVP(p_tag);
11286 s & BOOST_SERIALIZATION_NVP(p_bytes);
11287 s & BOOST_SERIALIZATION_NVP(p_hi_bytes);
11288 s & BOOST_SERIALIZATION_NVP(p_low_bytes);
11289 s & BOOST_SERIALIZATION_NVP(p_bootstrap_method_attr_index);
11290 s & BOOST_SERIALIZATION_NVP(p_class_index);
11291 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
11292 s & BOOST_SERIALIZATION_NVP(p_name_index);
11293 s & BOOST_SERIALIZATION_NVP(p_name_and_type_index);
11294 s & BOOST_SERIALIZATION_NVP(p_reference_index);
11295 s & BOOST_SERIALIZATION_NVP(p_reference_kind);
11296 s & BOOST_SERIALIZATION_NVP(p_string_index);
11297 s & BOOST_SERIALIZATION_NVP(p_length);
11300 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
11312 CONSTANT_Integer = 3,
11313 CONSTANT_Float = 4,
11315 CONSTANT_Double = 6,
11316 CONSTANT_Class = 7,
11317 CONSTANT_String = 8,
11318 CONSTANT_Fieldref = 9,
11319 CONSTANT_Methodref = 10,
11320 CONSTANT_InterfaceMethodref = 11,
11321 CONSTANT_NameAndType = 12,
11322 CONSTANT_MethodHandle = 15,
11323 CONSTANT_MethodType = 16,
11324 CONSTANT_Dynamic = 17,
11325 CONSTANT_InvokeDynamic = 18,
11326 CONSTANT_Module = 19,
11327 CONSTANT_Package = 20
11330 #ifdef DOCUMENTATION
11338 uint16_t name_index;
11345 uint16_t class_index;
11346 uint16_t name_and_type_index;
11350 uint16_t class_index;
11351 uint16_t name_and_type_index;
11355 uint16_t class_index;
11356 uint16_t name_and_type_index;
11362 uint16_t string_index;
11377 uint32_t low_bytes;
11382 uint32_t low_bytes;
11388 uint16_t name_index;
11389 uint16_t descriptor_index;
11402 uint8_t reference_kind;
11403 uint16_t reference_index;
11409 uint16_t descriptor_index;
11415 uint16_t bootstrap_method_attr_index;
11416 uint16_t name_and_type_index;
11420 uint16_t bootstrap_method_attr_index;
11421 uint16_t name_and_type_index;
11427 uint16_t name_index;
11433 uint16_t name_index;
11611 virtual void unparse(std::ostream&)
const override;
11614 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11634 #endif // SgAsmJvmConstantPoolEntry_OTHERS
11635 #ifdef DOCUMENTATION
11637 #endif // DOCUMENTATION
11644 DECLARE_LEAF_CLASS(AsmJvmCodeAttribute);
11645 IS_SERIALIZABLE(AsmJvmCodeAttribute);
11647 #ifdef DOCUMENTATION
11654 #endif // DOCUMENTATION
11656 #ifndef DOCUMENTATION
11657 AsmJvmCodeAttribute.setDataPrototype(
11658 "uint16_t",
"max_stack",
"= 0",
11659 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11660 #endif // !DOCUMENTATION
11662 #ifndef DOCUMENTATION
11663 AsmJvmCodeAttribute.setDataPrototype(
11664 "uint16_t",
"max_locals",
"= 0",
11665 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11666 #endif // !DOCUMENTATION
11668 #ifndef DOCUMENTATION
11669 AsmJvmCodeAttribute.setDataPrototype(
11670 "uint32_t",
"code_length",
"= 0",
11671 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11672 #endif // !DOCUMENTATION
11674 #ifndef DOCUMENTATION
11675 AsmJvmCodeAttribute.setDataPrototype(
11676 "const char*",
"code",
"= nullptr",
11677 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11678 #endif // !DOCUMENTATION
11680 #ifndef DOCUMENTATION
11681 AsmJvmCodeAttribute.setDataPrototype(
11682 "SgAsmJvmExceptionTable*",
"exception_table",
"= nullptr",
11683 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11684 #endif // !DOCUMENTATION
11686 #ifndef DOCUMENTATION
11687 AsmJvmCodeAttribute.setDataPrototype(
11688 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
11689 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11690 #endif // !DOCUMENTATION
11692 #ifndef DOCUMENTATION
11693 AsmJvmCodeAttribute.setDataPrototype(
11694 "rose_addr_t",
"code_offset",
"= 0",
11695 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11696 #endif // !DOCUMENTATION
11698 DECLARE_OTHERS(AsmJvmCodeAttribute);
11699 #if defined(SgAsmJvmCodeAttribute_OTHERS) || defined(DOCUMENTATION)
11702 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11704 friend class boost::serialization::access;
11707 void serialize(S &s,
const unsigned ) {
11710 s & BOOST_SERIALIZATION_NVP(p_max_stack);
11711 s & BOOST_SERIALIZATION_NVP(p_max_locals);
11712 s & BOOST_SERIALIZATION_NVP(p_code_length);
11713 s & BOOST_SERIALIZATION_NVP(p_exception_table);
11714 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
11715 s & BOOST_SERIALIZATION_NVP(p_code_offset);
11718 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
11759 const char*
const&
get_code()
const;
11760 void set_code(
const char*
const&);
11803 virtual void unparse(std::ostream&)
const override;
11806 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11823 #endif // SgAsmJvmCodeAttribute_OTHERS
11824 #ifdef DOCUMENTATION
11826 #endif // DOCUMENTATION
11833 DECLARE_LEAF_CLASS(AsmJvmClass);
11834 IS_SERIALIZABLE(AsmJvmClass);
11836 #ifdef DOCUMENTATION
11841 #endif // DOCUMENTATION
11843 DECLARE_OTHERS(AsmJvmClass);
11844 #if defined(SgAsmJvmClass_OTHERS) || defined(DOCUMENTATION)
11847 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11849 friend class boost::serialization::access;
11852 void serialize(S &s,
const unsigned ) {
11854 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11857 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
11875 #endif // SgAsmJvmClass_OTHERS
11876 #ifdef DOCUMENTATION
11878 #endif // DOCUMENTATION
11885 DECLARE_LEAF_CLASS(AsmJvmBootstrapMethods);
11886 IS_SERIALIZABLE(AsmJvmBootstrapMethods);
11888 #ifdef DOCUMENTATION
11894 #endif // DOCUMENTATION
11896 #ifndef DOCUMENTATION
11897 AsmJvmBootstrapMethods.setDataPrototype(
11898 "SgAsmJvmBootstrapMethodPtrList",
"bootstrap_methods",
"",
11899 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11900 #endif // !DOCUMENTATION
11902 DECLARE_OTHERS(AsmJvmBootstrapMethods);
11903 #if defined(SgAsmJvmBootstrapMethods_OTHERS) || defined(DOCUMENTATION)
11906 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11908 friend class boost::serialization::access;
11911 void serialize(S &s,
const unsigned ) {
11914 s & BOOST_SERIALIZATION_NVP(p_bootstrap_methods);
11917 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
11943 virtual void unparse(std::ostream&)
const override;
11946 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11963 #endif // SgAsmJvmBootstrapMethods_OTHERS
11964 #ifdef DOCUMENTATION
11966 #endif // DOCUMENTATION
11973 DECLARE_LEAF_CLASS(AsmJvmBootstrapMethod);
11974 IS_SERIALIZABLE(AsmJvmBootstrapMethod);
11976 #ifdef DOCUMENTATION
11983 #endif // DOCUMENTATION
11985 #ifndef DOCUMENTATION
11986 AsmJvmBootstrapMethod.setDataPrototype(
11987 "uint16_t",
"bootstrap_method_ref",
"= 0",
11988 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11989 #endif // !DOCUMENTATION
11991 #ifndef DOCUMENTATION
11992 AsmJvmBootstrapMethod.setDataPrototype(
11993 "SgUnsigned16List",
"bootstrap_arguments",
"",
11994 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11995 #endif // !DOCUMENTATION
11997 DECLARE_OTHERS(AsmJvmBootstrapMethod);
11998 #if defined(SgAsmJvmBootstrapMethod_OTHERS) || defined(DOCUMENTATION)
12001 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12003 friend class boost::serialization::access;
12006 void serialize(S &s,
const unsigned ) {
12008 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
12009 s & BOOST_SERIALIZATION_NVP(p_bootstrap_method_ref);
12010 s & BOOST_SERIALIZATION_NVP(p_bootstrap_arguments);
12013 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
12046 virtual void unparse(std::ostream&)
const override;
12049 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12066 #endif // SgAsmJvmBootstrapMethod_OTHERS
12067 #ifdef DOCUMENTATION
12069 #endif // DOCUMENTATION
12076 DECLARE_LEAF_CLASS(AsmJvmAttributeTable);
12077 IS_SERIALIZABLE(AsmJvmAttributeTable);
12079 #ifdef DOCUMENTATION
12086 #endif // DOCUMENTATION
12088 #ifndef DOCUMENTATION
12089 AsmJvmAttributeTable.setDataPrototype(
12090 "SgAsmJvmAttributePtrList",
"attributes",
"",
12091 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
12092 #endif // !DOCUMENTATION
12094 DECLARE_OTHERS(AsmJvmAttributeTable);
12095 #if defined(SgAsmJvmAttributeTable_OTHERS) || defined(DOCUMENTATION)
12098 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12100 friend class boost::serialization::access;
12103 void serialize(S &s,
const unsigned ) {
12106 s & BOOST_SERIALIZATION_NVP(p_attributes);
12109 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
12129 using SgAsmGenericSection::parse;
12134 virtual void unparse(std::ostream&)
const override;
12137 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12154 #endif // SgAsmJvmAttributeTable_OTHERS
12155 #ifdef DOCUMENTATION
12157 #endif // DOCUMENTATION
12164 #ifndef DOCUMENTATION
12165 AstNodeClass& AsmJvmAttribute = nonTerminalConstructor(
12169 "AsmJvmAttributeTag",
12170 SubclassListBuilder()
12171 | AsmJvmBootstrapMethods
12172 | AsmJvmCodeAttribute
12173 | AsmJvmConstantValue
12174 | AsmJvmEnclosingMethod
12176 | AsmJvmInnerClasses
12177 | AsmJvmLineNumberTable
12178 | AsmJvmModuleMainClass
12180 | AsmJvmNestMembers
12183 | AsmJvmStackMapTable
12185 assert(AsmJvmAttribute.associatedGrammar !=
nullptr);
12186 AsmJvmAttribute.setCppCondition(
"!defined(DOCUMENTATION)");
12187 AsmJvmAttribute.isBoostSerializable(
true);
12188 AsmJvmAttribute.setAutomaticGenerationOfConstructor(
false);
12189 AsmJvmAttribute.setAutomaticGenerationOfDestructor(
false);
12190 #endif // !DOCUMENTATION
12192 #ifdef DOCUMENTATION
12195 #endif // DOCUMENTATION
12197 #ifndef DOCUMENTATION
12198 AsmJvmAttribute.setDataPrototype(
12199 "uint16_t",
"attribute_name_index",
"= 0",
12200 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12201 #endif // !DOCUMENTATION
12203 #ifndef DOCUMENTATION
12204 AsmJvmAttribute.setDataPrototype(
12205 "uint32_t",
"attribute_length",
"= 0",
12206 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12207 #endif // !DOCUMENTATION
12209 DECLARE_OTHERS(AsmJvmAttribute);
12210 #if defined(SgAsmJvmAttribute_OTHERS) || defined(DOCUMENTATION)
12213 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12215 friend class boost::serialization::access;
12218 void serialize(S &s,
const unsigned ) {
12220 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
12221 s & BOOST_SERIALIZATION_NVP(p_attribute_name_index);
12222 s & BOOST_SERIALIZATION_NVP(p_attribute_length);
12225 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
12255 virtual void unparse(std::ostream&)
const override;
12258 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12275 #endif // SgAsmJvmAttribute_OTHERS
12276 #ifdef DOCUMENTATION
12278 #endif // DOCUMENTATION
12285 #ifndef DOCUMENTATION
12286 AstNodeClass& AsmJvmNode = nonTerminalConstructor(
12291 SubclassListBuilder()
12293 | AsmJvmBootstrapMethod
12295 | AsmJvmConstantPoolEntry
12296 | AsmJvmExceptionHandler
12297 | AsmJvmExceptionTable
12299 | AsmJvmInnerClassesEntry
12300 | AsmJvmLineNumberEntry
12302 | AsmJvmStackMapFrame
12303 | AsmJvmStackMapVerificationType
12305 assert(AsmJvmNode.associatedGrammar !=
nullptr);
12306 AsmJvmNode.setCppCondition(
"!defined(DOCUMENTATION)");
12307 AsmJvmNode.isBoostSerializable(
true);
12308 AsmJvmNode.setAutomaticGenerationOfConstructor(
false);
12309 AsmJvmNode.setAutomaticGenerationOfDestructor(
false);
12310 #endif // !DOCUMENTATION
12312 #ifdef DOCUMENTATION
12315 #endif // DOCUMENTATION
12317 DECLARE_OTHERS(AsmJvmNode);
12318 #if defined(SgAsmJvmNode_OTHERS) || defined(DOCUMENTATION)
12321 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12323 friend class boost::serialization::access;
12326 void serialize(S &s,
const unsigned ) {
12328 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
12331 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
12334 virtual void unparse(std::ostream&)
const;
12337 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
12354 #endif // SgAsmJvmNode_OTHERS
12355 #ifdef DOCUMENTATION
12357 #endif // DOCUMENTATION
12364 DECLARE_LEAF_CLASS(AsmInterpretationList);
12365 IS_SERIALIZABLE(AsmInterpretationList);
12367 #ifdef DOCUMENTATION
12369 #endif // DOCUMENTATION
12371 #ifndef DOCUMENTATION
12372 AsmInterpretationList.setDataPrototype(
12373 "SgAsmInterpretationPtrList",
"interpretations",
"",
12374 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
12375 #endif // !DOCUMENTATION
12377 DECLARE_OTHERS(AsmInterpretationList);
12378 #if defined(SgAsmInterpretationList_OTHERS) || defined(DOCUMENTATION)
12381 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12383 friend class boost::serialization::access;
12386 void serialize(S &s,
const unsigned ) {
12388 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
12389 s & BOOST_SERIALIZATION_NVP(p_interpretations);
12392 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
12422 #endif // SgAsmInterpretationList_OTHERS
12423 #ifdef DOCUMENTATION
12425 #endif // DOCUMENTATION
12432 DECLARE_LEAF_CLASS(AsmInterpretation);
12433 IS_SERIALIZABLE(AsmInterpretation);
12435 DECLARE_HEADERS(AsmInterpretation);
12436 #if defined(SgAsmInterpretation_HEADERS) || defined(DOCUMENTATION)
12437 #include <Rose/BinaryAnalysis/BasicTypes.h>
12438 #include <Rose/BinaryAnalysis/MemoryMap.h>
12439 #endif // SgAsmInterpretation_HEADERS
12441 #ifdef DOCUMENTATION
12449 #endif // DOCUMENTATION
12451 #ifndef DOCUMENTATION
12452 AsmInterpretation.setDataPrototype(
12453 "SgAsmGenericHeaderList*",
"headers",
"= createAndParent<SgAsmGenericHeaderList>(this)",
12454 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12455 #endif // !DOCUMENTATION
12457 #ifndef DOCUMENTATION
12458 AsmInterpretation.setDataPrototype(
12459 "SgAsmBlock*",
"global_block",
"= nullptr",
12460 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
12461 #endif // !DOCUMENTATION
12463 #ifndef DOCUMENTATION
12464 AsmInterpretation.setDataPrototype(
12465 "bool",
"coverageComputed",
"= false",
12466 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12467 #endif // !DOCUMENTATION
12469 #ifndef DOCUMENTATION
12470 AsmInterpretation.setDataPrototype(
12471 "double",
"percentageCoverage",
"= NAN",
12472 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12473 #endif // !DOCUMENTATION
12475 DECLARE_OTHERS(AsmInterpretation);
12476 #if defined(SgAsmInterpretation_OTHERS) || defined(DOCUMENTATION)
12479 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12481 friend class boost::serialization::access;
12484 void serialize(S &s,
const unsigned ) {
12486 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
12487 s & BOOST_SERIALIZATION_NVP(p_headers);
12488 s & BOOST_SERIALIZATION_NVP(p_global_block);
12489 s & BOOST_SERIALIZATION_NVP(p_map);
12490 s & BOOST_SERIALIZATION_NVP(instruction_map);
12491 s & BOOST_SERIALIZATION_NVP(p_coverageComputed);
12492 s & BOOST_SERIALIZATION_NVP(p_percentageCoverage);
12495 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
12578 SgAsmGenericFilePtrList
get_files()
const;
12607 #endif // SgAsmInterpretation_OTHERS
12608 #ifdef DOCUMENTATION
12610 #endif // DOCUMENTATION
12617 DECLARE_LEAF_CLASS(AsmIntegerValueExpression);
12618 IS_SERIALIZABLE(AsmIntegerValueExpression);
12620 #ifdef DOCUMENTATION
12637 #endif // DOCUMENTATION
12639 #ifndef DOCUMENTATION
12640 AsmIntegerValueExpression.setDataPrototype(
12641 "SgNode*",
"baseNode",
"= nullptr",
12642 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12643 #endif // !DOCUMENTATION
12645 DECLARE_OTHERS(AsmIntegerValueExpression);
12646 #if defined(SgAsmIntegerValueExpression_OTHERS) || defined(DOCUMENTATION)
12649 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12651 friend class boost::serialization::access;
12654 void serialize(S &s,
const unsigned ) {
12657 s & BOOST_SERIALIZATION_NVP(p_baseNode);
12660 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
12712 std::string
get_label(
bool quiet=
false)
const;
12773 #endif // SgAsmIntegerValueExpression_OTHERS
12774 #ifdef DOCUMENTATION
12776 #endif // DOCUMENTATION
12783 DECLARE_LEAF_CLASS(AsmIntegerType);
12784 IS_SERIALIZABLE(AsmIntegerType);
12786 DECLARE_HEADERS(AsmIntegerType);
12787 #if defined(SgAsmIntegerType_HEADERS) || defined(DOCUMENTATION)
12788 #include <Rose/BinaryAnalysis/ByteOrder.h>
12789 #endif // SgAsmIntegerType_HEADERS
12791 #ifdef DOCUMENTATION
12794 #endif // DOCUMENTATION
12796 #ifndef DOCUMENTATION
12797 AsmIntegerType.setDataPrototype(
12798 "bool",
"isSigned",
"= false",
12799 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12800 #endif // !DOCUMENTATION
12802 DECLARE_OTHERS(AsmIntegerType);
12803 #if defined(SgAsmIntegerType_OTHERS) || defined(DOCUMENTATION)
12806 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12808 friend class boost::serialization::access;
12811 void serialize(S &s,
const unsigned ) {
12814 s & BOOST_SERIALIZATION_NVP(p_isSigned);
12817 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
12832 SgAsmIntegerType(Rose::BinaryAnalysis::ByteOrder::Endianness,
size_t nBits,
bool isSigned);
12835 virtual void check()
const override;
12836 virtual std::string
toString()
const override;
12853 #endif // SgAsmIntegerType_OTHERS
12854 #ifdef DOCUMENTATION
12856 #endif // DOCUMENTATION
12863 DECLARE_LEAF_CLASS(AsmInstructionList);
12864 IS_SERIALIZABLE(AsmInstructionList);
12866 #ifdef DOCUMENTATION
12869 #endif // DOCUMENTATION
12871 #ifndef DOCUMENTATION
12872 AsmInstructionList.setDataPrototype(
12873 "SgAsmInstructionPtrList",
"instructions",
"",
12874 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12875 #endif // !DOCUMENTATION
12877 DECLARE_OTHERS(AsmInstructionList);
12878 #if defined(SgAsmInstructionList_OTHERS) || defined(DOCUMENTATION)
12881 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12883 friend class boost::serialization::access;
12886 void serialize(S &s,
const unsigned ) {
12888 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
12889 s & BOOST_SERIALIZATION_NVP(p_instructions);
12892 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
12923 #endif // SgAsmInstructionList_OTHERS
12924 #ifdef DOCUMENTATION
12926 #endif // DOCUMENTATION
12933 DECLARE_LEAF_CLASS(AsmIndirectRegisterExpression);
12934 IS_SERIALIZABLE(AsmIndirectRegisterExpression);
12936 #ifdef DOCUMENTATION
12954 #endif // DOCUMENTATION
12956 #ifndef DOCUMENTATION
12957 AsmIndirectRegisterExpression.setDataPrototype(
12958 "Rose::BinaryAnalysis::RegisterDescriptor",
"stride",
"",
12959 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12960 #endif // !DOCUMENTATION
12962 #ifndef DOCUMENTATION
12963 AsmIndirectRegisterExpression.setDataPrototype(
12964 "Rose::BinaryAnalysis::RegisterDescriptor",
"offset",
"",
12965 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12966 #endif // !DOCUMENTATION
12968 #ifndef DOCUMENTATION
12969 AsmIndirectRegisterExpression.setDataPrototype(
12970 "size_t",
"index",
"= 0",
12971 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12972 #endif // !DOCUMENTATION
12974 #ifndef DOCUMENTATION
12975 AsmIndirectRegisterExpression.setDataPrototype(
12976 "size_t",
"modulus",
"= 0",
12977 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12978 #endif // !DOCUMENTATION
12980 DECLARE_OTHERS(AsmIndirectRegisterExpression);
12981 #if defined(SgAsmIndirectRegisterExpression_OTHERS) || defined(DOCUMENTATION)
12984 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12986 friend class boost::serialization::access;
12989 void serialize(S &s,
const unsigned ) {
12992 s & BOOST_SERIALIZATION_NVP(p_stride);
12993 s & BOOST_SERIALIZATION_NVP(p_offset);
12994 s & BOOST_SERIALIZATION_NVP(p_index);
12995 s & BOOST_SERIALIZATION_NVP(p_modulus);
12998 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
13053 size_t const& index,
13054 size_t const& modulus);
13064 #endif // SgAsmIndirectRegisterExpression_OTHERS
13065 #ifdef DOCUMENTATION
13067 #endif // DOCUMENTATION
13074 DECLARE_LEAF_CLASS(AsmGenericSymbolList);
13075 IS_SERIALIZABLE(AsmGenericSymbolList);
13077 #ifdef DOCUMENTATION
13083 #endif // DOCUMENTATION
13085 #ifndef DOCUMENTATION
13086 AsmGenericSymbolList.setDataPrototype(
13087 "SgAsmGenericSymbolPtrList",
"symbols",
"",
13088 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13089 #endif // !DOCUMENTATION
13091 DECLARE_OTHERS(AsmGenericSymbolList);
13092 #if defined(SgAsmGenericSymbolList_OTHERS) || defined(DOCUMENTATION)
13095 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13097 friend class boost::serialization::access;
13100 void serialize(S &s,
const unsigned ) {
13103 s & BOOST_SERIALIZATION_NVP(p_symbols);
13106 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
13112 SgAsmGenericSymbolPtrList
const&
get_symbols()
const;
13114 void set_symbols(SgAsmGenericSymbolPtrList
const&);
13133 #endif // SgAsmGenericSymbolList_OTHERS
13134 #ifdef DOCUMENTATION
13136 #endif // DOCUMENTATION
13143 DECLARE_LEAF_CLASS(AsmGenericSectionList);
13144 IS_SERIALIZABLE(AsmGenericSectionList);
13146 #ifdef DOCUMENTATION
13152 #endif // DOCUMENTATION
13154 #ifndef DOCUMENTATION
13155 AsmGenericSectionList.setDataPrototype(
13156 "SgAsmGenericSectionPtrList",
"sections",
"",
13157 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
13158 #endif // !DOCUMENTATION
13160 DECLARE_OTHERS(AsmGenericSectionList);
13161 #if defined(SgAsmGenericSectionList_OTHERS) || defined(DOCUMENTATION)
13164 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13166 friend class boost::serialization::access;
13169 void serialize(S &s,
const unsigned ) {
13172 s & BOOST_SERIALIZATION_NVP(p_sections);
13175 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
13181 SgAsmGenericSectionPtrList
const&
get_sections()
const;
13202 #endif // SgAsmGenericSectionList_OTHERS
13203 #ifdef DOCUMENTATION
13205 #endif // DOCUMENTATION
13212 DECLARE_LEAF_CLASS(AsmGenericHeaderList);
13213 IS_SERIALIZABLE(AsmGenericHeaderList);
13215 #ifdef DOCUMENTATION
13221 #endif // DOCUMENTATION
13223 #ifndef DOCUMENTATION
13224 AsmGenericHeaderList.setDataPrototype(
13225 "SgAsmGenericHeaderPtrList",
"headers",
"",
13226 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
13227 #endif // !DOCUMENTATION
13229 DECLARE_OTHERS(AsmGenericHeaderList);
13230 #if defined(SgAsmGenericHeaderList_OTHERS) || defined(DOCUMENTATION)
13233 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13235 friend class boost::serialization::access;
13238 void serialize(S &s,
const unsigned ) {
13241 s & BOOST_SERIALIZATION_NVP(p_headers);
13244 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
13250 SgAsmGenericHeaderPtrList
const&
get_headers()
const;
13252 void set_headers(SgAsmGenericHeaderPtrList
const&);
13271 #endif // SgAsmGenericHeaderList_OTHERS
13272 #ifdef DOCUMENTATION
13274 #endif // DOCUMENTATION
13281 DECLARE_LEAF_CLASS(AsmGenericFormat);
13282 IS_SERIALIZABLE(AsmGenericFormat);
13284 DECLARE_HEADERS(AsmGenericFormat);
13285 #if defined(SgAsmGenericFormat_HEADERS) || defined(DOCUMENTATION)
13286 #include <Rose/BinaryAnalysis/ByteOrder.h>
13287 #endif // SgAsmGenericFormat_HEADERS
13289 #ifdef DOCUMENTATION
13292 #endif // DOCUMENTATION
13294 #ifndef DOCUMENTATION
13295 AsmGenericFormat.setDataPrototype(
13296 "SgAsmGenericFormat::ExecFamily",
"family",
"= SgAsmGenericFormat::FAMILY_UNSPECIFIED",
13297 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13298 #endif // !DOCUMENTATION
13300 #ifndef DOCUMENTATION
13301 AsmGenericFormat.setDataPrototype(
13302 "SgAsmGenericFormat::ExecPurpose",
"purpose",
"= SgAsmGenericFormat::PURPOSE_EXECUTABLE",
13303 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13304 #endif // !DOCUMENTATION
13306 #ifndef DOCUMENTATION
13307 AsmGenericFormat.setDataPrototype(
13308 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"sex",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
13309 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13310 #endif // !DOCUMENTATION
13312 #ifndef DOCUMENTATION
13313 AsmGenericFormat.setDataPrototype(
13314 "unsigned",
"version",
"= 0",
13315 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13316 #endif // !DOCUMENTATION
13318 #ifndef DOCUMENTATION
13319 AsmGenericFormat.setDataPrototype(
13320 "bool",
"is_current_version",
"= false",
13321 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13322 #endif // !DOCUMENTATION
13324 #ifndef DOCUMENTATION
13325 AsmGenericFormat.setDataPrototype(
13326 "SgAsmGenericFormat::ExecABI",
"abi",
"= SgAsmGenericFormat::ABI_UNSPECIFIED",
13327 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13328 #endif // !DOCUMENTATION
13330 #ifndef DOCUMENTATION
13331 AsmGenericFormat.setDataPrototype(
13332 "unsigned",
"abi_version",
"= 0",
13333 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13334 #endif // !DOCUMENTATION
13336 #ifndef DOCUMENTATION
13337 AsmGenericFormat.setDataPrototype(
13338 "size_t",
"word_size",
"= 0",
13339 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13340 #endif // !DOCUMENTATION
13342 DECLARE_OTHERS(AsmGenericFormat);
13343 #if defined(SgAsmGenericFormat_OTHERS) || defined(DOCUMENTATION)
13346 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13348 friend class boost::serialization::access;
13351 void serialize(S &s,
const unsigned ) {
13354 s & BOOST_SERIALIZATION_NVP(p_family);
13355 s & BOOST_SERIALIZATION_NVP(p_purpose);
13356 s & BOOST_SERIALIZATION_NVP(p_sex);
13357 s & BOOST_SERIALIZATION_NVP(p_version);
13358 s & BOOST_SERIALIZATION_NVP(p_is_current_version);
13359 s & BOOST_SERIALIZATION_NVP(p_abi);
13360 s & BOOST_SERIALIZATION_NVP(p_abi_version);
13361 s & BOOST_SERIALIZATION_NVP(p_word_size);
13364 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
13386 Rose::BinaryAnalysis::ByteOrder::Endianness
const&
get_sex()
const;
13387 void set_sex(Rose::BinaryAnalysis::ByteOrder::Endianness
const&);
13434 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
13451 #endif // SgAsmGenericFormat_OTHERS
13452 #ifdef DOCUMENTATION
13454 #endif // DOCUMENTATION
13461 DECLARE_LEAF_CLASS(AsmGenericFileList);
13462 IS_SERIALIZABLE(AsmGenericFileList);
13464 #ifdef DOCUMENTATION
13470 #endif // DOCUMENTATION
13472 #ifndef DOCUMENTATION
13473 AsmGenericFileList.setDataPrototype(
13474 "SgAsmGenericFilePtrList",
"files",
"",
13475 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
13476 #endif // !DOCUMENTATION
13478 DECLARE_OTHERS(AsmGenericFileList);
13479 #if defined(SgAsmGenericFileList_OTHERS) || defined(DOCUMENTATION)
13482 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13484 friend class boost::serialization::access;
13487 void serialize(S &s,
const unsigned ) {
13489 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
13490 s & BOOST_SERIALIZATION_NVP(p_files);
13493 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
13499 SgAsmGenericFilePtrList
const&
get_files()
const;
13501 void set_files(SgAsmGenericFilePtrList
const&);
13520 #endif // SgAsmGenericFileList_OTHERS
13521 #ifdef DOCUMENTATION
13523 #endif // DOCUMENTATION
13530 DECLARE_LEAF_CLASS(AsmGenericFile);
13531 IS_SERIALIZABLE(AsmGenericFile);
13533 DECLARE_HEADERS(AsmGenericFile);
13534 #if defined(SgAsmGenericFile_HEADERS) || defined(DOCUMENTATION)
13535 #include <Rose/BinaryAnalysis/MemoryMap.h>
13536 #include "DataConversion.h"
13537 #include "StatSerializer.h"
13538 #endif // SgAsmGenericFile_HEADERS
13540 #ifdef DOCUMENTATION
13543 #endif // DOCUMENTATION
13545 #ifndef DOCUMENTATION
13546 AsmGenericFile.setDataPrototype(
13547 "SgAsmDwarfCompilationUnitList*",
"dwarf_info",
"= nullptr",
13548 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
13549 #endif // !DOCUMENTATION
13551 #ifndef DOCUMENTATION
13552 AsmGenericFile.setDataPrototype(
13553 "std::string",
"name",
"",
13554 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13555 #endif // !DOCUMENTATION
13557 #ifndef DOCUMENTATION
13558 AsmGenericFile.setDataPrototype(
13559 "int",
"fd",
"= -1",
13560 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13561 #endif // !DOCUMENTATION
13563 #ifndef DOCUMENTATION
13564 AsmGenericFile.setDataPrototype(
13565 "struct stat",
"sb",
"",
13566 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13567 #endif // !DOCUMENTATION
13569 #ifndef DOCUMENTATION
13570 AsmGenericFile.setDataPrototype(
13571 "SgFileContentList",
"data",
"",
13572 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13573 #endif // !DOCUMENTATION
13575 #ifndef DOCUMENTATION
13576 AsmGenericFile.setDataPrototype(
13577 "SgAsmGenericHeaderList*",
"headers",
"= createAndParent<SgAsmGenericHeaderList>(this)",
13578 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
13579 #endif // !DOCUMENTATION
13581 #ifndef DOCUMENTATION
13582 AsmGenericFile.setDataPrototype(
13583 "SgAsmGenericSectionList*",
"holes",
"= createAndParent<SgAsmGenericSectionList>(this)",
13584 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
13585 #endif // !DOCUMENTATION
13587 #ifndef DOCUMENTATION
13588 AsmGenericFile.setDataPrototype(
13589 "bool",
"truncate_zeros",
"= false",
13590 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13591 #endif // !DOCUMENTATION
13593 #ifndef DOCUMENTATION
13594 AsmGenericFile.setDataPrototype(
13595 "bool",
"tracking_references",
"= true",
13596 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13597 #endif // !DOCUMENTATION
13599 #ifndef DOCUMENTATION
13600 AsmGenericFile.setDataPrototype(
13601 "AddressIntervalSet",
"referenced_extents",
"",
13602 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13603 #endif // !DOCUMENTATION
13605 #ifndef DOCUMENTATION
13606 AsmGenericFile.setDataPrototype(
13607 "bool",
"neuter",
"= false",
13608 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13609 #endif // !DOCUMENTATION
13611 DECLARE_OTHERS(AsmGenericFile);
13612 #if defined(SgAsmGenericFile_OTHERS) || defined(DOCUMENTATION)
13615 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13617 friend class boost::serialization::access;
13620 void serialize(S &s,
const unsigned ) {
13623 s & BOOST_SERIALIZATION_NVP(p_dwarf_info);
13624 s & BOOST_SERIALIZATION_NVP(p_name);
13625 s & BOOST_SERIALIZATION_NVP(p_sb);
13626 s & BOOST_SERIALIZATION_NVP(p_data);
13627 s & BOOST_SERIALIZATION_NVP(p_headers);
13628 s & BOOST_SERIALIZATION_NVP(p_holes);
13629 s & BOOST_SERIALIZATION_NVP(p_truncate_zeros);
13630 s & BOOST_SERIALIZATION_NVP(p_tracking_references);
13631 s & BOOST_SERIALIZATION_NVP(p_referenced_extents);
13632 s & BOOST_SERIALIZATION_NVP(p_neuter);
13635 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
13642 ADDRSP_MEMORY = 0x0001,
13643 ADDRSP_FILE = 0x0002,
13644 ADDRSP_ALL = 0x0003
13669 std::string
const&
get_name()
const;
13670 void set_name(std::string
const&);
13679 int const&
get_fd()
const;
13680 void set_fd(
int const&);
13684 struct stat const& get_sb()
const;
13769 void unparse(std::ostream&)
const;
13775 void dump(FILE*)
const;
13783 void dump_all(
bool in_cwd=
true,
const char *ext=NULL);
13786 void dump_all(
const std::string& dumpname);
13816 size_t read_content(rose_addr_t offset,
void *dst_buf, rose_addr_t size,
bool strict=
true);
13826 rose_addr_t size,
bool strict=
true);
13861 SgAsmGenericSectionPtrList
get_sections(
bool include_holes=
true)
const;
14044 #endif // SgAsmGenericFile_OTHERS
14045 #ifdef DOCUMENTATION
14047 #endif // DOCUMENTATION
14054 DECLARE_LEAF_CLASS(AsmGenericDLLList);
14055 IS_SERIALIZABLE(AsmGenericDLLList);
14057 #ifdef DOCUMENTATION
14063 #endif // DOCUMENTATION
14065 #ifndef DOCUMENTATION
14066 AsmGenericDLLList.setDataPrototype(
14067 "SgAsmGenericDLLPtrList",
"dlls",
"",
14068 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14069 #endif // !DOCUMENTATION
14071 DECLARE_OTHERS(AsmGenericDLLList);
14072 #if defined(SgAsmGenericDLLList_OTHERS) || defined(DOCUMENTATION)
14075 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14077 friend class boost::serialization::access;
14080 void serialize(S &s,
const unsigned ) {
14083 s & BOOST_SERIALIZATION_NVP(p_dlls);
14086 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
14092 SgAsmGenericDLLPtrList
const&
get_dlls()
const;
14093 SgAsmGenericDLLPtrList&
get_dlls();
14094 void set_dlls(SgAsmGenericDLLPtrList
const&);
14113 #endif // SgAsmGenericDLLList_OTHERS
14114 #ifdef DOCUMENTATION
14116 #endif // DOCUMENTATION
14123 DECLARE_LEAF_CLASS(AsmGenericDLL);
14124 IS_SERIALIZABLE(AsmGenericDLL);
14126 #ifdef DOCUMENTATION
14129 #endif // DOCUMENTATION
14131 #ifndef DOCUMENTATION
14132 AsmGenericDLL.setDataPrototype(
14133 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
14134 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
14135 #endif // !DOCUMENTATION
14137 #ifndef DOCUMENTATION
14138 AsmGenericDLL.setDataPrototype(
14139 "SgStringList",
"symbols",
"",
14140 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14141 #endif // !DOCUMENTATION
14143 DECLARE_OTHERS(AsmGenericDLL);
14144 #if defined(SgAsmGenericDLL_OTHERS) || defined(DOCUMENTATION)
14147 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14149 friend class boost::serialization::access;
14152 void serialize(S &s,
const unsigned ) {
14155 s & BOOST_SERIALIZATION_NVP(p_name);
14156 s & BOOST_SERIALIZATION_NVP(p_symbols);
14159 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
14180 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
14184 p_symbols.push_back(s);
14202 #endif // SgAsmGenericDLL_OTHERS
14203 #ifdef DOCUMENTATION
14205 #endif // DOCUMENTATION
14212 DECLARE_LEAF_CLASS(AsmFunction);
14213 IS_SERIALIZABLE(AsmFunction);
14215 #ifdef DOCUMENTATION
14232 #endif // DOCUMENTATION
14234 #ifndef DOCUMENTATION
14235 AsmFunction.setDataPrototype(
14236 "std::string",
"name",
"",
14237 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14238 #endif // !DOCUMENTATION
14240 #ifndef DOCUMENTATION
14241 AsmFunction.setDataPrototype(
14242 "unsigned",
"reason",
"= SgAsmFunction::FUNC_NONE",
14243 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14244 #endif // !DOCUMENTATION
14246 #ifndef DOCUMENTATION
14247 AsmFunction.setDataPrototype(
14248 "std::string",
"reasonComment",
"",
14249 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14250 #endif // !DOCUMENTATION
14252 #ifndef DOCUMENTATION
14253 AsmFunction.setDataPrototype(
14254 "SgAsmFunction::function_kind_enum",
"function_kind",
"= SgAsmFunction::e_unknown",
14255 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14256 #endif // !DOCUMENTATION
14258 #ifndef DOCUMENTATION
14259 AsmFunction.setDataPrototype(
14260 "SgAsmFunction::MayReturn",
"may_return",
"= SgAsmFunction::RET_UNKNOWN",
14261 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14262 #endif // !DOCUMENTATION
14264 #ifndef DOCUMENTATION
14265 AsmFunction.setDataPrototype(
14266 "std::string",
"name_md5",
"",
14267 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14268 #endif // !DOCUMENTATION
14270 #ifndef DOCUMENTATION
14271 AsmFunction.setDataPrototype(
14272 "SgAsmStatementPtrList",
"statementList",
"",
14273 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
14274 #endif // !DOCUMENTATION
14276 #ifndef DOCUMENTATION
14277 AsmFunction.setDataPrototype(
14278 "SgAsmStatementPtrList",
"dest",
"",
14279 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14280 #endif // !DOCUMENTATION
14282 #ifndef DOCUMENTATION
14283 AsmFunction.setDataPrototype(
14284 "rose_addr_t",
"entry_va",
"= 0",
14285 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14286 #endif // !DOCUMENTATION
14288 #ifndef DOCUMENTATION
14289 AsmFunction.setDataPrototype(
14290 "SgSymbolTable*",
"symbol_table",
"= nullptr",
14291 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14292 #endif // !DOCUMENTATION
14294 #ifndef DOCUMENTATION
14295 AsmFunction.setDataPrototype(
14296 "size_t",
"cached_vertex",
"= (size_t)(-1)",
14297 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14298 #endif // !DOCUMENTATION
14300 #ifndef DOCUMENTATION
14301 AsmFunction.setDataPrototype(
14302 "int64_t",
"stackDelta",
"= SgAsmInstruction::INVALID_STACK_DELTA",
14303 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14304 #endif // !DOCUMENTATION
14306 #ifndef DOCUMENTATION
14307 AsmFunction.setDataPrototype(
14308 "std::string",
"callingConvention",
"",
14309 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14310 #endif // !DOCUMENTATION
14312 DECLARE_OTHERS(AsmFunction);
14313 #if defined(SgAsmFunction_OTHERS) || defined(DOCUMENTATION)
14316 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14318 friend class boost::serialization::access;
14321 void serialize(S &s,
const unsigned ) {
14324 s & BOOST_SERIALIZATION_NVP(p_name);
14325 s & BOOST_SERIALIZATION_NVP(p_reason);
14326 s & BOOST_SERIALIZATION_NVP(p_reasonComment);
14327 s & BOOST_SERIALIZATION_NVP(p_function_kind);
14328 s & BOOST_SERIALIZATION_NVP(p_may_return);
14329 s & BOOST_SERIALIZATION_NVP(p_name_md5);
14330 s & BOOST_SERIALIZATION_NVP(p_statementList);
14331 s & BOOST_SERIALIZATION_NVP(p_dest);
14332 s & BOOST_SERIALIZATION_NVP(p_entry_va);
14333 s & BOOST_SERIALIZATION_NVP(p_cached_vertex);
14334 s & BOOST_SERIALIZATION_NVP(p_stackDelta);
14335 s & BOOST_SERIALIZATION_NVP(p_callingConvention);
14338 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
14459 std::string
const&
get_name()
const;
14460 void set_name(std::string
const&);
14526 SgAsmStatementPtrList
const& get_dest()
const;
14527 void set_dest(SgAsmStatementPtrList
const&);
14552 size_t const& get_cached_vertex()
const;
14553 void set_cached_vertex(
size_t const&);
14602 static std::string
reason_key(
const std::string &prefix=
"");
14610 static std::string
reason_str(
bool pad,
unsigned reason);
14616 virtual bool operator()(
SgNode*) = 0;
14678 std::string
const& name,
14679 unsigned const& reason,
14690 #endif // SgAsmFunction_OTHERS
14691 #ifdef DOCUMENTATION
14693 #endif // DOCUMENTATION
14700 #ifndef DOCUMENTATION
14701 AstNodeClass& AsmSynthesizedDeclaration = nonTerminalConstructor(
14702 "AsmSynthesizedDeclaration",
14704 "AsmSynthesizedDeclaration",
14705 "AsmSynthesizedDeclarationTag",
14706 SubclassListBuilder()
14708 | AsmSynthesizedDataStructureDeclaration
14709 | AsmSynthesizedFieldDeclaration
14711 assert(AsmSynthesizedDeclaration.associatedGrammar !=
nullptr);
14712 AsmSynthesizedDeclaration.setCppCondition(
"!defined(DOCUMENTATION)");
14713 AsmSynthesizedDeclaration.isBoostSerializable(
true);
14714 AsmSynthesizedDeclaration.setAutomaticGenerationOfConstructor(
false);
14715 AsmSynthesizedDeclaration.setAutomaticGenerationOfDestructor(
false);
14716 #endif // !DOCUMENTATION
14718 #ifdef DOCUMENTATION
14726 #endif // DOCUMENTATION
14728 DECLARE_OTHERS(AsmSynthesizedDeclaration);
14729 #if defined(SgAsmSynthesizedDeclaration_OTHERS) || defined(DOCUMENTATION)
14732 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14734 friend class boost::serialization::access;
14737 void serialize(S &s,
const unsigned ) {
14742 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
14764 #endif // SgAsmSynthesizedDeclaration_OTHERS
14765 #ifdef DOCUMENTATION
14767 #endif // DOCUMENTATION
14774 DECLARE_LEAF_CLASS(AsmFloatValueExpression);
14775 IS_SERIALIZABLE(AsmFloatValueExpression);
14777 #ifdef DOCUMENTATION
14783 #endif // DOCUMENTATION
14785 DECLARE_OTHERS(AsmFloatValueExpression);
14786 #if defined(SgAsmFloatValueExpression_OTHERS) || defined(DOCUMENTATION)
14789 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14791 friend class boost::serialization::access;
14794 void serialize(S &s,
const unsigned ) {
14797 s & BOOST_SERIALIZATION_NVP(p_nativeValue);
14798 s & BOOST_SERIALIZATION_NVP(p_nativeValueIsValid);
14801 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
14811 mutable double p_nativeValue;
14816 mutable bool p_nativeValueIsValid;
14870 #endif // SgAsmFloatValueExpression_OTHERS
14871 #ifdef DOCUMENTATION
14873 #endif // DOCUMENTATION
14880 DECLARE_LEAF_CLASS(AsmFloatType);
14881 IS_SERIALIZABLE(AsmFloatType);
14883 DECLARE_HEADERS(AsmFloatType);
14884 #if defined(SgAsmFloatType_HEADERS) || defined(DOCUMENTATION)
14885 #include <Sawyer/BitVector.h>
14886 #include <Rose/BitFlags.h>
14887 #include <Rose/BinaryAnalysis/ByteOrder.h>
14888 #endif // SgAsmFloatType_HEADERS
14890 #ifdef DOCUMENTATION
14893 #endif // DOCUMENTATION
14895 #ifndef DOCUMENTATION
14896 AsmFloatType.setDataPrototype(
14897 "size_t",
"significandOffset",
"= (size_t)(-1)",
14898 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14899 #endif // !DOCUMENTATION
14901 #ifndef DOCUMENTATION
14902 AsmFloatType.setDataPrototype(
14903 "size_t",
"significandNBits",
"= (size_t)(-1)",
14904 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14905 #endif // !DOCUMENTATION
14907 #ifndef DOCUMENTATION
14908 AsmFloatType.setDataPrototype(
14909 "size_t",
"signBitOffset",
"= (size_t)(-1)",
14910 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14911 #endif // !DOCUMENTATION
14913 #ifndef DOCUMENTATION
14914 AsmFloatType.setDataPrototype(
14915 "size_t",
"exponentOffset",
"= (size_t)(-1)",
14916 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14917 #endif // !DOCUMENTATION
14919 #ifndef DOCUMENTATION
14920 AsmFloatType.setDataPrototype(
14921 "size_t",
"exponentNBits",
"= (size_t)(-1)",
14922 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14923 #endif // !DOCUMENTATION
14925 #ifndef DOCUMENTATION
14926 AsmFloatType.setDataPrototype(
14927 "uint64_t",
"exponentBias",
"= 0",
14928 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14929 #endif // !DOCUMENTATION
14931 #ifndef DOCUMENTATION
14932 AsmFloatType.setDataPrototype(
14933 "unsigned",
"flags",
"= 0",
14934 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14935 #endif // !DOCUMENTATION
14937 DECLARE_OTHERS(AsmFloatType);
14938 #if defined(SgAsmFloatType_OTHERS) || defined(DOCUMENTATION)
14941 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14943 friend class boost::serialization::access;
14946 void serialize(S &s,
const unsigned ) {
14949 s & BOOST_SERIALIZATION_NVP(p_significandOffset);
14950 s & BOOST_SERIALIZATION_NVP(p_significandNBits);
14951 s & BOOST_SERIALIZATION_NVP(p_signBitOffset);
14952 s & BOOST_SERIALIZATION_NVP(p_exponentOffset);
14953 s & BOOST_SERIALIZATION_NVP(p_exponentNBits);
14954 s & BOOST_SERIALIZATION_NVP(p_exponentBias);
14955 s & BOOST_SERIALIZATION_NVP(p_flags);
14958 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
14986 SgAsmFloatType(Rose::BinaryAnalysis::ByteOrder::Endianness,
size_t nBits,
15003 Flags
flags()
const;
15026 virtual void check()
const override;
15027 virtual std::string
toString()
const override;
15044 #endif // SgAsmFloatType_OTHERS
15045 #ifdef DOCUMENTATION
15047 #endif // DOCUMENTATION
15054 #ifndef DOCUMENTATION
15055 AstNodeClass& AsmScalarType = nonTerminalConstructor(
15059 "AsmScalarTypeTag",
15060 SubclassListBuilder()
15064 assert(AsmScalarType.associatedGrammar !=
nullptr);
15065 AsmScalarType.setCppCondition(
"!defined(DOCUMENTATION)");
15066 AsmScalarType.isBoostSerializable(
true);
15067 AsmScalarType.setAutomaticGenerationOfConstructor(
false);
15068 AsmScalarType.setAutomaticGenerationOfDestructor(
false);
15069 #endif // !DOCUMENTATION
15071 DECLARE_HEADERS(AsmScalarType);
15072 #if defined(SgAsmScalarType_HEADERS) || defined(DOCUMENTATION)
15073 #include <Rose/BinaryAnalysis/ByteOrder.h>
15074 #endif // SgAsmScalarType_HEADERS
15076 #ifdef DOCUMENTATION
15079 #endif // DOCUMENTATION
15081 #ifndef DOCUMENTATION
15082 AsmScalarType.setDataPrototype(
15083 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"minorOrder",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
15084 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15085 #endif // !DOCUMENTATION
15087 #ifndef DOCUMENTATION
15088 AsmScalarType.setDataPrototype(
15089 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"majorOrder",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
15090 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15091 #endif // !DOCUMENTATION
15093 #ifndef DOCUMENTATION
15094 AsmScalarType.setDataPrototype(
15095 "size_t",
"majorNBytes",
"= 0",
15096 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15097 #endif // !DOCUMENTATION
15099 #ifndef DOCUMENTATION
15100 AsmScalarType.setDataPrototype(
15101 "size_t",
"nBits",
"= 0",
15102 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15103 #endif // !DOCUMENTATION
15105 DECLARE_OTHERS(AsmScalarType);
15106 #if defined(SgAsmScalarType_OTHERS) || defined(DOCUMENTATION)
15109 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15111 friend class boost::serialization::access;
15114 void serialize(S &s,
const unsigned ) {
15116 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmType);
15117 s & BOOST_SERIALIZATION_NVP(p_minorOrder);
15118 s & BOOST_SERIALIZATION_NVP(p_majorOrder);
15119 s & BOOST_SERIALIZATION_NVP(p_majorNBytes);
15120 s & BOOST_SERIALIZATION_NVP(p_nBits);
15123 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
15149 SgAsmScalarType(Rose::BinaryAnalysis::ByteOrder::Endianness,
size_t nBits);
15153 virtual size_t get_nBits()
const override;
15156 Rose::BinaryAnalysis::ByteOrder::Endianness
get_minorOrder()
const;
15159 Rose::BinaryAnalysis::ByteOrder::Endianness
get_majorOrder()
const;
15165 virtual void check()
const override;
15166 virtual std::string
toString()
const override;
15183 #endif // SgAsmScalarType_OTHERS
15184 #ifdef DOCUMENTATION
15186 #endif // DOCUMENTATION
15193 #ifndef DOCUMENTATION
15194 AstNodeClass& AsmType = nonTerminalConstructor(
15199 SubclassListBuilder()
15203 assert(AsmType.associatedGrammar !=
nullptr);
15204 AsmType.setCppCondition(
"!defined(DOCUMENTATION)");
15205 AsmType.isBoostSerializable(
true);
15206 AsmType.setAutomaticGenerationOfConstructor(
false);
15207 AsmType.setAutomaticGenerationOfDestructor(
false);
15208 #endif // !DOCUMENTATION
15210 #ifdef DOCUMENTATION
15213 #endif // DOCUMENTATION
15215 DECLARE_OTHERS(AsmType);
15216 #if defined(SgAsmType_OTHERS) || defined(DOCUMENTATION)
15219 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15221 friend class boost::serialization::access;
15224 void serialize(S &s,
const unsigned ) {
15226 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
15229 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
15241 virtual void check()
const;
15267 template<
class Type>
15269 ASSERT_not_null(toInsert);
15270 std::string key = toInsert->toString();
15271 Type *retval =
dynamic_cast<Type*
>(p_typeRegistry.
insertMaybe(key, toInsert));
15272 ASSERT_not_null(retval);
15273 if (retval!=toInsert)
15293 #endif // SgAsmType_OTHERS
15294 #ifdef DOCUMENTATION
15296 #endif // DOCUMENTATION
15303 DECLARE_LEAF_CLASS(AsmExprListExp);
15304 IS_SERIALIZABLE(AsmExprListExp);
15306 #ifdef DOCUMENTATION
15309 #endif // DOCUMENTATION
15311 #ifndef DOCUMENTATION
15312 AsmExprListExp.setDataPrototype(
15313 "SgAsmExpressionPtrList",
"expressions",
"",
15314 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15315 #endif // !DOCUMENTATION
15317 DECLARE_OTHERS(AsmExprListExp);
15318 #if defined(SgAsmExprListExp_OTHERS) || defined(DOCUMENTATION)
15321 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15323 friend class boost::serialization::access;
15326 void serialize(S &s,
const unsigned ) {
15329 s & BOOST_SERIALIZATION_NVP(p_expressions);
15332 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
15362 #endif // SgAsmExprListExp_OTHERS
15363 #ifdef DOCUMENTATION
15365 #endif // DOCUMENTATION
15372 DECLARE_LEAF_CLASS(AsmElfSymverSection);
15373 IS_SERIALIZABLE(AsmElfSymverSection);
15375 #ifdef DOCUMENTATION
15381 #endif // DOCUMENTATION
15383 #ifndef DOCUMENTATION
15384 AsmElfSymverSection.setDataPrototype(
15385 "SgAsmElfSymverEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverEntryList>(this)",
15386 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15387 #endif // !DOCUMENTATION
15389 DECLARE_OTHERS(AsmElfSymverSection);
15390 #if defined(SgAsmElfSymverSection_OTHERS) || defined(DOCUMENTATION)
15393 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15395 friend class boost::serialization::access;
15398 void serialize(S &s,
const unsigned ) {
15401 s & BOOST_SERIALIZATION_NVP(p_entries);
15404 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
15427 virtual rose_addr_t
calculate_sizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
15430 virtual void unparse(std::ostream&)
const override;
15433 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
15450 #endif // SgAsmElfSymverSection_OTHERS
15451 #ifdef DOCUMENTATION
15453 #endif // DOCUMENTATION
15460 DECLARE_LEAF_CLASS(AsmElfSymverNeededSection);
15461 IS_SERIALIZABLE(AsmElfSymverNeededSection);
15463 #ifdef DOCUMENTATION
15470 #endif // DOCUMENTATION
15472 #ifndef DOCUMENTATION
15473 AsmElfSymverNeededSection.setDataPrototype(
15474 "SgAsmElfSymverNeededEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverNeededEntryList>(this)",
15475 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15476 #endif // !DOCUMENTATION
15478 DECLARE_OTHERS(AsmElfSymverNeededSection);
15479 #if defined(SgAsmElfSymverNeededSection_OTHERS) || defined(DOCUMENTATION)
15482 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15484 friend class boost::serialization::access;
15487 void serialize(S &s,
const unsigned ) {
15490 s & BOOST_SERIALIZATION_NVP(p_entries);
15493 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
15526 virtual rose_addr_t
calculate_sizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
15531 virtual void unparse(std::ostream&)
const override;
15534 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
15551 #endif // SgAsmElfSymverNeededSection_OTHERS
15552 #ifdef DOCUMENTATION
15554 #endif // DOCUMENTATION
15561 DECLARE_LEAF_CLASS(AsmElfSymverNeededEntryList);
15562 IS_SERIALIZABLE(AsmElfSymverNeededEntryList);
15564 #ifdef DOCUMENTATION
15570 #endif // DOCUMENTATION
15572 #ifndef DOCUMENTATION
15573 AsmElfSymverNeededEntryList.setDataPrototype(
15574 "SgAsmElfSymverNeededEntryPtrList",
"entries",
"",
15575 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15576 #endif // !DOCUMENTATION
15578 DECLARE_OTHERS(AsmElfSymverNeededEntryList);
15579 #if defined(SgAsmElfSymverNeededEntryList_OTHERS) || defined(DOCUMENTATION)
15582 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15584 friend class boost::serialization::access;
15587 void serialize(S &s,
const unsigned ) {
15590 s & BOOST_SERIALIZATION_NVP(p_entries);
15593 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
15599 SgAsmElfSymverNeededEntryPtrList
const&
get_entries()
const;
15601 void set_entries(SgAsmElfSymverNeededEntryPtrList
const&);
15620 #endif // SgAsmElfSymverNeededEntryList_OTHERS
15621 #ifdef DOCUMENTATION
15623 #endif // DOCUMENTATION
15630 DECLARE_LEAF_CLASS(AsmElfSymverNeededEntry);
15631 IS_SERIALIZABLE(AsmElfSymverNeededEntry);
15633 DECLARE_HEADERS(AsmElfSymverNeededEntry);
15634 #if defined(SgAsmElfSymverNeededEntry_HEADERS) || defined(DOCUMENTATION)
15635 #include <Rose/BinaryAnalysis/ByteOrder.h>
15636 #endif // SgAsmElfSymverNeededEntry_HEADERS
15638 #ifdef DOCUMENTATION
15641 #endif // DOCUMENTATION
15643 #ifndef DOCUMENTATION
15644 AsmElfSymverNeededEntry.setDataPrototype(
15645 "size_t",
"version",
"= 0",
15646 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15647 #endif // !DOCUMENTATION
15649 #ifndef DOCUMENTATION
15650 AsmElfSymverNeededEntry.setDataPrototype(
15651 "SgAsmGenericString*",
"file_name",
"= nullptr",
15652 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15653 #endif // !DOCUMENTATION
15655 #ifndef DOCUMENTATION
15656 AsmElfSymverNeededEntry.setDataPrototype(
15657 "SgAsmElfSymverNeededAuxList*",
"entries",
"= createAndParent<SgAsmElfSymverNeededAuxList>(this)",
15658 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15659 #endif // !DOCUMENTATION
15661 DECLARE_OTHERS(AsmElfSymverNeededEntry);
15662 #if defined(SgAsmElfSymverNeededEntry_OTHERS) || defined(DOCUMENTATION)
15665 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15667 friend class boost::serialization::access;
15670 void serialize(S &s,
const unsigned ) {
15673 s & BOOST_SERIALIZATION_NVP(p_version);
15674 s & BOOST_SERIALIZATION_NVP(p_file_name);
15675 s & BOOST_SERIALIZATION_NVP(p_entries);
15678 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
15695 #if !defined(SWIG) && !defined(_MSC_VER)
15696 __attribute__((packed))
15749 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
15766 #endif // SgAsmElfSymverNeededEntry_OTHERS
15767 #ifdef DOCUMENTATION
15769 #endif // DOCUMENTATION
15776 DECLARE_LEAF_CLASS(AsmElfSymverNeededAuxList);
15777 IS_SERIALIZABLE(AsmElfSymverNeededAuxList);
15779 #ifdef DOCUMENTATION
15785 #endif // DOCUMENTATION
15787 #ifndef DOCUMENTATION
15788 AsmElfSymverNeededAuxList.setDataPrototype(
15789 "SgAsmElfSymverNeededAuxPtrList",
"entries",
"",
15790 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15791 #endif // !DOCUMENTATION
15793 DECLARE_OTHERS(AsmElfSymverNeededAuxList);
15794 #if defined(SgAsmElfSymverNeededAuxList_OTHERS) || defined(DOCUMENTATION)
15797 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15799 friend class boost::serialization::access;
15802 void serialize(S &s,
const unsigned ) {
15805 s & BOOST_SERIALIZATION_NVP(p_entries);
15808 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
15814 SgAsmElfSymverNeededAuxPtrList
const&
get_entries()
const;
15816 void set_entries(SgAsmElfSymverNeededAuxPtrList
const&);
15835 #endif // SgAsmElfSymverNeededAuxList_OTHERS
15836 #ifdef DOCUMENTATION
15838 #endif // DOCUMENTATION
15845 DECLARE_LEAF_CLASS(AsmElfSymverNeededAux);
15846 IS_SERIALIZABLE(AsmElfSymverNeededAux);
15848 DECLARE_HEADERS(AsmElfSymverNeededAux);
15849 #if defined(SgAsmElfSymverNeededAux_HEADERS) || defined(DOCUMENTATION)
15850 #include <Rose/BinaryAnalysis/ByteOrder.h>
15851 #endif // SgAsmElfSymverNeededAux_HEADERS
15853 #ifdef DOCUMENTATION
15856 #endif // DOCUMENTATION
15858 #ifndef DOCUMENTATION
15859 AsmElfSymverNeededAux.setDataPrototype(
15860 "uint32_t",
"hash",
"= 0",
15861 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15862 #endif // !DOCUMENTATION
15864 #ifndef DOCUMENTATION
15865 AsmElfSymverNeededAux.setDataPrototype(
15866 "int",
"flags",
"= 0",
15867 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15868 #endif // !DOCUMENTATION
15870 #ifndef DOCUMENTATION
15871 AsmElfSymverNeededAux.setDataPrototype(
15872 "size_t",
"other",
"= 0",
15873 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15874 #endif // !DOCUMENTATION
15876 #ifndef DOCUMENTATION
15877 AsmElfSymverNeededAux.setDataPrototype(
15878 "SgAsmGenericString*",
"name",
"= 0",
15879 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15880 #endif // !DOCUMENTATION
15882 DECLARE_OTHERS(AsmElfSymverNeededAux);
15883 #if defined(SgAsmElfSymverNeededAux_OTHERS) || defined(DOCUMENTATION)
15886 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15888 friend class boost::serialization::access;
15891 void serialize(S &s,
const unsigned ) {
15894 s & BOOST_SERIALIZATION_NVP(p_hash);
15895 s & BOOST_SERIALIZATION_NVP(p_flags);
15896 s & BOOST_SERIALIZATION_NVP(p_other);
15897 s & BOOST_SERIALIZATION_NVP(p_name);
15900 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
15917 #if !defined(SWIG) && !defined(_MSC_VER)
15918 __attribute__((packed))
15987 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
16004 #endif // SgAsmElfSymverNeededAux_OTHERS
16005 #ifdef DOCUMENTATION
16007 #endif // DOCUMENTATION
16014 DECLARE_LEAF_CLASS(AsmElfSymverEntryList);
16015 IS_SERIALIZABLE(AsmElfSymverEntryList);
16017 #ifdef DOCUMENTATION
16023 #endif // DOCUMENTATION
16025 #ifndef DOCUMENTATION
16026 AsmElfSymverEntryList.setDataPrototype(
16027 "SgAsmElfSymverEntryPtrList",
"entries",
"",
16028 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16029 #endif // !DOCUMENTATION
16031 DECLARE_OTHERS(AsmElfSymverEntryList);
16032 #if defined(SgAsmElfSymverEntryList_OTHERS) || defined(DOCUMENTATION)
16035 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16037 friend class boost::serialization::access;
16040 void serialize(S &s,
const unsigned ) {
16043 s & BOOST_SERIALIZATION_NVP(p_entries);
16046 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
16052 SgAsmElfSymverEntryPtrList
const&
get_entries()
const;
16054 void set_entries(SgAsmElfSymverEntryPtrList
const&);
16073 #endif // SgAsmElfSymverEntryList_OTHERS
16074 #ifdef DOCUMENTATION
16076 #endif // DOCUMENTATION
16083 DECLARE_LEAF_CLASS(AsmElfSymverEntry);
16084 IS_SERIALIZABLE(AsmElfSymverEntry);
16086 #ifdef DOCUMENTATION
16089 #endif // DOCUMENTATION
16091 #ifndef DOCUMENTATION
16092 AsmElfSymverEntry.setDataPrototype(
16093 "size_t",
"value",
"= 0",
16094 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16095 #endif // !DOCUMENTATION
16097 DECLARE_OTHERS(AsmElfSymverEntry);
16098 #if defined(SgAsmElfSymverEntry_OTHERS) || defined(DOCUMENTATION)
16101 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16103 friend class boost::serialization::access;
16106 void serialize(S &s,
const unsigned ) {
16109 s & BOOST_SERIALIZATION_NVP(p_value);
16112 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
16128 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
16145 #endif // SgAsmElfSymverEntry_OTHERS
16146 #ifdef DOCUMENTATION
16148 #endif // DOCUMENTATION
16155 DECLARE_LEAF_CLASS(AsmElfSymverDefinedSection);
16156 IS_SERIALIZABLE(AsmElfSymverDefinedSection);
16158 #ifdef DOCUMENTATION
16165 #endif // DOCUMENTATION
16167 #ifndef DOCUMENTATION
16168 AsmElfSymverDefinedSection.setDataPrototype(
16169 "SgAsmElfSymverDefinedEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverDefinedEntryList>(this)",
16170 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16171 #endif // !DOCUMENTATION
16173 DECLARE_OTHERS(AsmElfSymverDefinedSection);
16174 #if defined(SgAsmElfSymverDefinedSection_OTHERS) || defined(DOCUMENTATION)
16177 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16179 friend class boost::serialization::access;
16182 void serialize(S &s,
const unsigned ) {
16185 s & BOOST_SERIALIZATION_NVP(p_entries);
16188 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
16276 virtual rose_addr_t
calculate_sizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
16281 virtual void unparse(std::ostream&)
const override;
16284 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
16301 #endif // SgAsmElfSymverDefinedSection_OTHERS
16302 #ifdef DOCUMENTATION
16304 #endif // DOCUMENTATION
16311 DECLARE_LEAF_CLASS(AsmElfSymverDefinedEntryList);
16312 IS_SERIALIZABLE(AsmElfSymverDefinedEntryList);
16314 #ifdef DOCUMENTATION
16320 #endif // DOCUMENTATION
16322 #ifndef DOCUMENTATION
16323 AsmElfSymverDefinedEntryList.setDataPrototype(
16324 "SgAsmElfSymverDefinedEntryPtrList",
"entries",
"",
16325 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16326 #endif // !DOCUMENTATION
16328 DECLARE_OTHERS(AsmElfSymverDefinedEntryList);
16329 #if defined(SgAsmElfSymverDefinedEntryList_OTHERS) || defined(DOCUMENTATION)
16332 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16334 friend class boost::serialization::access;
16337 void serialize(S &s,
const unsigned ) {
16340 s & BOOST_SERIALIZATION_NVP(p_entries);
16343 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
16349 SgAsmElfSymverDefinedEntryPtrList
const&
get_entries()
const;
16350 SgAsmElfSymverDefinedEntryPtrList&
get_entries();
16351 void set_entries(SgAsmElfSymverDefinedEntryPtrList
const&);
16370 #endif // SgAsmElfSymverDefinedEntryList_OTHERS
16371 #ifdef DOCUMENTATION
16373 #endif // DOCUMENTATION
16380 DECLARE_LEAF_CLASS(AsmElfSymverDefinedEntry);
16381 IS_SERIALIZABLE(AsmElfSymverDefinedEntry);
16383 DECLARE_HEADERS(AsmElfSymverDefinedEntry);
16384 #if defined(SgAsmElfSymverDefinedEntry_HEADERS) || defined(DOCUMENTATION)
16385 #include <Rose/BinaryAnalysis/ByteOrder.h>
16386 #endif // SgAsmElfSymverDefinedEntry_HEADERS
16388 #ifdef DOCUMENTATION
16391 #endif // DOCUMENTATION
16393 #ifndef DOCUMENTATION
16394 AsmElfSymverDefinedEntry.setDataPrototype(
16395 "size_t",
"version",
"= 0",
16396 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16397 #endif // !DOCUMENTATION
16399 #ifndef DOCUMENTATION
16400 AsmElfSymverDefinedEntry.setDataPrototype(
16401 "int",
"flags",
"= 0",
16402 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16403 #endif // !DOCUMENTATION
16405 #ifndef DOCUMENTATION
16406 AsmElfSymverDefinedEntry.setDataPrototype(
16407 "size_t",
"index",
"= 0",
16408 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16409 #endif // !DOCUMENTATION
16411 #ifndef DOCUMENTATION
16412 AsmElfSymverDefinedEntry.setDataPrototype(
16413 "uint32_t",
"hash",
"= 0",
16414 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16415 #endif // !DOCUMENTATION
16417 #ifndef DOCUMENTATION
16418 AsmElfSymverDefinedEntry.setDataPrototype(
16419 "SgAsmElfSymverDefinedAuxList*",
"entries",
"= createAndParent<SgAsmElfSymverDefinedAuxList>(this)",
16420 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16421 #endif // !DOCUMENTATION
16423 DECLARE_OTHERS(AsmElfSymverDefinedEntry);
16424 #if defined(SgAsmElfSymverDefinedEntry_OTHERS) || defined(DOCUMENTATION)
16427 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16429 friend class boost::serialization::access;
16432 void serialize(S &s,
const unsigned ) {
16435 s & BOOST_SERIALIZATION_NVP(p_version);
16436 s & BOOST_SERIALIZATION_NVP(p_flags);
16437 s & BOOST_SERIALIZATION_NVP(p_index);
16438 s & BOOST_SERIALIZATION_NVP(p_hash);
16439 s & BOOST_SERIALIZATION_NVP(p_entries);
16442 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
16460 #if !defined(SWIG) && !defined(_MSC_VER)
16461 __attribute__((packed))
16536 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
16553 #endif // SgAsmElfSymverDefinedEntry_OTHERS
16554 #ifdef DOCUMENTATION
16556 #endif // DOCUMENTATION
16563 DECLARE_LEAF_CLASS(AsmElfSymverDefinedAuxList);
16564 IS_SERIALIZABLE(AsmElfSymverDefinedAuxList);
16566 #ifdef DOCUMENTATION
16572 #endif // DOCUMENTATION
16574 #ifndef DOCUMENTATION
16575 AsmElfSymverDefinedAuxList.setDataPrototype(
16576 "SgAsmElfSymverDefinedAuxPtrList",
"entries",
"",
16577 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16578 #endif // !DOCUMENTATION
16580 DECLARE_OTHERS(AsmElfSymverDefinedAuxList);
16581 #if defined(SgAsmElfSymverDefinedAuxList_OTHERS) || defined(DOCUMENTATION)
16584 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16586 friend class boost::serialization::access;
16589 void serialize(S &s,
const unsigned ) {
16592 s & BOOST_SERIALIZATION_NVP(p_entries);
16595 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
16601 SgAsmElfSymverDefinedAuxPtrList
const&
get_entries()
const;
16603 void set_entries(SgAsmElfSymverDefinedAuxPtrList
const&);
16622 #endif // SgAsmElfSymverDefinedAuxList_OTHERS
16623 #ifdef DOCUMENTATION
16625 #endif // DOCUMENTATION
16632 DECLARE_LEAF_CLASS(AsmElfSymverDefinedAux);
16633 IS_SERIALIZABLE(AsmElfSymverDefinedAux);
16635 DECLARE_HEADERS(AsmElfSymverDefinedAux);
16636 #if defined(SgAsmElfSymverDefinedAux_HEADERS) || defined(DOCUMENTATION)
16637 #include <Rose/BinaryAnalysis/ByteOrder.h>
16638 #endif // SgAsmElfSymverDefinedAux_HEADERS
16640 #ifdef DOCUMENTATION
16642 #endif // DOCUMENTATION
16644 #ifndef DOCUMENTATION
16645 AsmElfSymverDefinedAux.setDataPrototype(
16646 "SgAsmGenericString*",
"name",
"= 0",
16647 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16648 #endif // !DOCUMENTATION
16650 DECLARE_OTHERS(AsmElfSymverDefinedAux);
16651 #if defined(SgAsmElfSymverDefinedAux_OTHERS) || defined(DOCUMENTATION)
16654 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16656 friend class boost::serialization::access;
16659 void serialize(S &s,
const unsigned ) {
16662 s & BOOST_SERIALIZATION_NVP(p_name);
16665 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
16679 #if !defined(SWIG) && !defined(_MSC_VER)
16680 __attribute__((packed))
16718 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
16735 #endif // SgAsmElfSymverDefinedAux_OTHERS
16736 #ifdef DOCUMENTATION
16738 #endif // DOCUMENTATION
16745 DECLARE_LEAF_CLASS(AsmElfSymbolSection);
16746 IS_SERIALIZABLE(AsmElfSymbolSection);
16748 #ifdef DOCUMENTATION
16751 #endif // DOCUMENTATION
16753 #ifndef DOCUMENTATION
16754 AsmElfSymbolSection.setDataPrototype(
16755 "bool",
"is_dynamic",
"= false",
16756 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16757 #endif // !DOCUMENTATION
16759 #ifndef DOCUMENTATION
16760 AsmElfSymbolSection.setDataPrototype(
16761 "SgAsmElfSymbolList*",
"symbols",
"= createAndParent<SgAsmElfSymbolList>(this)",
16762 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16763 #endif // !DOCUMENTATION
16765 DECLARE_OTHERS(AsmElfSymbolSection);
16766 #if defined(SgAsmElfSymbolSection_OTHERS) || defined(DOCUMENTATION)
16769 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16771 friend class boost::serialization::access;
16774 void serialize(S &s,
const unsigned ) {
16777 s & BOOST_SERIALIZATION_NVP(p_is_dynamic);
16778 s & BOOST_SERIALIZATION_NVP(p_symbols);
16781 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
16829 virtual rose_addr_t
calculate_sizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
16837 virtual void unparse(std::ostream&)
const override;
16840 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
16857 #endif // SgAsmElfSymbolSection_OTHERS
16858 #ifdef DOCUMENTATION
16860 #endif // DOCUMENTATION
16867 DECLARE_LEAF_CLASS(AsmElfSymbolList);
16868 IS_SERIALIZABLE(AsmElfSymbolList);
16870 #ifdef DOCUMENTATION
16872 #endif // DOCUMENTATION
16874 #ifndef DOCUMENTATION
16875 AsmElfSymbolList.setDataPrototype(
16876 "SgAsmElfSymbolPtrList",
"symbols",
"",
16877 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16878 #endif // !DOCUMENTATION
16880 DECLARE_OTHERS(AsmElfSymbolList);
16881 #if defined(SgAsmElfSymbolList_OTHERS) || defined(DOCUMENTATION)
16884 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16886 friend class boost::serialization::access;
16889 void serialize(S &s,
const unsigned ) {
16892 s & BOOST_SERIALIZATION_NVP(p_symbols);
16895 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
16904 SgAsmElfSymbolPtrList
const&
get_symbols()
const;
16925 #endif // SgAsmElfSymbolList_OTHERS
16926 #ifdef DOCUMENTATION
16928 #endif // DOCUMENTATION
16935 DECLARE_LEAF_CLASS(AsmElfSymbol);
16936 IS_SERIALIZABLE(AsmElfSymbol);
16938 DECLARE_HEADERS(AsmElfSymbol);
16939 #if defined(SgAsmElfSymbol_HEADERS) || defined(DOCUMENTATION)
16940 #include <Rose/BinaryAnalysis/ByteOrder.h>
16941 #endif // SgAsmElfSymbol_HEADERS
16943 #ifdef DOCUMENTATION
16949 #endif // DOCUMENTATION
16951 #ifndef DOCUMENTATION
16952 AsmElfSymbol.setDataPrototype(
16953 "unsigned char",
"st_info",
"= 0",
16954 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16955 #endif // !DOCUMENTATION
16957 #ifndef DOCUMENTATION
16958 AsmElfSymbol.setDataPrototype(
16959 "unsigned char",
"st_res1",
"= 0",
16960 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16961 #endif // !DOCUMENTATION
16963 #ifndef DOCUMENTATION
16964 AsmElfSymbol.setDataPrototype(
16965 "unsigned",
"st_shndx",
"= 0",
16966 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16967 #endif // !DOCUMENTATION
16969 #ifndef DOCUMENTATION
16970 AsmElfSymbol.setDataPrototype(
16971 "rose_addr_t",
"st_size",
"= 0",
16972 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16973 #endif // !DOCUMENTATION
16975 #ifndef DOCUMENTATION
16976 AsmElfSymbol.setDataPrototype(
16977 "SgUnsignedCharList",
"extra",
"",
16978 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16979 #endif // !DOCUMENTATION
16981 DECLARE_OTHERS(AsmElfSymbol);
16982 #if defined(SgAsmElfSymbol_OTHERS) || defined(DOCUMENTATION)
16985 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16987 friend class boost::serialization::access;
16990 void serialize(S &s,
const unsigned ) {
16993 s & BOOST_SERIALIZATION_NVP(p_st_info);
16994 s & BOOST_SERIALIZATION_NVP(p_st_res1);
16995 s & BOOST_SERIALIZATION_NVP(p_st_shndx);
16996 s & BOOST_SERIALIZATION_NVP(p_st_size);
16997 s & BOOST_SERIALIZATION_NVP(p_extra);
17000 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
17005 enum ElfSymBinding {
17035 #if !defined(SWIG) && !defined(_MSC_VER)
17036 __attribute__((packed))
17042 unsigned char st_info;
17043 unsigned char st_res1;
17048 #if !defined(SWIG) && !defined(_MSC_VER)
17049 __attribute__((packed))
17106 SgUnsignedCharList
const&
get_extra()
const;
17108 void set_extra(SgUnsignedCharList
const&);
17139 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const override;
17150 static std::string
to_string(SgAsmElfSymbol::ElfSymBinding);
17156 void parse_common();
17173 #endif // SgAsmElfSymbol_OTHERS
17174 #ifdef DOCUMENTATION
17176 #endif // DOCUMENTATION
17183 DECLARE_LEAF_CLASS(AsmElfStrtab);
17184 IS_SERIALIZABLE(AsmElfStrtab);
17186 #ifdef DOCUMENTATION
17189 #endif // DOCUMENTATION
17191 DECLARE_OTHERS(AsmElfStrtab);
17192 #if defined(SgAsmElfStrtab_OTHERS) || defined(DOCUMENTATION)
17195 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17197 friend class boost::serialization::access;
17200 void serialize(S &s,
const unsigned ) {
17205 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
17228 virtual void unparse(std::ostream&)
const;
17271 #endif // SgAsmElfStrtab_OTHERS
17272 #ifdef DOCUMENTATION
17274 #endif // DOCUMENTATION
17281 DECLARE_LEAF_CLASS(AsmElfStringSection);
17282 IS_SERIALIZABLE(AsmElfStringSection);
17284 #ifdef DOCUMENTATION
17289 #endif // DOCUMENTATION
17291 #ifndef DOCUMENTATION
17292 AsmElfStringSection.setDataPrototype(
17293 "SgAsmElfStrtab*",
"strtab",
"= nullptr",
17294 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17295 #endif // !DOCUMENTATION
17297 DECLARE_OTHERS(AsmElfStringSection);
17298 #if defined(SgAsmElfStringSection_OTHERS) || defined(DOCUMENTATION)
17301 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17303 friend class boost::serialization::access;
17306 void serialize(S &s,
const unsigned ) {
17309 s & BOOST_SERIALIZATION_NVP(p_strtab);
17312 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
17331 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
17337 virtual void set_size(rose_addr_t newsize)
override;
17348 virtual void unparse(std::ostream&)
const override;
17365 #endif // SgAsmElfStringSection_OTHERS
17366 #ifdef DOCUMENTATION
17368 #endif // DOCUMENTATION
17375 DECLARE_LEAF_CLASS(AsmElfSegmentTable);
17376 IS_SERIALIZABLE(AsmElfSegmentTable);
17378 #ifdef DOCUMENTATION
17386 #endif // DOCUMENTATION
17388 DECLARE_OTHERS(AsmElfSegmentTable);
17389 #if defined(SgAsmElfSegmentTable_OTHERS) || defined(DOCUMENTATION)
17392 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17394 friend class boost::serialization::access;
17397 void serialize(S &s,
const unsigned ) {
17402 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
17431 rose_addr_t
calculate_sizes(
size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
17437 virtual void unparse(std::ostream&)
const override;
17440 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
17457 #endif // SgAsmElfSegmentTable_OTHERS
17458 #ifdef DOCUMENTATION
17460 #endif // DOCUMENTATION
17467 DECLARE_LEAF_CLASS(AsmElfSegmentTableEntryList);
17468 IS_SERIALIZABLE(AsmElfSegmentTableEntryList);
17470 #ifdef DOCUMENTATION
17472 #endif // DOCUMENTATION
17474 #ifndef DOCUMENTATION
17475 AsmElfSegmentTableEntryList.setDataPrototype(
17476 "SgAsmElfSegmentTableEntryPtrList",
"entries",
"",
17477 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17478 #endif // !DOCUMENTATION
17480 DECLARE_OTHERS(AsmElfSegmentTableEntryList);
17481 #if defined(SgAsmElfSegmentTableEntryList_OTHERS) || defined(DOCUMENTATION)
17484 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17486 friend class boost::serialization::access;
17489 void serialize(S &s,
const unsigned ) {
17492 s & BOOST_SERIALIZATION_NVP(p_entries);
17495 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
17504 SgAsmElfSegmentTableEntryPtrList
const&
get_entries()
const;
17506 void set_entries(SgAsmElfSegmentTableEntryPtrList
const&);
17525 #endif // SgAsmElfSegmentTableEntryList_OTHERS
17526 #ifdef DOCUMENTATION
17528 #endif // DOCUMENTATION
17535 DECLARE_LEAF_CLASS(AsmElfSegmentTableEntry);
17536 IS_SERIALIZABLE(AsmElfSegmentTableEntry);
17538 DECLARE_HEADERS(AsmElfSegmentTableEntry);
17539 #if defined(SgAsmElfSegmentTableEntry_HEADERS) || defined(DOCUMENTATION)
17540 #include <Rose/BinaryAnalysis/ByteOrder.h>
17541 #endif // SgAsmElfSegmentTableEntry_HEADERS
17543 #ifdef DOCUMENTATION
17546 #endif // DOCUMENTATION
17548 #ifndef DOCUMENTATION
17549 AsmElfSegmentTableEntry.setDataPrototype(
17550 "size_t",
"index",
"= 0",
17551 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17552 #endif // !DOCUMENTATION
17554 #ifndef DOCUMENTATION
17555 AsmElfSegmentTableEntry.setDataPrototype(
17556 "SgAsmElfSegmentTableEntry::SegmentType",
"type",
"= SgAsmElfSegmentTableEntry::PT_LOAD",
17557 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17558 #endif // !DOCUMENTATION
17560 #ifndef DOCUMENTATION
17561 AsmElfSegmentTableEntry.setDataPrototype(
17562 "SgAsmElfSegmentTableEntry::SegmentFlags",
"flags",
"= SgAsmElfSegmentTableEntry::PF_NONE",
17563 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17564 #endif // !DOCUMENTATION
17566 #ifndef DOCUMENTATION
17567 AsmElfSegmentTableEntry.setDataPrototype(
17568 "rose_addr_t",
"offset",
"= 0",
17569 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17570 #endif // !DOCUMENTATION
17572 #ifndef DOCUMENTATION
17573 AsmElfSegmentTableEntry.setDataPrototype(
17574 "rose_addr_t",
"vaddr",
"= 0",
17575 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17576 #endif // !DOCUMENTATION
17578 #ifndef DOCUMENTATION
17579 AsmElfSegmentTableEntry.setDataPrototype(
17580 "rose_addr_t",
"paddr",
"= 0",
17581 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17582 #endif // !DOCUMENTATION
17584 #ifndef DOCUMENTATION
17585 AsmElfSegmentTableEntry.setDataPrototype(
17586 "rose_addr_t",
"filesz",
"= 0",
17587 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17588 #endif // !DOCUMENTATION
17590 #ifndef DOCUMENTATION
17591 AsmElfSegmentTableEntry.setDataPrototype(
17592 "rose_addr_t",
"memsz",
"= 0",
17593 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17594 #endif // !DOCUMENTATION
17596 #ifndef DOCUMENTATION
17597 AsmElfSegmentTableEntry.setDataPrototype(
17598 "rose_addr_t",
"align",
"= 0",
17599 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17600 #endif // !DOCUMENTATION
17602 #ifndef DOCUMENTATION
17603 AsmElfSegmentTableEntry.setDataPrototype(
17604 "SgUnsignedCharList",
"extra",
"",
17605 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17606 #endif // !DOCUMENTATION
17608 DECLARE_OTHERS(AsmElfSegmentTableEntry);
17609 #if defined(SgAsmElfSegmentTableEntry_OTHERS) || defined(DOCUMENTATION)
17612 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17614 friend class boost::serialization::access;
17617 void serialize(S &s,
const unsigned ) {
17620 s & BOOST_SERIALIZATION_NVP(p_index);
17621 s & BOOST_SERIALIZATION_NVP(p_type);
17622 s & BOOST_SERIALIZATION_NVP(p_flags);
17623 s & BOOST_SERIALIZATION_NVP(p_offset);
17624 s & BOOST_SERIALIZATION_NVP(p_vaddr);
17625 s & BOOST_SERIALIZATION_NVP(p_paddr);
17626 s & BOOST_SERIALIZATION_NVP(p_filesz);
17627 s & BOOST_SERIALIZATION_NVP(p_memsz);
17628 s & BOOST_SERIALIZATION_NVP(p_align);
17629 s & BOOST_SERIALIZATION_NVP(p_extra);
17632 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
17650 PT_HIOS = 0x6fffffff,
17652 PT_HIPROC = 0x7fffffff,
17696 #if !defined(SWIG) && !defined(_MSC_VER)
17697 __attribute__((packed))
17711 #if !defined(SWIG) && !defined(_MSC_VER)
17712 __attribute__((packed))
17815 SgUnsignedCharList
const&
get_extra()
const;
17817 void set_extra(SgUnsignedCharList
const&);
17842 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
17865 #endif // SgAsmElfSegmentTableEntry_OTHERS
17866 #ifdef DOCUMENTATION
17868 #endif // DOCUMENTATION
17875 DECLARE_LEAF_CLASS(AsmElfSectionTable);
17876 IS_SERIALIZABLE(AsmElfSectionTable);
17878 #ifdef DOCUMENTATION
17885 #endif // DOCUMENTATION
17887 DECLARE_OTHERS(AsmElfSectionTable);
17888 #if defined(SgAsmElfSectionTable_OTHERS) || defined(DOCUMENTATION)
17891 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17893 friend class boost::serialization::access;
17896 void serialize(S &s,
const unsigned ) {
17901 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
17928 rose_addr_t
calculate_sizes(
size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
17934 virtual void unparse(std::ostream&)
const override;
17937 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
17954 #endif // SgAsmElfSectionTable_OTHERS
17955 #ifdef DOCUMENTATION
17957 #endif // DOCUMENTATION
17964 DECLARE_LEAF_CLASS(AsmElfSectionTableEntry);
17965 IS_SERIALIZABLE(AsmElfSectionTableEntry);
17967 DECLARE_HEADERS(AsmElfSectionTableEntry);
17968 #if defined(SgAsmElfSectionTableEntry_HEADERS) || defined(DOCUMENTATION)
17969 #include <Rose/BinaryAnalysis/ByteOrder.h>
17970 #endif // SgAsmElfSectionTableEntry_HEADERS
17972 #ifdef DOCUMENTATION
17975 #endif // DOCUMENTATION
17977 #ifndef DOCUMENTATION
17978 AsmElfSectionTableEntry.setDataPrototype(
17979 "unsigned",
"sh_name",
"= 0",
17980 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17981 #endif // !DOCUMENTATION
17983 #ifndef DOCUMENTATION
17984 AsmElfSectionTableEntry.setDataPrototype(
17985 "SgAsmElfSectionTableEntry::SectionType",
"sh_type",
"= SHT_PROGBITS",
17986 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17987 #endif // !DOCUMENTATION
17989 #ifndef DOCUMENTATION
17990 AsmElfSectionTableEntry.setDataPrototype(
17991 "unsigned long",
"sh_link",
"= 0",
17992 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17993 #endif // !DOCUMENTATION
17995 #ifndef DOCUMENTATION
17996 AsmElfSectionTableEntry.setDataPrototype(
17997 "unsigned long",
"sh_info",
"= 0",
17998 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17999 #endif // !DOCUMENTATION
18001 #ifndef DOCUMENTATION
18002 AsmElfSectionTableEntry.setDataPrototype(
18003 "uint64_t",
"sh_flags",
"= 0",
18004 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18005 #endif // !DOCUMENTATION
18007 #ifndef DOCUMENTATION
18008 AsmElfSectionTableEntry.setDataPrototype(
18009 "rose_addr_t",
"sh_addr",
"= 0",
18010 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18011 #endif // !DOCUMENTATION
18013 #ifndef DOCUMENTATION
18014 AsmElfSectionTableEntry.setDataPrototype(
18015 "rose_addr_t",
"sh_offset",
"= 0",
18016 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18017 #endif // !DOCUMENTATION
18019 #ifndef DOCUMENTATION
18020 AsmElfSectionTableEntry.setDataPrototype(
18021 "rose_addr_t",
"sh_size",
"= 0",
18022 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18023 #endif // !DOCUMENTATION
18025 #ifndef DOCUMENTATION
18026 AsmElfSectionTableEntry.setDataPrototype(
18027 "rose_addr_t",
"sh_addralign",
"= 0",
18028 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18029 #endif // !DOCUMENTATION
18031 #ifndef DOCUMENTATION
18032 AsmElfSectionTableEntry.setDataPrototype(
18033 "rose_addr_t",
"sh_entsize",
"= 0",
18034 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18035 #endif // !DOCUMENTATION
18037 #ifndef DOCUMENTATION
18038 AsmElfSectionTableEntry.setDataPrototype(
18039 "SgUnsignedCharList",
"extra",
"",
18040 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18041 #endif // !DOCUMENTATION
18043 DECLARE_OTHERS(AsmElfSectionTableEntry);
18044 #if defined(SgAsmElfSectionTableEntry_OTHERS) || defined(DOCUMENTATION)
18047 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18049 friend class boost::serialization::access;
18052 void serialize(S &s,
const unsigned ) {
18055 s & BOOST_SERIALIZATION_NVP(p_sh_name);
18056 s & BOOST_SERIALIZATION_NVP(p_sh_type);
18057 s & BOOST_SERIALIZATION_NVP(p_sh_link);
18058 s & BOOST_SERIALIZATION_NVP(p_sh_info);
18059 s & BOOST_SERIALIZATION_NVP(p_sh_flags);
18060 s & BOOST_SERIALIZATION_NVP(p_sh_addr);
18061 s & BOOST_SERIALIZATION_NVP(p_sh_offset);
18062 s & BOOST_SERIALIZATION_NVP(p_sh_size);
18063 s & BOOST_SERIALIZATION_NVP(p_sh_addralign);
18064 s & BOOST_SERIALIZATION_NVP(p_sh_entsize);
18065 s & BOOST_SERIALIZATION_NVP(p_extra);
18068 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
18094 SHT_LOPROC = 0x70000000,
18095 SHT_HIPROC = 0x7fffffff,
18096 SHT_LOUSER = 0x80000000,
18097 SHT_HIUSER = 0xffffffff
18131 uint32_t sh_offset;
18135 uint32_t sh_addralign;
18136 uint32_t sh_entsize;
18138 #if !defined(SWIG) && !defined(_MSC_VER)
18139 __attribute__((packed))
18148 uint64_t sh_offset;
18152 uint64_t sh_addralign;
18153 uint64_t sh_entsize;
18155 #if !defined(SWIG) && !defined(_MSC_VER)
18156 __attribute__((packed))
18272 SgUnsignedCharList
const&
get_extra()
const;
18274 void set_extra(SgUnsignedCharList
const&);
18291 void *
encode(Rose::BinaryAnalysis::ByteOrder::Endianness sex,
18293 void *
encode(Rose::BinaryAnalysis::ByteOrder::Endianness sex,
18301 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
18322 #endif // SgAsmElfSectionTableEntry_OTHERS
18323 #ifdef DOCUMENTATION
18325 #endif // DOCUMENTATION
18332 DECLARE_LEAF_CLASS(AsmElfRelocSection);
18333 IS_SERIALIZABLE(AsmElfRelocSection);
18335 #ifdef DOCUMENTATION
18338 #endif // DOCUMENTATION
18340 #ifndef DOCUMENTATION
18341 AsmElfRelocSection.setDataPrototype(
18342 "bool",
"uses_addend",
"= true",
18343 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18344 #endif // !DOCUMENTATION
18346 #ifndef DOCUMENTATION
18347 AsmElfRelocSection.setDataPrototype(
18348 "SgAsmElfSection*",
"target_section",
"= nullptr",
18349 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18350 #endif // !DOCUMENTATION
18352 #ifndef DOCUMENTATION
18353 AsmElfRelocSection.setDataPrototype(
18354 "SgAsmElfRelocEntryList*",
"entries",
"= createAndParent<SgAsmElfRelocEntryList>(this)",
18355 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18356 #endif // !DOCUMENTATION
18358 DECLARE_OTHERS(AsmElfRelocSection);
18359 #if defined(SgAsmElfRelocSection_OTHERS) || defined(DOCUMENTATION)
18362 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18364 friend class boost::serialization::access;
18367 void serialize(S &s,
const unsigned ) {
18370 s & BOOST_SERIALIZATION_NVP(p_uses_addend);
18371 s & BOOST_SERIALIZATION_NVP(p_target_section);
18372 s & BOOST_SERIALIZATION_NVP(p_entries);
18375 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
18410 virtual rose_addr_t
calculate_sizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
18416 virtual void unparse(std::ostream&)
const override;
18419 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
18436 #endif // SgAsmElfRelocSection_OTHERS
18437 #ifdef DOCUMENTATION
18439 #endif // DOCUMENTATION
18446 DECLARE_LEAF_CLASS(AsmElfRelocEntryList);
18447 IS_SERIALIZABLE(AsmElfRelocEntryList);
18449 #ifdef DOCUMENTATION
18455 #endif // DOCUMENTATION
18457 #ifndef DOCUMENTATION
18458 AsmElfRelocEntryList.setDataPrototype(
18459 "SgAsmElfRelocEntryPtrList",
"entries",
"",
18460 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18461 #endif // !DOCUMENTATION
18463 DECLARE_OTHERS(AsmElfRelocEntryList);
18464 #if defined(SgAsmElfRelocEntryList_OTHERS) || defined(DOCUMENTATION)
18467 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18469 friend class boost::serialization::access;
18472 void serialize(S &s,
const unsigned ) {
18475 s & BOOST_SERIALIZATION_NVP(p_entries);
18478 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
18484 SgAsmElfRelocEntryPtrList
const&
get_entries()
const;
18486 void set_entries(SgAsmElfRelocEntryPtrList
const&);
18505 #endif // SgAsmElfRelocEntryList_OTHERS
18506 #ifdef DOCUMENTATION
18508 #endif // DOCUMENTATION
18515 DECLARE_LEAF_CLASS(AsmElfRelocEntry);
18516 IS_SERIALIZABLE(AsmElfRelocEntry);
18518 DECLARE_HEADERS(AsmElfRelocEntry);
18519 #if defined(SgAsmElfRelocEntry_HEADERS) || defined(DOCUMENTATION)
18520 #include <Rose/BinaryAnalysis/ByteOrder.h>
18521 #endif // SgAsmElfRelocEntry_HEADERS
18523 #ifdef DOCUMENTATION
18526 #endif // DOCUMENTATION
18528 #ifndef DOCUMENTATION
18529 AsmElfRelocEntry.setDataPrototype(
18530 "rose_addr_t",
"r_offset",
"= 0",
18531 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18532 #endif // !DOCUMENTATION
18534 #ifndef DOCUMENTATION
18535 AsmElfRelocEntry.setDataPrototype(
18536 "rose_addr_t",
"r_addend",
"= 0",
18537 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18538 #endif // !DOCUMENTATION
18540 #ifndef DOCUMENTATION
18541 AsmElfRelocEntry.setDataPrototype(
18542 "unsigned long",
"sym",
"= 0",
18543 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18544 #endif // !DOCUMENTATION
18546 #ifndef DOCUMENTATION
18547 AsmElfRelocEntry.setDataPrototype(
18548 "SgAsmElfRelocEntry::RelocType",
"type",
"= R_386_NONE",
18549 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18550 #endif // !DOCUMENTATION
18552 #ifndef DOCUMENTATION
18553 AsmElfRelocEntry.setDataPrototype(
18554 "SgUnsignedCharList",
"extra",
"",
18555 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18556 #endif // !DOCUMENTATION
18558 DECLARE_OTHERS(AsmElfRelocEntry);
18559 #if defined(SgAsmElfRelocEntry_OTHERS) || defined(DOCUMENTATION)
18562 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18564 friend class boost::serialization::access;
18567 void serialize(S &s,
const unsigned ) {
18570 s & BOOST_SERIALIZATION_NVP(p_r_offset);
18571 s & BOOST_SERIALIZATION_NVP(p_r_addend);
18572 s & BOOST_SERIALIZATION_NVP(p_sym);
18573 s & BOOST_SERIALIZATION_NVP(p_type);
18574 s & BOOST_SERIALIZATION_NVP(p_extra);
18577 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
18658 #if !defined(SWIG) && !defined(_MSC_VER)
18659 __attribute__((packed))
18668 #if !defined(SWIG) && !defined(_MSC_VER)
18669 __attribute__((packed))
18677 #if !defined(SWIG) && !defined(_MSC_VER)
18678 __attribute__((packed))
18686 #if !defined(SWIG) && !defined(_MSC_VER)
18687 __attribute__((packed))
18724 unsigned long const&
get_sym()
const;
18725 void set_sym(
unsigned long const&);
18742 SgUnsignedCharList
const&
get_extra()
const;
18744 void set_extra(SgUnsignedCharList
const&);
18775 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const {
18776 dump(f, prefix, idx, NULL);
18798 #endif // SgAsmElfRelocEntry_OTHERS
18799 #ifdef DOCUMENTATION
18801 #endif // DOCUMENTATION
18808 DECLARE_LEAF_CLASS(AsmElfNoteSection);
18809 IS_SERIALIZABLE(AsmElfNoteSection);
18811 #ifdef DOCUMENTATION
18813 #endif // DOCUMENTATION
18815 #ifndef DOCUMENTATION
18816 AsmElfNoteSection.setDataPrototype(
18817 "SgAsmElfNoteEntryList*",
"entries",
"= createAndParent<SgAsmElfNoteEntryList>(this)",
18818 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18819 #endif // !DOCUMENTATION
18821 DECLARE_OTHERS(AsmElfNoteSection);
18822 #if defined(SgAsmElfNoteSection_OTHERS) || defined(DOCUMENTATION)
18825 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18827 friend class boost::serialization::access;
18830 void serialize(S &s,
const unsigned ) {
18833 s & BOOST_SERIALIZATION_NVP(p_entries);
18836 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
18858 virtual void unparse(std::ostream&)
const override;
18861 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
18878 #endif // SgAsmElfNoteSection_OTHERS
18879 #ifdef DOCUMENTATION
18881 #endif // DOCUMENTATION
18888 DECLARE_LEAF_CLASS(AsmElfNoteEntryList);
18889 IS_SERIALIZABLE(AsmElfNoteEntryList);
18891 #ifdef DOCUMENTATION
18897 #endif // DOCUMENTATION
18899 #ifndef DOCUMENTATION
18900 AsmElfNoteEntryList.setDataPrototype(
18901 "SgAsmElfNoteEntryPtrList",
"entries",
"",
18902 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18903 #endif // !DOCUMENTATION
18905 DECLARE_OTHERS(AsmElfNoteEntryList);
18906 #if defined(SgAsmElfNoteEntryList_OTHERS) || defined(DOCUMENTATION)
18909 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18911 friend class boost::serialization::access;
18914 void serialize(S &s,
const unsigned ) {
18917 s & BOOST_SERIALIZATION_NVP(p_entries);
18920 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
18926 SgAsmElfNoteEntryPtrList
const&
get_entries()
const;
18928 void set_entries(SgAsmElfNoteEntryPtrList
const&);
18947 #endif // SgAsmElfNoteEntryList_OTHERS
18948 #ifdef DOCUMENTATION
18950 #endif // DOCUMENTATION
18957 DECLARE_LEAF_CLASS(AsmElfNoteEntry);
18958 IS_SERIALIZABLE(AsmElfNoteEntry);
18960 #ifdef DOCUMENTATION
18963 #endif // DOCUMENTATION
18965 #ifndef DOCUMENTATION
18966 AsmElfNoteEntry.setDataPrototype(
18967 "unsigned",
"type",
"= 0",
18968 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18969 #endif // !DOCUMENTATION
18971 #ifndef DOCUMENTATION
18972 AsmElfNoteEntry.setDataPrototype(
18973 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
18974 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18975 #endif // !DOCUMENTATION
18977 #ifndef DOCUMENTATION
18978 AsmElfNoteEntry.setDataPrototype(
18979 "SgUnsignedCharList",
"payload",
"",
18980 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18981 #endif // !DOCUMENTATION
18983 DECLARE_OTHERS(AsmElfNoteEntry);
18984 #if defined(SgAsmElfNoteEntry_OTHERS) || defined(DOCUMENTATION)
18987 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18989 friend class boost::serialization::access;
18992 void serialize(S &s,
const unsigned ) {
18995 s & BOOST_SERIALIZATION_NVP(p_type);
18996 s & BOOST_SERIALIZATION_NVP(p_name);
18997 s & BOOST_SERIALIZATION_NVP(p_payload);
19000 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
19048 rose_addr_t
parse(rose_addr_t starting_offset);
19053 rose_addr_t
unparse(std::ostream &f, rose_addr_t starting_offset);
19056 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
19081 #endif // SgAsmElfNoteEntry_OTHERS
19082 #ifdef DOCUMENTATION
19084 #endif // DOCUMENTATION
19091 DECLARE_LEAF_CLASS(AsmElfFileHeader);
19092 IS_SERIALIZABLE(AsmElfFileHeader);
19094 DECLARE_HEADERS(AsmElfFileHeader);
19095 #if defined(SgAsmElfFileHeader_HEADERS) || defined(DOCUMENTATION)
19096 #include <Rose/BinaryAnalysis/ByteOrder.h>
19097 #endif // SgAsmElfFileHeader_HEADERS
19099 #ifdef DOCUMENTATION
19109 #endif // DOCUMENTATION
19111 #ifndef DOCUMENTATION
19112 AsmElfFileHeader.setDataPrototype(
19113 "unsigned char",
"e_ident_file_class",
"= 0",
19114 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19115 #endif // !DOCUMENTATION
19117 #ifndef DOCUMENTATION
19118 AsmElfFileHeader.setDataPrototype(
19119 "unsigned char",
"e_ident_data_encoding",
"= 0",
19120 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19121 #endif // !DOCUMENTATION
19123 #ifndef DOCUMENTATION
19124 AsmElfFileHeader.setDataPrototype(
19125 "unsigned char",
"e_ident_file_version",
"= 0",
19126 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19127 #endif // !DOCUMENTATION
19129 #ifndef DOCUMENTATION
19130 AsmElfFileHeader.setDataPrototype(
19131 "SgUnsignedCharList",
"e_ident_padding",
"",
19132 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19133 #endif // !DOCUMENTATION
19135 #ifndef DOCUMENTATION
19136 AsmElfFileHeader.setDataPrototype(
19137 "unsigned long",
"e_type",
"= 0",
19138 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19139 #endif // !DOCUMENTATION
19141 #ifndef DOCUMENTATION
19142 AsmElfFileHeader.setDataPrototype(
19143 "unsigned long",
"e_machine",
"= 0",
19144 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19145 #endif // !DOCUMENTATION
19147 #ifndef DOCUMENTATION
19148 AsmElfFileHeader.setDataPrototype(
19149 "unsigned long",
"e_flags",
"= 0",
19150 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19151 #endif // !DOCUMENTATION
19153 #ifndef DOCUMENTATION
19154 AsmElfFileHeader.setDataPrototype(
19155 "unsigned long",
"e_ehsize",
"= 0",
19156 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19157 #endif // !DOCUMENTATION
19159 #ifndef DOCUMENTATION
19160 AsmElfFileHeader.setDataPrototype(
19161 "unsigned long",
"phextrasz",
"= 0",
19162 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19163 #endif // !DOCUMENTATION
19165 #ifndef DOCUMENTATION
19166 AsmElfFileHeader.setDataPrototype(
19167 "unsigned long",
"e_phnum",
"= 0",
19168 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19169 #endif // !DOCUMENTATION
19171 #ifndef DOCUMENTATION
19172 AsmElfFileHeader.setDataPrototype(
19173 "unsigned long",
"shextrasz",
"= 0",
19174 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19175 #endif // !DOCUMENTATION
19177 #ifndef DOCUMENTATION
19178 AsmElfFileHeader.setDataPrototype(
19179 "unsigned long",
"e_shnum",
"= 0",
19180 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19181 #endif // !DOCUMENTATION
19183 #ifndef DOCUMENTATION
19184 AsmElfFileHeader.setDataPrototype(
19185 "unsigned long",
"e_shstrndx",
"= 0",
19186 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19187 #endif // !DOCUMENTATION
19189 #ifndef DOCUMENTATION
19190 AsmElfFileHeader.setDataPrototype(
19191 "SgAsmElfSectionTable*",
"section_table",
"= nullptr",
19192 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19193 #endif // !DOCUMENTATION
19195 #ifndef DOCUMENTATION
19196 AsmElfFileHeader.setDataPrototype(
19197 "SgAsmElfSegmentTable*",
"segment_table",
"= nullptr",
19198 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19199 #endif // !DOCUMENTATION
19201 DECLARE_OTHERS(AsmElfFileHeader);
19202 #if defined(SgAsmElfFileHeader_OTHERS) || defined(DOCUMENTATION)
19205 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19207 friend class boost::serialization::access;
19210 void serialize(S &s,
const unsigned ) {
19213 s & BOOST_SERIALIZATION_NVP(p_e_ident_file_class);
19214 s & BOOST_SERIALIZATION_NVP(p_e_ident_data_encoding);
19215 s & BOOST_SERIALIZATION_NVP(p_e_ident_file_version);
19216 s & BOOST_SERIALIZATION_NVP(p_e_ident_padding);
19217 s & BOOST_SERIALIZATION_NVP(p_e_type);
19218 s & BOOST_SERIALIZATION_NVP(p_e_machine);
19219 s & BOOST_SERIALIZATION_NVP(p_e_flags);
19220 s & BOOST_SERIALIZATION_NVP(p_e_ehsize);
19221 s & BOOST_SERIALIZATION_NVP(p_phextrasz);
19222 s & BOOST_SERIALIZATION_NVP(p_e_phnum);
19223 s & BOOST_SERIALIZATION_NVP(p_shextrasz);
19224 s & BOOST_SERIALIZATION_NVP(p_e_shnum);
19225 s & BOOST_SERIALIZATION_NVP(p_e_shstrndx);
19226 s & BOOST_SERIALIZATION_NVP(p_section_table);
19227 s & BOOST_SERIALIZATION_NVP(p_segment_table);
19230 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
19283 #if !defined(SWIG) && !defined(_MSC_VER)
19284 __attribute__((packed))
19289 unsigned char e_ident_magic[4];
19290 unsigned char e_ident_file_class;
19291 unsigned char e_ident_data_encoding;
19292 unsigned char e_ident_file_version;
19293 unsigned char e_ident_padding[9];
19295 uint16_t e_machine;
19296 uint32_t e_version;
19302 uint16_t e_phentsize;
19304 uint16_t e_shentsize;
19306 uint16_t e_shstrndx;
19308 #if !defined(SWIG) && !defined(_MSC_VER)
19309 __attribute__((packed))
19508 virtual void unparse(std::ostream&)
const override;
19511 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
19523 virtual const char *
format_name()
const override;
19544 #endif // SgAsmElfFileHeader_OTHERS
19545 #ifdef DOCUMENTATION
19547 #endif // DOCUMENTATION
19554 DECLARE_LEAF_CLASS(AsmElfEHFrameSection);
19555 IS_SERIALIZABLE(AsmElfEHFrameSection);
19557 #ifdef DOCUMENTATION
19560 #endif // DOCUMENTATION
19562 #ifndef DOCUMENTATION
19563 AsmElfEHFrameSection.setDataPrototype(
19564 "SgAsmElfEHFrameEntryCIList*",
"ci_entries",
"= createAndParent<SgAsmElfEHFrameEntryCIList>(this)",
19565 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19566 #endif // !DOCUMENTATION
19568 DECLARE_OTHERS(AsmElfEHFrameSection);
19569 #if defined(SgAsmElfEHFrameSection_OTHERS) || defined(DOCUMENTATION)
19572 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19574 friend class boost::serialization::access;
19577 void serialize(S &s,
const unsigned ) {
19580 s & BOOST_SERIALIZATION_NVP(p_ci_entries);
19583 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
19606 virtual rose_addr_t
calculate_sizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
19609 virtual void unparse(std::ostream&)
const override;
19615 rose_addr_t
unparse(std::ostream*)
const;
19618 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
19635 #endif // SgAsmElfEHFrameSection_OTHERS
19636 #ifdef DOCUMENTATION
19638 #endif // DOCUMENTATION
19645 DECLARE_LEAF_CLASS(AsmElfEHFrameEntryFDList);
19646 IS_SERIALIZABLE(AsmElfEHFrameEntryFDList);
19648 #ifdef DOCUMENTATION
19654 #endif // DOCUMENTATION
19656 #ifndef DOCUMENTATION
19657 AsmElfEHFrameEntryFDList.setDataPrototype(
19658 "SgAsmElfEHFrameEntryFDPtrList",
"entries",
"",
19659 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19660 #endif // !DOCUMENTATION
19662 DECLARE_OTHERS(AsmElfEHFrameEntryFDList);
19663 #if defined(SgAsmElfEHFrameEntryFDList_OTHERS) || defined(DOCUMENTATION)
19666 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19668 friend class boost::serialization::access;
19671 void serialize(S &s,
const unsigned ) {
19674 s & BOOST_SERIALIZATION_NVP(p_entries);
19677 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
19683 SgAsmElfEHFrameEntryFDPtrList
const&
get_entries()
const;
19685 void set_entries(SgAsmElfEHFrameEntryFDPtrList
const&);
19704 #endif // SgAsmElfEHFrameEntryFDList_OTHERS
19705 #ifdef DOCUMENTATION
19707 #endif // DOCUMENTATION
19714 DECLARE_LEAF_CLASS(AsmElfEHFrameEntryFD);
19715 IS_SERIALIZABLE(AsmElfEHFrameEntryFD);
19717 #ifdef DOCUMENTATION
19720 #endif // DOCUMENTATION
19722 #ifndef DOCUMENTATION
19723 AsmElfEHFrameEntryFD.setDataPrototype(
19724 "rose_rva_t",
"begin_rva",
"= 0",
19725 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19726 #endif // !DOCUMENTATION
19728 #ifndef DOCUMENTATION
19729 AsmElfEHFrameEntryFD.setDataPrototype(
19730 "rose_addr_t",
"size",
"= 0",
19731 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19732 #endif // !DOCUMENTATION
19734 #ifndef DOCUMENTATION
19735 AsmElfEHFrameEntryFD.setDataPrototype(
19736 "SgUnsignedCharList",
"augmentation_data",
"",
19737 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19738 #endif // !DOCUMENTATION
19740 #ifndef DOCUMENTATION
19741 AsmElfEHFrameEntryFD.setDataPrototype(
19742 "SgUnsignedCharList",
"instructions",
"",
19743 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19744 #endif // !DOCUMENTATION
19746 DECLARE_OTHERS(AsmElfEHFrameEntryFD);
19747 #if defined(SgAsmElfEHFrameEntryFD_OTHERS) || defined(DOCUMENTATION)
19750 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19752 friend class boost::serialization::access;
19755 void serialize(S &s,
const unsigned ) {
19758 s & BOOST_SERIALIZATION_NVP(p_begin_rva);
19759 s & BOOST_SERIALIZATION_NVP(p_size);
19760 s & BOOST_SERIALIZATION_NVP(p_augmentation_data);
19761 s & BOOST_SERIALIZATION_NVP(p_instructions);
19764 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
19783 rose_addr_t
const&
get_size()
const;
19784 void set_size(rose_addr_t
const&);
19813 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
19836 #endif // SgAsmElfEHFrameEntryFD_OTHERS
19837 #ifdef DOCUMENTATION
19839 #endif // DOCUMENTATION
19846 DECLARE_LEAF_CLASS(AsmElfEHFrameEntryCIList);
19847 IS_SERIALIZABLE(AsmElfEHFrameEntryCIList);
19849 #ifdef DOCUMENTATION
19855 #endif // DOCUMENTATION
19857 #ifndef DOCUMENTATION
19858 AsmElfEHFrameEntryCIList.setDataPrototype(
19859 "SgAsmElfEHFrameEntryCIPtrList",
"entries",
"",
19860 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19861 #endif // !DOCUMENTATION
19863 DECLARE_OTHERS(AsmElfEHFrameEntryCIList);
19864 #if defined(SgAsmElfEHFrameEntryCIList_OTHERS) || defined(DOCUMENTATION)
19867 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19869 friend class boost::serialization::access;
19872 void serialize(S &s,
const unsigned ) {
19875 s & BOOST_SERIALIZATION_NVP(p_entries);
19878 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
19884 SgAsmElfEHFrameEntryCIPtrList
const&
get_entries()
const;
19886 void set_entries(SgAsmElfEHFrameEntryCIPtrList
const&);
19905 #endif // SgAsmElfEHFrameEntryCIList_OTHERS
19906 #ifdef DOCUMENTATION
19908 #endif // DOCUMENTATION
19915 DECLARE_LEAF_CLASS(AsmElfEHFrameEntryCI);
19916 IS_SERIALIZABLE(AsmElfEHFrameEntryCI);
19918 #ifdef DOCUMENTATION
19923 #endif // DOCUMENTATION
19925 #ifndef DOCUMENTATION
19926 AsmElfEHFrameEntryCI.setDataPrototype(
19927 "int",
"version",
"= 0",
19928 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19929 #endif // !DOCUMENTATION
19931 #ifndef DOCUMENTATION
19932 AsmElfEHFrameEntryCI.setDataPrototype(
19933 "std::string",
"augmentation_string",
"",
19934 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19935 #endif // !DOCUMENTATION
19937 #ifndef DOCUMENTATION
19938 AsmElfEHFrameEntryCI.setDataPrototype(
19939 "uint64_t",
"eh_data",
"= 0",
19940 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19941 #endif // !DOCUMENTATION
19943 #ifndef DOCUMENTATION
19944 AsmElfEHFrameEntryCI.setDataPrototype(
19945 "uint64_t",
"code_alignment_factor",
"= 0",
19946 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19947 #endif // !DOCUMENTATION
19949 #ifndef DOCUMENTATION
19950 AsmElfEHFrameEntryCI.setDataPrototype(
19951 "int64_t",
"data_alignment_factor",
"= 0",
19952 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19953 #endif // !DOCUMENTATION
19955 #ifndef DOCUMENTATION
19956 AsmElfEHFrameEntryCI.setDataPrototype(
19957 "uint64_t",
"augmentation_data_length",
"= 0",
19958 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19959 #endif // !DOCUMENTATION
19961 #ifndef DOCUMENTATION
19962 AsmElfEHFrameEntryCI.setDataPrototype(
19963 "int",
"lsda_encoding",
"= -1",
19964 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19965 #endif // !DOCUMENTATION
19967 #ifndef DOCUMENTATION
19968 AsmElfEHFrameEntryCI.setDataPrototype(
19969 "int",
"prh_encoding",
"= -1",
19970 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19971 #endif // !DOCUMENTATION
19973 #ifndef DOCUMENTATION
19974 AsmElfEHFrameEntryCI.setDataPrototype(
19975 "unsigned",
"prh_arg",
"= 0",
19976 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19977 #endif // !DOCUMENTATION
19979 #ifndef DOCUMENTATION
19980 AsmElfEHFrameEntryCI.setDataPrototype(
19981 "rose_addr_t",
"prh_addr",
"= 0",
19982 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19983 #endif // !DOCUMENTATION
19985 #ifndef DOCUMENTATION
19986 AsmElfEHFrameEntryCI.setDataPrototype(
19987 "int",
"addr_encoding",
"= -1",
19988 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19989 #endif // !DOCUMENTATION
19991 #ifndef DOCUMENTATION
19992 AsmElfEHFrameEntryCI.setDataPrototype(
19993 "bool",
"sig_frame",
"= false",
19994 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19995 #endif // !DOCUMENTATION
19997 #ifndef DOCUMENTATION
19998 AsmElfEHFrameEntryCI.setDataPrototype(
19999 "SgUnsignedCharList",
"instructions",
"",
20000 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20001 #endif // !DOCUMENTATION
20003 #ifndef DOCUMENTATION
20004 AsmElfEHFrameEntryCI.setDataPrototype(
20005 "SgAsmElfEHFrameEntryFDList*",
"fd_entries",
"= createAndParent<SgAsmElfEHFrameEntryFDList>(this)",
20006 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
20007 #endif // !DOCUMENTATION
20009 DECLARE_OTHERS(AsmElfEHFrameEntryCI);
20010 #if defined(SgAsmElfEHFrameEntryCI_OTHERS) || defined(DOCUMENTATION)
20013 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20015 friend class boost::serialization::access;
20018 void serialize(S &s,
const unsigned ) {
20021 s & BOOST_SERIALIZATION_NVP(p_version);
20022 s & BOOST_SERIALIZATION_NVP(p_augmentation_string);
20023 s & BOOST_SERIALIZATION_NVP(p_eh_data);
20024 s & BOOST_SERIALIZATION_NVP(p_code_alignment_factor);
20025 s & BOOST_SERIALIZATION_NVP(p_data_alignment_factor);
20026 s & BOOST_SERIALIZATION_NVP(p_augmentation_data_length);
20027 s & BOOST_SERIALIZATION_NVP(p_lsda_encoding);
20028 s & BOOST_SERIALIZATION_NVP(p_prh_encoding);
20029 s & BOOST_SERIALIZATION_NVP(p_prh_arg);
20030 s & BOOST_SERIALIZATION_NVP(p_prh_addr);
20031 s & BOOST_SERIALIZATION_NVP(p_addr_encoding);
20032 s & BOOST_SERIALIZATION_NVP(p_sig_frame);
20033 s & BOOST_SERIALIZATION_NVP(p_instructions);
20034 s & BOOST_SERIALIZATION_NVP(p_fd_entries);
20037 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
20185 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
20208 #endif // SgAsmElfEHFrameEntryCI_OTHERS
20209 #ifdef DOCUMENTATION
20211 #endif // DOCUMENTATION
20218 DECLARE_LEAF_CLASS(AsmElfDynamicSection);
20219 IS_SERIALIZABLE(AsmElfDynamicSection);
20221 #ifdef DOCUMENTATION
20224 #endif // DOCUMENTATION
20226 #ifndef DOCUMENTATION
20227 AsmElfDynamicSection.setDataPrototype(
20228 "SgAsmElfDynamicEntryList*",
"entries",
"= createAndParent<SgAsmElfDynamicEntryList>(this)",
20229 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
20230 #endif // !DOCUMENTATION
20232 DECLARE_OTHERS(AsmElfDynamicSection);
20233 #if defined(SgAsmElfDynamicSection_OTHERS) || defined(DOCUMENTATION)
20236 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20238 friend class boost::serialization::access;
20241 void serialize(S &s,
const unsigned ) {
20244 s & BOOST_SERIALIZATION_NVP(p_entries);
20247 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
20271 virtual rose_addr_t
calculate_sizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
20277 virtual void unparse(std::ostream&)
const override;
20280 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
20297 #endif // SgAsmElfDynamicSection_OTHERS
20298 #ifdef DOCUMENTATION
20300 #endif // DOCUMENTATION
20307 #ifndef DOCUMENTATION
20308 AstNodeClass& AsmElfSection = nonTerminalConstructor(
20312 "AsmElfSectionTag",
20313 SubclassListBuilder()
20314 | AsmElfDynamicSection
20315 | AsmElfEHFrameSection
20316 | AsmElfNoteSection
20317 | AsmElfRelocSection
20318 | AsmElfStringSection
20319 | AsmElfSymbolSection
20320 | AsmElfSymverDefinedSection
20321 | AsmElfSymverNeededSection
20322 | AsmElfSymverSection
20324 assert(AsmElfSection.associatedGrammar !=
nullptr);
20325 AsmElfSection.setCppCondition(
"!defined(DOCUMENTATION)");
20326 AsmElfSection.isBoostSerializable(
true);
20327 AsmElfSection.setAutomaticGenerationOfConstructor(
false);
20328 AsmElfSection.setAutomaticGenerationOfDestructor(
false);
20329 #endif // !DOCUMENTATION
20331 #ifdef DOCUMENTATION
20334 #endif // DOCUMENTATION
20336 #ifndef DOCUMENTATION
20337 AsmElfSection.setDataPrototype(
20338 "SgAsmElfSection*",
"linked_section",
"= nullptr",
20339 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20340 #endif // !DOCUMENTATION
20342 #ifndef DOCUMENTATION
20343 AsmElfSection.setDataPrototype(
20344 "SgAsmElfSectionTableEntry*",
"section_entry",
"= nullptr",
20345 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
20346 #endif // !DOCUMENTATION
20348 #ifndef DOCUMENTATION
20349 AsmElfSection.setDataPrototype(
20350 "SgAsmElfSegmentTableEntry*",
"segment_entry",
"= nullptr",
20351 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
20352 #endif // !DOCUMENTATION
20354 DECLARE_OTHERS(AsmElfSection);
20355 #if defined(SgAsmElfSection_OTHERS) || defined(DOCUMENTATION)
20358 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20360 friend class boost::serialization::access;
20363 void serialize(S &s,
const unsigned ) {
20366 s & BOOST_SERIALIZATION_NVP(p_linked_section);
20367 s & BOOST_SERIALIZATION_NVP(p_section_entry);
20368 s & BOOST_SERIALIZATION_NVP(p_segment_entry);
20371 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
20437 rose_addr_t
calculate_sizes(
size_t r32size,
size_t r64size,
const std::vector<size_t> &optsizes,
20438 size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
20440 virtual void finish_parsing() {}
20458 virtual rose_addr_t
calculate_sizes(
size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
20464 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
20489 #endif // SgAsmElfSection_OTHERS
20490 #ifdef DOCUMENTATION
20492 #endif // DOCUMENTATION
20499 DECLARE_LEAF_CLASS(AsmElfDynamicEntryList);
20500 IS_SERIALIZABLE(AsmElfDynamicEntryList);
20502 #ifdef DOCUMENTATION
20508 #endif // DOCUMENTATION
20510 #ifndef DOCUMENTATION
20511 AsmElfDynamicEntryList.setDataPrototype(
20512 "SgAsmElfDynamicEntryPtrList",
"entries",
"",
20513 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20514 #endif // !DOCUMENTATION
20516 DECLARE_OTHERS(AsmElfDynamicEntryList);
20517 #if defined(SgAsmElfDynamicEntryList_OTHERS) || defined(DOCUMENTATION)
20520 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20522 friend class boost::serialization::access;
20525 void serialize(S &s,
const unsigned ) {
20528 s & BOOST_SERIALIZATION_NVP(p_entries);
20531 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
20537 SgAsmElfDynamicEntryPtrList
const&
get_entries()
const;
20539 void set_entries(SgAsmElfDynamicEntryPtrList
const&);
20558 #endif // SgAsmElfDynamicEntryList_OTHERS
20559 #ifdef DOCUMENTATION
20561 #endif // DOCUMENTATION
20568 DECLARE_LEAF_CLASS(AsmElfDynamicEntry);
20569 IS_SERIALIZABLE(AsmElfDynamicEntry);
20571 DECLARE_HEADERS(AsmElfDynamicEntry);
20572 #if defined(SgAsmElfDynamicEntry_HEADERS) || defined(DOCUMENTATION)
20573 #include <Rose/BinaryAnalysis/ByteOrder.h>
20574 #endif // SgAsmElfDynamicEntry_HEADERS
20576 #ifdef DOCUMENTATION
20579 #endif // DOCUMENTATION
20581 #ifndef DOCUMENTATION
20582 AsmElfDynamicEntry.setDataPrototype(
20583 "SgAsmElfDynamicEntry::EntryType",
"d_tag",
"= SgAsmElfDynamicEntry::DT_NULL",
20584 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20585 #endif // !DOCUMENTATION
20587 #ifndef DOCUMENTATION
20588 AsmElfDynamicEntry.setDataPrototype(
20589 "rose_rva_t",
"d_val",
"",
20590 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20591 #endif // !DOCUMENTATION
20593 #ifndef DOCUMENTATION
20594 AsmElfDynamicEntry.setDataPrototype(
20595 "SgAsmGenericString*",
"name",
"= nullptr",
20596 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
20597 #endif // !DOCUMENTATION
20599 #ifndef DOCUMENTATION
20600 AsmElfDynamicEntry.setDataPrototype(
20601 "SgUnsignedCharList",
"extra",
"",
20602 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20603 #endif // !DOCUMENTATION
20605 DECLARE_OTHERS(AsmElfDynamicEntry);
20606 #if defined(SgAsmElfDynamicEntry_OTHERS) || defined(DOCUMENTATION)
20609 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20611 friend class boost::serialization::access;
20614 void serialize(S &s,
const unsigned ) {
20617 s & BOOST_SERIALIZATION_NVP(p_d_tag);
20618 s & BOOST_SERIALIZATION_NVP(p_d_val);
20619 s & BOOST_SERIALIZATION_NVP(p_name);
20620 s & BOOST_SERIALIZATION_NVP(p_extra);
20623 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
20654 DT_INIT_ARRAY = 25,
20655 DT_FINI_ARRAY = 26,
20656 DT_INIT_ARRAYSZ = 27,
20657 DT_FINI_ARRAYSZ = 28,
20660 DT_PREINIT_ARRAY = 32,
20661 DT_PREINIT_ARRAYSZ = 33,
20664 DT_GNU_PRELINKED =0x6ffffdf5,
20665 DT_GNU_CONFLICTSZ=0x6ffffdf6,
20666 DT_GNU_LIBLISTSZ=0x6ffffdf7,
20667 DT_CHECKSUM = 0x6ffffdf8,
20668 DT_PLTPADSZ = 0x6ffffdf9,
20669 DT_MOVEENT = 0x6ffffdfa,
20670 DT_MOVESZ = 0x6ffffdfb,
20671 DT_FEATURE_1= 0x6ffffdfc,
20672 DT_POSFLAG_1= 0x6ffffdfd,
20673 DT_SYMINSZ = 0x6ffffdfe,
20674 DT_SYMINENT = 0x6ffffdff,
20676 DT_GNU_HASH = 0x6ffffef5,
20677 DT_TLSDESC_PLT=0x6ffffef6,
20678 DT_TLSDESC_GOT=0x6ffffef7,
20679 DT_GNU_CONFLICT=0x6ffffef8,
20680 DT_GNU_LIBLIST=0x6ffffef9,
20681 DT_CONFIG = 0x6ffffefa,
20682 DT_DEPAUDIT = 0x6ffffefb,
20683 DT_AUDIT = 0x6ffffefc,
20684 DT_PLTPAD = 0x6ffffefd,
20685 DT_MOVETAB = 0x6ffffefe,
20686 DT_SYMINFO = 0x6ffffeff,
20688 DT_VERSYM = 0x6ffffff0,
20689 DT_RELACOUNT= 0x6ffffff9,
20690 DT_RELCOUNT = 0x6ffffffa,
20691 DT_FLAGS_1 = 0x6ffffffb,
20692 DT_VERDEF = 0x6ffffffc,
20693 DT_VERDEFNUM= 0x6ffffffd,
20694 DT_VERNEED = 0x6ffffffe,
20695 DT_VERNEEDNUM=0x6fffffff,
20697 DT_AUXILIARY= 0x7ffffffd,
20698 DT_FILTER = 0x7fffffff
20710 #if !defined(SWIG) && !defined(_MSC_VER)
20711 __attribute__((packed))
20719 #if !defined(SWIG) && !defined(_MSC_VER)
20720 __attribute__((packed))
20737 SgAsmElfDynamicEntry::EntryType
const&
get_d_tag()
const;
20738 void set_d_tag(SgAsmElfDynamicEntry::EntryType
const&);
20763 SgUnsignedCharList
const&
get_extra()
const;
20765 void set_extra(SgUnsignedCharList
const&);
20789 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
20792 static std::string
to_string(SgAsmElfDynamicEntry::EntryType);
20809 #endif // SgAsmElfDynamicEntry_OTHERS
20810 #ifdef DOCUMENTATION
20812 #endif // DOCUMENTATION
20819 DECLARE_LEAF_CLASS(AsmDwarfWithStmt);
20820 IS_SERIALIZABLE(AsmDwarfWithStmt);
20822 #ifdef DOCUMENTATION
20824 #endif // DOCUMENTATION
20826 DECLARE_OTHERS(AsmDwarfWithStmt);
20827 #if defined(SgAsmDwarfWithStmt_OTHERS) || defined(DOCUMENTATION)
20830 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20832 friend class boost::serialization::access;
20835 void serialize(S &s,
const unsigned ) {
20840 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
20853 uint64_t
const& offset,
20854 uint64_t
const& overall_offset);
20864 #endif // SgAsmDwarfWithStmt_OTHERS
20865 #ifdef DOCUMENTATION
20867 #endif // DOCUMENTATION
20874 DECLARE_LEAF_CLASS(AsmDwarfVariantPart);
20875 IS_SERIALIZABLE(AsmDwarfVariantPart);
20877 #ifdef DOCUMENTATION
20879 #endif // DOCUMENTATION
20881 DECLARE_OTHERS(AsmDwarfVariantPart);
20882 #if defined(SgAsmDwarfVariantPart_OTHERS) || defined(DOCUMENTATION)
20885 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20887 friend class boost::serialization::access;
20890 void serialize(S &s,
const unsigned ) {
20895 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
20908 uint64_t
const& offset,
20909 uint64_t
const& overall_offset);
20919 #endif // SgAsmDwarfVariantPart_OTHERS
20920 #ifdef DOCUMENTATION
20922 #endif // DOCUMENTATION
20929 DECLARE_LEAF_CLASS(AsmDwarfVariant);
20930 IS_SERIALIZABLE(AsmDwarfVariant);
20932 #ifdef DOCUMENTATION
20934 #endif // DOCUMENTATION
20936 DECLARE_OTHERS(AsmDwarfVariant);
20937 #if defined(SgAsmDwarfVariant_OTHERS) || defined(DOCUMENTATION)
20940 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20942 friend class boost::serialization::access;
20945 void serialize(S &s,
const unsigned ) {
20950 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
20963 uint64_t
const& offset,
20964 uint64_t
const& overall_offset);
20974 #endif // SgAsmDwarfVariant_OTHERS
20975 #ifdef DOCUMENTATION
20977 #endif // DOCUMENTATION
20984 DECLARE_LEAF_CLASS(AsmDwarfVariable);
20985 IS_SERIALIZABLE(AsmDwarfVariable);
20987 #ifdef DOCUMENTATION
20989 #endif // DOCUMENTATION
20991 DECLARE_OTHERS(AsmDwarfVariable);
20992 #if defined(SgAsmDwarfVariable_OTHERS) || defined(DOCUMENTATION)
20995 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20997 friend class boost::serialization::access;
21000 void serialize(S &s,
const unsigned ) {
21005 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21018 uint64_t
const& offset,
21019 uint64_t
const& overall_offset);
21029 #endif // SgAsmDwarfVariable_OTHERS
21030 #ifdef DOCUMENTATION
21032 #endif // DOCUMENTATION
21039 DECLARE_LEAF_CLASS(AsmDwarfUpcStrictType);
21040 IS_SERIALIZABLE(AsmDwarfUpcStrictType);
21042 #ifdef DOCUMENTATION
21044 #endif // DOCUMENTATION
21046 DECLARE_OTHERS(AsmDwarfUpcStrictType);
21047 #if defined(SgAsmDwarfUpcStrictType_OTHERS) || defined(DOCUMENTATION)
21050 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21052 friend class boost::serialization::access;
21055 void serialize(S &s,
const unsigned ) {
21060 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21073 uint64_t
const& offset,
21074 uint64_t
const& overall_offset);
21084 #endif // SgAsmDwarfUpcStrictType_OTHERS
21085 #ifdef DOCUMENTATION
21087 #endif // DOCUMENTATION
21094 DECLARE_LEAF_CLASS(AsmDwarfUpcSharedType);
21095 IS_SERIALIZABLE(AsmDwarfUpcSharedType);
21097 #ifdef DOCUMENTATION
21099 #endif // DOCUMENTATION
21101 DECLARE_OTHERS(AsmDwarfUpcSharedType);
21102 #if defined(SgAsmDwarfUpcSharedType_OTHERS) || defined(DOCUMENTATION)
21105 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21107 friend class boost::serialization::access;
21110 void serialize(S &s,
const unsigned ) {
21115 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21128 uint64_t
const& offset,
21129 uint64_t
const& overall_offset);
21139 #endif // SgAsmDwarfUpcSharedType_OTHERS
21140 #ifdef DOCUMENTATION
21142 #endif // DOCUMENTATION
21149 DECLARE_LEAF_CLASS(AsmDwarfUpcRelaxedType);
21150 IS_SERIALIZABLE(AsmDwarfUpcRelaxedType);
21152 #ifdef DOCUMENTATION
21154 #endif // DOCUMENTATION
21156 DECLARE_OTHERS(AsmDwarfUpcRelaxedType);
21157 #if defined(SgAsmDwarfUpcRelaxedType_OTHERS) || defined(DOCUMENTATION)
21160 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21162 friend class boost::serialization::access;
21165 void serialize(S &s,
const unsigned ) {
21170 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21183 uint64_t
const& offset,
21184 uint64_t
const& overall_offset);
21194 #endif // SgAsmDwarfUpcRelaxedType_OTHERS
21195 #ifdef DOCUMENTATION
21197 #endif // DOCUMENTATION
21204 DECLARE_LEAF_CLASS(AsmDwarfUnspecifiedType);
21205 IS_SERIALIZABLE(AsmDwarfUnspecifiedType);
21207 #ifdef DOCUMENTATION
21209 #endif // DOCUMENTATION
21211 DECLARE_OTHERS(AsmDwarfUnspecifiedType);
21212 #if defined(SgAsmDwarfUnspecifiedType_OTHERS) || defined(DOCUMENTATION)
21215 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21217 friend class boost::serialization::access;
21220 void serialize(S &s,
const unsigned ) {
21225 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21238 uint64_t
const& offset,
21239 uint64_t
const& overall_offset);
21249 #endif // SgAsmDwarfUnspecifiedType_OTHERS
21250 #ifdef DOCUMENTATION
21252 #endif // DOCUMENTATION
21259 DECLARE_LEAF_CLASS(AsmDwarfUnspecifiedParameters);
21260 IS_SERIALIZABLE(AsmDwarfUnspecifiedParameters);
21262 #ifdef DOCUMENTATION
21264 #endif // DOCUMENTATION
21266 DECLARE_OTHERS(AsmDwarfUnspecifiedParameters);
21267 #if defined(SgAsmDwarfUnspecifiedParameters_OTHERS) || defined(DOCUMENTATION)
21270 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21272 friend class boost::serialization::access;
21275 void serialize(S &s,
const unsigned ) {
21280 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21293 uint64_t
const& offset,
21294 uint64_t
const& overall_offset);
21304 #endif // SgAsmDwarfUnspecifiedParameters_OTHERS
21305 #ifdef DOCUMENTATION
21307 #endif // DOCUMENTATION
21314 DECLARE_LEAF_CLASS(AsmDwarfUnknownConstruct);
21315 IS_SERIALIZABLE(AsmDwarfUnknownConstruct);
21317 #ifdef DOCUMENTATION
21319 #endif // DOCUMENTATION
21321 DECLARE_OTHERS(AsmDwarfUnknownConstruct);
21322 #if defined(SgAsmDwarfUnknownConstruct_OTHERS) || defined(DOCUMENTATION)
21325 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21327 friend class boost::serialization::access;
21330 void serialize(S &s,
const unsigned ) {
21335 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21348 uint64_t
const& offset,
21349 uint64_t
const& overall_offset);
21359 #endif // SgAsmDwarfUnknownConstruct_OTHERS
21360 #ifdef DOCUMENTATION
21362 #endif // DOCUMENTATION
21369 DECLARE_LEAF_CLASS(AsmDwarfUnionType);
21370 IS_SERIALIZABLE(AsmDwarfUnionType);
21372 #ifdef DOCUMENTATION
21374 #endif // DOCUMENTATION
21376 #ifndef DOCUMENTATION
21377 AsmDwarfUnionType.setDataPrototype(
21378 "SgAsmDwarfConstructList*",
"body",
"= NULL",
21379 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21380 #endif // !DOCUMENTATION
21382 DECLARE_OTHERS(AsmDwarfUnionType);
21383 #if defined(SgAsmDwarfUnionType_OTHERS) || defined(DOCUMENTATION)
21386 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21388 friend class boost::serialization::access;
21391 void serialize(S &s,
const unsigned ) {
21394 s & BOOST_SERIALIZATION_NVP(p_body);
21397 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21415 uint64_t
const& offset,
21416 uint64_t
const& overall_offset);
21426 #endif // SgAsmDwarfUnionType_OTHERS
21427 #ifdef DOCUMENTATION
21429 #endif // DOCUMENTATION
21436 DECLARE_LEAF_CLASS(AsmDwarfTypedef);
21437 IS_SERIALIZABLE(AsmDwarfTypedef);
21439 #ifdef DOCUMENTATION
21441 #endif // DOCUMENTATION
21443 DECLARE_OTHERS(AsmDwarfTypedef);
21444 #if defined(SgAsmDwarfTypedef_OTHERS) || defined(DOCUMENTATION)
21447 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21449 friend class boost::serialization::access;
21452 void serialize(S &s,
const unsigned ) {
21457 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21470 uint64_t
const& offset,
21471 uint64_t
const& overall_offset);
21481 #endif // SgAsmDwarfTypedef_OTHERS
21482 #ifdef DOCUMENTATION
21484 #endif // DOCUMENTATION
21491 DECLARE_LEAF_CLASS(AsmDwarfTryBlock);
21492 IS_SERIALIZABLE(AsmDwarfTryBlock);
21494 #ifdef DOCUMENTATION
21496 #endif // DOCUMENTATION
21498 DECLARE_OTHERS(AsmDwarfTryBlock);
21499 #if defined(SgAsmDwarfTryBlock_OTHERS) || defined(DOCUMENTATION)
21502 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21504 friend class boost::serialization::access;
21507 void serialize(S &s,
const unsigned ) {
21512 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21525 uint64_t
const& offset,
21526 uint64_t
const& overall_offset);
21536 #endif // SgAsmDwarfTryBlock_OTHERS
21537 #ifdef DOCUMENTATION
21539 #endif // DOCUMENTATION
21546 DECLARE_LEAF_CLASS(AsmDwarfThrownType);
21547 IS_SERIALIZABLE(AsmDwarfThrownType);
21549 #ifdef DOCUMENTATION
21551 #endif // DOCUMENTATION
21553 DECLARE_OTHERS(AsmDwarfThrownType);
21554 #if defined(SgAsmDwarfThrownType_OTHERS) || defined(DOCUMENTATION)
21557 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21559 friend class boost::serialization::access;
21562 void serialize(S &s,
const unsigned ) {
21567 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21580 uint64_t
const& offset,
21581 uint64_t
const& overall_offset);
21591 #endif // SgAsmDwarfThrownType_OTHERS
21592 #ifdef DOCUMENTATION
21594 #endif // DOCUMENTATION
21601 DECLARE_LEAF_CLASS(AsmDwarfTemplateValueParameter);
21602 IS_SERIALIZABLE(AsmDwarfTemplateValueParameter);
21604 #ifdef DOCUMENTATION
21606 #endif // DOCUMENTATION
21608 DECLARE_OTHERS(AsmDwarfTemplateValueParameter);
21609 #if defined(SgAsmDwarfTemplateValueParameter_OTHERS) || defined(DOCUMENTATION)
21612 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21614 friend class boost::serialization::access;
21617 void serialize(S &s,
const unsigned ) {
21622 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21635 uint64_t
const& offset,
21636 uint64_t
const& overall_offset);
21646 #endif // SgAsmDwarfTemplateValueParameter_OTHERS
21647 #ifdef DOCUMENTATION
21649 #endif // DOCUMENTATION
21656 DECLARE_LEAF_CLASS(AsmDwarfTemplateTypeParameter);
21657 IS_SERIALIZABLE(AsmDwarfTemplateTypeParameter);
21659 #ifdef DOCUMENTATION
21661 #endif // DOCUMENTATION
21663 DECLARE_OTHERS(AsmDwarfTemplateTypeParameter);
21664 #if defined(SgAsmDwarfTemplateTypeParameter_OTHERS) || defined(DOCUMENTATION)
21667 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21669 friend class boost::serialization::access;
21672 void serialize(S &s,
const unsigned ) {
21677 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21690 uint64_t
const& offset,
21691 uint64_t
const& overall_offset);
21701 #endif // SgAsmDwarfTemplateTypeParameter_OTHERS
21702 #ifdef DOCUMENTATION
21704 #endif // DOCUMENTATION
21711 DECLARE_LEAF_CLASS(AsmDwarfSubroutineType);
21712 IS_SERIALIZABLE(AsmDwarfSubroutineType);
21714 #ifdef DOCUMENTATION
21716 #endif // DOCUMENTATION
21718 #ifndef DOCUMENTATION
21719 AsmDwarfSubroutineType.setDataPrototype(
21720 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
21721 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21722 #endif // !DOCUMENTATION
21724 DECLARE_OTHERS(AsmDwarfSubroutineType);
21725 #if defined(SgAsmDwarfSubroutineType_OTHERS) || defined(DOCUMENTATION)
21728 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21730 friend class boost::serialization::access;
21733 void serialize(S &s,
const unsigned ) {
21736 s & BOOST_SERIALIZATION_NVP(p_body);
21739 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21757 uint64_t
const& offset,
21758 uint64_t
const& overall_offset);
21768 #endif // SgAsmDwarfSubroutineType_OTHERS
21769 #ifdef DOCUMENTATION
21771 #endif // DOCUMENTATION
21778 DECLARE_LEAF_CLASS(AsmDwarfSubrangeType);
21779 IS_SERIALIZABLE(AsmDwarfSubrangeType);
21781 #ifdef DOCUMENTATION
21783 #endif // DOCUMENTATION
21785 DECLARE_OTHERS(AsmDwarfSubrangeType);
21786 #if defined(SgAsmDwarfSubrangeType_OTHERS) || defined(DOCUMENTATION)
21789 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21791 friend class boost::serialization::access;
21794 void serialize(S &s,
const unsigned ) {
21799 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21812 uint64_t
const& offset,
21813 uint64_t
const& overall_offset);
21823 #endif // SgAsmDwarfSubrangeType_OTHERS
21824 #ifdef DOCUMENTATION
21826 #endif // DOCUMENTATION
21833 DECLARE_LEAF_CLASS(AsmDwarfSubprogram);
21834 IS_SERIALIZABLE(AsmDwarfSubprogram);
21836 #ifdef DOCUMENTATION
21838 #endif // DOCUMENTATION
21840 #ifndef DOCUMENTATION
21841 AsmDwarfSubprogram.setDataPrototype(
21842 "SgAsmDwarfConstructList*",
"body",
"= NULL",
21843 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21844 #endif // !DOCUMENTATION
21846 DECLARE_OTHERS(AsmDwarfSubprogram);
21847 #if defined(SgAsmDwarfSubprogram_OTHERS) || defined(DOCUMENTATION)
21850 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21852 friend class boost::serialization::access;
21855 void serialize(S &s,
const unsigned ) {
21858 s & BOOST_SERIALIZATION_NVP(p_body);
21861 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21879 uint64_t
const& offset,
21880 uint64_t
const& overall_offset);
21890 #endif // SgAsmDwarfSubprogram_OTHERS
21891 #ifdef DOCUMENTATION
21893 #endif // DOCUMENTATION
21900 DECLARE_LEAF_CLASS(AsmDwarfStructureType);
21901 IS_SERIALIZABLE(AsmDwarfStructureType);
21903 #ifdef DOCUMENTATION
21905 #endif // DOCUMENTATION
21907 #ifndef DOCUMENTATION
21908 AsmDwarfStructureType.setDataPrototype(
21909 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
21910 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21911 #endif // !DOCUMENTATION
21913 DECLARE_OTHERS(AsmDwarfStructureType);
21914 #if defined(SgAsmDwarfStructureType_OTHERS) || defined(DOCUMENTATION)
21917 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21919 friend class boost::serialization::access;
21922 void serialize(S &s,
const unsigned ) {
21925 s & BOOST_SERIALIZATION_NVP(p_body);
21928 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
21946 uint64_t
const& offset,
21947 uint64_t
const& overall_offset);
21957 #endif // SgAsmDwarfStructureType_OTHERS
21958 #ifdef DOCUMENTATION
21960 #endif // DOCUMENTATION
21967 DECLARE_LEAF_CLASS(AsmDwarfStringType);
21968 IS_SERIALIZABLE(AsmDwarfStringType);
21970 #ifdef DOCUMENTATION
21972 #endif // DOCUMENTATION
21974 DECLARE_OTHERS(AsmDwarfStringType);
21975 #if defined(SgAsmDwarfStringType_OTHERS) || defined(DOCUMENTATION)
21978 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21980 friend class boost::serialization::access;
21983 void serialize(S &s,
const unsigned ) {
21988 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22001 uint64_t
const& offset,
22002 uint64_t
const& overall_offset);
22012 #endif // SgAsmDwarfStringType_OTHERS
22013 #ifdef DOCUMENTATION
22015 #endif // DOCUMENTATION
22022 DECLARE_LEAF_CLASS(AsmDwarfSharedType);
22023 IS_SERIALIZABLE(AsmDwarfSharedType);
22025 #ifdef DOCUMENTATION
22027 #endif // DOCUMENTATION
22029 DECLARE_OTHERS(AsmDwarfSharedType);
22030 #if defined(SgAsmDwarfSharedType_OTHERS) || defined(DOCUMENTATION)
22033 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22035 friend class boost::serialization::access;
22038 void serialize(S &s,
const unsigned ) {
22043 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22056 uint64_t
const& offset,
22057 uint64_t
const& overall_offset);
22067 #endif // SgAsmDwarfSharedType_OTHERS
22068 #ifdef DOCUMENTATION
22070 #endif // DOCUMENTATION
22077 DECLARE_LEAF_CLASS(AsmDwarfSetType);
22078 IS_SERIALIZABLE(AsmDwarfSetType);
22080 #ifdef DOCUMENTATION
22082 #endif // DOCUMENTATION
22084 DECLARE_OTHERS(AsmDwarfSetType);
22085 #if defined(SgAsmDwarfSetType_OTHERS) || defined(DOCUMENTATION)
22088 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22090 friend class boost::serialization::access;
22093 void serialize(S &s,
const unsigned ) {
22098 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22111 uint64_t
const& offset,
22112 uint64_t
const& overall_offset);
22122 #endif // SgAsmDwarfSetType_OTHERS
22123 #ifdef DOCUMENTATION
22125 #endif // DOCUMENTATION
22132 DECLARE_LEAF_CLASS(AsmDwarfRestrictType);
22133 IS_SERIALIZABLE(AsmDwarfRestrictType);
22135 #ifdef DOCUMENTATION
22137 #endif // DOCUMENTATION
22139 DECLARE_OTHERS(AsmDwarfRestrictType);
22140 #if defined(SgAsmDwarfRestrictType_OTHERS) || defined(DOCUMENTATION)
22143 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22145 friend class boost::serialization::access;
22148 void serialize(S &s,
const unsigned ) {
22153 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22166 uint64_t
const& offset,
22167 uint64_t
const& overall_offset);
22177 #endif // SgAsmDwarfRestrictType_OTHERS
22178 #ifdef DOCUMENTATION
22180 #endif // DOCUMENTATION
22187 DECLARE_LEAF_CLASS(AsmDwarfReferenceType);
22188 IS_SERIALIZABLE(AsmDwarfReferenceType);
22190 #ifdef DOCUMENTATION
22192 #endif // DOCUMENTATION
22194 DECLARE_OTHERS(AsmDwarfReferenceType);
22195 #if defined(SgAsmDwarfReferenceType_OTHERS) || defined(DOCUMENTATION)
22198 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22200 friend class boost::serialization::access;
22203 void serialize(S &s,
const unsigned ) {
22208 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22221 uint64_t
const& offset,
22222 uint64_t
const& overall_offset);
22232 #endif // SgAsmDwarfReferenceType_OTHERS
22233 #ifdef DOCUMENTATION
22235 #endif // DOCUMENTATION
22242 DECLARE_LEAF_CLASS(AsmDwarfPtrToMemberType);
22243 IS_SERIALIZABLE(AsmDwarfPtrToMemberType);
22245 #ifdef DOCUMENTATION
22247 #endif // DOCUMENTATION
22249 DECLARE_OTHERS(AsmDwarfPtrToMemberType);
22250 #if defined(SgAsmDwarfPtrToMemberType_OTHERS) || defined(DOCUMENTATION)
22253 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22255 friend class boost::serialization::access;
22258 void serialize(S &s,
const unsigned ) {
22263 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22276 uint64_t
const& offset,
22277 uint64_t
const& overall_offset);
22287 #endif // SgAsmDwarfPtrToMemberType_OTHERS
22288 #ifdef DOCUMENTATION
22290 #endif // DOCUMENTATION
22297 DECLARE_LEAF_CLASS(AsmDwarfPointerType);
22298 IS_SERIALIZABLE(AsmDwarfPointerType);
22300 #ifdef DOCUMENTATION
22302 #endif // DOCUMENTATION
22304 DECLARE_OTHERS(AsmDwarfPointerType);
22305 #if defined(SgAsmDwarfPointerType_OTHERS) || defined(DOCUMENTATION)
22308 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22310 friend class boost::serialization::access;
22313 void serialize(S &s,
const unsigned ) {
22318 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22331 uint64_t
const& offset,
22332 uint64_t
const& overall_offset);
22342 #endif // SgAsmDwarfPointerType_OTHERS
22343 #ifdef DOCUMENTATION
22345 #endif // DOCUMENTATION
22352 DECLARE_LEAF_CLASS(AsmDwarfPartialUnit);
22353 IS_SERIALIZABLE(AsmDwarfPartialUnit);
22355 #ifdef DOCUMENTATION
22357 #endif // DOCUMENTATION
22359 DECLARE_OTHERS(AsmDwarfPartialUnit);
22360 #if defined(SgAsmDwarfPartialUnit_OTHERS) || defined(DOCUMENTATION)
22363 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22365 friend class boost::serialization::access;
22368 void serialize(S &s,
const unsigned ) {
22373 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22386 uint64_t
const& offset,
22387 uint64_t
const& overall_offset);
22397 #endif // SgAsmDwarfPartialUnit_OTHERS
22398 #ifdef DOCUMENTATION
22400 #endif // DOCUMENTATION
22407 DECLARE_LEAF_CLASS(AsmDwarfPackedType);
22408 IS_SERIALIZABLE(AsmDwarfPackedType);
22410 #ifdef DOCUMENTATION
22412 #endif // DOCUMENTATION
22414 DECLARE_OTHERS(AsmDwarfPackedType);
22415 #if defined(SgAsmDwarfPackedType_OTHERS) || defined(DOCUMENTATION)
22418 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22420 friend class boost::serialization::access;
22423 void serialize(S &s,
const unsigned ) {
22428 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22441 uint64_t
const& offset,
22442 uint64_t
const& overall_offset);
22452 #endif // SgAsmDwarfPackedType_OTHERS
22453 #ifdef DOCUMENTATION
22455 #endif // DOCUMENTATION
22462 DECLARE_LEAF_CLASS(AsmDwarfNamespace);
22463 IS_SERIALIZABLE(AsmDwarfNamespace);
22465 #ifdef DOCUMENTATION
22467 #endif // DOCUMENTATION
22469 #ifndef DOCUMENTATION
22470 AsmDwarfNamespace.setDataPrototype(
22471 "SgAsmDwarfConstructList*",
"body",
"= NULL",
22472 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22473 #endif // !DOCUMENTATION
22475 DECLARE_OTHERS(AsmDwarfNamespace);
22476 #if defined(SgAsmDwarfNamespace_OTHERS) || defined(DOCUMENTATION)
22479 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22481 friend class boost::serialization::access;
22484 void serialize(S &s,
const unsigned ) {
22487 s & BOOST_SERIALIZATION_NVP(p_body);
22490 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22508 uint64_t
const& offset,
22509 uint64_t
const& overall_offset);
22519 #endif // SgAsmDwarfNamespace_OTHERS
22520 #ifdef DOCUMENTATION
22522 #endif // DOCUMENTATION
22529 DECLARE_LEAF_CLASS(AsmDwarfNamelistItem);
22530 IS_SERIALIZABLE(AsmDwarfNamelistItem);
22532 #ifdef DOCUMENTATION
22534 #endif // DOCUMENTATION
22536 DECLARE_OTHERS(AsmDwarfNamelistItem);
22537 #if defined(SgAsmDwarfNamelistItem_OTHERS) || defined(DOCUMENTATION)
22540 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22542 friend class boost::serialization::access;
22545 void serialize(S &s,
const unsigned ) {
22550 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22563 uint64_t
const& offset,
22564 uint64_t
const& overall_offset);
22574 #endif // SgAsmDwarfNamelistItem_OTHERS
22575 #ifdef DOCUMENTATION
22577 #endif // DOCUMENTATION
22584 DECLARE_LEAF_CLASS(AsmDwarfNamelist);
22585 IS_SERIALIZABLE(AsmDwarfNamelist);
22587 #ifdef DOCUMENTATION
22589 #endif // DOCUMENTATION
22591 DECLARE_OTHERS(AsmDwarfNamelist);
22592 #if defined(SgAsmDwarfNamelist_OTHERS) || defined(DOCUMENTATION)
22595 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22597 friend class boost::serialization::access;
22600 void serialize(S &s,
const unsigned ) {
22605 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22618 uint64_t
const& offset,
22619 uint64_t
const& overall_offset);
22629 #endif // SgAsmDwarfNamelist_OTHERS
22630 #ifdef DOCUMENTATION
22632 #endif // DOCUMENTATION
22639 DECLARE_LEAF_CLASS(AsmDwarfMutableType);
22640 IS_SERIALIZABLE(AsmDwarfMutableType);
22642 #ifdef DOCUMENTATION
22644 #endif // DOCUMENTATION
22646 DECLARE_OTHERS(AsmDwarfMutableType);
22647 #if defined(SgAsmDwarfMutableType_OTHERS) || defined(DOCUMENTATION)
22650 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22652 friend class boost::serialization::access;
22655 void serialize(S &s,
const unsigned ) {
22660 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22673 uint64_t
const& offset,
22674 uint64_t
const& overall_offset);
22684 #endif // SgAsmDwarfMutableType_OTHERS
22685 #ifdef DOCUMENTATION
22687 #endif // DOCUMENTATION
22694 DECLARE_LEAF_CLASS(AsmDwarfModule);
22695 IS_SERIALIZABLE(AsmDwarfModule);
22697 #ifdef DOCUMENTATION
22699 #endif // DOCUMENTATION
22701 DECLARE_OTHERS(AsmDwarfModule);
22702 #if defined(SgAsmDwarfModule_OTHERS) || defined(DOCUMENTATION)
22705 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22707 friend class boost::serialization::access;
22710 void serialize(S &s,
const unsigned ) {
22715 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22728 uint64_t
const& offset,
22729 uint64_t
const& overall_offset);
22739 #endif // SgAsmDwarfModule_OTHERS
22740 #ifdef DOCUMENTATION
22742 #endif // DOCUMENTATION
22749 DECLARE_LEAF_CLASS(AsmDwarfMember);
22750 IS_SERIALIZABLE(AsmDwarfMember);
22752 #ifdef DOCUMENTATION
22754 #endif // DOCUMENTATION
22756 DECLARE_OTHERS(AsmDwarfMember);
22757 #if defined(SgAsmDwarfMember_OTHERS) || defined(DOCUMENTATION)
22760 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22762 friend class boost::serialization::access;
22765 void serialize(S &s,
const unsigned ) {
22770 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22783 uint64_t
const& offset,
22784 uint64_t
const& overall_offset);
22794 #endif // SgAsmDwarfMember_OTHERS
22795 #ifdef DOCUMENTATION
22797 #endif // DOCUMENTATION
22804 DECLARE_LEAF_CLASS(AsmDwarfMacroList);
22805 IS_SERIALIZABLE(AsmDwarfMacroList);
22807 #ifdef DOCUMENTATION
22809 #endif // DOCUMENTATION
22811 #ifndef DOCUMENTATION
22812 AsmDwarfMacroList.setDataPrototype(
22813 "SgAsmDwarfMacroPtrList",
"macro_list",
"",
22814 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22815 #endif // !DOCUMENTATION
22817 DECLARE_OTHERS(AsmDwarfMacroList);
22818 #if defined(SgAsmDwarfMacroList_OTHERS) || defined(DOCUMENTATION)
22821 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22823 friend class boost::serialization::access;
22826 void serialize(S &s,
const unsigned ) {
22829 s & BOOST_SERIALIZATION_NVP(p_macro_list);
22832 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22835 SgAsmDwarfMacroPtrList
const& get_macro_list()
const;
22836 void set_macro_list(SgAsmDwarfMacroPtrList
const&);
22854 #endif // SgAsmDwarfMacroList_OTHERS
22855 #ifdef DOCUMENTATION
22857 #endif // DOCUMENTATION
22864 DECLARE_LEAF_CLASS(AsmDwarfMacro);
22865 IS_SERIALIZABLE(AsmDwarfMacro);
22867 #ifdef DOCUMENTATION
22869 #endif // DOCUMENTATION
22871 #ifndef DOCUMENTATION
22872 AsmDwarfMacro.setDataPrototype(
22873 "std::string",
"macro_string",
"",
22874 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22875 #endif // !DOCUMENTATION
22877 DECLARE_OTHERS(AsmDwarfMacro);
22878 #if defined(SgAsmDwarfMacro_OTHERS) || defined(DOCUMENTATION)
22881 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22883 friend class boost::serialization::access;
22886 void serialize(S &s,
const unsigned ) {
22889 s & BOOST_SERIALIZATION_NVP(p_macro_string);
22892 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22895 std::string
const& get_macro_string()
const;
22896 void set_macro_string(std::string
const&);
22914 #endif // SgAsmDwarfMacro_OTHERS
22915 #ifdef DOCUMENTATION
22917 #endif // DOCUMENTATION
22924 DECLARE_LEAF_CLASS(AsmDwarfLineList);
22925 IS_SERIALIZABLE(AsmDwarfLineList);
22927 #ifdef DOCUMENTATION
22929 #endif // DOCUMENTATION
22931 #ifndef DOCUMENTATION
22932 AsmDwarfLineList.setDataPrototype(
22933 "SgAsmDwarfLinePtrList",
"line_list",
"",
22934 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22935 #endif // !DOCUMENTATION
22937 DECLARE_OTHERS(AsmDwarfLineList);
22938 #if defined(SgAsmDwarfLineList_OTHERS) || defined(DOCUMENTATION)
22941 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22943 friend class boost::serialization::access;
22946 void serialize(S &s,
const unsigned ) {
22949 s & BOOST_SERIALIZATION_NVP(p_line_list);
22952 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
22955 SgAsmDwarfLinePtrList
const& get_line_list()
const;
22956 SgAsmDwarfLinePtrList& get_line_list();
22957 void set_line_list(SgAsmDwarfLinePtrList
const&);
22961 AsmDwarfLineList.setDataPrototype(
"SgInstructionAddressSourcePositionMapPtrList",
"instructionToSourceMap",
"",
22962 NO_CONSTRUCTOR_PARAMETER, BUILD_LIST_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE);
22963 AsmDwarfLineList.setDataPrototype(
"SgSourcePositionInstructionAddressMapPtrList",
"sourceToInstructionMap",
"",
22964 NO_CONSTRUCTOR_PARAMETER, BUILD_LIST_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE);
22973 void display(
const std::string & label );
22975 static std::pair<uint64_t,uint64_t> instructionRange();
22976 static std::pair<LineColumnFilePosition,LineColumnFilePosition> sourceCodeRange(
int file_id );
22978 static uint64_t sourceCodeToAddress ( FileIdLineColumnFilePosition sourcePosition );
22979 static FileIdLineColumnFilePosition addressToSourceCode ( uint64_t address );
22996 #endif // SgAsmDwarfLineList_OTHERS
22997 #ifdef DOCUMENTATION
22999 #endif // DOCUMENTATION
23006 DECLARE_LEAF_CLASS(AsmDwarfLine);
23007 IS_SERIALIZABLE(AsmDwarfLine);
23009 #ifdef DOCUMENTATION
23011 #endif // DOCUMENTATION
23013 #ifndef DOCUMENTATION
23014 AsmDwarfLine.setDataPrototype(
23015 "uint64_t",
"address",
"= 0",
23016 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23017 #endif // !DOCUMENTATION
23019 #ifndef DOCUMENTATION
23020 AsmDwarfLine.setDataPrototype(
23021 "int",
"file_id",
"= Sg_File_Info::NULL_FILE_ID",
23022 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23023 #endif // !DOCUMENTATION
23025 #ifndef DOCUMENTATION
23026 AsmDwarfLine.setDataPrototype(
23027 "int",
"line",
"= 0",
23028 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23029 #endif // !DOCUMENTATION
23031 #ifndef DOCUMENTATION
23032 AsmDwarfLine.setDataPrototype(
23033 "int",
"column",
"= 0",
23034 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23035 #endif // !DOCUMENTATION
23037 DECLARE_OTHERS(AsmDwarfLine);
23038 #if defined(SgAsmDwarfLine_OTHERS) || defined(DOCUMENTATION)
23041 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23043 friend class boost::serialization::access;
23046 void serialize(S &s,
const unsigned ) {
23049 s & BOOST_SERIALIZATION_NVP(p_address);
23050 s & BOOST_SERIALIZATION_NVP(p_file_id);
23051 s & BOOST_SERIALIZATION_NVP(p_line);
23052 s & BOOST_SERIALIZATION_NVP(p_column);
23055 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23058 uint64_t
const& get_address()
const;
23059 void set_address(uint64_t
const&);
23062 int const& get_file_id()
const;
23063 void set_file_id(
int const&);
23066 int const& get_line()
const;
23067 void set_line(
int const&);
23070 int const& get_column()
const;
23071 void set_column(
int const&);
23084 int const& file_id,
23086 int const& column);
23096 #endif // SgAsmDwarfLine_OTHERS
23097 #ifdef DOCUMENTATION
23099 #endif // DOCUMENTATION
23106 DECLARE_LEAF_CLASS(AsmDwarfLexicalBlock);
23107 IS_SERIALIZABLE(AsmDwarfLexicalBlock);
23109 #ifdef DOCUMENTATION
23111 #endif // DOCUMENTATION
23113 #ifndef DOCUMENTATION
23114 AsmDwarfLexicalBlock.setDataPrototype(
23115 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
23116 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23117 #endif // !DOCUMENTATION
23119 DECLARE_OTHERS(AsmDwarfLexicalBlock);
23120 #if defined(SgAsmDwarfLexicalBlock_OTHERS) || defined(DOCUMENTATION)
23123 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23125 friend class boost::serialization::access;
23128 void serialize(S &s,
const unsigned ) {
23131 s & BOOST_SERIALIZATION_NVP(p_body);
23134 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23152 uint64_t
const& offset,
23153 uint64_t
const& overall_offset);
23163 #endif // SgAsmDwarfLexicalBlock_OTHERS
23164 #ifdef DOCUMENTATION
23166 #endif // DOCUMENTATION
23173 DECLARE_LEAF_CLASS(AsmDwarfLabel);
23174 IS_SERIALIZABLE(AsmDwarfLabel);
23176 #ifdef DOCUMENTATION
23178 #endif // DOCUMENTATION
23180 DECLARE_OTHERS(AsmDwarfLabel);
23181 #if defined(SgAsmDwarfLabel_OTHERS) || defined(DOCUMENTATION)
23184 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23186 friend class boost::serialization::access;
23189 void serialize(S &s,
const unsigned ) {
23194 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23207 uint64_t
const& offset,
23208 uint64_t
const& overall_offset);
23218 #endif // SgAsmDwarfLabel_OTHERS
23219 #ifdef DOCUMENTATION
23221 #endif // DOCUMENTATION
23228 DECLARE_LEAF_CLASS(AsmDwarfInterfaceType);
23229 IS_SERIALIZABLE(AsmDwarfInterfaceType);
23231 #ifdef DOCUMENTATION
23233 #endif // DOCUMENTATION
23235 DECLARE_OTHERS(AsmDwarfInterfaceType);
23236 #if defined(SgAsmDwarfInterfaceType_OTHERS) || defined(DOCUMENTATION)
23239 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23241 friend class boost::serialization::access;
23244 void serialize(S &s,
const unsigned ) {
23249 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23262 uint64_t
const& offset,
23263 uint64_t
const& overall_offset);
23273 #endif // SgAsmDwarfInterfaceType_OTHERS
23274 #ifdef DOCUMENTATION
23276 #endif // DOCUMENTATION
23283 DECLARE_LEAF_CLASS(AsmDwarfInlinedSubroutine);
23284 IS_SERIALIZABLE(AsmDwarfInlinedSubroutine);
23286 #ifdef DOCUMENTATION
23288 #endif // DOCUMENTATION
23290 #ifndef DOCUMENTATION
23291 AsmDwarfInlinedSubroutine.setDataPrototype(
23292 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
23293 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23294 #endif // !DOCUMENTATION
23296 DECLARE_OTHERS(AsmDwarfInlinedSubroutine);
23297 #if defined(SgAsmDwarfInlinedSubroutine_OTHERS) || defined(DOCUMENTATION)
23300 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23302 friend class boost::serialization::access;
23305 void serialize(S &s,
const unsigned ) {
23308 s & BOOST_SERIALIZATION_NVP(p_body);
23311 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23329 uint64_t
const& offset,
23330 uint64_t
const& overall_offset);
23340 #endif // SgAsmDwarfInlinedSubroutine_OTHERS
23341 #ifdef DOCUMENTATION
23343 #endif // DOCUMENTATION
23350 DECLARE_LEAF_CLASS(AsmDwarfInheritance);
23351 IS_SERIALIZABLE(AsmDwarfInheritance);
23353 #ifdef DOCUMENTATION
23355 #endif // DOCUMENTATION
23357 DECLARE_OTHERS(AsmDwarfInheritance);
23358 #if defined(SgAsmDwarfInheritance_OTHERS) || defined(DOCUMENTATION)
23361 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23363 friend class boost::serialization::access;
23366 void serialize(S &s,
const unsigned ) {
23371 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23384 uint64_t
const& offset,
23385 uint64_t
const& overall_offset);
23395 #endif // SgAsmDwarfInheritance_OTHERS
23396 #ifdef DOCUMENTATION
23398 #endif // DOCUMENTATION
23405 DECLARE_LEAF_CLASS(AsmDwarfImportedUnit);
23406 IS_SERIALIZABLE(AsmDwarfImportedUnit);
23408 #ifdef DOCUMENTATION
23410 #endif // DOCUMENTATION
23412 DECLARE_OTHERS(AsmDwarfImportedUnit);
23413 #if defined(SgAsmDwarfImportedUnit_OTHERS) || defined(DOCUMENTATION)
23416 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23418 friend class boost::serialization::access;
23421 void serialize(S &s,
const unsigned ) {
23426 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23439 uint64_t
const& offset,
23440 uint64_t
const& overall_offset);
23450 #endif // SgAsmDwarfImportedUnit_OTHERS
23451 #ifdef DOCUMENTATION
23453 #endif // DOCUMENTATION
23460 DECLARE_LEAF_CLASS(AsmDwarfImportedModule);
23461 IS_SERIALIZABLE(AsmDwarfImportedModule);
23463 #ifdef DOCUMENTATION
23465 #endif // DOCUMENTATION
23467 DECLARE_OTHERS(AsmDwarfImportedModule);
23468 #if defined(SgAsmDwarfImportedModule_OTHERS) || defined(DOCUMENTATION)
23471 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23473 friend class boost::serialization::access;
23476 void serialize(S &s,
const unsigned ) {
23481 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23494 uint64_t
const& offset,
23495 uint64_t
const& overall_offset);
23505 #endif // SgAsmDwarfImportedModule_OTHERS
23506 #ifdef DOCUMENTATION
23508 #endif // DOCUMENTATION
23515 DECLARE_LEAF_CLASS(AsmDwarfImportedDeclaration);
23516 IS_SERIALIZABLE(AsmDwarfImportedDeclaration);
23518 #ifdef DOCUMENTATION
23520 #endif // DOCUMENTATION
23522 DECLARE_OTHERS(AsmDwarfImportedDeclaration);
23523 #if defined(SgAsmDwarfImportedDeclaration_OTHERS) || defined(DOCUMENTATION)
23526 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23528 friend class boost::serialization::access;
23531 void serialize(S &s,
const unsigned ) {
23536 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23549 uint64_t
const& offset,
23550 uint64_t
const& overall_offset);
23560 #endif // SgAsmDwarfImportedDeclaration_OTHERS
23561 #ifdef DOCUMENTATION
23563 #endif // DOCUMENTATION
23570 DECLARE_LEAF_CLASS(AsmDwarfFunctionTemplate);
23571 IS_SERIALIZABLE(AsmDwarfFunctionTemplate);
23573 #ifdef DOCUMENTATION
23575 #endif // DOCUMENTATION
23577 DECLARE_OTHERS(AsmDwarfFunctionTemplate);
23578 #if defined(SgAsmDwarfFunctionTemplate_OTHERS) || defined(DOCUMENTATION)
23581 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23583 friend class boost::serialization::access;
23586 void serialize(S &s,
const unsigned ) {
23591 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23604 uint64_t
const& offset,
23605 uint64_t
const& overall_offset);
23615 #endif // SgAsmDwarfFunctionTemplate_OTHERS
23616 #ifdef DOCUMENTATION
23618 #endif // DOCUMENTATION
23625 DECLARE_LEAF_CLASS(AsmDwarfFriend);
23626 IS_SERIALIZABLE(AsmDwarfFriend);
23628 #ifdef DOCUMENTATION
23630 #endif // DOCUMENTATION
23632 DECLARE_OTHERS(AsmDwarfFriend);
23633 #if defined(SgAsmDwarfFriend_OTHERS) || defined(DOCUMENTATION)
23636 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23638 friend class boost::serialization::access;
23641 void serialize(S &s,
const unsigned ) {
23646 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23659 uint64_t
const& offset,
23660 uint64_t
const& overall_offset);
23670 #endif // SgAsmDwarfFriend_OTHERS
23671 #ifdef DOCUMENTATION
23673 #endif // DOCUMENTATION
23680 DECLARE_LEAF_CLASS(AsmDwarfFormatLabel);
23681 IS_SERIALIZABLE(AsmDwarfFormatLabel);
23683 #ifdef DOCUMENTATION
23685 #endif // DOCUMENTATION
23687 DECLARE_OTHERS(AsmDwarfFormatLabel);
23688 #if defined(SgAsmDwarfFormatLabel_OTHERS) || defined(DOCUMENTATION)
23691 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23693 friend class boost::serialization::access;
23696 void serialize(S &s,
const unsigned ) {
23701 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23714 uint64_t
const& offset,
23715 uint64_t
const& overall_offset);
23725 #endif // SgAsmDwarfFormatLabel_OTHERS
23726 #ifdef DOCUMENTATION
23728 #endif // DOCUMENTATION
23735 DECLARE_LEAF_CLASS(AsmDwarfFormalParameter);
23736 IS_SERIALIZABLE(AsmDwarfFormalParameter);
23738 #ifdef DOCUMENTATION
23740 #endif // DOCUMENTATION
23742 DECLARE_OTHERS(AsmDwarfFormalParameter);
23743 #if defined(SgAsmDwarfFormalParameter_OTHERS) || defined(DOCUMENTATION)
23746 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23748 friend class boost::serialization::access;
23751 void serialize(S &s,
const unsigned ) {
23756 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23769 uint64_t
const& offset,
23770 uint64_t
const& overall_offset);
23780 #endif // SgAsmDwarfFormalParameter_OTHERS
23781 #ifdef DOCUMENTATION
23783 #endif // DOCUMENTATION
23790 DECLARE_LEAF_CLASS(AsmDwarfFileType);
23791 IS_SERIALIZABLE(AsmDwarfFileType);
23793 #ifdef DOCUMENTATION
23795 #endif // DOCUMENTATION
23797 DECLARE_OTHERS(AsmDwarfFileType);
23798 #if defined(SgAsmDwarfFileType_OTHERS) || defined(DOCUMENTATION)
23801 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23803 friend class boost::serialization::access;
23806 void serialize(S &s,
const unsigned ) {
23811 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23824 uint64_t
const& offset,
23825 uint64_t
const& overall_offset);
23835 #endif // SgAsmDwarfFileType_OTHERS
23836 #ifdef DOCUMENTATION
23838 #endif // DOCUMENTATION
23845 DECLARE_LEAF_CLASS(AsmDwarfEnumerator);
23846 IS_SERIALIZABLE(AsmDwarfEnumerator);
23848 #ifdef DOCUMENTATION
23850 #endif // DOCUMENTATION
23852 DECLARE_OTHERS(AsmDwarfEnumerator);
23853 #if defined(SgAsmDwarfEnumerator_OTHERS) || defined(DOCUMENTATION)
23856 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23858 friend class boost::serialization::access;
23861 void serialize(S &s,
const unsigned ) {
23866 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23879 uint64_t
const& offset,
23880 uint64_t
const& overall_offset);
23890 #endif // SgAsmDwarfEnumerator_OTHERS
23891 #ifdef DOCUMENTATION
23893 #endif // DOCUMENTATION
23900 DECLARE_LEAF_CLASS(AsmDwarfEnumerationType);
23901 IS_SERIALIZABLE(AsmDwarfEnumerationType);
23903 #ifdef DOCUMENTATION
23905 #endif // DOCUMENTATION
23907 #ifndef DOCUMENTATION
23908 AsmDwarfEnumerationType.setDataPrototype(
23909 "SgAsmDwarfConstructList*",
"body",
"= NULL",
23910 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23911 #endif // !DOCUMENTATION
23913 DECLARE_OTHERS(AsmDwarfEnumerationType);
23914 #if defined(SgAsmDwarfEnumerationType_OTHERS) || defined(DOCUMENTATION)
23917 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23919 friend class boost::serialization::access;
23922 void serialize(S &s,
const unsigned ) {
23925 s & BOOST_SERIALIZATION_NVP(p_body);
23928 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
23946 uint64_t
const& offset,
23947 uint64_t
const& overall_offset);
23957 #endif // SgAsmDwarfEnumerationType_OTHERS
23958 #ifdef DOCUMENTATION
23960 #endif // DOCUMENTATION
23967 DECLARE_LEAF_CLASS(AsmDwarfEntryPoint);
23968 IS_SERIALIZABLE(AsmDwarfEntryPoint);
23970 #ifdef DOCUMENTATION
23972 #endif // DOCUMENTATION
23974 DECLARE_OTHERS(AsmDwarfEntryPoint);
23975 #if defined(SgAsmDwarfEntryPoint_OTHERS) || defined(DOCUMENTATION)
23978 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23980 friend class boost::serialization::access;
23983 void serialize(S &s,
const unsigned ) {
23988 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24001 uint64_t
const& offset,
24002 uint64_t
const& overall_offset);
24012 #endif // SgAsmDwarfEntryPoint_OTHERS
24013 #ifdef DOCUMENTATION
24015 #endif // DOCUMENTATION
24022 DECLARE_LEAF_CLASS(AsmDwarfDwarfProcedure);
24023 IS_SERIALIZABLE(AsmDwarfDwarfProcedure);
24025 #ifdef DOCUMENTATION
24027 #endif // DOCUMENTATION
24029 DECLARE_OTHERS(AsmDwarfDwarfProcedure);
24030 #if defined(SgAsmDwarfDwarfProcedure_OTHERS) || defined(DOCUMENTATION)
24033 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24035 friend class boost::serialization::access;
24038 void serialize(S &s,
const unsigned ) {
24043 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24056 uint64_t
const& offset,
24057 uint64_t
const& overall_offset);
24067 #endif // SgAsmDwarfDwarfProcedure_OTHERS
24068 #ifdef DOCUMENTATION
24070 #endif // DOCUMENTATION
24077 DECLARE_LEAF_CLASS(AsmDwarfConstType);
24078 IS_SERIALIZABLE(AsmDwarfConstType);
24080 #ifdef DOCUMENTATION
24082 #endif // DOCUMENTATION
24084 DECLARE_OTHERS(AsmDwarfConstType);
24085 #if defined(SgAsmDwarfConstType_OTHERS) || defined(DOCUMENTATION)
24088 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24090 friend class boost::serialization::access;
24093 void serialize(S &s,
const unsigned ) {
24098 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24111 uint64_t
const& offset,
24112 uint64_t
const& overall_offset);
24122 #endif // SgAsmDwarfConstType_OTHERS
24123 #ifdef DOCUMENTATION
24125 #endif // DOCUMENTATION
24132 DECLARE_LEAF_CLASS(AsmDwarfConstructList);
24133 IS_SERIALIZABLE(AsmDwarfConstructList);
24135 #ifdef DOCUMENTATION
24137 #endif // DOCUMENTATION
24139 #ifndef DOCUMENTATION
24140 AsmDwarfConstructList.setDataPrototype(
24141 "SgAsmDwarfConstructPtrList",
"list",
"",
24142 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24143 #endif // !DOCUMENTATION
24145 DECLARE_OTHERS(AsmDwarfConstructList);
24146 #if defined(SgAsmDwarfConstructList_OTHERS) || defined(DOCUMENTATION)
24149 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24151 friend class boost::serialization::access;
24154 void serialize(S &s,
const unsigned ) {
24157 s & BOOST_SERIALIZATION_NVP(p_list);
24160 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24163 SgAsmDwarfConstructPtrList
const& get_list()
const;
24164 SgAsmDwarfConstructPtrList& get_list();
24165 void set_list(SgAsmDwarfConstructPtrList
const&);
24183 #endif // SgAsmDwarfConstructList_OTHERS
24184 #ifdef DOCUMENTATION
24186 #endif // DOCUMENTATION
24193 DECLARE_LEAF_CLASS(AsmDwarfConstant);
24194 IS_SERIALIZABLE(AsmDwarfConstant);
24196 #ifdef DOCUMENTATION
24198 #endif // DOCUMENTATION
24200 DECLARE_OTHERS(AsmDwarfConstant);
24201 #if defined(SgAsmDwarfConstant_OTHERS) || defined(DOCUMENTATION)
24204 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24206 friend class boost::serialization::access;
24209 void serialize(S &s,
const unsigned ) {
24214 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24227 uint64_t
const& offset,
24228 uint64_t
const& overall_offset);
24238 #endif // SgAsmDwarfConstant_OTHERS
24239 #ifdef DOCUMENTATION
24241 #endif // DOCUMENTATION
24248 DECLARE_LEAF_CLASS(AsmDwarfCondition);
24249 IS_SERIALIZABLE(AsmDwarfCondition);
24251 #ifdef DOCUMENTATION
24253 #endif // DOCUMENTATION
24255 DECLARE_OTHERS(AsmDwarfCondition);
24256 #if defined(SgAsmDwarfCondition_OTHERS) || defined(DOCUMENTATION)
24259 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24261 friend class boost::serialization::access;
24264 void serialize(S &s,
const unsigned ) {
24269 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24282 uint64_t
const& offset,
24283 uint64_t
const& overall_offset);
24293 #endif // SgAsmDwarfCondition_OTHERS
24294 #ifdef DOCUMENTATION
24296 #endif // DOCUMENTATION
24303 DECLARE_LEAF_CLASS(AsmDwarfCompilationUnitList);
24304 IS_SERIALIZABLE(AsmDwarfCompilationUnitList);
24306 #ifdef DOCUMENTATION
24308 #endif // DOCUMENTATION
24310 #ifndef DOCUMENTATION
24311 AsmDwarfCompilationUnitList.setDataPrototype(
24312 "SgAsmDwarfCompilationUnitPtrList",
"cu_list",
"",
24313 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24314 #endif // !DOCUMENTATION
24316 DECLARE_OTHERS(AsmDwarfCompilationUnitList);
24317 #if defined(SgAsmDwarfCompilationUnitList_OTHERS) || defined(DOCUMENTATION)
24320 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24322 friend class boost::serialization::access;
24325 void serialize(S &s,
const unsigned ) {
24328 s & BOOST_SERIALIZATION_NVP(p_cu_list);
24331 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24334 SgAsmDwarfCompilationUnitPtrList
const& get_cu_list()
const;
24335 SgAsmDwarfCompilationUnitPtrList& get_cu_list();
24336 void set_cu_list(SgAsmDwarfCompilationUnitPtrList
const&);
24354 #endif // SgAsmDwarfCompilationUnitList_OTHERS
24355 #ifdef DOCUMENTATION
24357 #endif // DOCUMENTATION
24364 DECLARE_LEAF_CLASS(AsmDwarfCompilationUnit);
24365 IS_SERIALIZABLE(AsmDwarfCompilationUnit);
24367 #ifdef DOCUMENTATION
24369 #endif // DOCUMENTATION
24371 #ifndef DOCUMENTATION
24372 AsmDwarfCompilationUnit.setDataPrototype(
24373 "std::string",
"producer",
"",
24374 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
24375 #endif // !DOCUMENTATION
24377 #ifndef DOCUMENTATION
24378 AsmDwarfCompilationUnit.setDataPrototype(
24379 "std::string",
"language",
"",
24380 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
24381 #endif // !DOCUMENTATION
24383 #ifndef DOCUMENTATION
24384 AsmDwarfCompilationUnit.setDataPrototype(
24385 "uint64_t",
"low_pc",
"= 0",
24386 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
24387 #endif // !DOCUMENTATION
24389 #ifndef DOCUMENTATION
24390 AsmDwarfCompilationUnit.setDataPrototype(
24391 "uint64_t",
"hi_pc",
"= 0",
24392 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
24393 #endif // !DOCUMENTATION
24395 #ifndef DOCUMENTATION
24396 AsmDwarfCompilationUnit.setDataPrototype(
24397 "int",
"version_stamp",
"= 0",
24398 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
24399 #endif // !DOCUMENTATION
24401 #ifndef DOCUMENTATION
24402 AsmDwarfCompilationUnit.setDataPrototype(
24403 "uint64_t",
"abbrev_offset",
"= 0",
24404 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
24405 #endif // !DOCUMENTATION
24407 #ifndef DOCUMENTATION
24408 AsmDwarfCompilationUnit.setDataPrototype(
24409 "uint64_t",
"address_size",
"= 0",
24410 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
24411 #endif // !DOCUMENTATION
24413 #ifndef DOCUMENTATION
24414 AsmDwarfCompilationUnit.setDataPrototype(
24415 "uint64_t",
"offset_length",
"= 0",
24416 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
24417 #endif // !DOCUMENTATION
24419 #ifndef DOCUMENTATION
24420 AsmDwarfCompilationUnit.setDataPrototype(
24421 "SgAsmDwarfLineList*",
"line_info",
"= nullptr",
24422 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24423 #endif // !DOCUMENTATION
24425 #ifndef DOCUMENTATION
24426 AsmDwarfCompilationUnit.setDataPrototype(
24427 "SgAsmDwarfConstructList*",
"language_constructs",
"= nullptr",
24428 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24429 #endif // !DOCUMENTATION
24431 #ifndef DOCUMENTATION
24432 AsmDwarfCompilationUnit.setDataPrototype(
24433 "SgAsmDwarfMacroList*",
"macro_info",
"= nullptr",
24434 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24435 #endif // !DOCUMENTATION
24437 DECLARE_OTHERS(AsmDwarfCompilationUnit);
24438 #if defined(SgAsmDwarfCompilationUnit_OTHERS) || defined(DOCUMENTATION)
24441 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24443 friend class boost::serialization::access;
24446 void serialize(S &s,
const unsigned ) {
24449 s & BOOST_SERIALIZATION_NVP(p_producer);
24450 s & BOOST_SERIALIZATION_NVP(p_language);
24451 s & BOOST_SERIALIZATION_NVP(p_low_pc);
24452 s & BOOST_SERIALIZATION_NVP(p_hi_pc);
24453 s & BOOST_SERIALIZATION_NVP(p_version_stamp);
24454 s & BOOST_SERIALIZATION_NVP(p_abbrev_offset);
24455 s & BOOST_SERIALIZATION_NVP(p_address_size);
24456 s & BOOST_SERIALIZATION_NVP(p_offset_length);
24457 s & BOOST_SERIALIZATION_NVP(p_line_info);
24458 s & BOOST_SERIALIZATION_NVP(p_language_constructs);
24459 s & BOOST_SERIALIZATION_NVP(p_macro_info);
24462 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24465 std::string
const& get_producer()
const;
24466 void set_producer(std::string
const&);
24469 std::string
const& get_language()
const;
24470 void set_language(std::string
const&);
24473 uint64_t
const& get_low_pc()
const;
24474 void set_low_pc(uint64_t
const&);
24477 uint64_t
const& get_hi_pc()
const;
24478 void set_hi_pc(uint64_t
const&);
24481 int const& get_version_stamp()
const;
24482 void set_version_stamp(
int const&);
24485 uint64_t
const& get_abbrev_offset()
const;
24486 void set_abbrev_offset(uint64_t
const&);
24489 uint64_t
const& get_address_size()
const;
24490 void set_address_size(uint64_t
const&);
24493 uint64_t
const& get_offset_length()
const;
24494 void set_offset_length(uint64_t
const&);
24520 uint64_t
const& offset,
24521 uint64_t
const& overall_offset);
24531 #endif // SgAsmDwarfCompilationUnit_OTHERS
24532 #ifdef DOCUMENTATION
24534 #endif // DOCUMENTATION
24541 DECLARE_LEAF_CLASS(AsmDwarfCommonInclusion);
24542 IS_SERIALIZABLE(AsmDwarfCommonInclusion);
24544 #ifdef DOCUMENTATION
24546 #endif // DOCUMENTATION
24548 DECLARE_OTHERS(AsmDwarfCommonInclusion);
24549 #if defined(SgAsmDwarfCommonInclusion_OTHERS) || defined(DOCUMENTATION)
24552 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24554 friend class boost::serialization::access;
24557 void serialize(S &s,
const unsigned ) {
24562 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24575 uint64_t
const& offset,
24576 uint64_t
const& overall_offset);
24586 #endif // SgAsmDwarfCommonInclusion_OTHERS
24587 #ifdef DOCUMENTATION
24589 #endif // DOCUMENTATION
24596 DECLARE_LEAF_CLASS(AsmDwarfCommonBlock);
24597 IS_SERIALIZABLE(AsmDwarfCommonBlock);
24599 #ifdef DOCUMENTATION
24601 #endif // DOCUMENTATION
24603 #ifndef DOCUMENTATION
24604 AsmDwarfCommonBlock.setDataPrototype(
24605 "SgAsmDwarfConstructList*",
"body",
"= NULL",
24606 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24607 #endif // !DOCUMENTATION
24609 DECLARE_OTHERS(AsmDwarfCommonBlock);
24610 #if defined(SgAsmDwarfCommonBlock_OTHERS) || defined(DOCUMENTATION)
24613 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24615 friend class boost::serialization::access;
24618 void serialize(S &s,
const unsigned ) {
24621 s & BOOST_SERIALIZATION_NVP(p_body);
24624 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24642 uint64_t
const& offset,
24643 uint64_t
const& overall_offset);
24653 #endif // SgAsmDwarfCommonBlock_OTHERS
24654 #ifdef DOCUMENTATION
24656 #endif // DOCUMENTATION
24663 DECLARE_LEAF_CLASS(AsmDwarfClassType);
24664 IS_SERIALIZABLE(AsmDwarfClassType);
24666 #ifdef DOCUMENTATION
24668 #endif // DOCUMENTATION
24670 #ifndef DOCUMENTATION
24671 AsmDwarfClassType.setDataPrototype(
24672 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
24673 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24674 #endif // !DOCUMENTATION
24676 DECLARE_OTHERS(AsmDwarfClassType);
24677 #if defined(SgAsmDwarfClassType_OTHERS) || defined(DOCUMENTATION)
24680 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24682 friend class boost::serialization::access;
24685 void serialize(S &s,
const unsigned ) {
24688 s & BOOST_SERIALIZATION_NVP(p_body);
24691 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24709 uint64_t
const& offset,
24710 uint64_t
const& overall_offset);
24720 #endif // SgAsmDwarfClassType_OTHERS
24721 #ifdef DOCUMENTATION
24723 #endif // DOCUMENTATION
24730 DECLARE_LEAF_CLASS(AsmDwarfClassTemplate);
24731 IS_SERIALIZABLE(AsmDwarfClassTemplate);
24733 #ifdef DOCUMENTATION
24735 #endif // DOCUMENTATION
24737 DECLARE_OTHERS(AsmDwarfClassTemplate);
24738 #if defined(SgAsmDwarfClassTemplate_OTHERS) || defined(DOCUMENTATION)
24741 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24743 friend class boost::serialization::access;
24746 void serialize(S &s,
const unsigned ) {
24751 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24764 uint64_t
const& offset,
24765 uint64_t
const& overall_offset);
24775 #endif // SgAsmDwarfClassTemplate_OTHERS
24776 #ifdef DOCUMENTATION
24778 #endif // DOCUMENTATION
24785 DECLARE_LEAF_CLASS(AsmDwarfCatchBlock);
24786 IS_SERIALIZABLE(AsmDwarfCatchBlock);
24788 #ifdef DOCUMENTATION
24790 #endif // DOCUMENTATION
24792 DECLARE_OTHERS(AsmDwarfCatchBlock);
24793 #if defined(SgAsmDwarfCatchBlock_OTHERS) || defined(DOCUMENTATION)
24796 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24798 friend class boost::serialization::access;
24801 void serialize(S &s,
const unsigned ) {
24806 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24819 uint64_t
const& offset,
24820 uint64_t
const& overall_offset);
24830 #endif // SgAsmDwarfCatchBlock_OTHERS
24831 #ifdef DOCUMENTATION
24833 #endif // DOCUMENTATION
24840 DECLARE_LEAF_CLASS(AsmDwarfBaseType);
24841 IS_SERIALIZABLE(AsmDwarfBaseType);
24843 #ifdef DOCUMENTATION
24845 #endif // DOCUMENTATION
24847 DECLARE_OTHERS(AsmDwarfBaseType);
24848 #if defined(SgAsmDwarfBaseType_OTHERS) || defined(DOCUMENTATION)
24851 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24853 friend class boost::serialization::access;
24856 void serialize(S &s,
const unsigned ) {
24861 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24874 uint64_t
const& offset,
24875 uint64_t
const& overall_offset);
24885 #endif // SgAsmDwarfBaseType_OTHERS
24886 #ifdef DOCUMENTATION
24888 #endif // DOCUMENTATION
24895 DECLARE_LEAF_CLASS(AsmDwarfArrayType);
24896 IS_SERIALIZABLE(AsmDwarfArrayType);
24898 #ifdef DOCUMENTATION
24900 #endif // DOCUMENTATION
24902 #ifndef DOCUMENTATION
24903 AsmDwarfArrayType.setDataPrototype(
24904 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
24905 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24906 #endif // !DOCUMENTATION
24908 DECLARE_OTHERS(AsmDwarfArrayType);
24909 #if defined(SgAsmDwarfArrayType_OTHERS) || defined(DOCUMENTATION)
24912 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24914 friend class boost::serialization::access;
24917 void serialize(S &s,
const unsigned ) {
24920 s & BOOST_SERIALIZATION_NVP(p_body);
24923 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24941 uint64_t
const& offset,
24942 uint64_t
const& overall_offset);
24952 #endif // SgAsmDwarfArrayType_OTHERS
24953 #ifdef DOCUMENTATION
24955 #endif // DOCUMENTATION
24962 DECLARE_LEAF_CLASS(AsmDwarfAccessDeclaration);
24963 IS_SERIALIZABLE(AsmDwarfAccessDeclaration);
24965 #ifdef DOCUMENTATION
24967 #endif // DOCUMENTATION
24969 DECLARE_OTHERS(AsmDwarfAccessDeclaration);
24970 #if defined(SgAsmDwarfAccessDeclaration_OTHERS) || defined(DOCUMENTATION)
24973 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24975 friend class boost::serialization::access;
24978 void serialize(S &s,
const unsigned ) {
24983 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
24996 uint64_t
const& offset,
24997 uint64_t
const& overall_offset);
25007 #endif // SgAsmDwarfAccessDeclaration_OTHERS
25008 #ifdef DOCUMENTATION
25010 #endif // DOCUMENTATION
25017 #ifndef DOCUMENTATION
25018 AstNodeClass& AsmDwarfConstruct = nonTerminalConstructor(
25019 "AsmDwarfConstruct",
25021 "AsmDwarfConstruct",
25022 "AsmDwarfConstructTag",
25023 SubclassListBuilder()
25024 | AsmDwarfAccessDeclaration
25025 | AsmDwarfArrayType
25027 | AsmDwarfCatchBlock
25028 | AsmDwarfClassTemplate
25029 | AsmDwarfClassType
25030 | AsmDwarfCommonBlock
25031 | AsmDwarfCommonInclusion
25032 | AsmDwarfCompilationUnit
25033 | AsmDwarfCondition
25035 | AsmDwarfConstType
25036 | AsmDwarfDwarfProcedure
25037 | AsmDwarfEntryPoint
25038 | AsmDwarfEnumerationType
25039 | AsmDwarfEnumerator
25041 | AsmDwarfFormalParameter
25042 | AsmDwarfFormatLabel
25044 | AsmDwarfFunctionTemplate
25045 | AsmDwarfImportedDeclaration
25046 | AsmDwarfImportedModule
25047 | AsmDwarfImportedUnit
25048 | AsmDwarfInheritance
25049 | AsmDwarfInlinedSubroutine
25050 | AsmDwarfInterfaceType
25052 | AsmDwarfLexicalBlock
25055 | AsmDwarfMutableType
25057 | AsmDwarfNamelistItem
25058 | AsmDwarfNamespace
25059 | AsmDwarfPackedType
25060 | AsmDwarfPartialUnit
25061 | AsmDwarfPointerType
25062 | AsmDwarfPtrToMemberType
25063 | AsmDwarfReferenceType
25064 | AsmDwarfRestrictType
25066 | AsmDwarfSharedType
25067 | AsmDwarfStringType
25068 | AsmDwarfStructureType
25069 | AsmDwarfSubprogram
25070 | AsmDwarfSubrangeType
25071 | AsmDwarfSubroutineType
25072 | AsmDwarfTemplateTypeParameter
25073 | AsmDwarfTemplateValueParameter
25074 | AsmDwarfThrownType
25077 | AsmDwarfUnionType
25078 | AsmDwarfUnknownConstruct
25079 | AsmDwarfUnspecifiedParameters
25080 | AsmDwarfUnspecifiedType
25081 | AsmDwarfUpcRelaxedType
25082 | AsmDwarfUpcSharedType
25083 | AsmDwarfUpcStrictType
25086 | AsmDwarfVariantPart
25088 | AsmDwarfVolatileType
25090 assert(AsmDwarfConstruct.associatedGrammar !=
nullptr);
25091 AsmDwarfConstruct.setCppCondition(
"!defined(DOCUMENTATION)");
25092 AsmDwarfConstruct.isBoostSerializable(
true);
25093 AsmDwarfConstruct.setAutomaticGenerationOfConstructor(
false);
25094 AsmDwarfConstruct.setAutomaticGenerationOfDestructor(
false);
25095 #endif // !DOCUMENTATION
25097 #ifdef DOCUMENTATION
25099 #endif // DOCUMENTATION
25101 #ifndef DOCUMENTATION
25102 AsmDwarfConstruct.setDataPrototype(
25103 "int",
"nesting_level",
"= 0",
25104 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25105 #endif // !DOCUMENTATION
25107 #ifndef DOCUMENTATION
25108 AsmDwarfConstruct.setDataPrototype(
25109 "uint64_t",
"offset",
"= 0",
25110 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25111 #endif // !DOCUMENTATION
25113 #ifndef DOCUMENTATION
25114 AsmDwarfConstruct.setDataPrototype(
25115 "uint64_t",
"overall_offset",
"= 0",
25116 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25117 #endif // !DOCUMENTATION
25119 #ifndef DOCUMENTATION
25120 AsmDwarfConstruct.setDataPrototype(
25121 "std::string",
"name",
"",
25122 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25123 #endif // !DOCUMENTATION
25125 #ifndef DOCUMENTATION
25126 AsmDwarfConstruct.setDataPrototype(
25127 "SgAsmDwarfLine*",
"source_position",
"= nullptr",
25128 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25129 #endif // !DOCUMENTATION
25131 DECLARE_OTHERS(AsmDwarfConstruct);
25132 #if defined(SgAsmDwarfConstruct_OTHERS) || defined(DOCUMENTATION)
25135 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25137 friend class boost::serialization::access;
25140 void serialize(S &s,
const unsigned ) {
25143 s & BOOST_SERIALIZATION_NVP(p_nesting_level);
25144 s & BOOST_SERIALIZATION_NVP(p_offset);
25145 s & BOOST_SERIALIZATION_NVP(p_overall_offset);
25146 s & BOOST_SERIALIZATION_NVP(p_name);
25147 s & BOOST_SERIALIZATION_NVP(p_source_position);
25150 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
25156 int const& get_nesting_level()
const;
25157 void set_nesting_level(
int const&);
25160 uint64_t
const& get_offset()
const;
25161 void set_offset(uint64_t
const&);
25164 uint64_t
const& get_overall_offset()
const;
25165 void set_overall_offset(uint64_t
const&);
25168 std::string
const& get_name()
const;
25169 void set_name(std::string
const&);
25195 uint64_t
const& offset,
25196 uint64_t
const& overall_offset);
25206 #endif // SgAsmDwarfConstruct_OTHERS
25207 #ifdef DOCUMENTATION
25209 #endif // DOCUMENTATION
25216 #ifndef DOCUMENTATION
25217 AstNodeClass& AsmDwarfInformation = nonTerminalConstructor(
25218 "AsmDwarfInformation",
25220 "AsmDwarfInformation",
25221 "AsmDwarfInformationTag",
25222 SubclassListBuilder()
25223 | AsmDwarfCompilationUnitList
25224 | AsmDwarfConstruct
25225 | AsmDwarfConstructList
25229 | AsmDwarfMacroList
25231 assert(AsmDwarfInformation.associatedGrammar !=
nullptr);
25232 AsmDwarfInformation.setCppCondition(
"!defined(DOCUMENTATION)");
25233 AsmDwarfInformation.isBoostSerializable(
true);
25234 AsmDwarfInformation.setAutomaticGenerationOfConstructor(
false);
25235 AsmDwarfInformation.setAutomaticGenerationOfDestructor(
false);
25236 #endif // !DOCUMENTATION
25238 #ifdef DOCUMENTATION
25240 #endif // DOCUMENTATION
25242 DECLARE_OTHERS(AsmDwarfInformation);
25243 #if defined(SgAsmDwarfInformation_OTHERS) || defined(DOCUMENTATION)
25246 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25248 friend class boost::serialization::access;
25251 void serialize(S &s,
const unsigned ) {
25256 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
25274 #endif // SgAsmDwarfInformation_OTHERS
25275 #ifdef DOCUMENTATION
25277 #endif // DOCUMENTATION
25284 DECLARE_LEAF_CLASS(AsmDOSFileHeader);
25285 IS_SERIALIZABLE(AsmDOSFileHeader);
25287 #ifdef DOCUMENTATION
25293 #endif // DOCUMENTATION
25295 #ifndef DOCUMENTATION
25296 AsmDOSFileHeader.setDataPrototype(
25297 "uint16_t",
"e_last_page_size",
"= 0",
25298 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25299 #endif // !DOCUMENTATION
25301 #ifndef DOCUMENTATION
25302 AsmDOSFileHeader.setDataPrototype(
25303 "uint16_t",
"e_total_pages",
"= 0",
25304 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25305 #endif // !DOCUMENTATION
25307 #ifndef DOCUMENTATION
25308 AsmDOSFileHeader.setDataPrototype(
25309 "uint16_t",
"e_nrelocs",
"= 0",
25310 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25311 #endif // !DOCUMENTATION
25313 #ifndef DOCUMENTATION
25314 AsmDOSFileHeader.setDataPrototype(
25315 "uint16_t",
"e_header_paragraphs",
"= 0",
25316 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25317 #endif // !DOCUMENTATION
25319 #ifndef DOCUMENTATION
25320 AsmDOSFileHeader.setDataPrototype(
25321 "uint16_t",
"e_minalloc",
"= 0",
25322 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25323 #endif // !DOCUMENTATION
25325 #ifndef DOCUMENTATION
25326 AsmDOSFileHeader.setDataPrototype(
25327 "uint16_t",
"e_maxalloc",
"= 0",
25328 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25329 #endif // !DOCUMENTATION
25331 #ifndef DOCUMENTATION
25332 AsmDOSFileHeader.setDataPrototype(
25333 "uint16_t",
"e_ss",
"= 0",
25334 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25335 #endif // !DOCUMENTATION
25337 #ifndef DOCUMENTATION
25338 AsmDOSFileHeader.setDataPrototype(
25339 "uint16_t",
"e_sp",
"= 0",
25340 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25341 #endif // !DOCUMENTATION
25343 #ifndef DOCUMENTATION
25344 AsmDOSFileHeader.setDataPrototype(
25345 "uint16_t",
"e_cksum",
"= 0",
25346 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25347 #endif // !DOCUMENTATION
25349 #ifndef DOCUMENTATION
25350 AsmDOSFileHeader.setDataPrototype(
25351 "uint16_t",
"e_ip",
"= 0",
25352 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25353 #endif // !DOCUMENTATION
25355 #ifndef DOCUMENTATION
25356 AsmDOSFileHeader.setDataPrototype(
25357 "uint16_t",
"e_cs",
"= 0",
25358 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25359 #endif // !DOCUMENTATION
25361 #ifndef DOCUMENTATION
25362 AsmDOSFileHeader.setDataPrototype(
25363 "uint16_t",
"e_overlay",
"= 0",
25364 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25365 #endif // !DOCUMENTATION
25367 #ifndef DOCUMENTATION
25368 AsmDOSFileHeader.setDataPrototype(
25369 "rose_addr_t",
"e_relocs_offset",
"= 0",
25370 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25371 #endif // !DOCUMENTATION
25373 #ifndef DOCUMENTATION
25374 AsmDOSFileHeader.setDataPrototype(
25375 "unsigned",
"e_res1",
"= 0",
25376 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25377 #endif // !DOCUMENTATION
25379 #ifndef DOCUMENTATION
25380 AsmDOSFileHeader.setDataPrototype(
25381 "SgAsmGenericSection*",
"relocs",
"= nullptr",
25382 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25383 #endif // !DOCUMENTATION
25385 #ifndef DOCUMENTATION
25386 AsmDOSFileHeader.setDataPrototype(
25387 "SgAsmGenericSection*",
"rm_section",
"= nullptr",
25388 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25389 #endif // !DOCUMENTATION
25391 DECLARE_OTHERS(AsmDOSFileHeader);
25392 #if defined(SgAsmDOSFileHeader_OTHERS) || defined(DOCUMENTATION)
25395 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25397 friend class boost::serialization::access;
25400 void serialize(S &s,
const unsigned ) {
25403 s & BOOST_SERIALIZATION_NVP(p_e_last_page_size);
25404 s & BOOST_SERIALIZATION_NVP(p_e_total_pages);
25405 s & BOOST_SERIALIZATION_NVP(p_e_nrelocs);
25406 s & BOOST_SERIALIZATION_NVP(p_e_header_paragraphs);
25407 s & BOOST_SERIALIZATION_NVP(p_e_minalloc);
25408 s & BOOST_SERIALIZATION_NVP(p_e_maxalloc);
25409 s & BOOST_SERIALIZATION_NVP(p_e_ss);
25410 s & BOOST_SERIALIZATION_NVP(p_e_sp);
25411 s & BOOST_SERIALIZATION_NVP(p_e_cksum);
25412 s & BOOST_SERIALIZATION_NVP(p_e_ip);
25413 s & BOOST_SERIALIZATION_NVP(p_e_cs);
25414 s & BOOST_SERIALIZATION_NVP(p_e_overlay);
25415 s & BOOST_SERIALIZATION_NVP(p_e_relocs_offset);
25416 s & BOOST_SERIALIZATION_NVP(p_e_res1);
25417 s & BOOST_SERIALIZATION_NVP(p_relocs);
25418 s & BOOST_SERIALIZATION_NVP(p_rm_section);
25421 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
25449 #if !defined(SWIG) && !defined(_MSC_VER)
25450 __attribute__((packed))
25458 #if !defined(SWIG) && !defined(_MSC_VER)
25459 __attribute__((packed))
25633 virtual void unparse(std::ostream&)
const override;
25634 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
25672 #endif // SgAsmDOSFileHeader_OTHERS
25673 #ifdef DOCUMENTATION
25675 #endif // DOCUMENTATION
25682 #ifndef DOCUMENTATION
25683 AstNodeClass& AsmGenericHeader = nonTerminalConstructor(
25684 "AsmGenericHeader",
25686 "AsmGenericHeader",
25687 "AsmGenericHeaderTag",
25688 SubclassListBuilder()
25696 assert(AsmGenericHeader.associatedGrammar !=
nullptr);
25697 AsmGenericHeader.setCppCondition(
"!defined(DOCUMENTATION)");
25698 AsmGenericHeader.isBoostSerializable(
true);
25699 AsmGenericHeader.setAutomaticGenerationOfConstructor(
false);
25700 AsmGenericHeader.setAutomaticGenerationOfDestructor(
false);
25701 #endif // !DOCUMENTATION
25703 DECLARE_HEADERS(AsmGenericHeader);
25704 #if defined(SgAsmGenericHeader_HEADERS) || defined(DOCUMENTATION)
25705 #include <Rose/BinaryAnalysis/ByteOrder.h>
25706 #endif // SgAsmGenericHeader_HEADERS
25708 #ifdef DOCUMENTATION
25711 #endif // DOCUMENTATION
25713 #ifndef DOCUMENTATION
25714 AsmGenericHeader.setDataPrototype(
25715 "SgAsmGenericFormat*",
"exec_format",
"= createAndParent<SgAsmGenericFormat>(this)",
25716 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25717 #endif // !DOCUMENTATION
25719 #ifndef DOCUMENTATION
25720 AsmGenericHeader.setDataPrototype(
25721 "SgCharList",
"magic",
"",
25722 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25723 #endif // !DOCUMENTATION
25725 #ifndef DOCUMENTATION
25726 AsmGenericHeader.setDataPrototype(
25727 "SgAsmGenericFormat::InsSetArchitecture",
"isa",
"= SgAsmGenericFormat::ISA_UNSPECIFIED",
25728 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25729 #endif // !DOCUMENTATION
25731 #ifndef DOCUMENTATION
25732 AsmGenericHeader.setDataPrototype(
25733 "rose_addr_t",
"base_va",
"= 0",
25734 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25735 #endif // !DOCUMENTATION
25737 #ifndef DOCUMENTATION
25738 AsmGenericHeader.setDataPrototype(
25739 "SgRVAList",
"entry_rvas",
"",
25740 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25741 #endif // !DOCUMENTATION
25743 #ifndef DOCUMENTATION
25744 AsmGenericHeader.setDataPrototype(
25745 "SgAsmGenericDLLList*",
"dlls",
"= createAndParent<SgAsmGenericDLLList>(this)",
25746 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25747 #endif // !DOCUMENTATION
25749 #ifndef DOCUMENTATION
25750 AsmGenericHeader.setDataPrototype(
25751 "SgAsmGenericSectionList*",
"sections",
"= createAndParent<SgAsmGenericSectionList>(this)",
25752 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25753 #endif // !DOCUMENTATION
25755 DECLARE_OTHERS(AsmGenericHeader);
25756 #if defined(SgAsmGenericHeader_OTHERS) || defined(DOCUMENTATION)
25759 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25761 friend class boost::serialization::access;
25764 void serialize(S &s,
const unsigned ) {
25767 s & BOOST_SERIALIZATION_NVP(p_exec_format);
25768 s & BOOST_SERIALIZATION_NVP(p_magic);
25769 s & BOOST_SERIALIZATION_NVP(p_isa);
25770 s & BOOST_SERIALIZATION_NVP(p_base_va);
25771 s & BOOST_SERIALIZATION_NVP(p_entry_rvas);
25772 s & BOOST_SERIALIZATION_NVP(p_dlls);
25773 s & BOOST_SERIALIZATION_NVP(p_sections);
25776 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
25849 virtual void unparse(std::ostream&)
const override;
25852 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
25862 ROSE_ASSERT(p_dlls != NULL);
25863 return p_dlls->get_dlls();
25874 p_entry_rvas.push_back(rva);
25878 Rose::BinaryAnalysis::ByteOrder::Endianness get_sex()
const;
25879 size_t get_word_size()
const;
25912 SgAsmGenericSectionPtrList
get_sections_by_va(rose_addr_t va,
bool use_preferred)
const;
25957 #endif // SgAsmGenericHeader_OTHERS
25958 #ifdef DOCUMENTATION
25960 #endif // DOCUMENTATION
25967 DECLARE_LEAF_CLASS(AsmDOSExtendedHeader);
25968 IS_SERIALIZABLE(AsmDOSExtendedHeader);
25970 #ifdef DOCUMENTATION
25975 #endif // DOCUMENTATION
25977 #ifndef DOCUMENTATION
25978 AsmDOSExtendedHeader.setDataPrototype(
25979 "unsigned",
"e_res1",
"= 0",
25980 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25981 #endif // !DOCUMENTATION
25983 #ifndef DOCUMENTATION
25984 AsmDOSExtendedHeader.setDataPrototype(
25985 "unsigned",
"e_oemid",
"= 0",
25986 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25987 #endif // !DOCUMENTATION
25989 #ifndef DOCUMENTATION
25990 AsmDOSExtendedHeader.setDataPrototype(
25991 "unsigned",
"e_oeminfo",
"= 0",
25992 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25993 #endif // !DOCUMENTATION
25995 #ifndef DOCUMENTATION
25996 AsmDOSExtendedHeader.setDataPrototype(
25997 "unsigned",
"e_res2",
"= 0",
25998 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25999 #endif // !DOCUMENTATION
26001 #ifndef DOCUMENTATION
26002 AsmDOSExtendedHeader.setDataPrototype(
26003 "unsigned",
"e_res3",
"= 0",
26004 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26005 #endif // !DOCUMENTATION
26007 #ifndef DOCUMENTATION
26008 AsmDOSExtendedHeader.setDataPrototype(
26009 "unsigned",
"e_res4",
"= 0",
26010 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26011 #endif // !DOCUMENTATION
26013 #ifndef DOCUMENTATION
26014 AsmDOSExtendedHeader.setDataPrototype(
26015 "unsigned",
"e_res5",
"= 0",
26016 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26017 #endif // !DOCUMENTATION
26019 #ifndef DOCUMENTATION
26020 AsmDOSExtendedHeader.setDataPrototype(
26021 "unsigned",
"e_res6",
"= 0",
26022 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26023 #endif // !DOCUMENTATION
26025 #ifndef DOCUMENTATION
26026 AsmDOSExtendedHeader.setDataPrototype(
26027 "rose_addr_t",
"e_lfanew",
"= 0",
26028 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26029 #endif // !DOCUMENTATION
26031 DECLARE_OTHERS(AsmDOSExtendedHeader);
26032 #if defined(SgAsmDOSExtendedHeader_OTHERS) || defined(DOCUMENTATION)
26035 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26037 friend class boost::serialization::access;
26040 void serialize(S &s,
const unsigned ) {
26043 s & BOOST_SERIALIZATION_NVP(p_e_res1);
26044 s & BOOST_SERIALIZATION_NVP(p_e_oemid);
26045 s & BOOST_SERIALIZATION_NVP(p_e_oeminfo);
26046 s & BOOST_SERIALIZATION_NVP(p_e_res2);
26047 s & BOOST_SERIALIZATION_NVP(p_e_res3);
26048 s & BOOST_SERIALIZATION_NVP(p_e_res4);
26049 s & BOOST_SERIALIZATION_NVP(p_e_res5);
26050 s & BOOST_SERIALIZATION_NVP(p_e_res6);
26051 s & BOOST_SERIALIZATION_NVP(p_e_lfanew);
26054 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
26065 uint16_t e_oeminfo;
26073 #if !defined(SWIG) && !defined(_MSC_VER)
26074 __attribute__((packed))
26180 virtual void unparse(std::ostream&)
const override;
26181 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
26198 #endif // SgAsmDOSExtendedHeader_OTHERS
26199 #ifdef DOCUMENTATION
26201 #endif // DOCUMENTATION
26208 DECLARE_LEAF_CLASS(AsmDirectRegisterExpression);
26209 IS_SERIALIZABLE(AsmDirectRegisterExpression);
26211 #ifdef DOCUMENTATION
26214 #endif // DOCUMENTATION
26216 DECLARE_OTHERS(AsmDirectRegisterExpression);
26217 #if defined(SgAsmDirectRegisterExpression_OTHERS) || defined(DOCUMENTATION)
26220 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26222 friend class boost::serialization::access;
26225 void serialize(S &s,
const unsigned ) {
26230 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
26252 #endif // SgAsmDirectRegisterExpression_OTHERS
26253 #ifdef DOCUMENTATION
26255 #endif // DOCUMENTATION
26262 #ifndef DOCUMENTATION
26263 AstNodeClass& AsmRegisterReferenceExpression = nonTerminalConstructor(
26264 "AsmRegisterReferenceExpression",
26266 "AsmRegisterReferenceExpression",
26267 "AsmRegisterReferenceExpressionTag",
26268 SubclassListBuilder()
26269 | AsmDirectRegisterExpression
26270 | AsmIndirectRegisterExpression
26272 assert(AsmRegisterReferenceExpression.associatedGrammar !=
nullptr);
26273 AsmRegisterReferenceExpression.setCppCondition(
"!defined(DOCUMENTATION)");
26274 AsmRegisterReferenceExpression.isBoostSerializable(
true);
26275 AsmRegisterReferenceExpression.setAutomaticGenerationOfConstructor(
false);
26276 AsmRegisterReferenceExpression.setAutomaticGenerationOfDestructor(
false);
26277 #endif // !DOCUMENTATION
26279 #ifdef DOCUMENTATION
26282 #endif // DOCUMENTATION
26284 #ifndef DOCUMENTATION
26285 AsmRegisterReferenceExpression.setDataPrototype(
26286 "Rose::BinaryAnalysis::RegisterDescriptor",
"descriptor",
"",
26287 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26288 #endif // !DOCUMENTATION
26290 #ifndef DOCUMENTATION
26291 AsmRegisterReferenceExpression.setDataPrototype(
26292 "int",
"adjustment",
"= 0",
26293 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26294 #endif // !DOCUMENTATION
26296 DECLARE_OTHERS(AsmRegisterReferenceExpression);
26297 #if defined(SgAsmRegisterReferenceExpression_OTHERS) || defined(DOCUMENTATION)
26300 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26302 friend class boost::serialization::access;
26305 void serialize(S &s,
const unsigned ) {
26308 s & BOOST_SERIALIZATION_NVP(p_descriptor);
26309 s & BOOST_SERIALIZATION_NVP(p_adjustment);
26312 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
26352 #endif // SgAsmRegisterReferenceExpression_OTHERS
26353 #ifdef DOCUMENTATION
26355 #endif // DOCUMENTATION
26362 DECLARE_LEAF_CLASS(AsmControlFlagsExpression);
26363 IS_SERIALIZABLE(AsmControlFlagsExpression);
26365 DECLARE_HEADERS(AsmControlFlagsExpression);
26366 #if defined(SgAsmControlFlagsExpression_HEADERS) || defined(DOCUMENTATION)
26368 #endif // SgAsmControlFlagsExpression_HEADERS
26370 #ifdef DOCUMENTATION
26372 #endif // DOCUMENTATION
26374 #ifndef DOCUMENTATION
26375 AsmControlFlagsExpression.setDataPrototype(
26376 "unsigned long",
"bit_flags",
"= 0",
26377 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26378 #endif // !DOCUMENTATION
26380 DECLARE_OTHERS(AsmControlFlagsExpression);
26381 #if defined(SgAsmControlFlagsExpression_OTHERS) || defined(DOCUMENTATION)
26384 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26386 friend class boost::serialization::access;
26389 void serialize(S &s,
const unsigned ) {
26392 s & BOOST_SERIALIZATION_NVP(p_bit_flags);
26395 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
26398 unsigned long const& get_bit_flags()
const;
26399 void set_bit_flags(
unsigned long const&);
26417 #endif // SgAsmControlFlagsExpression_OTHERS
26418 #ifdef DOCUMENTATION
26420 #endif // DOCUMENTATION
26427 #ifndef DOCUMENTATION
26428 AstNodeClass& AsmConstantExpression = nonTerminalConstructor(
26429 "AsmConstantExpression",
26431 "AsmConstantExpression",
26432 "AsmConstantExpressionTag",
26433 SubclassListBuilder()
26434 | AsmFloatValueExpression
26435 | AsmIntegerValueExpression
26437 assert(AsmConstantExpression.associatedGrammar !=
nullptr);
26438 AsmConstantExpression.setCppCondition(
"!defined(DOCUMENTATION)");
26439 AsmConstantExpression.isBoostSerializable(
true);
26440 AsmConstantExpression.setAutomaticGenerationOfConstructor(
false);
26441 AsmConstantExpression.setAutomaticGenerationOfDestructor(
false);
26442 #endif // !DOCUMENTATION
26444 DECLARE_HEADERS(AsmConstantExpression);
26445 #if defined(SgAsmConstantExpression_HEADERS) || defined(DOCUMENTATION)
26446 #include <Sawyer/BitVector.h>
26447 #endif // SgAsmConstantExpression_HEADERS
26449 #ifdef DOCUMENTATION
26455 #endif // DOCUMENTATION
26457 #ifndef DOCUMENTATION
26458 AsmConstantExpression.setDataPrototype(
26459 "Sawyer::Container::BitVector",
"bitVector",
"",
26460 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26461 #endif // !DOCUMENTATION
26463 DECLARE_OTHERS(AsmConstantExpression);
26464 #if defined(SgAsmConstantExpression_OTHERS) || defined(DOCUMENTATION)
26467 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26469 friend class boost::serialization::access;
26472 void serialize(S &s,
const unsigned ) {
26475 s & BOOST_SERIALIZATION_NVP(p_bitVector);
26478 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
26507 #endif // SgAsmConstantExpression_OTHERS
26508 #ifdef DOCUMENTATION
26510 #endif // DOCUMENTATION
26517 #ifndef DOCUMENTATION
26518 AstNodeClass& AsmValueExpression = nonTerminalConstructor(
26519 "AsmValueExpression",
26521 "AsmValueExpression",
26522 "AsmValueExpressionTag",
26523 SubclassListBuilder()
26524 | AsmConstantExpression
26526 assert(AsmValueExpression.associatedGrammar !=
nullptr);
26527 AsmValueExpression.setCppCondition(
"!defined(DOCUMENTATION)");
26528 AsmValueExpression.isBoostSerializable(
true);
26529 AsmValueExpression.setAutomaticGenerationOfConstructor(
false);
26530 AsmValueExpression.setAutomaticGenerationOfDestructor(
false);
26531 #endif // !DOCUMENTATION
26533 #ifdef DOCUMENTATION
26542 #endif // DOCUMENTATION
26544 #ifndef DOCUMENTATION
26545 AsmValueExpression.setDataPrototype(
26546 "SgAsmValueExpression*",
"unfolded_expression_tree",
"= nullptr",
26547 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26548 #endif // !DOCUMENTATION
26550 #ifndef DOCUMENTATION
26551 AsmValueExpression.setDataPrototype(
26552 "unsigned short",
"bit_offset",
"= 0",
26553 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26554 #endif // !DOCUMENTATION
26556 #ifndef DOCUMENTATION
26557 AsmValueExpression.setDataPrototype(
26558 "unsigned short",
"bit_size",
"= 0",
26559 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26560 #endif // !DOCUMENTATION
26562 #ifndef DOCUMENTATION
26563 AsmValueExpression.setDataPrototype(
26564 "SgSymbol*",
"symbol",
"= nullptr",
26565 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26566 #endif // !DOCUMENTATION
26568 DECLARE_OTHERS(AsmValueExpression);
26569 #if defined(SgAsmValueExpression_OTHERS) || defined(DOCUMENTATION)
26572 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26574 friend class boost::serialization::access;
26577 void serialize(S &s,
const unsigned ) {
26580 s & BOOST_SERIALIZATION_NVP(p_unfolded_expression_tree);
26581 s & BOOST_SERIALIZATION_NVP(p_bit_offset);
26582 s & BOOST_SERIALIZATION_NVP(p_bit_size);
26585 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
26650 #endif // SgAsmValueExpression_OTHERS
26651 #ifdef DOCUMENTATION
26653 #endif // DOCUMENTATION
26660 DECLARE_LEAF_CLASS(AsmCommonSubExpression);
26661 IS_SERIALIZABLE(AsmCommonSubExpression);
26663 DECLARE_HEADERS(AsmCommonSubExpression);
26664 #if defined(SgAsmCommonSubExpression_HEADERS) || defined(DOCUMENTATION)
26666 #endif // SgAsmCommonSubExpression_HEADERS
26668 #ifdef DOCUMENTATION
26670 #endif // DOCUMENTATION
26672 #ifndef DOCUMENTATION
26673 AsmCommonSubExpression.setDataPrototype(
26674 "SgAsmExpression*",
"subexpression",
"= nullptr",
26675 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26676 #endif // !DOCUMENTATION
26678 DECLARE_OTHERS(AsmCommonSubExpression);
26679 #if defined(SgAsmCommonSubExpression_OTHERS) || defined(DOCUMENTATION)
26682 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26684 friend class boost::serialization::access;
26687 void serialize(S &s,
const unsigned ) {
26690 s & BOOST_SERIALIZATION_NVP(p_subexpression);
26693 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
26715 #endif // SgAsmCommonSubExpression_OTHERS
26716 #ifdef DOCUMENTATION
26718 #endif // DOCUMENTATION
26725 DECLARE_LEAF_CLASS(AsmCoffSymbolTable);
26726 IS_SERIALIZABLE(AsmCoffSymbolTable);
26728 #ifdef DOCUMENTATION
26733 #endif // DOCUMENTATION
26735 #ifndef DOCUMENTATION
26736 AsmCoffSymbolTable.setDataPrototype(
26737 "SgAsmGenericSection*",
"strtab",
"= nullptr",
26738 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26739 #endif // !DOCUMENTATION
26741 #ifndef DOCUMENTATION
26742 AsmCoffSymbolTable.setDataPrototype(
26743 "SgAsmCoffSymbolList*",
"symbols",
"= createAndParent<SgAsmCoffSymbolList>(this)",
26744 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26745 #endif // !DOCUMENTATION
26747 DECLARE_OTHERS(AsmCoffSymbolTable);
26748 #if defined(SgAsmCoffSymbolTable_OTHERS) || defined(DOCUMENTATION)
26751 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26753 friend class boost::serialization::access;
26756 void serialize(S &s,
const unsigned ) {
26759 s & BOOST_SERIALIZATION_NVP(p_strtab);
26760 s & BOOST_SERIALIZATION_NVP(p_symbols);
26763 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
26784 size_t get_nslots()
const;
26786 virtual void unparse(std::ostream&)
const override;
26787 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
26804 #endif // SgAsmCoffSymbolTable_OTHERS
26805 #ifdef DOCUMENTATION
26807 #endif // DOCUMENTATION
26814 DECLARE_LEAF_CLASS(AsmCoffSymbolList);
26815 IS_SERIALIZABLE(AsmCoffSymbolList);
26817 #ifdef DOCUMENTATION
26820 #endif // DOCUMENTATION
26822 #ifndef DOCUMENTATION
26823 AsmCoffSymbolList.setDataPrototype(
26824 "SgAsmCoffSymbolPtrList",
"symbols",
"",
26825 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26826 #endif // !DOCUMENTATION
26828 DECLARE_OTHERS(AsmCoffSymbolList);
26829 #if defined(SgAsmCoffSymbolList_OTHERS) || defined(DOCUMENTATION)
26832 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26834 friend class boost::serialization::access;
26837 void serialize(S &s,
const unsigned ) {
26840 s & BOOST_SERIALIZATION_NVP(p_symbols);
26843 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
26849 SgAsmCoffSymbolPtrList
const&
get_symbols()
const;
26870 #endif // SgAsmCoffSymbolList_OTHERS
26871 #ifdef DOCUMENTATION
26873 #endif // DOCUMENTATION
26880 DECLARE_LEAF_CLASS(AsmCoffSymbol);
26881 IS_SERIALIZABLE(AsmCoffSymbol);
26883 #ifdef DOCUMENTATION
26886 #endif // DOCUMENTATION
26888 #ifndef DOCUMENTATION
26889 AsmCoffSymbol.setDataPrototype(
26890 "std::string",
"st_name",
"",
26891 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26892 #endif // !DOCUMENTATION
26894 #ifndef DOCUMENTATION
26895 AsmCoffSymbol.setDataPrototype(
26896 "rose_addr_t",
"st_name_offset",
"= 0",
26897 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26898 #endif // !DOCUMENTATION
26900 #ifndef DOCUMENTATION
26901 AsmCoffSymbol.setDataPrototype(
26902 "int",
"st_section_num",
"= 0",
26903 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26904 #endif // !DOCUMENTATION
26906 #ifndef DOCUMENTATION
26907 AsmCoffSymbol.setDataPrototype(
26908 "unsigned",
"st_type",
"= 0",
26909 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26910 #endif // !DOCUMENTATION
26912 #ifndef DOCUMENTATION
26913 AsmCoffSymbol.setDataPrototype(
26914 "unsigned",
"st_storage_class",
"= 0",
26915 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26916 #endif // !DOCUMENTATION
26918 #ifndef DOCUMENTATION
26919 AsmCoffSymbol.setDataPrototype(
26920 "unsigned",
"st_num_aux_entries",
"= 0",
26921 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26922 #endif // !DOCUMENTATION
26924 #ifndef DOCUMENTATION
26925 AsmCoffSymbol.setDataPrototype(
26926 "SgUnsignedCharList",
"aux_data",
"",
26927 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26928 #endif // !DOCUMENTATION
26930 DECLARE_OTHERS(AsmCoffSymbol);
26931 #if defined(SgAsmCoffSymbol_OTHERS) || defined(DOCUMENTATION)
26934 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26936 friend class boost::serialization::access;
26939 void serialize(S &s,
const unsigned ) {
26942 s & BOOST_SERIALIZATION_NVP(p_st_name);
26943 s & BOOST_SERIALIZATION_NVP(p_st_name_offset);
26944 s & BOOST_SERIALIZATION_NVP(p_st_section_num);
26945 s & BOOST_SERIALIZATION_NVP(p_st_type);
26946 s & BOOST_SERIALIZATION_NVP(p_st_storage_class);
26947 s & BOOST_SERIALIZATION_NVP(p_st_num_aux_entries);
26948 s & BOOST_SERIALIZATION_NVP(p_aux_data);
26951 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
26964 uint32_t st_offset;
26968 int16_t st_section_num;
26970 unsigned char st_storage_class;
26971 unsigned char st_num_aux_entries;
26974 #if !defined(SWIG) && !defined(_MSC_VER)
26975 __attribute__((packed))
27042 static const unsigned int COFFSymbol_disk_size = 18;
27050 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const override;
27067 #endif // SgAsmCoffSymbol_OTHERS
27068 #ifdef DOCUMENTATION
27070 #endif // DOCUMENTATION
27077 #ifndef DOCUMENTATION
27078 AstNodeClass& AsmGenericSymbol = nonTerminalConstructor(
27079 "AsmGenericSymbol",
27081 "AsmGenericSymbol",
27082 "AsmGenericSymbolTag",
27083 SubclassListBuilder()
27087 assert(AsmGenericSymbol.associatedGrammar !=
nullptr);
27088 AsmGenericSymbol.setCppCondition(
"!defined(DOCUMENTATION)");
27089 AsmGenericSymbol.isBoostSerializable(
true);
27090 AsmGenericSymbol.setAutomaticGenerationOfConstructor(
false);
27091 AsmGenericSymbol.setAutomaticGenerationOfDestructor(
false);
27092 #endif // !DOCUMENTATION
27094 DECLARE_HEADERS(AsmGenericSymbol);
27095 #if defined(SgAsmGenericSymbol_HEADERS) || defined(DOCUMENTATION)
27097 #endif // SgAsmGenericSymbol_HEADERS
27099 #ifdef DOCUMENTATION
27101 #endif // DOCUMENTATION
27103 #ifndef DOCUMENTATION
27104 AsmGenericSymbol.setDataPrototype(
27105 "SgAsmGenericSymbol::SymbolDefState",
"def_state",
"= SgAsmGenericSymbol::SYM_UNDEFINED",
27106 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27107 #endif // !DOCUMENTATION
27109 #ifndef DOCUMENTATION
27110 AsmGenericSymbol.setDataPrototype(
27111 "SgAsmGenericSymbol::SymbolBinding",
"binding",
"= SgAsmGenericSymbol::SYM_NO_BINDING",
27112 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27113 #endif // !DOCUMENTATION
27115 #ifndef DOCUMENTATION
27116 AsmGenericSymbol.setDataPrototype(
27117 "SgAsmGenericSymbol::SymbolType",
"type",
"= SgAsmGenericSymbol::SYM_NO_TYPE",
27118 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27119 #endif // !DOCUMENTATION
27121 #ifndef DOCUMENTATION
27122 AsmGenericSymbol.setDataPrototype(
27123 "rose_addr_t",
"value",
"= 0",
27124 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27125 #endif // !DOCUMENTATION
27127 #ifndef DOCUMENTATION
27128 AsmGenericSymbol.setDataPrototype(
27129 "rose_addr_t",
"size",
"= 0",
27130 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27131 #endif // !DOCUMENTATION
27133 #ifndef DOCUMENTATION
27134 AsmGenericSymbol.setDataPrototype(
27135 "SgAsmGenericSection*",
"bound",
"= nullptr",
27136 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27137 #endif // !DOCUMENTATION
27139 #ifndef DOCUMENTATION
27140 AsmGenericSymbol.setDataPrototype(
27141 "SgAsmGenericString*",
"name",
"= nullptr",
27142 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27143 #endif // !DOCUMENTATION
27145 DECLARE_OTHERS(AsmGenericSymbol);
27146 #if defined(SgAsmGenericSymbol_OTHERS) || defined(DOCUMENTATION)
27149 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27151 friend class boost::serialization::access;
27154 void serialize(S &s,
const unsigned ) {
27157 s & BOOST_SERIALIZATION_NVP(p_def_state);
27158 s & BOOST_SERIALIZATION_NVP(p_binding);
27159 s & BOOST_SERIALIZATION_NVP(p_type);
27160 s & BOOST_SERIALIZATION_NVP(p_value);
27161 s & BOOST_SERIALIZATION_NVP(p_size);
27162 s & BOOST_SERIALIZATION_NVP(p_bound);
27163 s & BOOST_SERIALIZATION_NVP(p_name);
27166 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
27239 rose_addr_t
const&
get_size()
const;
27240 void set_size(rose_addr_t
const&);
27264 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
27281 #endif // SgAsmGenericSymbol_OTHERS
27282 #ifdef DOCUMENTATION
27284 #endif // DOCUMENTATION
27291 DECLARE_LEAF_CLASS(AsmCoffStrtab);
27292 IS_SERIALIZABLE(AsmCoffStrtab);
27294 #ifdef DOCUMENTATION
27297 #endif // DOCUMENTATION
27299 DECLARE_OTHERS(AsmCoffStrtab);
27300 #if defined(SgAsmCoffStrtab_OTHERS) || defined(DOCUMENTATION)
27303 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27305 friend class boost::serialization::access;
27308 void serialize(S &s,
const unsigned ) {
27313 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
27317 virtual void unparse(std::ostream&)
const;
27318 virtual SgAsmStringStorage *create_storage(rose_addr_t offset,
bool shared)
override;
27336 #endif // SgAsmCoffStrtab_OTHERS
27337 #ifdef DOCUMENTATION
27339 #endif // DOCUMENTATION
27346 #ifndef DOCUMENTATION
27347 AstNodeClass& AsmGenericStrtab = nonTerminalConstructor(
27348 "AsmGenericStrtab",
27350 "AsmGenericStrtab",
27351 "AsmGenericStrtabTag",
27352 SubclassListBuilder()
27356 assert(AsmGenericStrtab.associatedGrammar !=
nullptr);
27357 AsmGenericStrtab.setCppCondition(
"!defined(DOCUMENTATION)");
27358 AsmGenericStrtab.isBoostSerializable(
true);
27359 AsmGenericStrtab.setAutomaticGenerationOfConstructor(
false);
27360 AsmGenericStrtab.setAutomaticGenerationOfDestructor(
false);
27361 #endif // !DOCUMENTATION
27363 #ifdef DOCUMENTATION
27366 #endif // DOCUMENTATION
27368 #ifndef DOCUMENTATION
27369 AsmGenericStrtab.setDataPrototype(
27370 "SgAsmGenericSection*",
"container",
"= nullptr",
27371 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27372 #endif // !DOCUMENTATION
27374 #ifndef DOCUMENTATION
27375 AsmGenericStrtab.setDataPrototype(
27376 "SgAsmGenericStrtab::referenced_t",
"storage_list",
"",
27377 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27378 #endif // !DOCUMENTATION
27380 #ifndef DOCUMENTATION
27381 AsmGenericStrtab.setDataPrototype(
27382 "AddressIntervalSet",
"freelist",
"",
27383 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27384 #endif // !DOCUMENTATION
27386 #ifndef DOCUMENTATION
27387 AsmGenericStrtab.setDataPrototype(
27388 "SgAsmStringStorage*",
"dont_free",
"= nullptr",
27389 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27390 #endif // !DOCUMENTATION
27392 #ifndef DOCUMENTATION
27393 AsmGenericStrtab.setDataPrototype(
27394 "size_t",
"num_freed",
"= 0",
27395 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27396 #endif // !DOCUMENTATION
27398 DECLARE_OTHERS(AsmGenericStrtab);
27399 #if defined(SgAsmGenericStrtab_OTHERS) || defined(DOCUMENTATION)
27402 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27404 friend class boost::serialization::access;
27407 void serialize(S &s,
const unsigned ) {
27410 s & BOOST_SERIALIZATION_NVP(p_container);
27411 s & BOOST_SERIALIZATION_NVP(p_storage_list);
27412 s & BOOST_SERIALIZATION_NVP(p_freelist);
27413 s & BOOST_SERIALIZATION_NVP(p_dont_free);
27414 s & BOOST_SERIALIZATION_NVP(p_num_freed);
27417 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
27422 typedef std::vector<class SgAsmStringStorage*> referenced_t;
27478 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
27492 void free(rose_addr_t offset, rose_addr_t size);
27510 virtual SgAsmStringStorage *create_storage(rose_addr_t ,
bool ) {abort();
return NULL;}
27511 virtual rose_addr_t get_storage_size(
const SgAsmStringStorage*) {abort();
return 0;}
27529 #endif // SgAsmGenericStrtab_OTHERS
27530 #ifdef DOCUMENTATION
27532 #endif // DOCUMENTATION
27539 DECLARE_LEAF_CLASS(AsmCliHeader);
27540 IS_SERIALIZABLE(AsmCliHeader);
27542 #ifdef DOCUMENTATION
27547 #endif // DOCUMENTATION
27549 #ifndef DOCUMENTATION
27550 AsmCliHeader.setDataPrototype(
27551 "uint32_t",
"cb",
"= 0",
27552 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27553 #endif // !DOCUMENTATION
27555 #ifndef DOCUMENTATION
27556 AsmCliHeader.setDataPrototype(
27557 "uint16_t",
"majorRuntimeVersion",
"= 0",
27558 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27559 #endif // !DOCUMENTATION
27561 #ifndef DOCUMENTATION
27562 AsmCliHeader.setDataPrototype(
27563 "uint16_t",
"minorRuntimeVersion",
"= 0",
27564 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27565 #endif // !DOCUMENTATION
27567 #ifndef DOCUMENTATION
27568 AsmCliHeader.setDataPrototype(
27569 "uint64_t",
"metaData",
"= 0",
27570 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27571 #endif // !DOCUMENTATION
27573 #ifndef DOCUMENTATION
27574 AsmCliHeader.setDataPrototype(
27575 "uint32_t",
"flags",
"= 0",
27576 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27577 #endif // !DOCUMENTATION
27579 #ifndef DOCUMENTATION
27580 AsmCliHeader.setDataPrototype(
27581 "uint32_t",
"entryPointToken",
"= 0",
27582 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27583 #endif // !DOCUMENTATION
27585 #ifndef DOCUMENTATION
27586 AsmCliHeader.setDataPrototype(
27587 "uint64_t",
"resources",
"= 0",
27588 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27589 #endif // !DOCUMENTATION
27591 #ifndef DOCUMENTATION
27592 AsmCliHeader.setDataPrototype(
27593 "uint64_t",
"strongNameSignature",
"= 0",
27594 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27595 #endif // !DOCUMENTATION
27597 #ifndef DOCUMENTATION
27598 AsmCliHeader.setDataPrototype(
27599 "uint64_t",
"codeManagerTable",
"= 0",
27600 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27601 #endif // !DOCUMENTATION
27603 #ifndef DOCUMENTATION
27604 AsmCliHeader.setDataPrototype(
27605 "uint64_t",
"vTableFixups",
"= 0",
27606 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27607 #endif // !DOCUMENTATION
27609 #ifndef DOCUMENTATION
27610 AsmCliHeader.setDataPrototype(
27611 "uint64_t",
"exportAddressTableJumps",
"= 0",
27612 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27613 #endif // !DOCUMENTATION
27615 #ifndef DOCUMENTATION
27616 AsmCliHeader.setDataPrototype(
27617 "uint64_t",
"managedNativeHeader",
"= 0",
27618 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27619 #endif // !DOCUMENTATION
27621 #ifndef DOCUMENTATION
27622 AsmCliHeader.setDataPrototype(
27623 "SgAsmCilMetadataRoot*",
"metadataRoot",
"= nullptr",
27624 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27625 #endif // !DOCUMENTATION
27627 DECLARE_OTHERS(AsmCliHeader);
27628 #if defined(SgAsmCliHeader_OTHERS) || defined(DOCUMENTATION)
27631 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27633 friend class boost::serialization::access;
27636 void serialize(S &s,
const unsigned ) {
27639 s & BOOST_SERIALIZATION_NVP(p_cb);
27640 s & BOOST_SERIALIZATION_NVP(p_majorRuntimeVersion);
27641 s & BOOST_SERIALIZATION_NVP(p_minorRuntimeVersion);
27642 s & BOOST_SERIALIZATION_NVP(p_metaData);
27643 s & BOOST_SERIALIZATION_NVP(p_flags);
27644 s & BOOST_SERIALIZATION_NVP(p_entryPointToken);
27645 s & BOOST_SERIALIZATION_NVP(p_resources);
27646 s & BOOST_SERIALIZATION_NVP(p_strongNameSignature);
27647 s & BOOST_SERIALIZATION_NVP(p_codeManagerTable);
27648 s & BOOST_SERIALIZATION_NVP(p_vTableFixups);
27649 s & BOOST_SERIALIZATION_NVP(p_exportAddressTableJumps);
27650 s & BOOST_SERIALIZATION_NVP(p_managedNativeHeader);
27653 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
27661 uint32_t
const&
get_cb()
const;
27662 void set_cb(uint32_t
const&);
27792 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
27809 #endif // SgAsmCliHeader_OTHERS
27810 #ifdef DOCUMENTATION
27812 #endif // DOCUMENTATION
27819 #ifndef DOCUMENTATION
27820 AstNodeClass& AsmGenericSection = nonTerminalConstructor(
27821 "AsmGenericSection",
27823 "AsmGenericSection",
27824 "AsmGenericSectionTag",
27825 SubclassListBuilder()
27827 | AsmCoffSymbolTable
27828 | AsmDOSExtendedHeader
27830 | AsmElfSectionTable
27831 | AsmElfSegmentTable
27833 | AsmJvmAttributeTable
27834 | AsmJvmConstantPool
27836 | AsmJvmMethodTable
27842 | AsmLESectionTable
27848 | AsmNESectionTable
27851 | AsmPESectionTable
27853 assert(AsmGenericSection.associatedGrammar !=
nullptr);
27854 AsmGenericSection.setCppCondition(
"!defined(DOCUMENTATION)");
27855 AsmGenericSection.isBoostSerializable(
true);
27856 AsmGenericSection.setAutomaticGenerationOfConstructor(
false);
27857 AsmGenericSection.setAutomaticGenerationOfDestructor(
false);
27858 #endif // !DOCUMENTATION
27860 #ifdef DOCUMENTATION
27866 #endif // DOCUMENTATION
27868 #ifndef DOCUMENTATION
27869 AsmGenericSection.setDataPrototype(
27870 "SgAsmGenericFile*",
"file",
"= nullptr",
27871 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27872 #endif // !DOCUMENTATION
27874 #ifndef DOCUMENTATION
27875 AsmGenericSection.setDataPrototype(
27876 "SgAsmGenericHeader*",
"header",
"= nullptr",
27877 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27878 #endif // !DOCUMENTATION
27880 #ifndef DOCUMENTATION
27881 AsmGenericSection.setDataPrototype(
27882 "rose_addr_t",
"size",
"= 0",
27883 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27884 #endif // !DOCUMENTATION
27886 #ifndef DOCUMENTATION
27887 AsmGenericSection.setDataPrototype(
27888 "rose_addr_t",
"offset",
"= 0",
27889 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27890 #endif // !DOCUMENTATION
27892 #ifndef DOCUMENTATION
27893 AsmGenericSection.setDataPrototype(
27894 "rose_addr_t",
"file_alignment",
"= 0",
27895 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27896 #endif // !DOCUMENTATION
27898 #ifndef DOCUMENTATION
27899 AsmGenericSection.setDataPrototype(
27900 "SgFileContentList",
"data",
"",
27901 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27902 #endif // !DOCUMENTATION
27904 #ifndef DOCUMENTATION
27905 AsmGenericSection.setDataPrototype(
27906 "SgAsmGenericSection::SectionPurpose",
"purpose",
"= SgAsmGenericSection::SP_UNSPECIFIED",
27907 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27908 #endif // !DOCUMENTATION
27910 #ifndef DOCUMENTATION
27911 AsmGenericSection.setDataPrototype(
27912 "bool",
"synthesized",
"= false",
27913 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27914 #endif // !DOCUMENTATION
27916 #ifndef DOCUMENTATION
27917 AsmGenericSection.setDataPrototype(
27918 "int",
"id",
"= -1",
27919 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27920 #endif // !DOCUMENTATION
27922 #ifndef DOCUMENTATION
27923 AsmGenericSection.setDataPrototype(
27924 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
27925 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27926 #endif // !DOCUMENTATION
27928 #ifndef DOCUMENTATION
27929 AsmGenericSection.setDataPrototype(
27930 "std::string",
"short_name",
"",
27931 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27932 #endif // !DOCUMENTATION
27934 #ifndef DOCUMENTATION
27935 AsmGenericSection.setDataPrototype(
27936 "rose_addr_t",
"mapped_preferred_rva",
"= 0",
27937 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27938 #endif // !DOCUMENTATION
27940 #ifndef DOCUMENTATION
27941 AsmGenericSection.setDataPrototype(
27942 "rose_addr_t",
"mapped_size",
"= 0",
27943 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27944 #endif // !DOCUMENTATION
27946 #ifndef DOCUMENTATION
27947 AsmGenericSection.setDataPrototype(
27948 "rose_addr_t",
"mapped_alignment",
"= 0",
27949 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27950 #endif // !DOCUMENTATION
27952 #ifndef DOCUMENTATION
27953 AsmGenericSection.setDataPrototype(
27954 "bool",
"mapped_rperm",
"= false",
27955 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27956 #endif // !DOCUMENTATION
27958 #ifndef DOCUMENTATION
27959 AsmGenericSection.setDataPrototype(
27960 "bool",
"mapped_wperm",
"= false",
27961 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27962 #endif // !DOCUMENTATION
27964 #ifndef DOCUMENTATION
27965 AsmGenericSection.setDataPrototype(
27966 "bool",
"mapped_xperm",
"= false",
27967 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27968 #endif // !DOCUMENTATION
27970 #ifndef DOCUMENTATION
27971 AsmGenericSection.setDataPrototype(
27972 "bool",
"contains_code",
"= false",
27973 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27974 #endif // !DOCUMENTATION
27976 #ifndef DOCUMENTATION
27977 AsmGenericSection.setDataPrototype(
27978 "rose_addr_t",
"mapped_actual_va",
"= 0",
27979 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27980 #endif // !DOCUMENTATION
27982 DECLARE_OTHERS(AsmGenericSection);
27983 #if defined(SgAsmGenericSection_OTHERS) || defined(DOCUMENTATION)
27986 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27988 friend class boost::serialization::access;
27991 void serialize(S &s,
const unsigned ) {
27994 s & BOOST_SERIALIZATION_NVP(p_file);
27995 s & BOOST_SERIALIZATION_NVP(p_header);
27996 s & BOOST_SERIALIZATION_NVP(p_size);
27997 s & BOOST_SERIALIZATION_NVP(p_offset);
27998 s & BOOST_SERIALIZATION_NVP(p_file_alignment);
27999 s & BOOST_SERIALIZATION_NVP(p_data);
28000 s & BOOST_SERIALIZATION_NVP(p_purpose);
28001 s & BOOST_SERIALIZATION_NVP(p_synthesized);
28002 s & BOOST_SERIALIZATION_NVP(p_id);
28003 s & BOOST_SERIALIZATION_NVP(p_name);
28004 s & BOOST_SERIALIZATION_NVP(p_short_name);
28005 s & BOOST_SERIALIZATION_NVP(p_mapped_preferred_rva);
28006 s & BOOST_SERIALIZATION_NVP(p_mapped_size);
28007 s & BOOST_SERIALIZATION_NVP(p_mapped_alignment);
28008 s & BOOST_SERIALIZATION_NVP(p_mapped_rperm);
28009 s & BOOST_SERIALIZATION_NVP(p_mapped_wperm);
28010 s & BOOST_SERIALIZATION_NVP(p_mapped_xperm);
28011 s & BOOST_SERIALIZATION_NVP(p_contains_code);
28012 s & BOOST_SERIALIZATION_NVP(p_mapped_actual_va);
28015 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
28063 virtual void set_size(rose_addr_t);
28122 int const&
get_id()
const;
28123 void set_id(
int const&);
28242 unsigned char *local_data_pool;
28268 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
28271 virtual bool reallocate() {
return false; }
28276 virtual void unparse(std::ostream&)
const;
28299 void extend(rose_addr_t nbytes);
28316 rose_addr_t
write(std::ostream &f, rose_addr_t offset,
size_t bufsize,
const void *buf)
const;
28317 rose_addr_t
write(std::ostream &f, rose_addr_t offset,
const std::string &str)
const;
28318 rose_addr_t
write(std::ostream &f, rose_addr_t offset,
char c)
const;
28320 rose_addr_t
write(std::ostream &f, rose_addr_t offset,
const SgUnsignedCharList &buf)
const;
28326 rose_addr_t
write_uleb128(
unsigned char*, rose_addr_t offset, uint64_t)
const;
28331 rose_addr_t
write_sleb128(
unsigned char*, rose_addr_t offset, int64_t)
const;
28340 size_t read_content(rose_addr_t abs_offset,
void *dst_buf, rose_addr_t size,
bool strict=
true);
28354 rose_addr_t size,
bool strict=
true);
28356 rose_addr_t size,
bool strict=
true);
28365 size_t read_content_local(rose_addr_t rel_offset,
void *dst_buf, rose_addr_t size,
bool strict=
true);
28517 #endif // SgAsmGenericSection_OTHERS
28518 #ifdef DOCUMENTATION
28520 #endif // DOCUMENTATION
28527 DECLARE_LEAF_CLASS(AsmCilUint8Heap);
28528 IS_SERIALIZABLE(AsmCilUint8Heap);
28530 #ifdef DOCUMENTATION
28533 #endif // DOCUMENTATION
28535 #ifndef DOCUMENTATION
28536 AsmCilUint8Heap.setDataPrototype(
28537 "std::vector<uint8_t>",
"Stream",
"",
28538 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28539 #endif // !DOCUMENTATION
28541 DECLARE_OTHERS(AsmCilUint8Heap);
28542 #if defined(SgAsmCilUint8Heap_OTHERS) || defined(DOCUMENTATION)
28545 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28547 friend class boost::serialization::access;
28550 void serialize(S &s,
const unsigned ) {
28553 s & BOOST_SERIALIZATION_NVP(p_Stream);
28556 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
28559 std::vector<uint8_t>
const& get_Stream()
const;
28560 std::vector<uint8_t>& get_Stream();
28562 void parse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
28574 uint32_t
const& Size,
28575 std::string
const& Name,
28576 uint32_t
const& NamePadding);
28586 #endif // SgAsmCilUint8Heap_OTHERS
28587 #ifdef DOCUMENTATION
28589 #endif // DOCUMENTATION
28596 DECLARE_LEAF_CLASS(AsmCilUint32Heap);
28597 IS_SERIALIZABLE(AsmCilUint32Heap);
28599 #ifdef DOCUMENTATION
28602 #endif // DOCUMENTATION
28604 #ifndef DOCUMENTATION
28605 AsmCilUint32Heap.setDataPrototype(
28606 "std::vector<uint32_t>",
"Stream",
"",
28607 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28608 #endif // !DOCUMENTATION
28610 DECLARE_OTHERS(AsmCilUint32Heap);
28611 #if defined(SgAsmCilUint32Heap_OTHERS) || defined(DOCUMENTATION)
28614 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28616 friend class boost::serialization::access;
28619 void serialize(S &s,
const unsigned ) {
28622 s & BOOST_SERIALIZATION_NVP(p_Stream);
28625 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
28628 std::vector<uint32_t>
const& get_Stream()
const;
28629 std::vector<uint32_t>& get_Stream();
28631 void parse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
28643 uint32_t
const& Size,
28644 std::string
const& Name,
28645 uint32_t
const& NamePadding);
28655 #endif // SgAsmCilUint32Heap_OTHERS
28656 #ifdef DOCUMENTATION
28658 #endif // DOCUMENTATION
28665 DECLARE_LEAF_CLASS(AsmCilTypeSpecTable);
28666 IS_SERIALIZABLE(AsmCilTypeSpecTable);
28668 #ifdef DOCUMENTATION
28671 #endif // DOCUMENTATION
28673 #ifndef DOCUMENTATION
28674 AsmCilTypeSpecTable.setDataPrototype(
28675 "std::vector<SgAsmCilTypeSpec*>",
"elements",
"",
28676 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28677 #endif // !DOCUMENTATION
28679 DECLARE_OTHERS(AsmCilTypeSpecTable);
28680 #if defined(SgAsmCilTypeSpecTable_OTHERS) || defined(DOCUMENTATION)
28683 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28685 friend class boost::serialization::access;
28688 void serialize(S &s,
const unsigned ) {
28691 s & BOOST_SERIALIZATION_NVP(p_elements);
28694 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
28697 std::vector<SgAsmCilTypeSpec*>
const& get_elements()
const;
28698 std::vector<SgAsmCilTypeSpec*>& get_elements();
28717 #endif // SgAsmCilTypeSpecTable_OTHERS
28718 #ifdef DOCUMENTATION
28720 #endif // DOCUMENTATION
28727 DECLARE_LEAF_CLASS(AsmCilTypeSpec);
28728 IS_SERIALIZABLE(AsmCilTypeSpec);
28730 #ifdef DOCUMENTATION
28733 #endif // DOCUMENTATION
28735 #ifndef DOCUMENTATION
28736 AsmCilTypeSpec.setDataPrototype(
28737 "uint32_t",
"Signature",
"= 0",
28738 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28739 #endif // !DOCUMENTATION
28741 DECLARE_OTHERS(AsmCilTypeSpec);
28742 #if defined(SgAsmCilTypeSpec_OTHERS) || defined(DOCUMENTATION)
28745 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28747 friend class boost::serialization::access;
28750 void serialize(S &s,
const unsigned ) {
28753 s & BOOST_SERIALIZATION_NVP(p_Signature);
28756 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
28768 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
28770 const std::uint8_t* get_Signature_blob()
const;
28787 #endif // SgAsmCilTypeSpec_OTHERS
28788 #ifdef DOCUMENTATION
28790 #endif // DOCUMENTATION
28797 DECLARE_LEAF_CLASS(AsmCilTypeRefTable);
28798 IS_SERIALIZABLE(AsmCilTypeRefTable);
28800 #ifdef DOCUMENTATION
28803 #endif // DOCUMENTATION
28805 #ifndef DOCUMENTATION
28806 AsmCilTypeRefTable.setDataPrototype(
28807 "std::vector<SgAsmCilTypeRef*>",
"elements",
"",
28808 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28809 #endif // !DOCUMENTATION
28811 DECLARE_OTHERS(AsmCilTypeRefTable);
28812 #if defined(SgAsmCilTypeRefTable_OTHERS) || defined(DOCUMENTATION)
28815 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28817 friend class boost::serialization::access;
28820 void serialize(S &s,
const unsigned ) {
28823 s & BOOST_SERIALIZATION_NVP(p_elements);
28826 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
28829 std::vector<SgAsmCilTypeRef*>
const& get_elements()
const;
28830 std::vector<SgAsmCilTypeRef*>& get_elements();
28849 #endif // SgAsmCilTypeRefTable_OTHERS
28850 #ifdef DOCUMENTATION
28852 #endif // DOCUMENTATION
28859 DECLARE_LEAF_CLASS(AsmCilTypeRef);
28860 IS_SERIALIZABLE(AsmCilTypeRef);
28862 #ifdef DOCUMENTATION
28865 #endif // DOCUMENTATION
28867 #ifndef DOCUMENTATION
28868 AsmCilTypeRef.setDataPrototype(
28869 "uint16_t",
"ResolutionScope",
"= 0",
28870 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28871 #endif // !DOCUMENTATION
28873 #ifndef DOCUMENTATION
28874 AsmCilTypeRef.setDataPrototype(
28875 "uint32_t",
"TypeName",
"= 0",
28876 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28877 #endif // !DOCUMENTATION
28879 #ifndef DOCUMENTATION
28880 AsmCilTypeRef.setDataPrototype(
28881 "uint32_t",
"TypeNamespace",
"= 0",
28882 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28883 #endif // !DOCUMENTATION
28885 DECLARE_OTHERS(AsmCilTypeRef);
28886 #if defined(SgAsmCilTypeRef_OTHERS) || defined(DOCUMENTATION)
28889 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28891 friend class boost::serialization::access;
28894 void serialize(S &s,
const unsigned ) {
28897 s & BOOST_SERIALIZATION_NVP(p_ResolutionScope);
28898 s & BOOST_SERIALIZATION_NVP(p_TypeName);
28899 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
28902 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
28934 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
28937 const std::uint8_t* get_TypeName_string()
const;
28938 const std::uint8_t* get_TypeNamespace_string()
const;
28955 #endif // SgAsmCilTypeRef_OTHERS
28956 #ifdef DOCUMENTATION
28958 #endif // DOCUMENTATION
28965 DECLARE_LEAF_CLASS(AsmCilTypeDefTable);
28966 IS_SERIALIZABLE(AsmCilTypeDefTable);
28968 #ifdef DOCUMENTATION
28971 #endif // DOCUMENTATION
28973 #ifndef DOCUMENTATION
28974 AsmCilTypeDefTable.setDataPrototype(
28975 "std::vector<SgAsmCilTypeDef*>",
"elements",
"",
28976 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28977 #endif // !DOCUMENTATION
28979 DECLARE_OTHERS(AsmCilTypeDefTable);
28980 #if defined(SgAsmCilTypeDefTable_OTHERS) || defined(DOCUMENTATION)
28983 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28985 friend class boost::serialization::access;
28988 void serialize(S &s,
const unsigned ) {
28991 s & BOOST_SERIALIZATION_NVP(p_elements);
28994 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
28997 std::vector<SgAsmCilTypeDef*>
const& get_elements()
const;
28998 std::vector<SgAsmCilTypeDef*>& get_elements();
29017 #endif // SgAsmCilTypeDefTable_OTHERS
29018 #ifdef DOCUMENTATION
29020 #endif // DOCUMENTATION
29027 DECLARE_LEAF_CLASS(AsmCilTypeDef);
29028 IS_SERIALIZABLE(AsmCilTypeDef);
29030 #ifdef DOCUMENTATION
29033 #endif // DOCUMENTATION
29035 #ifndef DOCUMENTATION
29036 AsmCilTypeDef.setDataPrototype(
29037 "uint32_t",
"Flags",
"= 0",
29038 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29039 #endif // !DOCUMENTATION
29041 #ifndef DOCUMENTATION
29042 AsmCilTypeDef.setDataPrototype(
29043 "uint32_t",
"TypeName",
"= 0",
29044 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29045 #endif // !DOCUMENTATION
29047 #ifndef DOCUMENTATION
29048 AsmCilTypeDef.setDataPrototype(
29049 "uint32_t",
"TypeNamespace",
"= 0",
29050 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29051 #endif // !DOCUMENTATION
29053 #ifndef DOCUMENTATION
29054 AsmCilTypeDef.setDataPrototype(
29055 "uint32_t",
"Extends",
"= 0",
29056 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29057 #endif // !DOCUMENTATION
29059 #ifndef DOCUMENTATION
29060 AsmCilTypeDef.setDataPrototype(
29061 "uint32_t",
"FieldList",
"= 0",
29062 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29063 #endif // !DOCUMENTATION
29065 #ifndef DOCUMENTATION
29066 AsmCilTypeDef.setDataPrototype(
29067 "uint32_t",
"MethodList",
"= 0",
29068 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29069 #endif // !DOCUMENTATION
29071 DECLARE_OTHERS(AsmCilTypeDef);
29072 #if defined(SgAsmCilTypeDef_OTHERS) || defined(DOCUMENTATION)
29075 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29077 friend class boost::serialization::access;
29080 void serialize(S &s,
const unsigned ) {
29083 s & BOOST_SERIALIZATION_NVP(p_Flags);
29084 s & BOOST_SERIALIZATION_NVP(p_TypeName);
29085 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
29086 s & BOOST_SERIALIZATION_NVP(p_Extends);
29087 s & BOOST_SERIALIZATION_NVP(p_FieldList);
29088 s & BOOST_SERIALIZATION_NVP(p_MethodList);
29091 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29153 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
29155 const std::uint8_t* get_TypeName_string()
const;
29156 const std::uint8_t* get_TypeNamespace_string()
const;
29176 #endif // SgAsmCilTypeDef_OTHERS
29177 #ifdef DOCUMENTATION
29179 #endif // DOCUMENTATION
29186 DECLARE_LEAF_CLASS(AsmCilStandAloneSigTable);
29187 IS_SERIALIZABLE(AsmCilStandAloneSigTable);
29189 #ifdef DOCUMENTATION
29192 #endif // DOCUMENTATION
29194 #ifndef DOCUMENTATION
29195 AsmCilStandAloneSigTable.setDataPrototype(
29196 "std::vector<SgAsmCilStandAloneSig*>",
"elements",
"",
29197 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29198 #endif // !DOCUMENTATION
29200 DECLARE_OTHERS(AsmCilStandAloneSigTable);
29201 #if defined(SgAsmCilStandAloneSigTable_OTHERS) || defined(DOCUMENTATION)
29204 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29206 friend class boost::serialization::access;
29209 void serialize(S &s,
const unsigned ) {
29212 s & BOOST_SERIALIZATION_NVP(p_elements);
29215 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29218 std::vector<SgAsmCilStandAloneSig*>
const& get_elements()
const;
29219 std::vector<SgAsmCilStandAloneSig*>& get_elements();
29238 #endif // SgAsmCilStandAloneSigTable_OTHERS
29239 #ifdef DOCUMENTATION
29241 #endif // DOCUMENTATION
29248 DECLARE_LEAF_CLASS(AsmCilStandAloneSig);
29249 IS_SERIALIZABLE(AsmCilStandAloneSig);
29251 #ifdef DOCUMENTATION
29254 #endif // DOCUMENTATION
29256 #ifndef DOCUMENTATION
29257 AsmCilStandAloneSig.setDataPrototype(
29258 "uint32_t",
"Signature",
"= 0",
29259 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29260 #endif // !DOCUMENTATION
29262 DECLARE_OTHERS(AsmCilStandAloneSig);
29263 #if defined(SgAsmCilStandAloneSig_OTHERS) || defined(DOCUMENTATION)
29266 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29268 friend class boost::serialization::access;
29271 void serialize(S &s,
const unsigned ) {
29274 s & BOOST_SERIALIZATION_NVP(p_Signature);
29277 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29289 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
29291 const std::uint8_t* get_Signature_blob()
const;
29308 #endif // SgAsmCilStandAloneSig_OTHERS
29309 #ifdef DOCUMENTATION
29311 #endif // DOCUMENTATION
29318 DECLARE_LEAF_CLASS(AsmCilPropertyTable);
29319 IS_SERIALIZABLE(AsmCilPropertyTable);
29321 #ifdef DOCUMENTATION
29324 #endif // DOCUMENTATION
29326 #ifndef DOCUMENTATION
29327 AsmCilPropertyTable.setDataPrototype(
29328 "std::vector<SgAsmCilProperty*>",
"elements",
"",
29329 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29330 #endif // !DOCUMENTATION
29332 DECLARE_OTHERS(AsmCilPropertyTable);
29333 #if defined(SgAsmCilPropertyTable_OTHERS) || defined(DOCUMENTATION)
29336 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29338 friend class boost::serialization::access;
29341 void serialize(S &s,
const unsigned ) {
29344 s & BOOST_SERIALIZATION_NVP(p_elements);
29347 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29350 std::vector<SgAsmCilProperty*>
const& get_elements()
const;
29351 std::vector<SgAsmCilProperty*>& get_elements();
29370 #endif // SgAsmCilPropertyTable_OTHERS
29371 #ifdef DOCUMENTATION
29373 #endif // DOCUMENTATION
29380 DECLARE_LEAF_CLASS(AsmCilPropertyMapTable);
29381 IS_SERIALIZABLE(AsmCilPropertyMapTable);
29383 #ifdef DOCUMENTATION
29386 #endif // DOCUMENTATION
29388 #ifndef DOCUMENTATION
29389 AsmCilPropertyMapTable.setDataPrototype(
29390 "std::vector<SgAsmCilPropertyMap*>",
"elements",
"",
29391 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29392 #endif // !DOCUMENTATION
29394 DECLARE_OTHERS(AsmCilPropertyMapTable);
29395 #if defined(SgAsmCilPropertyMapTable_OTHERS) || defined(DOCUMENTATION)
29398 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29400 friend class boost::serialization::access;
29403 void serialize(S &s,
const unsigned ) {
29406 s & BOOST_SERIALIZATION_NVP(p_elements);
29409 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29412 std::vector<SgAsmCilPropertyMap*>
const& get_elements()
const;
29413 std::vector<SgAsmCilPropertyMap*>& get_elements();
29432 #endif // SgAsmCilPropertyMapTable_OTHERS
29433 #ifdef DOCUMENTATION
29435 #endif // DOCUMENTATION
29442 DECLARE_LEAF_CLASS(AsmCilPropertyMap);
29443 IS_SERIALIZABLE(AsmCilPropertyMap);
29445 #ifdef DOCUMENTATION
29448 #endif // DOCUMENTATION
29450 #ifndef DOCUMENTATION
29451 AsmCilPropertyMap.setDataPrototype(
29452 "uint32_t",
"Parent",
"= 0",
29453 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29454 #endif // !DOCUMENTATION
29456 #ifndef DOCUMENTATION
29457 AsmCilPropertyMap.setDataPrototype(
29458 "uint32_t",
"PropertyList",
"= 0",
29459 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29460 #endif // !DOCUMENTATION
29462 DECLARE_OTHERS(AsmCilPropertyMap);
29463 #if defined(SgAsmCilPropertyMap_OTHERS) || defined(DOCUMENTATION)
29466 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29468 friend class boost::serialization::access;
29471 void serialize(S &s,
const unsigned ) {
29474 s & BOOST_SERIALIZATION_NVP(p_Parent);
29475 s & BOOST_SERIALIZATION_NVP(p_PropertyList);
29478 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29500 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
29520 #endif // SgAsmCilPropertyMap_OTHERS
29521 #ifdef DOCUMENTATION
29523 #endif // DOCUMENTATION
29530 DECLARE_LEAF_CLASS(AsmCilProperty);
29531 IS_SERIALIZABLE(AsmCilProperty);
29533 #ifdef DOCUMENTATION
29536 #endif // DOCUMENTATION
29538 #ifndef DOCUMENTATION
29539 AsmCilProperty.setDataPrototype(
29540 "uint16_t",
"Flags",
"= 0",
29541 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29542 #endif // !DOCUMENTATION
29544 #ifndef DOCUMENTATION
29545 AsmCilProperty.setDataPrototype(
29546 "uint32_t",
"Name",
"= 0",
29547 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29548 #endif // !DOCUMENTATION
29550 #ifndef DOCUMENTATION
29551 AsmCilProperty.setDataPrototype(
29552 "uint32_t",
"Type",
"= 0",
29553 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29554 #endif // !DOCUMENTATION
29556 DECLARE_OTHERS(AsmCilProperty);
29557 #if defined(SgAsmCilProperty_OTHERS) || defined(DOCUMENTATION)
29560 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29562 friend class boost::serialization::access;
29565 void serialize(S &s,
const unsigned ) {
29568 s & BOOST_SERIALIZATION_NVP(p_Flags);
29569 s & BOOST_SERIALIZATION_NVP(p_Name);
29570 s & BOOST_SERIALIZATION_NVP(p_Type);
29573 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29605 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
29607 const std::uint8_t* get_Name_string()
const;
29608 const std::uint8_t* get_Type_blob()
const;
29625 #endif // SgAsmCilProperty_OTHERS
29626 #ifdef DOCUMENTATION
29628 #endif // DOCUMENTATION
29635 DECLARE_LEAF_CLASS(AsmCilParamTable);
29636 IS_SERIALIZABLE(AsmCilParamTable);
29638 #ifdef DOCUMENTATION
29641 #endif // DOCUMENTATION
29643 #ifndef DOCUMENTATION
29644 AsmCilParamTable.setDataPrototype(
29645 "std::vector<SgAsmCilParam*>",
"elements",
"",
29646 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29647 #endif // !DOCUMENTATION
29649 DECLARE_OTHERS(AsmCilParamTable);
29650 #if defined(SgAsmCilParamTable_OTHERS) || defined(DOCUMENTATION)
29653 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29655 friend class boost::serialization::access;
29658 void serialize(S &s,
const unsigned ) {
29661 s & BOOST_SERIALIZATION_NVP(p_elements);
29664 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29667 std::vector<SgAsmCilParam*>
const& get_elements()
const;
29668 std::vector<SgAsmCilParam*>& get_elements();
29687 #endif // SgAsmCilParamTable_OTHERS
29688 #ifdef DOCUMENTATION
29690 #endif // DOCUMENTATION
29697 DECLARE_LEAF_CLASS(AsmCilParam);
29698 IS_SERIALIZABLE(AsmCilParam);
29700 #ifdef DOCUMENTATION
29703 #endif // DOCUMENTATION
29705 #ifndef DOCUMENTATION
29706 AsmCilParam.setDataPrototype(
29707 "uint16_t",
"Flags",
"= 0",
29708 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29709 #endif // !DOCUMENTATION
29711 #ifndef DOCUMENTATION
29712 AsmCilParam.setDataPrototype(
29713 "uint16_t",
"Sequence",
"= 0",
29714 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29715 #endif // !DOCUMENTATION
29717 #ifndef DOCUMENTATION
29718 AsmCilParam.setDataPrototype(
29719 "uint32_t",
"Name",
"= 0",
29720 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29721 #endif // !DOCUMENTATION
29723 DECLARE_OTHERS(AsmCilParam);
29724 #if defined(SgAsmCilParam_OTHERS) || defined(DOCUMENTATION)
29727 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29729 friend class boost::serialization::access;
29732 void serialize(S &s,
const unsigned ) {
29735 s & BOOST_SERIALIZATION_NVP(p_Flags);
29736 s & BOOST_SERIALIZATION_NVP(p_Sequence);
29737 s & BOOST_SERIALIZATION_NVP(p_Name);
29740 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29772 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
29774 const std::uint8_t* get_Name_blob()
const;
29791 #endif // SgAsmCilParam_OTHERS
29792 #ifdef DOCUMENTATION
29794 #endif // DOCUMENTATION
29801 DECLARE_LEAF_CLASS(AsmCilNestedClassTable);
29802 IS_SERIALIZABLE(AsmCilNestedClassTable);
29804 #ifdef DOCUMENTATION
29807 #endif // DOCUMENTATION
29809 #ifndef DOCUMENTATION
29810 AsmCilNestedClassTable.setDataPrototype(
29811 "std::vector<SgAsmCilNestedClass*>",
"elements",
"",
29812 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29813 #endif // !DOCUMENTATION
29815 DECLARE_OTHERS(AsmCilNestedClassTable);
29816 #if defined(SgAsmCilNestedClassTable_OTHERS) || defined(DOCUMENTATION)
29819 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29821 friend class boost::serialization::access;
29824 void serialize(S &s,
const unsigned ) {
29827 s & BOOST_SERIALIZATION_NVP(p_elements);
29830 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29833 std::vector<SgAsmCilNestedClass*>
const& get_elements()
const;
29834 std::vector<SgAsmCilNestedClass*>& get_elements();
29853 #endif // SgAsmCilNestedClassTable_OTHERS
29854 #ifdef DOCUMENTATION
29856 #endif // DOCUMENTATION
29863 DECLARE_LEAF_CLASS(AsmCilNestedClass);
29864 IS_SERIALIZABLE(AsmCilNestedClass);
29866 #ifdef DOCUMENTATION
29869 #endif // DOCUMENTATION
29871 #ifndef DOCUMENTATION
29872 AsmCilNestedClass.setDataPrototype(
29873 "uint32_t",
"NestedClass",
"= 0",
29874 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29875 #endif // !DOCUMENTATION
29877 #ifndef DOCUMENTATION
29878 AsmCilNestedClass.setDataPrototype(
29879 "uint32_t",
"EnclosingClass",
"= 0",
29880 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29881 #endif // !DOCUMENTATION
29883 DECLARE_OTHERS(AsmCilNestedClass);
29884 #if defined(SgAsmCilNestedClass_OTHERS) || defined(DOCUMENTATION)
29887 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29889 friend class boost::serialization::access;
29892 void serialize(S &s,
const unsigned ) {
29895 s & BOOST_SERIALIZATION_NVP(p_NestedClass);
29896 s & BOOST_SERIALIZATION_NVP(p_EnclosingClass);
29899 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29921 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
29941 #endif // SgAsmCilNestedClass_OTHERS
29942 #ifdef DOCUMENTATION
29944 #endif // DOCUMENTATION
29951 DECLARE_LEAF_CLASS(AsmCilModuleTable);
29952 IS_SERIALIZABLE(AsmCilModuleTable);
29954 #ifdef DOCUMENTATION
29957 #endif // DOCUMENTATION
29959 #ifndef DOCUMENTATION
29960 AsmCilModuleTable.setDataPrototype(
29961 "std::vector<SgAsmCilModule*>",
"elements",
"",
29962 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29963 #endif // !DOCUMENTATION
29965 DECLARE_OTHERS(AsmCilModuleTable);
29966 #if defined(SgAsmCilModuleTable_OTHERS) || defined(DOCUMENTATION)
29969 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29971 friend class boost::serialization::access;
29974 void serialize(S &s,
const unsigned ) {
29977 s & BOOST_SERIALIZATION_NVP(p_elements);
29980 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
29983 std::vector<SgAsmCilModule*>
const& get_elements()
const;
29984 std::vector<SgAsmCilModule*>& get_elements();
30003 #endif // SgAsmCilModuleTable_OTHERS
30004 #ifdef DOCUMENTATION
30006 #endif // DOCUMENTATION
30013 DECLARE_LEAF_CLASS(AsmCilModuleRefTable);
30014 IS_SERIALIZABLE(AsmCilModuleRefTable);
30016 #ifdef DOCUMENTATION
30019 #endif // DOCUMENTATION
30021 #ifndef DOCUMENTATION
30022 AsmCilModuleRefTable.setDataPrototype(
30023 "std::vector<SgAsmCilModuleRef*>",
"elements",
"",
30024 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30025 #endif // !DOCUMENTATION
30027 DECLARE_OTHERS(AsmCilModuleRefTable);
30028 #if defined(SgAsmCilModuleRefTable_OTHERS) || defined(DOCUMENTATION)
30031 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30033 friend class boost::serialization::access;
30036 void serialize(S &s,
const unsigned ) {
30039 s & BOOST_SERIALIZATION_NVP(p_elements);
30042 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30045 std::vector<SgAsmCilModuleRef*>
const& get_elements()
const;
30046 std::vector<SgAsmCilModuleRef*>& get_elements();
30065 #endif // SgAsmCilModuleRefTable_OTHERS
30066 #ifdef DOCUMENTATION
30068 #endif // DOCUMENTATION
30075 DECLARE_LEAF_CLASS(AsmCilModuleRef);
30076 IS_SERIALIZABLE(AsmCilModuleRef);
30078 #ifdef DOCUMENTATION
30081 #endif // DOCUMENTATION
30083 #ifndef DOCUMENTATION
30084 AsmCilModuleRef.setDataPrototype(
30085 "uint32_t",
"Name",
"= 0",
30086 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30087 #endif // !DOCUMENTATION
30089 DECLARE_OTHERS(AsmCilModuleRef);
30090 #if defined(SgAsmCilModuleRef_OTHERS) || defined(DOCUMENTATION)
30093 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30095 friend class boost::serialization::access;
30098 void serialize(S &s,
const unsigned ) {
30101 s & BOOST_SERIALIZATION_NVP(p_Name);
30104 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30116 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
30118 const std::uint8_t* get_Name_string()
const;
30135 #endif // SgAsmCilModuleRef_OTHERS
30136 #ifdef DOCUMENTATION
30138 #endif // DOCUMENTATION
30145 DECLARE_LEAF_CLASS(AsmCilModule);
30146 IS_SERIALIZABLE(AsmCilModule);
30148 #ifdef DOCUMENTATION
30151 #endif // DOCUMENTATION
30153 #ifndef DOCUMENTATION
30154 AsmCilModule.setDataPrototype(
30155 "uint16_t",
"Generation",
"= 0",
30156 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30157 #endif // !DOCUMENTATION
30159 #ifndef DOCUMENTATION
30160 AsmCilModule.setDataPrototype(
30161 "uint32_t",
"Name",
"= 0",
30162 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30163 #endif // !DOCUMENTATION
30165 #ifndef DOCUMENTATION
30166 AsmCilModule.setDataPrototype(
30167 "uint32_t",
"Mvid",
"= 0",
30168 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30169 #endif // !DOCUMENTATION
30171 #ifndef DOCUMENTATION
30172 AsmCilModule.setDataPrototype(
30173 "uint32_t",
"Encld",
"= 0",
30174 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30175 #endif // !DOCUMENTATION
30177 #ifndef DOCUMENTATION
30178 AsmCilModule.setDataPrototype(
30179 "uint32_t",
"EncBaseId",
"= 0",
30180 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30181 #endif // !DOCUMENTATION
30183 DECLARE_OTHERS(AsmCilModule);
30184 #if defined(SgAsmCilModule_OTHERS) || defined(DOCUMENTATION)
30187 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30189 friend class boost::serialization::access;
30192 void serialize(S &s,
const unsigned ) {
30195 s & BOOST_SERIALIZATION_NVP(p_Generation);
30196 s & BOOST_SERIALIZATION_NVP(p_Name);
30197 s & BOOST_SERIALIZATION_NVP(p_Mvid);
30198 s & BOOST_SERIALIZATION_NVP(p_Encld);
30199 s & BOOST_SERIALIZATION_NVP(p_EncBaseId);
30202 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30254 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
30256 const std::uint8_t* get_Name_string()
const;
30257 const std::uint32_t* get_Mvid_guid()
const;
30258 const std::uint32_t* get_Encld_guid()
const;
30259 const std::uint32_t* get_EncBaseId_guid()
const;
30276 #endif // SgAsmCilModule_OTHERS
30277 #ifdef DOCUMENTATION
30279 #endif // DOCUMENTATION
30286 DECLARE_LEAF_CLASS(AsmCilMethodSpecTable);
30287 IS_SERIALIZABLE(AsmCilMethodSpecTable);
30289 #ifdef DOCUMENTATION
30292 #endif // DOCUMENTATION
30294 #ifndef DOCUMENTATION
30295 AsmCilMethodSpecTable.setDataPrototype(
30296 "std::vector<SgAsmCilMethodSpec*>",
"elements",
"",
30297 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30298 #endif // !DOCUMENTATION
30300 DECLARE_OTHERS(AsmCilMethodSpecTable);
30301 #if defined(SgAsmCilMethodSpecTable_OTHERS) || defined(DOCUMENTATION)
30304 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30306 friend class boost::serialization::access;
30309 void serialize(S &s,
const unsigned ) {
30312 s & BOOST_SERIALIZATION_NVP(p_elements);
30315 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30318 std::vector<SgAsmCilMethodSpec*>
const& get_elements()
const;
30319 std::vector<SgAsmCilMethodSpec*>& get_elements();
30338 #endif // SgAsmCilMethodSpecTable_OTHERS
30339 #ifdef DOCUMENTATION
30341 #endif // DOCUMENTATION
30348 DECLARE_LEAF_CLASS(AsmCilMethodSpec);
30349 IS_SERIALIZABLE(AsmCilMethodSpec);
30351 #ifdef DOCUMENTATION
30354 #endif // DOCUMENTATION
30356 #ifndef DOCUMENTATION
30357 AsmCilMethodSpec.setDataPrototype(
30358 "uint32_t",
"Method",
"= 0",
30359 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30360 #endif // !DOCUMENTATION
30362 #ifndef DOCUMENTATION
30363 AsmCilMethodSpec.setDataPrototype(
30364 "uint32_t",
"Instantiation",
"= 0",
30365 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30366 #endif // !DOCUMENTATION
30368 DECLARE_OTHERS(AsmCilMethodSpec);
30369 #if defined(SgAsmCilMethodSpec_OTHERS) || defined(DOCUMENTATION)
30372 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30374 friend class boost::serialization::access;
30377 void serialize(S &s,
const unsigned ) {
30380 s & BOOST_SERIALIZATION_NVP(p_Method);
30381 s & BOOST_SERIALIZATION_NVP(p_Instantiation);
30384 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30406 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
30409 const std::uint8_t* get_Instantiation_blob()
const;
30426 #endif // SgAsmCilMethodSpec_OTHERS
30427 #ifdef DOCUMENTATION
30429 #endif // DOCUMENTATION
30436 DECLARE_LEAF_CLASS(AsmCilMethodSemanticsTable);
30437 IS_SERIALIZABLE(AsmCilMethodSemanticsTable);
30439 #ifdef DOCUMENTATION
30442 #endif // DOCUMENTATION
30444 #ifndef DOCUMENTATION
30445 AsmCilMethodSemanticsTable.setDataPrototype(
30446 "std::vector<SgAsmCilMethodSemantics*>",
"elements",
"",
30447 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30448 #endif // !DOCUMENTATION
30450 DECLARE_OTHERS(AsmCilMethodSemanticsTable);
30451 #if defined(SgAsmCilMethodSemanticsTable_OTHERS) || defined(DOCUMENTATION)
30454 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30456 friend class boost::serialization::access;
30459 void serialize(S &s,
const unsigned ) {
30462 s & BOOST_SERIALIZATION_NVP(p_elements);
30465 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30468 std::vector<SgAsmCilMethodSemantics*>
const& get_elements()
const;
30469 std::vector<SgAsmCilMethodSemantics*>& get_elements();
30488 #endif // SgAsmCilMethodSemanticsTable_OTHERS
30489 #ifdef DOCUMENTATION
30491 #endif // DOCUMENTATION
30498 DECLARE_LEAF_CLASS(AsmCilMethodSemantics);
30499 IS_SERIALIZABLE(AsmCilMethodSemantics);
30501 #ifdef DOCUMENTATION
30504 #endif // DOCUMENTATION
30506 #ifndef DOCUMENTATION
30507 AsmCilMethodSemantics.setDataPrototype(
30508 "uint16_t",
"Semantics",
"= 0",
30509 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30510 #endif // !DOCUMENTATION
30512 #ifndef DOCUMENTATION
30513 AsmCilMethodSemantics.setDataPrototype(
30514 "uint32_t",
"Method",
"= 0",
30515 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30516 #endif // !DOCUMENTATION
30518 #ifndef DOCUMENTATION
30519 AsmCilMethodSemantics.setDataPrototype(
30520 "uint32_t",
"Association",
"= 0",
30521 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30522 #endif // !DOCUMENTATION
30524 DECLARE_OTHERS(AsmCilMethodSemantics);
30525 #if defined(SgAsmCilMethodSemantics_OTHERS) || defined(DOCUMENTATION)
30528 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30530 friend class boost::serialization::access;
30533 void serialize(S &s,
const unsigned ) {
30536 s & BOOST_SERIALIZATION_NVP(p_Semantics);
30537 s & BOOST_SERIALIZATION_NVP(p_Method);
30538 s & BOOST_SERIALIZATION_NVP(p_Association);
30541 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30573 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
30593 #endif // SgAsmCilMethodSemantics_OTHERS
30594 #ifdef DOCUMENTATION
30596 #endif // DOCUMENTATION
30603 DECLARE_LEAF_CLASS(AsmCilMethodImplTable);
30604 IS_SERIALIZABLE(AsmCilMethodImplTable);
30606 #ifdef DOCUMENTATION
30609 #endif // DOCUMENTATION
30611 #ifndef DOCUMENTATION
30612 AsmCilMethodImplTable.setDataPrototype(
30613 "std::vector<SgAsmCilMethodImpl*>",
"elements",
"",
30614 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30615 #endif // !DOCUMENTATION
30617 DECLARE_OTHERS(AsmCilMethodImplTable);
30618 #if defined(SgAsmCilMethodImplTable_OTHERS) || defined(DOCUMENTATION)
30621 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30623 friend class boost::serialization::access;
30626 void serialize(S &s,
const unsigned ) {
30629 s & BOOST_SERIALIZATION_NVP(p_elements);
30632 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30635 std::vector<SgAsmCilMethodImpl*>
const& get_elements()
const;
30636 std::vector<SgAsmCilMethodImpl*>& get_elements();
30655 #endif // SgAsmCilMethodImplTable_OTHERS
30656 #ifdef DOCUMENTATION
30658 #endif // DOCUMENTATION
30665 DECLARE_LEAF_CLASS(AsmCilMethodImpl);
30666 IS_SERIALIZABLE(AsmCilMethodImpl);
30668 #ifdef DOCUMENTATION
30671 #endif // DOCUMENTATION
30673 #ifndef DOCUMENTATION
30674 AsmCilMethodImpl.setDataPrototype(
30675 "uint32_t",
"Class",
"= 0",
30676 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30677 #endif // !DOCUMENTATION
30679 #ifndef DOCUMENTATION
30680 AsmCilMethodImpl.setDataPrototype(
30681 "uint32_t",
"MethodBody",
"= 0",
30682 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30683 #endif // !DOCUMENTATION
30685 #ifndef DOCUMENTATION
30686 AsmCilMethodImpl.setDataPrototype(
30687 "uint32_t",
"MethodDeclaration",
"= 0",
30688 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30689 #endif // !DOCUMENTATION
30691 DECLARE_OTHERS(AsmCilMethodImpl);
30692 #if defined(SgAsmCilMethodImpl_OTHERS) || defined(DOCUMENTATION)
30695 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30697 friend class boost::serialization::access;
30700 void serialize(S &s,
const unsigned ) {
30703 s & BOOST_SERIALIZATION_NVP(p_Class);
30704 s & BOOST_SERIALIZATION_NVP(p_MethodBody);
30705 s & BOOST_SERIALIZATION_NVP(p_MethodDeclaration);
30708 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30740 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
30761 #endif // SgAsmCilMethodImpl_OTHERS
30762 #ifdef DOCUMENTATION
30764 #endif // DOCUMENTATION
30771 DECLARE_LEAF_CLASS(AsmCilMethodDefTable);
30772 IS_SERIALIZABLE(AsmCilMethodDefTable);
30774 #ifdef DOCUMENTATION
30777 #endif // DOCUMENTATION
30779 #ifndef DOCUMENTATION
30780 AsmCilMethodDefTable.setDataPrototype(
30781 "std::vector<SgAsmCilMethodDef*>",
"elements",
"",
30782 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30783 #endif // !DOCUMENTATION
30785 DECLARE_OTHERS(AsmCilMethodDefTable);
30786 #if defined(SgAsmCilMethodDefTable_OTHERS) || defined(DOCUMENTATION)
30789 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30791 friend class boost::serialization::access;
30794 void serialize(S &s,
const unsigned ) {
30797 s & BOOST_SERIALIZATION_NVP(p_elements);
30800 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30803 std::vector<SgAsmCilMethodDef*>
const& get_elements()
const;
30804 std::vector<SgAsmCilMethodDef*>& get_elements();
30823 #endif // SgAsmCilMethodDefTable_OTHERS
30824 #ifdef DOCUMENTATION
30826 #endif // DOCUMENTATION
30833 DECLARE_LEAF_CLASS(AsmCilMethodDef);
30834 IS_SERIALIZABLE(AsmCilMethodDef);
30836 #ifdef DOCUMENTATION
30839 #endif // DOCUMENTATION
30841 #ifndef DOCUMENTATION
30842 AsmCilMethodDef.setDataPrototype(
30843 "uint32_t",
"RVA",
"= 0",
30844 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30845 #endif // !DOCUMENTATION
30847 #ifndef DOCUMENTATION
30848 AsmCilMethodDef.setDataPrototype(
30849 "uint32_t",
"ImplFlags",
"= 0",
30850 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30851 #endif // !DOCUMENTATION
30853 #ifndef DOCUMENTATION
30854 AsmCilMethodDef.setDataPrototype(
30855 "uint16_t",
"Flags",
"= 0",
30856 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30857 #endif // !DOCUMENTATION
30859 #ifndef DOCUMENTATION
30860 AsmCilMethodDef.setDataPrototype(
30861 "uint32_t",
"Name",
"= 0",
30862 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30863 #endif // !DOCUMENTATION
30865 #ifndef DOCUMENTATION
30866 AsmCilMethodDef.setDataPrototype(
30867 "uint32_t",
"Signature",
"= 0",
30868 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30869 #endif // !DOCUMENTATION
30871 #ifndef DOCUMENTATION
30872 AsmCilMethodDef.setDataPrototype(
30873 "uint32_t",
"ParamList",
"= 0",
30874 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30875 #endif // !DOCUMENTATION
30877 #ifndef DOCUMENTATION
30878 AsmCilMethodDef.setDataPrototype(
30879 "SgAsmBlock*",
"body",
"= 0",
30880 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30881 #endif // !DOCUMENTATION
30883 #ifndef DOCUMENTATION
30884 AsmCilMethodDef.setDataPrototype(
30885 "bool",
"initLocals",
"= 0",
30886 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30887 #endif // !DOCUMENTATION
30889 #ifndef DOCUMENTATION
30890 AsmCilMethodDef.setDataPrototype(
30891 "uint32_t",
"stackSize",
"= 0",
30892 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30893 #endif // !DOCUMENTATION
30895 #ifndef DOCUMENTATION
30896 AsmCilMethodDef.setDataPrototype(
30897 "bool",
"hasMoreSections",
"= 0",
30898 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30899 #endif // !DOCUMENTATION
30901 DECLARE_OTHERS(AsmCilMethodDef);
30902 #if defined(SgAsmCilMethodDef_OTHERS) || defined(DOCUMENTATION)
30905 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30907 friend class boost::serialization::access;
30910 void serialize(S &s,
const unsigned ) {
30913 s & BOOST_SERIALIZATION_NVP(p_RVA);
30914 s & BOOST_SERIALIZATION_NVP(p_ImplFlags);
30915 s & BOOST_SERIALIZATION_NVP(p_Flags);
30916 s & BOOST_SERIALIZATION_NVP(p_Name);
30917 s & BOOST_SERIALIZATION_NVP(p_Signature);
30918 s & BOOST_SERIALIZATION_NVP(p_ParamList);
30919 s & BOOST_SERIALIZATION_NVP(p_body);
30920 s & BOOST_SERIALIZATION_NVP(p_initLocals);
30921 s & BOOST_SERIALIZATION_NVP(p_stackSize);
30922 s & BOOST_SERIALIZATION_NVP(p_hasMoreSections);
30925 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
30933 uint32_t
const&
get_RVA()
const;
30934 void set_RVA(uint32_t
const&);
31027 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
31029 const std::uint8_t* get_Name_string()
const;
31030 const std::uint8_t* get_Signature_blob()
const;
31048 #endif // SgAsmCilMethodDef_OTHERS
31049 #ifdef DOCUMENTATION
31051 #endif // DOCUMENTATION
31058 DECLARE_LEAF_CLASS(AsmCilMetadataRoot);
31059 IS_SERIALIZABLE(AsmCilMetadataRoot);
31061 #ifdef DOCUMENTATION
31064 #endif // DOCUMENTATION
31066 #ifndef DOCUMENTATION
31067 AsmCilMetadataRoot.setDataPrototype(
31068 "uint32_t",
"Signature",
"= 0",
31069 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31070 #endif // !DOCUMENTATION
31072 #ifndef DOCUMENTATION
31073 AsmCilMetadataRoot.setDataPrototype(
31074 "uint16_t",
"MajorVersion",
"= 0",
31075 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31076 #endif // !DOCUMENTATION
31078 #ifndef DOCUMENTATION
31079 AsmCilMetadataRoot.setDataPrototype(
31080 "uint16_t",
"MinorVersion",
"= 0",
31081 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31082 #endif // !DOCUMENTATION
31084 #ifndef DOCUMENTATION
31085 AsmCilMetadataRoot.setDataPrototype(
31086 "uint32_t",
"Reserved0",
"= 0",
31087 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31088 #endif // !DOCUMENTATION
31090 #ifndef DOCUMENTATION
31091 AsmCilMetadataRoot.setDataPrototype(
31092 "uint32_t",
"Length",
"= 0",
31093 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31094 #endif // !DOCUMENTATION
31096 #ifndef DOCUMENTATION
31097 AsmCilMetadataRoot.setDataPrototype(
31098 "std::string",
"Version",
"",
31099 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31100 #endif // !DOCUMENTATION
31102 #ifndef DOCUMENTATION
31103 AsmCilMetadataRoot.setDataPrototype(
31104 "uint32_t",
"VersionPadding",
"= 0",
31105 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31106 #endif // !DOCUMENTATION
31108 #ifndef DOCUMENTATION
31109 AsmCilMetadataRoot.setDataPrototype(
31110 "uint16_t",
"Flags",
"= 0",
31111 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31112 #endif // !DOCUMENTATION
31114 #ifndef DOCUMENTATION
31115 AsmCilMetadataRoot.setDataPrototype(
31116 "uint16_t",
"NumberOfStreams",
"= 0",
31117 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31118 #endif // !DOCUMENTATION
31120 #ifndef DOCUMENTATION
31121 AsmCilMetadataRoot.setDataPrototype(
31122 "std::vector<SgAsmCilDataStream*>",
"Streams",
"",
31123 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31124 #endif // !DOCUMENTATION
31126 DECLARE_OTHERS(AsmCilMetadataRoot);
31127 #if defined(SgAsmCilMetadataRoot_OTHERS) || defined(DOCUMENTATION)
31130 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
31132 friend class boost::serialization::access;
31135 void serialize(S &s,
const unsigned ) {
31137 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
31138 s & BOOST_SERIALIZATION_NVP(p_Signature);
31139 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
31140 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
31141 s & BOOST_SERIALIZATION_NVP(p_Reserved0);
31142 s & BOOST_SERIALIZATION_NVP(p_Length);
31143 s & BOOST_SERIALIZATION_NVP(p_Version);
31144 s & BOOST_SERIALIZATION_NVP(p_VersionPadding);
31145 s & BOOST_SERIALIZATION_NVP(p_Flags);
31146 s & BOOST_SERIALIZATION_NVP(p_NumberOfStreams);
31147 s & BOOST_SERIALIZATION_NVP(p_Streams);
31150 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
31228 std::vector<SgAsmCilDataStream*>
const&
get_Streams()
const;
31236 mutable int8_t idxStringHeap = -1;
31237 mutable int8_t idxBlobHeap = -1;
31238 mutable int8_t idxUsHeap = -1;
31239 mutable int8_t idxGuidHeap = -1;
31240 mutable int8_t idxMetadataHeap = -1;
31258 void parse(std::vector<uint8_t>& buf,
size_t index);
31284 #endif // SgAsmCilMetadataRoot_OTHERS
31285 #ifdef DOCUMENTATION
31287 #endif // DOCUMENTATION
31294 DECLARE_LEAF_CLASS(AsmCilMetadataHeap);
31295 IS_SERIALIZABLE(AsmCilMetadataHeap);
31297 #ifdef DOCUMENTATION
31300 #endif // DOCUMENTATION
31302 #ifndef DOCUMENTATION
31303 AsmCilMetadataHeap.setDataPrototype(
31304 "uint32_t",
"ReservedAlwaysZero",
"= 0",
31305 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31306 #endif // !DOCUMENTATION
31308 #ifndef DOCUMENTATION
31309 AsmCilMetadataHeap.setDataPrototype(
31310 "uint8_t",
"MajorVersion",
"= 0",
31311 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31312 #endif // !DOCUMENTATION
31314 #ifndef DOCUMENTATION
31315 AsmCilMetadataHeap.setDataPrototype(
31316 "uint8_t",
"MinorVersion",
"= 0",
31317 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31318 #endif // !DOCUMENTATION
31320 #ifndef DOCUMENTATION
31321 AsmCilMetadataHeap.setDataPrototype(
31322 "uint8_t",
"HeapSizes",
"= 0",
31323 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31324 #endif // !DOCUMENTATION
31326 #ifndef DOCUMENTATION
31327 AsmCilMetadataHeap.setDataPrototype(
31328 "uint8_t",
"ReservedAlwaysOne",
"= 0",
31329 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31330 #endif // !DOCUMENTATION
31332 #ifndef DOCUMENTATION
31333 AsmCilMetadataHeap.setDataPrototype(
31334 "uint64_t",
"Valid",
"= 0",
31335 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31336 #endif // !DOCUMENTATION
31338 #ifndef DOCUMENTATION
31339 AsmCilMetadataHeap.setDataPrototype(
31340 "uint64_t",
"Sorted",
"= 0",
31341 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31342 #endif // !DOCUMENTATION
31344 #ifndef DOCUMENTATION
31345 AsmCilMetadataHeap.setDataPrototype(
31346 "std::vector<uint32_t>",
"NumberOfRows",
"",
31347 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31348 #endif // !DOCUMENTATION
31350 #ifndef DOCUMENTATION
31351 AsmCilMetadataHeap.setDataPrototype(
31352 "uint64_t",
"DataSizeFlags",
"= 0",
31353 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31354 #endif // !DOCUMENTATION
31356 #ifndef DOCUMENTATION
31357 AsmCilMetadataHeap.setDataPrototype(
31358 "SgAsmCilAssemblyTable*",
"AssemblyTable",
"",
31359 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31360 #endif // !DOCUMENTATION
31362 #ifndef DOCUMENTATION
31363 AsmCilMetadataHeap.setDataPrototype(
31364 "SgAsmCilAssemblyOSTable*",
"AssemblyOSTable",
"",
31365 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31366 #endif // !DOCUMENTATION
31368 #ifndef DOCUMENTATION
31369 AsmCilMetadataHeap.setDataPrototype(
31370 "SgAsmCilAssemblyProcessorTable*",
"AssemblyProcessorTable",
"",
31371 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31372 #endif // !DOCUMENTATION
31374 #ifndef DOCUMENTATION
31375 AsmCilMetadataHeap.setDataPrototype(
31376 "SgAsmCilAssemblyRefTable*",
"AssemblyRefTable",
"",
31377 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31378 #endif // !DOCUMENTATION
31380 #ifndef DOCUMENTATION
31381 AsmCilMetadataHeap.setDataPrototype(
31382 "SgAsmCilAssemblyRefOSTable*",
"AssemblyRefOSTable",
"",
31383 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31384 #endif // !DOCUMENTATION
31386 #ifndef DOCUMENTATION
31387 AsmCilMetadataHeap.setDataPrototype(
31388 "SgAsmCilAssemblyRefProcessorTable*",
"AssemblyRefProcessorTable",
"",
31389 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31390 #endif // !DOCUMENTATION
31392 #ifndef DOCUMENTATION
31393 AsmCilMetadataHeap.setDataPrototype(
31394 "SgAsmCilClassLayoutTable*",
"ClassLayoutTable",
"",
31395 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31396 #endif // !DOCUMENTATION
31398 #ifndef DOCUMENTATION
31399 AsmCilMetadataHeap.setDataPrototype(
31400 "SgAsmCilConstantTable*",
"ConstantTable",
"",
31401 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31402 #endif // !DOCUMENTATION
31404 #ifndef DOCUMENTATION
31405 AsmCilMetadataHeap.setDataPrototype(
31406 "SgAsmCilCustomAttributeTable*",
"CustomAttributeTable",
"",
31407 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31408 #endif // !DOCUMENTATION
31410 #ifndef DOCUMENTATION
31411 AsmCilMetadataHeap.setDataPrototype(
31412 "SgAsmCilDeclSecurityTable*",
"DeclSecurityTable",
"",
31413 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31414 #endif // !DOCUMENTATION
31416 #ifndef DOCUMENTATION
31417 AsmCilMetadataHeap.setDataPrototype(
31418 "SgAsmCilEventTable*",
"EventTable",
"",
31419 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31420 #endif // !DOCUMENTATION
31422 #ifndef DOCUMENTATION
31423 AsmCilMetadataHeap.setDataPrototype(
31424 "SgAsmCilEventMapTable*",
"EventMapTable",
"",
31425 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31426 #endif // !DOCUMENTATION
31428 #ifndef DOCUMENTATION
31429 AsmCilMetadataHeap.setDataPrototype(
31430 "SgAsmCilExportedTypeTable*",
"ExportedTypeTable",
"",
31431 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31432 #endif // !DOCUMENTATION
31434 #ifndef DOCUMENTATION
31435 AsmCilMetadataHeap.setDataPrototype(
31436 "SgAsmCilFieldTable*",
"FieldTable",
"",
31437 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31438 #endif // !DOCUMENTATION
31440 #ifndef DOCUMENTATION
31441 AsmCilMetadataHeap.setDataPrototype(
31442 "SgAsmCilFieldLayoutTable*",
"FieldLayoutTable",
"",
31443 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31444 #endif // !DOCUMENTATION
31446 #ifndef DOCUMENTATION
31447 AsmCilMetadataHeap.setDataPrototype(
31448 "SgAsmCilFieldMarshalTable*",
"FieldMarshalTable",
"",
31449 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31450 #endif // !DOCUMENTATION
31452 #ifndef DOCUMENTATION
31453 AsmCilMetadataHeap.setDataPrototype(
31454 "SgAsmCilFieldRVATable*",
"FieldRVATable",
"",
31455 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31456 #endif // !DOCUMENTATION
31458 #ifndef DOCUMENTATION
31459 AsmCilMetadataHeap.setDataPrototype(
31460 "SgAsmCilFileTable*",
"FileTable",
"",
31461 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31462 #endif // !DOCUMENTATION
31464 #ifndef DOCUMENTATION
31465 AsmCilMetadataHeap.setDataPrototype(
31466 "SgAsmCilGenericParamTable*",
"GenericParamTable",
"",
31467 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31468 #endif // !DOCUMENTATION
31470 #ifndef DOCUMENTATION
31471 AsmCilMetadataHeap.setDataPrototype(
31472 "SgAsmCilGenericParamConstraintTable*",
"GenericParamConstraintTable",
"",
31473 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31474 #endif // !DOCUMENTATION
31476 #ifndef DOCUMENTATION
31477 AsmCilMetadataHeap.setDataPrototype(
31478 "SgAsmCilImplMapTable*",
"ImplMapTable",
"",
31479 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31480 #endif // !DOCUMENTATION
31482 #ifndef DOCUMENTATION
31483 AsmCilMetadataHeap.setDataPrototype(
31484 "SgAsmCilInterfaceImplTable*",
"InterfaceImplTable",
"",
31485 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31486 #endif // !DOCUMENTATION
31488 #ifndef DOCUMENTATION
31489 AsmCilMetadataHeap.setDataPrototype(
31490 "SgAsmCilManifestResourceTable*",
"ManifestResourceTable",
"",
31491 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31492 #endif // !DOCUMENTATION
31494 #ifndef DOCUMENTATION
31495 AsmCilMetadataHeap.setDataPrototype(
31496 "SgAsmCilMemberRefTable*",
"MemberRefTable",
"",
31497 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31498 #endif // !DOCUMENTATION
31500 #ifndef DOCUMENTATION
31501 AsmCilMetadataHeap.setDataPrototype(
31502 "SgAsmCilMethodDefTable*",
"MethodDefTable",
"",
31503 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31504 #endif // !DOCUMENTATION
31506 #ifndef DOCUMENTATION
31507 AsmCilMetadataHeap.setDataPrototype(
31508 "SgAsmCilMethodImplTable*",
"MethodImplTable",
"",
31509 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31510 #endif // !DOCUMENTATION
31512 #ifndef DOCUMENTATION
31513 AsmCilMetadataHeap.setDataPrototype(
31514 "SgAsmCilMethodSemanticsTable*",
"MethodSemanticsTable",
"",
31515 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31516 #endif // !DOCUMENTATION
31518 #ifndef DOCUMENTATION
31519 AsmCilMetadataHeap.setDataPrototype(
31520 "SgAsmCilMethodSpecTable*",
"MethodSpecTable",
"",
31521 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31522 #endif // !DOCUMENTATION
31524 #ifndef DOCUMENTATION
31525 AsmCilMetadataHeap.setDataPrototype(
31526 "SgAsmCilModuleTable*",
"ModuleTable",
"",
31527 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31528 #endif // !DOCUMENTATION
31530 #ifndef DOCUMENTATION
31531 AsmCilMetadataHeap.setDataPrototype(
31532 "SgAsmCilModuleRefTable*",
"ModuleRefTable",
"",
31533 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31534 #endif // !DOCUMENTATION
31536 #ifndef DOCUMENTATION
31537 AsmCilMetadataHeap.setDataPrototype(
31538 "SgAsmCilNestedClassTable*",
"NestedClassTable",
"",
31539 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31540 #endif // !DOCUMENTATION
31542 #ifndef DOCUMENTATION
31543 AsmCilMetadataHeap.setDataPrototype(
31544 "SgAsmCilParamTable*",
"ParamTable",
"",
31545 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31546 #endif // !DOCUMENTATION
31548 #ifndef DOCUMENTATION
31549 AsmCilMetadataHeap.setDataPrototype(
31550 "SgAsmCilPropertyTable*",
"PropertyTable",
"",
31551 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31552 #endif // !DOCUMENTATION
31554 #ifndef DOCUMENTATION
31555 AsmCilMetadataHeap.setDataPrototype(
31556 "SgAsmCilPropertyMapTable*",
"PropertyMapTable",
"",
31557 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31558 #endif // !DOCUMENTATION
31560 #ifndef DOCUMENTATION
31561 AsmCilMetadataHeap.setDataPrototype(
31562 "SgAsmCilStandAloneSigTable*",
"StandAloneSigTable",
"",
31563 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31564 #endif // !DOCUMENTATION
31566 #ifndef DOCUMENTATION
31567 AsmCilMetadataHeap.setDataPrototype(
31568 "SgAsmCilTypeDefTable*",
"TypeDefTable",
"",
31569 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31570 #endif // !DOCUMENTATION
31572 #ifndef DOCUMENTATION
31573 AsmCilMetadataHeap.setDataPrototype(
31574 "SgAsmCilTypeRefTable*",
"TypeRefTable",
"",
31575 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31576 #endif // !DOCUMENTATION
31578 #ifndef DOCUMENTATION
31579 AsmCilMetadataHeap.setDataPrototype(
31580 "SgAsmCilTypeSpecTable*",
"TypeSpecTable",
"",
31581 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31582 #endif // !DOCUMENTATION
31584 DECLARE_OTHERS(AsmCilMetadataHeap);
31585 #if defined(SgAsmCilMetadataHeap_OTHERS) || defined(DOCUMENTATION)
31588 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
31590 friend class boost::serialization::access;
31593 void serialize(S &s,
const unsigned ) {
31596 s & BOOST_SERIALIZATION_NVP(p_ReservedAlwaysZero);
31597 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
31598 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
31599 s & BOOST_SERIALIZATION_NVP(p_HeapSizes);
31600 s & BOOST_SERIALIZATION_NVP(p_ReservedAlwaysOne);
31601 s & BOOST_SERIALIZATION_NVP(p_Valid);
31602 s & BOOST_SERIALIZATION_NVP(p_Sorted);
31603 s & BOOST_SERIALIZATION_NVP(p_NumberOfRows);
31604 s & BOOST_SERIALIZATION_NVP(p_DataSizeFlags);
31605 s & BOOST_SERIALIZATION_NVP(p_AssemblyTable);
31606 s & BOOST_SERIALIZATION_NVP(p_AssemblyOSTable);
31607 s & BOOST_SERIALIZATION_NVP(p_AssemblyProcessorTable);
31608 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefTable);
31609 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefOSTable);
31610 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefProcessorTable);
31611 s & BOOST_SERIALIZATION_NVP(p_ClassLayoutTable);
31612 s & BOOST_SERIALIZATION_NVP(p_ConstantTable);
31613 s & BOOST_SERIALIZATION_NVP(p_CustomAttributeTable);
31614 s & BOOST_SERIALIZATION_NVP(p_DeclSecurityTable);
31615 s & BOOST_SERIALIZATION_NVP(p_EventTable);
31616 s & BOOST_SERIALIZATION_NVP(p_EventMapTable);
31617 s & BOOST_SERIALIZATION_NVP(p_ExportedTypeTable);
31618 s & BOOST_SERIALIZATION_NVP(p_FieldTable);
31619 s & BOOST_SERIALIZATION_NVP(p_FieldLayoutTable);
31620 s & BOOST_SERIALIZATION_NVP(p_FieldMarshalTable);
31621 s & BOOST_SERIALIZATION_NVP(p_FieldRVATable);
31622 s & BOOST_SERIALIZATION_NVP(p_FileTable);
31623 s & BOOST_SERIALIZATION_NVP(p_GenericParamTable);
31624 s & BOOST_SERIALIZATION_NVP(p_GenericParamConstraintTable);
31625 s & BOOST_SERIALIZATION_NVP(p_ImplMapTable);
31626 s & BOOST_SERIALIZATION_NVP(p_InterfaceImplTable);
31627 s & BOOST_SERIALIZATION_NVP(p_ManifestResourceTable);
31628 s & BOOST_SERIALIZATION_NVP(p_MemberRefTable);
31629 s & BOOST_SERIALIZATION_NVP(p_MethodDefTable);
31630 s & BOOST_SERIALIZATION_NVP(p_MethodImplTable);
31631 s & BOOST_SERIALIZATION_NVP(p_MethodSemanticsTable);
31632 s & BOOST_SERIALIZATION_NVP(p_MethodSpecTable);
31633 s & BOOST_SERIALIZATION_NVP(p_ModuleTable);
31634 s & BOOST_SERIALIZATION_NVP(p_ModuleRefTable);
31635 s & BOOST_SERIALIZATION_NVP(p_NestedClassTable);
31636 s & BOOST_SERIALIZATION_NVP(p_ParamTable);
31637 s & BOOST_SERIALIZATION_NVP(p_PropertyTable);
31638 s & BOOST_SERIALIZATION_NVP(p_PropertyMapTable);
31639 s & BOOST_SERIALIZATION_NVP(p_StandAloneSigTable);
31640 s & BOOST_SERIALIZATION_NVP(p_TypeDefTable);
31641 s & BOOST_SERIALIZATION_NVP(p_TypeRefTable);
31642 s & BOOST_SERIALIZATION_NVP(p_TypeSpecTable);
31645 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32027 e_ref_string_heap = 1 << 0,
32028 e_ref_guid_heap = 1 << 1,
32029 e_ref_blob_heap = 1 << 2,
32031 e_ref_assembly_ref = 1 << 3,
32032 e_ref_type_def = 1 << 4,
32033 e_ref_event = 1 << 5,
32034 e_ref_field = 1 << 6,
32035 e_ref_generic_param = 1 << 7,
32036 e_ref_module_ref = 1 << 8,
32037 e_ref_method_def = 1 << 9,
32038 e_ref_param = 1 << 10,
32039 e_ref_property = 1 << 11,
32041 e_ref_has_constant = 1 << 12,
32042 e_ref_has_custom_attribute = 1 << 13,
32043 e_ref_has_decl_security = 1 << 14,
32044 e_ref_has_field_marshall = 1 << 15,
32045 e_ref_has_semantics = 1 << 16,
32046 e_ref_method_def_or_ref = 1 << 17,
32047 e_ref_type_def_or_ref = 1 << 18,
32048 e_ref_implementation = 1 << 19,
32049 e_ref_member_forwarded = 1 << 20,
32050 e_ref_member_ref_parent = 1 << 21,
32051 e_ref_type_or_method_def = 1 << 22,
32052 e_ref_custom_attribute_type = 1 << 23,
32053 e_ref_resolution_scope = 1 << 24,
32054 e_ref_last = 1 << 25,
32057 enum TableKind : std::uint8_t
32061 e_AssemblyOS = 0x22,
32062 e_AssemblyProcessor = 0x21,
32063 e_AssemblyRef = 0x23,
32064 e_AssemblyRefOS = 0x25,
32065 e_AssemblyRefProcessor = 0x24,
32066 e_ClassLayout = 0x0F,
32068 e_CustomAttribute = 0x0C,
32069 e_DeclSecurity = 0x0E,
32072 e_ExportedType = 0x27,
32074 e_FieldLayout = 0x10,
32075 e_FieldMarshal = 0x0D,
32078 e_GenericParam = 0x2A,
32079 e_GenericParamConstraint = 0x2C,
32081 e_InterfaceImpl = 0x09,
32082 e_ManifestResource = 0x28,
32083 e_MemberRef = 0x0A,
32084 e_MethodDef = 0x06,
32085 e_MethodImpl = 0x19,
32086 e_MethodSemantics = 0x18,
32087 e_MethodSpec = 0x2B,
32089 e_ModuleRef = 0x1A,
32090 e_NestedClass = 0x29,
32093 e_PropertyMap = 0x15,
32094 e_StandAloneSig = 0x11,
32098 e_Unknown_table_kind = 0xFF
32102 void parse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
32129 uint32_t
const& Size,
32130 std::string
const& Name,
32131 uint32_t
const& NamePadding);
32141 #endif // SgAsmCilMetadataHeap_OTHERS
32142 #ifdef DOCUMENTATION
32144 #endif // DOCUMENTATION
32151 DECLARE_LEAF_CLASS(AsmCilMemberRefTable);
32152 IS_SERIALIZABLE(AsmCilMemberRefTable);
32154 #ifdef DOCUMENTATION
32157 #endif // DOCUMENTATION
32159 #ifndef DOCUMENTATION
32160 AsmCilMemberRefTable.setDataPrototype(
32161 "std::vector<SgAsmCilMemberRef*>",
"elements",
"",
32162 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32163 #endif // !DOCUMENTATION
32165 DECLARE_OTHERS(AsmCilMemberRefTable);
32166 #if defined(SgAsmCilMemberRefTable_OTHERS) || defined(DOCUMENTATION)
32169 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32171 friend class boost::serialization::access;
32174 void serialize(S &s,
const unsigned ) {
32177 s & BOOST_SERIALIZATION_NVP(p_elements);
32180 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32183 std::vector<SgAsmCilMemberRef*>
const& get_elements()
const;
32184 std::vector<SgAsmCilMemberRef*>& get_elements();
32203 #endif // SgAsmCilMemberRefTable_OTHERS
32204 #ifdef DOCUMENTATION
32206 #endif // DOCUMENTATION
32213 DECLARE_LEAF_CLASS(AsmCilMemberRef);
32214 IS_SERIALIZABLE(AsmCilMemberRef);
32216 #ifdef DOCUMENTATION
32219 #endif // DOCUMENTATION
32221 #ifndef DOCUMENTATION
32222 AsmCilMemberRef.setDataPrototype(
32223 "uint32_t",
"Class",
"= 0",
32224 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32225 #endif // !DOCUMENTATION
32227 #ifndef DOCUMENTATION
32228 AsmCilMemberRef.setDataPrototype(
32229 "uint32_t",
"Name",
"= 0",
32230 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32231 #endif // !DOCUMENTATION
32233 #ifndef DOCUMENTATION
32234 AsmCilMemberRef.setDataPrototype(
32235 "uint32_t",
"Signature",
"= 0",
32236 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32237 #endif // !DOCUMENTATION
32239 DECLARE_OTHERS(AsmCilMemberRef);
32240 #if defined(SgAsmCilMemberRef_OTHERS) || defined(DOCUMENTATION)
32243 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32245 friend class boost::serialization::access;
32248 void serialize(S &s,
const unsigned ) {
32251 s & BOOST_SERIALIZATION_NVP(p_Class);
32252 s & BOOST_SERIALIZATION_NVP(p_Name);
32253 s & BOOST_SERIALIZATION_NVP(p_Signature);
32256 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32288 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32291 const std::uint8_t* get_Name_string()
const;
32292 const std::uint8_t* get_Signature_blob()
const;
32309 #endif // SgAsmCilMemberRef_OTHERS
32310 #ifdef DOCUMENTATION
32312 #endif // DOCUMENTATION
32319 DECLARE_LEAF_CLASS(AsmCilManifestResourceTable);
32320 IS_SERIALIZABLE(AsmCilManifestResourceTable);
32322 #ifdef DOCUMENTATION
32325 #endif // DOCUMENTATION
32327 #ifndef DOCUMENTATION
32328 AsmCilManifestResourceTable.setDataPrototype(
32329 "std::vector<SgAsmCilManifestResource*>",
"elements",
"",
32330 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32331 #endif // !DOCUMENTATION
32333 DECLARE_OTHERS(AsmCilManifestResourceTable);
32334 #if defined(SgAsmCilManifestResourceTable_OTHERS) || defined(DOCUMENTATION)
32337 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32339 friend class boost::serialization::access;
32342 void serialize(S &s,
const unsigned ) {
32345 s & BOOST_SERIALIZATION_NVP(p_elements);
32348 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32351 std::vector<SgAsmCilManifestResource*>
const& get_elements()
const;
32352 std::vector<SgAsmCilManifestResource*>& get_elements();
32371 #endif // SgAsmCilManifestResourceTable_OTHERS
32372 #ifdef DOCUMENTATION
32374 #endif // DOCUMENTATION
32381 DECLARE_LEAF_CLASS(AsmCilManifestResource);
32382 IS_SERIALIZABLE(AsmCilManifestResource);
32384 #ifdef DOCUMENTATION
32387 #endif // DOCUMENTATION
32389 #ifndef DOCUMENTATION
32390 AsmCilManifestResource.setDataPrototype(
32391 "uint32_t",
"Offset",
"= 0",
32392 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32393 #endif // !DOCUMENTATION
32395 #ifndef DOCUMENTATION
32396 AsmCilManifestResource.setDataPrototype(
32397 "uint32_t",
"Flags",
"= 0",
32398 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32399 #endif // !DOCUMENTATION
32401 #ifndef DOCUMENTATION
32402 AsmCilManifestResource.setDataPrototype(
32403 "uint32_t",
"Name",
"= 0",
32404 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32405 #endif // !DOCUMENTATION
32407 #ifndef DOCUMENTATION
32408 AsmCilManifestResource.setDataPrototype(
32409 "uint32_t",
"Implementation",
"= 0",
32410 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32411 #endif // !DOCUMENTATION
32413 DECLARE_OTHERS(AsmCilManifestResource);
32414 #if defined(SgAsmCilManifestResource_OTHERS) || defined(DOCUMENTATION)
32417 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32419 friend class boost::serialization::access;
32422 void serialize(S &s,
const unsigned ) {
32425 s & BOOST_SERIALIZATION_NVP(p_Offset);
32426 s & BOOST_SERIALIZATION_NVP(p_Flags);
32427 s & BOOST_SERIALIZATION_NVP(p_Name);
32428 s & BOOST_SERIALIZATION_NVP(p_Implementation);
32431 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32473 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32475 const std::uint8_t* get_Name_string()
const;
32493 #endif // SgAsmCilManifestResource_OTHERS
32494 #ifdef DOCUMENTATION
32496 #endif // DOCUMENTATION
32503 DECLARE_LEAF_CLASS(AsmCilInterfaceImplTable);
32504 IS_SERIALIZABLE(AsmCilInterfaceImplTable);
32506 #ifdef DOCUMENTATION
32509 #endif // DOCUMENTATION
32511 #ifndef DOCUMENTATION
32512 AsmCilInterfaceImplTable.setDataPrototype(
32513 "std::vector<SgAsmCilInterfaceImpl*>",
"elements",
"",
32514 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32515 #endif // !DOCUMENTATION
32517 DECLARE_OTHERS(AsmCilInterfaceImplTable);
32518 #if defined(SgAsmCilInterfaceImplTable_OTHERS) || defined(DOCUMENTATION)
32521 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32523 friend class boost::serialization::access;
32526 void serialize(S &s,
const unsigned ) {
32529 s & BOOST_SERIALIZATION_NVP(p_elements);
32532 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32535 std::vector<SgAsmCilInterfaceImpl*>
const& get_elements()
const;
32536 std::vector<SgAsmCilInterfaceImpl*>& get_elements();
32555 #endif // SgAsmCilInterfaceImplTable_OTHERS
32556 #ifdef DOCUMENTATION
32558 #endif // DOCUMENTATION
32565 DECLARE_LEAF_CLASS(AsmCilInterfaceImpl);
32566 IS_SERIALIZABLE(AsmCilInterfaceImpl);
32568 #ifdef DOCUMENTATION
32571 #endif // DOCUMENTATION
32573 #ifndef DOCUMENTATION
32574 AsmCilInterfaceImpl.setDataPrototype(
32575 "uint32_t",
"Class",
"= 0",
32576 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32577 #endif // !DOCUMENTATION
32579 #ifndef DOCUMENTATION
32580 AsmCilInterfaceImpl.setDataPrototype(
32581 "uint32_t",
"Interface",
"= 0",
32582 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32583 #endif // !DOCUMENTATION
32585 DECLARE_OTHERS(AsmCilInterfaceImpl);
32586 #if defined(SgAsmCilInterfaceImpl_OTHERS) || defined(DOCUMENTATION)
32589 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32591 friend class boost::serialization::access;
32594 void serialize(S &s,
const unsigned ) {
32597 s & BOOST_SERIALIZATION_NVP(p_Class);
32598 s & BOOST_SERIALIZATION_NVP(p_Interface);
32601 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32623 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32643 #endif // SgAsmCilInterfaceImpl_OTHERS
32644 #ifdef DOCUMENTATION
32646 #endif // DOCUMENTATION
32653 DECLARE_LEAF_CLASS(AsmCilInstruction);
32654 IS_SERIALIZABLE(AsmCilInstruction);
32656 DECLARE_HEADERS(AsmCilInstruction);
32657 #if defined(SgAsmCilInstruction_HEADERS) || defined(DOCUMENTATION)
32658 #include <Rose/BinaryAnalysis/InstructionEnumsCil.h>
32659 #endif // SgAsmCilInstruction_HEADERS
32661 #ifdef DOCUMENTATION
32663 #endif // DOCUMENTATION
32665 #ifndef DOCUMENTATION
32666 AsmCilInstruction.setDataPrototype(
32667 "Rose::BinaryAnalysis::CilInstructionKind",
"kind",
"= Rose::BinaryAnalysis::Cil_unknown_instruction",
32668 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32669 #endif // !DOCUMENTATION
32671 DECLARE_OTHERS(AsmCilInstruction);
32672 #if defined(SgAsmCilInstruction_OTHERS) || defined(DOCUMENTATION)
32675 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32677 friend class boost::serialization::access;
32680 void serialize(S &s,
const unsigned ) {
32683 s & BOOST_SERIALIZATION_NVP(p_kind);
32686 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32700 virtual std::string
description()
const override;
32703 rose_addr_t *target, rose_addr_t *ret)
override;
32705 rose_addr_t *target, rose_addr_t *ret)
override;
32714 virtual bool isUnknown()
const override;
32727 std::string
const& mnemonic,
32738 #endif // SgAsmCilInstruction_OTHERS
32739 #ifdef DOCUMENTATION
32741 #endif // DOCUMENTATION
32748 DECLARE_LEAF_CLASS(AsmCilImplMapTable);
32749 IS_SERIALIZABLE(AsmCilImplMapTable);
32751 #ifdef DOCUMENTATION
32754 #endif // DOCUMENTATION
32756 #ifndef DOCUMENTATION
32757 AsmCilImplMapTable.setDataPrototype(
32758 "std::vector<SgAsmCilImplMap*>",
"elements",
"",
32759 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32760 #endif // !DOCUMENTATION
32762 DECLARE_OTHERS(AsmCilImplMapTable);
32763 #if defined(SgAsmCilImplMapTable_OTHERS) || defined(DOCUMENTATION)
32766 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32768 friend class boost::serialization::access;
32771 void serialize(S &s,
const unsigned ) {
32774 s & BOOST_SERIALIZATION_NVP(p_elements);
32777 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32780 std::vector<SgAsmCilImplMap*>
const& get_elements()
const;
32781 std::vector<SgAsmCilImplMap*>& get_elements();
32800 #endif // SgAsmCilImplMapTable_OTHERS
32801 #ifdef DOCUMENTATION
32803 #endif // DOCUMENTATION
32810 DECLARE_LEAF_CLASS(AsmCilImplMap);
32811 IS_SERIALIZABLE(AsmCilImplMap);
32813 #ifdef DOCUMENTATION
32816 #endif // DOCUMENTATION
32818 #ifndef DOCUMENTATION
32819 AsmCilImplMap.setDataPrototype(
32820 "uint16_t",
"MappingFlags",
"= 0",
32821 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32822 #endif // !DOCUMENTATION
32824 #ifndef DOCUMENTATION
32825 AsmCilImplMap.setDataPrototype(
32826 "uint32_t",
"MemberForwarded",
"= 0",
32827 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32828 #endif // !DOCUMENTATION
32830 #ifndef DOCUMENTATION
32831 AsmCilImplMap.setDataPrototype(
32832 "uint32_t",
"ImportName",
"= 0",
32833 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32834 #endif // !DOCUMENTATION
32836 #ifndef DOCUMENTATION
32837 AsmCilImplMap.setDataPrototype(
32838 "uint32_t",
"ImportScope",
"= 0",
32839 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32840 #endif // !DOCUMENTATION
32842 DECLARE_OTHERS(AsmCilImplMap);
32843 #if defined(SgAsmCilImplMap_OTHERS) || defined(DOCUMENTATION)
32846 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32848 friend class boost::serialization::access;
32851 void serialize(S &s,
const unsigned ) {
32854 s & BOOST_SERIALIZATION_NVP(p_MappingFlags);
32855 s & BOOST_SERIALIZATION_NVP(p_MemberForwarded);
32856 s & BOOST_SERIALIZATION_NVP(p_ImportName);
32857 s & BOOST_SERIALIZATION_NVP(p_ImportScope);
32860 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32902 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32905 const std::uint8_t* get_ImportName_string()
const;
32923 #endif // SgAsmCilImplMap_OTHERS
32924 #ifdef DOCUMENTATION
32926 #endif // DOCUMENTATION
32933 DECLARE_LEAF_CLASS(AsmCilGenericParamTable);
32934 IS_SERIALIZABLE(AsmCilGenericParamTable);
32936 #ifdef DOCUMENTATION
32939 #endif // DOCUMENTATION
32941 #ifndef DOCUMENTATION
32942 AsmCilGenericParamTable.setDataPrototype(
32943 "std::vector<SgAsmCilGenericParam*>",
"elements",
"",
32944 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32945 #endif // !DOCUMENTATION
32947 DECLARE_OTHERS(AsmCilGenericParamTable);
32948 #if defined(SgAsmCilGenericParamTable_OTHERS) || defined(DOCUMENTATION)
32951 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32953 friend class boost::serialization::access;
32956 void serialize(S &s,
const unsigned ) {
32959 s & BOOST_SERIALIZATION_NVP(p_elements);
32962 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
32965 std::vector<SgAsmCilGenericParam*>
const& get_elements()
const;
32966 std::vector<SgAsmCilGenericParam*>& get_elements();
32985 #endif // SgAsmCilGenericParamTable_OTHERS
32986 #ifdef DOCUMENTATION
32988 #endif // DOCUMENTATION
32995 DECLARE_LEAF_CLASS(AsmCilGenericParam);
32996 IS_SERIALIZABLE(AsmCilGenericParam);
32998 #ifdef DOCUMENTATION
33001 #endif // DOCUMENTATION
33003 #ifndef DOCUMENTATION
33004 AsmCilGenericParam.setDataPrototype(
33005 "uint16_t",
"Number",
"= 0",
33006 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33007 #endif // !DOCUMENTATION
33009 #ifndef DOCUMENTATION
33010 AsmCilGenericParam.setDataPrototype(
33011 "uint16_t",
"Flags",
"= 0",
33012 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33013 #endif // !DOCUMENTATION
33015 #ifndef DOCUMENTATION
33016 AsmCilGenericParam.setDataPrototype(
33017 "uint32_t",
"Owner",
"= 0",
33018 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33019 #endif // !DOCUMENTATION
33021 #ifndef DOCUMENTATION
33022 AsmCilGenericParam.setDataPrototype(
33023 "uint32_t",
"Name",
"= 0",
33024 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33025 #endif // !DOCUMENTATION
33027 DECLARE_OTHERS(AsmCilGenericParam);
33028 #if defined(SgAsmCilGenericParam_OTHERS) || defined(DOCUMENTATION)
33031 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33033 friend class boost::serialization::access;
33036 void serialize(S &s,
const unsigned ) {
33039 s & BOOST_SERIALIZATION_NVP(p_Number);
33040 s & BOOST_SERIALIZATION_NVP(p_Flags);
33041 s & BOOST_SERIALIZATION_NVP(p_Owner);
33042 s & BOOST_SERIALIZATION_NVP(p_Name);
33045 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33087 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33090 const std::uint8_t* get_Name_string()
const;
33107 #endif // SgAsmCilGenericParam_OTHERS
33108 #ifdef DOCUMENTATION
33110 #endif // DOCUMENTATION
33117 DECLARE_LEAF_CLASS(AsmCilGenericParamConstraintTable);
33118 IS_SERIALIZABLE(AsmCilGenericParamConstraintTable);
33120 #ifdef DOCUMENTATION
33123 #endif // DOCUMENTATION
33125 #ifndef DOCUMENTATION
33126 AsmCilGenericParamConstraintTable.setDataPrototype(
33127 "std::vector<SgAsmCilGenericParamConstraint*>",
"elements",
"",
33128 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33129 #endif // !DOCUMENTATION
33131 DECLARE_OTHERS(AsmCilGenericParamConstraintTable);
33132 #if defined(SgAsmCilGenericParamConstraintTable_OTHERS) || defined(DOCUMENTATION)
33135 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33137 friend class boost::serialization::access;
33140 void serialize(S &s,
const unsigned ) {
33143 s & BOOST_SERIALIZATION_NVP(p_elements);
33146 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33149 std::vector<SgAsmCilGenericParamConstraint*>
const& get_elements()
const;
33150 std::vector<SgAsmCilGenericParamConstraint*>& get_elements();
33169 #endif // SgAsmCilGenericParamConstraintTable_OTHERS
33170 #ifdef DOCUMENTATION
33172 #endif // DOCUMENTATION
33179 DECLARE_LEAF_CLASS(AsmCilGenericParamConstraint);
33180 IS_SERIALIZABLE(AsmCilGenericParamConstraint);
33182 #ifdef DOCUMENTATION
33185 #endif // DOCUMENTATION
33187 #ifndef DOCUMENTATION
33188 AsmCilGenericParamConstraint.setDataPrototype(
33189 "uint32_t",
"Owner",
"= 0",
33190 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33191 #endif // !DOCUMENTATION
33193 #ifndef DOCUMENTATION
33194 AsmCilGenericParamConstraint.setDataPrototype(
33195 "uint32_t",
"Constraint",
"= 0",
33196 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33197 #endif // !DOCUMENTATION
33199 DECLARE_OTHERS(AsmCilGenericParamConstraint);
33200 #if defined(SgAsmCilGenericParamConstraint_OTHERS) || defined(DOCUMENTATION)
33203 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33205 friend class boost::serialization::access;
33208 void serialize(S &s,
const unsigned ) {
33211 s & BOOST_SERIALIZATION_NVP(p_Owner);
33212 s & BOOST_SERIALIZATION_NVP(p_Constraint);
33215 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33237 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33257 #endif // SgAsmCilGenericParamConstraint_OTHERS
33258 #ifdef DOCUMENTATION
33260 #endif // DOCUMENTATION
33267 DECLARE_LEAF_CLASS(AsmCilFileTable);
33268 IS_SERIALIZABLE(AsmCilFileTable);
33270 #ifdef DOCUMENTATION
33273 #endif // DOCUMENTATION
33275 #ifndef DOCUMENTATION
33276 AsmCilFileTable.setDataPrototype(
33277 "std::vector<SgAsmCilFile*>",
"elements",
"",
33278 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33279 #endif // !DOCUMENTATION
33281 DECLARE_OTHERS(AsmCilFileTable);
33282 #if defined(SgAsmCilFileTable_OTHERS) || defined(DOCUMENTATION)
33285 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33287 friend class boost::serialization::access;
33290 void serialize(S &s,
const unsigned ) {
33293 s & BOOST_SERIALIZATION_NVP(p_elements);
33296 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33299 std::vector<SgAsmCilFile*>
const& get_elements()
const;
33300 std::vector<SgAsmCilFile*>& get_elements();
33319 #endif // SgAsmCilFileTable_OTHERS
33320 #ifdef DOCUMENTATION
33322 #endif // DOCUMENTATION
33329 DECLARE_LEAF_CLASS(AsmCilFile);
33330 IS_SERIALIZABLE(AsmCilFile);
33332 #ifdef DOCUMENTATION
33335 #endif // DOCUMENTATION
33337 #ifndef DOCUMENTATION
33338 AsmCilFile.setDataPrototype(
33339 "uint32_t",
"Flags",
"= 0",
33340 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33341 #endif // !DOCUMENTATION
33343 #ifndef DOCUMENTATION
33344 AsmCilFile.setDataPrototype(
33345 "uint32_t",
"Name",
"= 0",
33346 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33347 #endif // !DOCUMENTATION
33349 #ifndef DOCUMENTATION
33350 AsmCilFile.setDataPrototype(
33351 "uint32_t",
"HashValue",
"= 0",
33352 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33353 #endif // !DOCUMENTATION
33355 DECLARE_OTHERS(AsmCilFile);
33356 #if defined(SgAsmCilFile_OTHERS) || defined(DOCUMENTATION)
33359 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33361 friend class boost::serialization::access;
33364 void serialize(S &s,
const unsigned ) {
33367 s & BOOST_SERIALIZATION_NVP(p_Flags);
33368 s & BOOST_SERIALIZATION_NVP(p_Name);
33369 s & BOOST_SERIALIZATION_NVP(p_HashValue);
33372 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33404 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33406 const std::uint8_t* get_Name_string()
const;
33407 const std::uint8_t* get_HashValue_blob()
const;
33424 #endif // SgAsmCilFile_OTHERS
33425 #ifdef DOCUMENTATION
33427 #endif // DOCUMENTATION
33434 DECLARE_LEAF_CLASS(AsmCilFieldTable);
33435 IS_SERIALIZABLE(AsmCilFieldTable);
33437 #ifdef DOCUMENTATION
33440 #endif // DOCUMENTATION
33442 #ifndef DOCUMENTATION
33443 AsmCilFieldTable.setDataPrototype(
33444 "std::vector<SgAsmCilField*>",
"elements",
"",
33445 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33446 #endif // !DOCUMENTATION
33448 DECLARE_OTHERS(AsmCilFieldTable);
33449 #if defined(SgAsmCilFieldTable_OTHERS) || defined(DOCUMENTATION)
33452 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33454 friend class boost::serialization::access;
33457 void serialize(S &s,
const unsigned ) {
33460 s & BOOST_SERIALIZATION_NVP(p_elements);
33463 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33466 std::vector<SgAsmCilField*>
const& get_elements()
const;
33467 std::vector<SgAsmCilField*>& get_elements();
33486 #endif // SgAsmCilFieldTable_OTHERS
33487 #ifdef DOCUMENTATION
33489 #endif // DOCUMENTATION
33496 DECLARE_LEAF_CLASS(AsmCilFieldRVATable);
33497 IS_SERIALIZABLE(AsmCilFieldRVATable);
33499 #ifdef DOCUMENTATION
33502 #endif // DOCUMENTATION
33504 #ifndef DOCUMENTATION
33505 AsmCilFieldRVATable.setDataPrototype(
33506 "std::vector<SgAsmCilFieldRVA*>",
"elements",
"",
33507 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33508 #endif // !DOCUMENTATION
33510 DECLARE_OTHERS(AsmCilFieldRVATable);
33511 #if defined(SgAsmCilFieldRVATable_OTHERS) || defined(DOCUMENTATION)
33514 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33516 friend class boost::serialization::access;
33519 void serialize(S &s,
const unsigned ) {
33522 s & BOOST_SERIALIZATION_NVP(p_elements);
33525 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33528 std::vector<SgAsmCilFieldRVA*>
const& get_elements()
const;
33529 std::vector<SgAsmCilFieldRVA*>& get_elements();
33548 #endif // SgAsmCilFieldRVATable_OTHERS
33549 #ifdef DOCUMENTATION
33551 #endif // DOCUMENTATION
33558 DECLARE_LEAF_CLASS(AsmCilFieldRVA);
33559 IS_SERIALIZABLE(AsmCilFieldRVA);
33561 #ifdef DOCUMENTATION
33564 #endif // DOCUMENTATION
33566 #ifndef DOCUMENTATION
33567 AsmCilFieldRVA.setDataPrototype(
33568 "uint32_t",
"RVA",
"= 0",
33569 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33570 #endif // !DOCUMENTATION
33572 #ifndef DOCUMENTATION
33573 AsmCilFieldRVA.setDataPrototype(
33574 "uint32_t",
"Field",
"= 0",
33575 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33576 #endif // !DOCUMENTATION
33578 DECLARE_OTHERS(AsmCilFieldRVA);
33579 #if defined(SgAsmCilFieldRVA_OTHERS) || defined(DOCUMENTATION)
33582 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33584 friend class boost::serialization::access;
33587 void serialize(S &s,
const unsigned ) {
33590 s & BOOST_SERIALIZATION_NVP(p_RVA);
33591 s & BOOST_SERIALIZATION_NVP(p_Field);
33594 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33602 uint32_t
const&
get_RVA()
const;
33603 void set_RVA(uint32_t
const&);
33616 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33635 #endif // SgAsmCilFieldRVA_OTHERS
33636 #ifdef DOCUMENTATION
33638 #endif // DOCUMENTATION
33645 DECLARE_LEAF_CLASS(AsmCilFieldMarshalTable);
33646 IS_SERIALIZABLE(AsmCilFieldMarshalTable);
33648 #ifdef DOCUMENTATION
33651 #endif // DOCUMENTATION
33653 #ifndef DOCUMENTATION
33654 AsmCilFieldMarshalTable.setDataPrototype(
33655 "std::vector<SgAsmCilFieldMarshal*>",
"elements",
"",
33656 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33657 #endif // !DOCUMENTATION
33659 DECLARE_OTHERS(AsmCilFieldMarshalTable);
33660 #if defined(SgAsmCilFieldMarshalTable_OTHERS) || defined(DOCUMENTATION)
33663 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33665 friend class boost::serialization::access;
33668 void serialize(S &s,
const unsigned ) {
33671 s & BOOST_SERIALIZATION_NVP(p_elements);
33674 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33677 std::vector<SgAsmCilFieldMarshal*>
const& get_elements()
const;
33678 std::vector<SgAsmCilFieldMarshal*>& get_elements();
33697 #endif // SgAsmCilFieldMarshalTable_OTHERS
33698 #ifdef DOCUMENTATION
33700 #endif // DOCUMENTATION
33707 DECLARE_LEAF_CLASS(AsmCilFieldMarshal);
33708 IS_SERIALIZABLE(AsmCilFieldMarshal);
33710 #ifdef DOCUMENTATION
33713 #endif // DOCUMENTATION
33715 #ifndef DOCUMENTATION
33716 AsmCilFieldMarshal.setDataPrototype(
33717 "uint32_t",
"Parent",
"= 0",
33718 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33719 #endif // !DOCUMENTATION
33721 #ifndef DOCUMENTATION
33722 AsmCilFieldMarshal.setDataPrototype(
33723 "uint32_t",
"NativeType",
"= 0",
33724 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33725 #endif // !DOCUMENTATION
33727 DECLARE_OTHERS(AsmCilFieldMarshal);
33728 #if defined(SgAsmCilFieldMarshal_OTHERS) || defined(DOCUMENTATION)
33731 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33733 friend class boost::serialization::access;
33736 void serialize(S &s,
const unsigned ) {
33739 s & BOOST_SERIALIZATION_NVP(p_Parent);
33740 s & BOOST_SERIALIZATION_NVP(p_NativeType);
33743 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33765 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33768 const std::uint8_t* get_NativeType_blob()
const;
33785 #endif // SgAsmCilFieldMarshal_OTHERS
33786 #ifdef DOCUMENTATION
33788 #endif // DOCUMENTATION
33795 DECLARE_LEAF_CLASS(AsmCilFieldLayoutTable);
33796 IS_SERIALIZABLE(AsmCilFieldLayoutTable);
33798 #ifdef DOCUMENTATION
33801 #endif // DOCUMENTATION
33803 #ifndef DOCUMENTATION
33804 AsmCilFieldLayoutTable.setDataPrototype(
33805 "std::vector<SgAsmCilFieldLayout*>",
"elements",
"",
33806 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33807 #endif // !DOCUMENTATION
33809 DECLARE_OTHERS(AsmCilFieldLayoutTable);
33810 #if defined(SgAsmCilFieldLayoutTable_OTHERS) || defined(DOCUMENTATION)
33813 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33815 friend class boost::serialization::access;
33818 void serialize(S &s,
const unsigned ) {
33821 s & BOOST_SERIALIZATION_NVP(p_elements);
33824 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33827 std::vector<SgAsmCilFieldLayout*>
const& get_elements()
const;
33828 std::vector<SgAsmCilFieldLayout*>& get_elements();
33847 #endif // SgAsmCilFieldLayoutTable_OTHERS
33848 #ifdef DOCUMENTATION
33850 #endif // DOCUMENTATION
33857 DECLARE_LEAF_CLASS(AsmCilFieldLayout);
33858 IS_SERIALIZABLE(AsmCilFieldLayout);
33860 #ifdef DOCUMENTATION
33863 #endif // DOCUMENTATION
33865 #ifndef DOCUMENTATION
33866 AsmCilFieldLayout.setDataPrototype(
33867 "uint32_t",
"Offset",
"= 0",
33868 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33869 #endif // !DOCUMENTATION
33871 #ifndef DOCUMENTATION
33872 AsmCilFieldLayout.setDataPrototype(
33873 "uint32_t",
"Field",
"= 0",
33874 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33875 #endif // !DOCUMENTATION
33877 DECLARE_OTHERS(AsmCilFieldLayout);
33878 #if defined(SgAsmCilFieldLayout_OTHERS) || defined(DOCUMENTATION)
33881 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33883 friend class boost::serialization::access;
33886 void serialize(S &s,
const unsigned ) {
33889 s & BOOST_SERIALIZATION_NVP(p_Offset);
33890 s & BOOST_SERIALIZATION_NVP(p_Field);
33893 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
33915 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33934 #endif // SgAsmCilFieldLayout_OTHERS
33935 #ifdef DOCUMENTATION
33937 #endif // DOCUMENTATION
33944 DECLARE_LEAF_CLASS(AsmCilField);
33945 IS_SERIALIZABLE(AsmCilField);
33947 #ifdef DOCUMENTATION
33950 #endif // DOCUMENTATION
33952 #ifndef DOCUMENTATION
33953 AsmCilField.setDataPrototype(
33954 "uint16_t",
"Flags",
"= 0",
33955 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33956 #endif // !DOCUMENTATION
33958 #ifndef DOCUMENTATION
33959 AsmCilField.setDataPrototype(
33960 "uint32_t",
"Name",
"= 0",
33961 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33962 #endif // !DOCUMENTATION
33964 #ifndef DOCUMENTATION
33965 AsmCilField.setDataPrototype(
33966 "uint32_t",
"Signature",
"= 0",
33967 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33968 #endif // !DOCUMENTATION
33970 DECLARE_OTHERS(AsmCilField);
33971 #if defined(SgAsmCilField_OTHERS) || defined(DOCUMENTATION)
33974 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33976 friend class boost::serialization::access;
33979 void serialize(S &s,
const unsigned ) {
33982 s & BOOST_SERIALIZATION_NVP(p_Flags);
33983 s & BOOST_SERIALIZATION_NVP(p_Name);
33984 s & BOOST_SERIALIZATION_NVP(p_Signature);
33987 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34019 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34021 const std::uint8_t* get_Name_string()
const;
34022 const std::uint8_t* get_Signature_blob()
const;
34039 #endif // SgAsmCilField_OTHERS
34040 #ifdef DOCUMENTATION
34042 #endif // DOCUMENTATION
34049 DECLARE_LEAF_CLASS(AsmCilExportedTypeTable);
34050 IS_SERIALIZABLE(AsmCilExportedTypeTable);
34052 #ifdef DOCUMENTATION
34055 #endif // DOCUMENTATION
34057 #ifndef DOCUMENTATION
34058 AsmCilExportedTypeTable.setDataPrototype(
34059 "std::vector<SgAsmCilExportedType*>",
"elements",
"",
34060 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34061 #endif // !DOCUMENTATION
34063 DECLARE_OTHERS(AsmCilExportedTypeTable);
34064 #if defined(SgAsmCilExportedTypeTable_OTHERS) || defined(DOCUMENTATION)
34067 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34069 friend class boost::serialization::access;
34072 void serialize(S &s,
const unsigned ) {
34075 s & BOOST_SERIALIZATION_NVP(p_elements);
34078 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34081 std::vector<SgAsmCilExportedType*>
const& get_elements()
const;
34082 std::vector<SgAsmCilExportedType*>& get_elements();
34101 #endif // SgAsmCilExportedTypeTable_OTHERS
34102 #ifdef DOCUMENTATION
34104 #endif // DOCUMENTATION
34111 DECLARE_LEAF_CLASS(AsmCilExportedType);
34112 IS_SERIALIZABLE(AsmCilExportedType);
34114 #ifdef DOCUMENTATION
34117 #endif // DOCUMENTATION
34119 #ifndef DOCUMENTATION
34120 AsmCilExportedType.setDataPrototype(
34121 "uint32_t",
"EventFlags",
"= 0",
34122 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34123 #endif // !DOCUMENTATION
34125 #ifndef DOCUMENTATION
34126 AsmCilExportedType.setDataPrototype(
34127 "uint32_t",
"TypeDefIdName",
"= 0",
34128 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34129 #endif // !DOCUMENTATION
34131 #ifndef DOCUMENTATION
34132 AsmCilExportedType.setDataPrototype(
34133 "uint32_t",
"TypeName",
"= 0",
34134 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34135 #endif // !DOCUMENTATION
34137 #ifndef DOCUMENTATION
34138 AsmCilExportedType.setDataPrototype(
34139 "uint32_t",
"TypeNamespace",
"= 0",
34140 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34141 #endif // !DOCUMENTATION
34143 #ifndef DOCUMENTATION
34144 AsmCilExportedType.setDataPrototype(
34145 "uint32_t",
"Implementation",
"= 0",
34146 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34147 #endif // !DOCUMENTATION
34149 DECLARE_OTHERS(AsmCilExportedType);
34150 #if defined(SgAsmCilExportedType_OTHERS) || defined(DOCUMENTATION)
34153 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34155 friend class boost::serialization::access;
34158 void serialize(S &s,
const unsigned ) {
34161 s & BOOST_SERIALIZATION_NVP(p_EventFlags);
34162 s & BOOST_SERIALIZATION_NVP(p_TypeDefIdName);
34163 s & BOOST_SERIALIZATION_NVP(p_TypeName);
34164 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
34165 s & BOOST_SERIALIZATION_NVP(p_Implementation);
34168 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34220 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34222 const std::uint8_t* get_TypeName_string()
const;
34223 const std::uint8_t* get_TypeNamespace_string()
const;
34241 #endif // SgAsmCilExportedType_OTHERS
34242 #ifdef DOCUMENTATION
34244 #endif // DOCUMENTATION
34251 DECLARE_LEAF_CLASS(AsmCilEventTable);
34252 IS_SERIALIZABLE(AsmCilEventTable);
34254 #ifdef DOCUMENTATION
34257 #endif // DOCUMENTATION
34259 #ifndef DOCUMENTATION
34260 AsmCilEventTable.setDataPrototype(
34261 "std::vector<SgAsmCilEvent*>",
"elements",
"",
34262 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34263 #endif // !DOCUMENTATION
34265 DECLARE_OTHERS(AsmCilEventTable);
34266 #if defined(SgAsmCilEventTable_OTHERS) || defined(DOCUMENTATION)
34269 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34271 friend class boost::serialization::access;
34274 void serialize(S &s,
const unsigned ) {
34277 s & BOOST_SERIALIZATION_NVP(p_elements);
34280 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34283 std::vector<SgAsmCilEvent*>
const& get_elements()
const;
34284 std::vector<SgAsmCilEvent*>& get_elements();
34303 #endif // SgAsmCilEventTable_OTHERS
34304 #ifdef DOCUMENTATION
34306 #endif // DOCUMENTATION
34313 DECLARE_LEAF_CLASS(AsmCilEventMapTable);
34314 IS_SERIALIZABLE(AsmCilEventMapTable);
34316 #ifdef DOCUMENTATION
34319 #endif // DOCUMENTATION
34321 #ifndef DOCUMENTATION
34322 AsmCilEventMapTable.setDataPrototype(
34323 "std::vector<SgAsmCilEventMap*>",
"elements",
"",
34324 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34325 #endif // !DOCUMENTATION
34327 DECLARE_OTHERS(AsmCilEventMapTable);
34328 #if defined(SgAsmCilEventMapTable_OTHERS) || defined(DOCUMENTATION)
34331 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34333 friend class boost::serialization::access;
34336 void serialize(S &s,
const unsigned ) {
34339 s & BOOST_SERIALIZATION_NVP(p_elements);
34342 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34345 std::vector<SgAsmCilEventMap*>
const& get_elements()
const;
34346 std::vector<SgAsmCilEventMap*>& get_elements();
34365 #endif // SgAsmCilEventMapTable_OTHERS
34366 #ifdef DOCUMENTATION
34368 #endif // DOCUMENTATION
34375 DECLARE_LEAF_CLASS(AsmCilEventMap);
34376 IS_SERIALIZABLE(AsmCilEventMap);
34378 #ifdef DOCUMENTATION
34381 #endif // DOCUMENTATION
34383 #ifndef DOCUMENTATION
34384 AsmCilEventMap.setDataPrototype(
34385 "uint32_t",
"Parent",
"= 0",
34386 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34387 #endif // !DOCUMENTATION
34389 #ifndef DOCUMENTATION
34390 AsmCilEventMap.setDataPrototype(
34391 "uint32_t",
"EventList",
"= 0",
34392 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34393 #endif // !DOCUMENTATION
34395 DECLARE_OTHERS(AsmCilEventMap);
34396 #if defined(SgAsmCilEventMap_OTHERS) || defined(DOCUMENTATION)
34399 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34401 friend class boost::serialization::access;
34404 void serialize(S &s,
const unsigned ) {
34407 s & BOOST_SERIALIZATION_NVP(p_Parent);
34408 s & BOOST_SERIALIZATION_NVP(p_EventList);
34411 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34433 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34453 #endif // SgAsmCilEventMap_OTHERS
34454 #ifdef DOCUMENTATION
34456 #endif // DOCUMENTATION
34463 DECLARE_LEAF_CLASS(AsmCilEvent);
34464 IS_SERIALIZABLE(AsmCilEvent);
34466 #ifdef DOCUMENTATION
34469 #endif // DOCUMENTATION
34471 #ifndef DOCUMENTATION
34472 AsmCilEvent.setDataPrototype(
34473 "uint16_t",
"EventFlags",
"= 0",
34474 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34475 #endif // !DOCUMENTATION
34477 #ifndef DOCUMENTATION
34478 AsmCilEvent.setDataPrototype(
34479 "uint32_t",
"Name",
"= 0",
34480 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34481 #endif // !DOCUMENTATION
34483 #ifndef DOCUMENTATION
34484 AsmCilEvent.setDataPrototype(
34485 "uint32_t",
"EventType",
"= 0",
34486 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34487 #endif // !DOCUMENTATION
34489 DECLARE_OTHERS(AsmCilEvent);
34490 #if defined(SgAsmCilEvent_OTHERS) || defined(DOCUMENTATION)
34493 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34495 friend class boost::serialization::access;
34498 void serialize(S &s,
const unsigned ) {
34501 s & BOOST_SERIALIZATION_NVP(p_EventFlags);
34502 s & BOOST_SERIALIZATION_NVP(p_Name);
34503 s & BOOST_SERIALIZATION_NVP(p_EventType);
34506 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34538 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34540 const std::uint8_t* get_Name_string()
const;
34558 #endif // SgAsmCilEvent_OTHERS
34559 #ifdef DOCUMENTATION
34561 #endif // DOCUMENTATION
34568 DECLARE_LEAF_CLASS(AsmCilDeclSecurityTable);
34569 IS_SERIALIZABLE(AsmCilDeclSecurityTable);
34571 #ifdef DOCUMENTATION
34574 #endif // DOCUMENTATION
34576 #ifndef DOCUMENTATION
34577 AsmCilDeclSecurityTable.setDataPrototype(
34578 "std::vector<SgAsmCilDeclSecurity*>",
"elements",
"",
34579 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34580 #endif // !DOCUMENTATION
34582 DECLARE_OTHERS(AsmCilDeclSecurityTable);
34583 #if defined(SgAsmCilDeclSecurityTable_OTHERS) || defined(DOCUMENTATION)
34586 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34588 friend class boost::serialization::access;
34591 void serialize(S &s,
const unsigned ) {
34594 s & BOOST_SERIALIZATION_NVP(p_elements);
34597 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34600 std::vector<SgAsmCilDeclSecurity*>
const& get_elements()
const;
34601 std::vector<SgAsmCilDeclSecurity*>& get_elements();
34620 #endif // SgAsmCilDeclSecurityTable_OTHERS
34621 #ifdef DOCUMENTATION
34623 #endif // DOCUMENTATION
34630 DECLARE_LEAF_CLASS(AsmCilDeclSecurity);
34631 IS_SERIALIZABLE(AsmCilDeclSecurity);
34633 #ifdef DOCUMENTATION
34636 #endif // DOCUMENTATION
34638 #ifndef DOCUMENTATION
34639 AsmCilDeclSecurity.setDataPrototype(
34640 "uint16_t",
"Action",
"= 0",
34641 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34642 #endif // !DOCUMENTATION
34644 #ifndef DOCUMENTATION
34645 AsmCilDeclSecurity.setDataPrototype(
34646 "uint32_t",
"Parent",
"= 0",
34647 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34648 #endif // !DOCUMENTATION
34650 #ifndef DOCUMENTATION
34651 AsmCilDeclSecurity.setDataPrototype(
34652 "uint32_t",
"PermissionSet",
"= 0",
34653 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34654 #endif // !DOCUMENTATION
34656 DECLARE_OTHERS(AsmCilDeclSecurity);
34657 #if defined(SgAsmCilDeclSecurity_OTHERS) || defined(DOCUMENTATION)
34660 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34662 friend class boost::serialization::access;
34665 void serialize(S &s,
const unsigned ) {
34668 s & BOOST_SERIALIZATION_NVP(p_Action);
34669 s & BOOST_SERIALIZATION_NVP(p_Parent);
34670 s & BOOST_SERIALIZATION_NVP(p_PermissionSet);
34673 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34705 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34708 const std::uint8_t* get_PermissionSet_blob()
const;
34725 #endif // SgAsmCilDeclSecurity_OTHERS
34726 #ifdef DOCUMENTATION
34728 #endif // DOCUMENTATION
34735 #ifndef DOCUMENTATION
34736 AstNodeClass& AsmCilDataStream = nonTerminalConstructor(
34737 "AsmCilDataStream",
34739 "AsmCilDataStream",
34740 "AsmCilDataStreamTag",
34741 SubclassListBuilder()
34742 | AsmCilMetadataHeap
34746 assert(AsmCilDataStream.associatedGrammar !=
nullptr);
34747 AsmCilDataStream.setCppCondition(
"!defined(DOCUMENTATION)");
34748 AsmCilDataStream.isBoostSerializable(
true);
34749 AsmCilDataStream.setAutomaticGenerationOfConstructor(
false);
34750 AsmCilDataStream.setAutomaticGenerationOfDestructor(
false);
34751 #endif // !DOCUMENTATION
34753 #ifdef DOCUMENTATION
34756 #endif // DOCUMENTATION
34758 #ifndef DOCUMENTATION
34759 AsmCilDataStream.setDataPrototype(
34760 "uint32_t",
"Offset",
"",
34761 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34762 #endif // !DOCUMENTATION
34764 #ifndef DOCUMENTATION
34765 AsmCilDataStream.setDataPrototype(
34766 "uint32_t",
"Size",
"",
34767 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34768 #endif // !DOCUMENTATION
34770 #ifndef DOCUMENTATION
34771 AsmCilDataStream.setDataPrototype(
34772 "std::string",
"Name",
"",
34773 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34774 #endif // !DOCUMENTATION
34776 #ifndef DOCUMENTATION
34777 AsmCilDataStream.setDataPrototype(
34778 "uint32_t",
"NamePadding",
"",
34779 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34780 #endif // !DOCUMENTATION
34782 DECLARE_OTHERS(AsmCilDataStream);
34783 #if defined(SgAsmCilDataStream_OTHERS) || defined(DOCUMENTATION)
34786 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34788 friend class boost::serialization::access;
34791 void serialize(S &s,
const unsigned ) {
34793 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
34794 s & BOOST_SERIALIZATION_NVP(p_Offset);
34795 s & BOOST_SERIALIZATION_NVP(p_Size);
34796 s & BOOST_SERIALIZATION_NVP(p_Name);
34797 s & BOOST_SERIALIZATION_NVP(p_NamePadding);
34800 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34822 std::string
const&
get_Name()
const;
34823 void set_Name(std::string
const&);
34854 virtual void parse(std::vector<uint8_t>& buf,
size_t startOfMetaData) { }
34866 uint32_t
const& Size,
34867 std::string
const& Name,
34868 uint32_t
const& NamePadding);
34878 #endif // SgAsmCilDataStream_OTHERS
34879 #ifdef DOCUMENTATION
34881 #endif // DOCUMENTATION
34888 DECLARE_LEAF_CLASS(AsmCilCustomAttributeTable);
34889 IS_SERIALIZABLE(AsmCilCustomAttributeTable);
34891 #ifdef DOCUMENTATION
34894 #endif // DOCUMENTATION
34896 #ifndef DOCUMENTATION
34897 AsmCilCustomAttributeTable.setDataPrototype(
34898 "std::vector<SgAsmCilCustomAttribute*>",
"elements",
"",
34899 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34900 #endif // !DOCUMENTATION
34902 DECLARE_OTHERS(AsmCilCustomAttributeTable);
34903 #if defined(SgAsmCilCustomAttributeTable_OTHERS) || defined(DOCUMENTATION)
34906 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34908 friend class boost::serialization::access;
34911 void serialize(S &s,
const unsigned ) {
34914 s & BOOST_SERIALIZATION_NVP(p_elements);
34917 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
34920 std::vector<SgAsmCilCustomAttribute*>
const& get_elements()
const;
34921 std::vector<SgAsmCilCustomAttribute*>& get_elements();
34940 #endif // SgAsmCilCustomAttributeTable_OTHERS
34941 #ifdef DOCUMENTATION
34943 #endif // DOCUMENTATION
34950 DECLARE_LEAF_CLASS(AsmCilCustomAttribute);
34951 IS_SERIALIZABLE(AsmCilCustomAttribute);
34953 #ifdef DOCUMENTATION
34956 #endif // DOCUMENTATION
34958 #ifndef DOCUMENTATION
34959 AsmCilCustomAttribute.setDataPrototype(
34960 "uint32_t",
"Parent",
"= 0",
34961 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34962 #endif // !DOCUMENTATION
34964 #ifndef DOCUMENTATION
34965 AsmCilCustomAttribute.setDataPrototype(
34966 "uint32_t",
"Type",
"= 0",
34967 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34968 #endif // !DOCUMENTATION
34970 #ifndef DOCUMENTATION
34971 AsmCilCustomAttribute.setDataPrototype(
34972 "uint32_t",
"Value",
"= 0",
34973 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34974 #endif // !DOCUMENTATION
34976 DECLARE_OTHERS(AsmCilCustomAttribute);
34977 #if defined(SgAsmCilCustomAttribute_OTHERS) || defined(DOCUMENTATION)
34980 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34982 friend class boost::serialization::access;
34985 void serialize(S &s,
const unsigned ) {
34988 s & BOOST_SERIALIZATION_NVP(p_Parent);
34989 s & BOOST_SERIALIZATION_NVP(p_Type);
34990 s & BOOST_SERIALIZATION_NVP(p_Value);
34993 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35025 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
35029 const std::uint8_t* get_Value_blob()
const;
35046 #endif // SgAsmCilCustomAttribute_OTHERS
35047 #ifdef DOCUMENTATION
35049 #endif // DOCUMENTATION
35056 DECLARE_LEAF_CLASS(AsmCilConstantTable);
35057 IS_SERIALIZABLE(AsmCilConstantTable);
35059 #ifdef DOCUMENTATION
35062 #endif // DOCUMENTATION
35064 #ifndef DOCUMENTATION
35065 AsmCilConstantTable.setDataPrototype(
35066 "std::vector<SgAsmCilConstant*>",
"elements",
"",
35067 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35068 #endif // !DOCUMENTATION
35070 DECLARE_OTHERS(AsmCilConstantTable);
35071 #if defined(SgAsmCilConstantTable_OTHERS) || defined(DOCUMENTATION)
35074 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35076 friend class boost::serialization::access;
35079 void serialize(S &s,
const unsigned ) {
35082 s & BOOST_SERIALIZATION_NVP(p_elements);
35085 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35088 std::vector<SgAsmCilConstant*>
const& get_elements()
const;
35089 std::vector<SgAsmCilConstant*>& get_elements();
35108 #endif // SgAsmCilConstantTable_OTHERS
35109 #ifdef DOCUMENTATION
35111 #endif // DOCUMENTATION
35118 DECLARE_LEAF_CLASS(AsmCilConstant);
35119 IS_SERIALIZABLE(AsmCilConstant);
35121 #ifdef DOCUMENTATION
35124 #endif // DOCUMENTATION
35126 #ifndef DOCUMENTATION
35127 AsmCilConstant.setDataPrototype(
35128 "uint8_t",
"Type",
"= 0",
35129 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35130 #endif // !DOCUMENTATION
35132 #ifndef DOCUMENTATION
35133 AsmCilConstant.setDataPrototype(
35134 "uint8_t",
"Padding",
"= 0",
35135 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35136 #endif // !DOCUMENTATION
35138 #ifndef DOCUMENTATION
35139 AsmCilConstant.setDataPrototype(
35140 "uint32_t",
"Parent",
"= 0",
35141 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35142 #endif // !DOCUMENTATION
35144 #ifndef DOCUMENTATION
35145 AsmCilConstant.setDataPrototype(
35146 "uint32_t",
"Value",
"= 0",
35147 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35148 #endif // !DOCUMENTATION
35150 DECLARE_OTHERS(AsmCilConstant);
35151 #if defined(SgAsmCilConstant_OTHERS) || defined(DOCUMENTATION)
35154 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35156 friend class boost::serialization::access;
35159 void serialize(S &s,
const unsigned ) {
35162 s & BOOST_SERIALIZATION_NVP(p_Type);
35163 s & BOOST_SERIALIZATION_NVP(p_Padding);
35164 s & BOOST_SERIALIZATION_NVP(p_Parent);
35165 s & BOOST_SERIALIZATION_NVP(p_Value);
35168 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35210 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
35213 const std::uint8_t* get_Value_blob()
const;
35230 #endif // SgAsmCilConstant_OTHERS
35231 #ifdef DOCUMENTATION
35233 #endif // DOCUMENTATION
35240 DECLARE_LEAF_CLASS(AsmCilClassLayoutTable);
35241 IS_SERIALIZABLE(AsmCilClassLayoutTable);
35243 #ifdef DOCUMENTATION
35246 #endif // DOCUMENTATION
35248 #ifndef DOCUMENTATION
35249 AsmCilClassLayoutTable.setDataPrototype(
35250 "std::vector<SgAsmCilClassLayout*>",
"elements",
"",
35251 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35252 #endif // !DOCUMENTATION
35254 DECLARE_OTHERS(AsmCilClassLayoutTable);
35255 #if defined(SgAsmCilClassLayoutTable_OTHERS) || defined(DOCUMENTATION)
35258 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35260 friend class boost::serialization::access;
35263 void serialize(S &s,
const unsigned ) {
35266 s & BOOST_SERIALIZATION_NVP(p_elements);
35269 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35272 std::vector<SgAsmCilClassLayout*>
const& get_elements()
const;
35273 std::vector<SgAsmCilClassLayout*>& get_elements();
35292 #endif // SgAsmCilClassLayoutTable_OTHERS
35293 #ifdef DOCUMENTATION
35295 #endif // DOCUMENTATION
35302 DECLARE_LEAF_CLASS(AsmCilClassLayout);
35303 IS_SERIALIZABLE(AsmCilClassLayout);
35305 #ifdef DOCUMENTATION
35308 #endif // DOCUMENTATION
35310 #ifndef DOCUMENTATION
35311 AsmCilClassLayout.setDataPrototype(
35312 "uint16_t",
"PackingSize",
"= 0",
35313 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35314 #endif // !DOCUMENTATION
35316 #ifndef DOCUMENTATION
35317 AsmCilClassLayout.setDataPrototype(
35318 "uint32_t",
"ClassSize",
"= 0",
35319 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35320 #endif // !DOCUMENTATION
35322 #ifndef DOCUMENTATION
35323 AsmCilClassLayout.setDataPrototype(
35324 "uint32_t",
"Parent",
"= 0",
35325 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35326 #endif // !DOCUMENTATION
35328 DECLARE_OTHERS(AsmCilClassLayout);
35329 #if defined(SgAsmCilClassLayout_OTHERS) || defined(DOCUMENTATION)
35332 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35334 friend class boost::serialization::access;
35337 void serialize(S &s,
const unsigned ) {
35340 s & BOOST_SERIALIZATION_NVP(p_PackingSize);
35341 s & BOOST_SERIALIZATION_NVP(p_ClassSize);
35342 s & BOOST_SERIALIZATION_NVP(p_Parent);
35345 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35377 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
35396 #endif // SgAsmCilClassLayout_OTHERS
35397 #ifdef DOCUMENTATION
35399 #endif // DOCUMENTATION
35406 DECLARE_LEAF_CLASS(AsmCilAssemblyTable);
35407 IS_SERIALIZABLE(AsmCilAssemblyTable);
35409 #ifdef DOCUMENTATION
35412 #endif // DOCUMENTATION
35414 #ifndef DOCUMENTATION
35415 AsmCilAssemblyTable.setDataPrototype(
35416 "std::vector<SgAsmCilAssembly*>",
"elements",
"",
35417 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35418 #endif // !DOCUMENTATION
35420 DECLARE_OTHERS(AsmCilAssemblyTable);
35421 #if defined(SgAsmCilAssemblyTable_OTHERS) || defined(DOCUMENTATION)
35424 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35426 friend class boost::serialization::access;
35429 void serialize(S &s,
const unsigned ) {
35432 s & BOOST_SERIALIZATION_NVP(p_elements);
35435 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35438 std::vector<SgAsmCilAssembly*>
const& get_elements()
const;
35439 std::vector<SgAsmCilAssembly*>& get_elements();
35458 #endif // SgAsmCilAssemblyTable_OTHERS
35459 #ifdef DOCUMENTATION
35461 #endif // DOCUMENTATION
35468 DECLARE_LEAF_CLASS(AsmCilAssemblyRefTable);
35469 IS_SERIALIZABLE(AsmCilAssemblyRefTable);
35471 #ifdef DOCUMENTATION
35474 #endif // DOCUMENTATION
35476 #ifndef DOCUMENTATION
35477 AsmCilAssemblyRefTable.setDataPrototype(
35478 "std::vector<SgAsmCilAssemblyRef*>",
"elements",
"",
35479 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35480 #endif // !DOCUMENTATION
35482 DECLARE_OTHERS(AsmCilAssemblyRefTable);
35483 #if defined(SgAsmCilAssemblyRefTable_OTHERS) || defined(DOCUMENTATION)
35486 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35488 friend class boost::serialization::access;
35491 void serialize(S &s,
const unsigned ) {
35494 s & BOOST_SERIALIZATION_NVP(p_elements);
35497 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35500 std::vector<SgAsmCilAssemblyRef*>
const& get_elements()
const;
35501 std::vector<SgAsmCilAssemblyRef*>& get_elements();
35520 #endif // SgAsmCilAssemblyRefTable_OTHERS
35521 #ifdef DOCUMENTATION
35523 #endif // DOCUMENTATION
35530 DECLARE_LEAF_CLASS(AsmCilAssemblyRefProcessorTable);
35531 IS_SERIALIZABLE(AsmCilAssemblyRefProcessorTable);
35533 #ifdef DOCUMENTATION
35536 #endif // DOCUMENTATION
35538 #ifndef DOCUMENTATION
35539 AsmCilAssemblyRefProcessorTable.setDataPrototype(
35540 "std::vector<SgAsmCilAssemblyRefProcessor*>",
"elements",
"",
35541 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35542 #endif // !DOCUMENTATION
35544 DECLARE_OTHERS(AsmCilAssemblyRefProcessorTable);
35545 #if defined(SgAsmCilAssemblyRefProcessorTable_OTHERS) || defined(DOCUMENTATION)
35548 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35550 friend class boost::serialization::access;
35553 void serialize(S &s,
const unsigned ) {
35556 s & BOOST_SERIALIZATION_NVP(p_elements);
35559 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35562 std::vector<SgAsmCilAssemblyRefProcessor*>
const& get_elements()
const;
35563 std::vector<SgAsmCilAssemblyRefProcessor*>& get_elements();
35582 #endif // SgAsmCilAssemblyRefProcessorTable_OTHERS
35583 #ifdef DOCUMENTATION
35585 #endif // DOCUMENTATION
35592 DECLARE_LEAF_CLASS(AsmCilAssemblyRefProcessor);
35593 IS_SERIALIZABLE(AsmCilAssemblyRefProcessor);
35595 #ifdef DOCUMENTATION
35598 #endif // DOCUMENTATION
35600 #ifndef DOCUMENTATION
35601 AsmCilAssemblyRefProcessor.setDataPrototype(
35602 "uint32_t",
"Processor",
"= 0",
35603 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35604 #endif // !DOCUMENTATION
35606 #ifndef DOCUMENTATION
35607 AsmCilAssemblyRefProcessor.setDataPrototype(
35608 "uint32_t",
"AssemblyRef",
"= 0",
35609 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35610 #endif // !DOCUMENTATION
35612 DECLARE_OTHERS(AsmCilAssemblyRefProcessor);
35613 #if defined(SgAsmCilAssemblyRefProcessor_OTHERS) || defined(DOCUMENTATION)
35616 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35618 friend class boost::serialization::access;
35621 void serialize(S &s,
const unsigned ) {
35624 s & BOOST_SERIALIZATION_NVP(p_Processor);
35625 s & BOOST_SERIALIZATION_NVP(p_AssemblyRef);
35628 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35650 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
35669 #endif // SgAsmCilAssemblyRefProcessor_OTHERS
35670 #ifdef DOCUMENTATION
35672 #endif // DOCUMENTATION
35679 DECLARE_LEAF_CLASS(AsmCilAssemblyRefOSTable);
35680 IS_SERIALIZABLE(AsmCilAssemblyRefOSTable);
35682 #ifdef DOCUMENTATION
35685 #endif // DOCUMENTATION
35687 #ifndef DOCUMENTATION
35688 AsmCilAssemblyRefOSTable.setDataPrototype(
35689 "std::vector<SgAsmCilAssemblyRefOS*>",
"elements",
"",
35690 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35691 #endif // !DOCUMENTATION
35693 DECLARE_OTHERS(AsmCilAssemblyRefOSTable);
35694 #if defined(SgAsmCilAssemblyRefOSTable_OTHERS) || defined(DOCUMENTATION)
35697 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35699 friend class boost::serialization::access;
35702 void serialize(S &s,
const unsigned ) {
35705 s & BOOST_SERIALIZATION_NVP(p_elements);
35708 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35711 std::vector<SgAsmCilAssemblyRefOS*>
const& get_elements()
const;
35712 std::vector<SgAsmCilAssemblyRefOS*>& get_elements();
35731 #endif // SgAsmCilAssemblyRefOSTable_OTHERS
35732 #ifdef DOCUMENTATION
35734 #endif // DOCUMENTATION
35741 DECLARE_LEAF_CLASS(AsmCilAssemblyRefOS);
35742 IS_SERIALIZABLE(AsmCilAssemblyRefOS);
35744 #ifdef DOCUMENTATION
35747 #endif // DOCUMENTATION
35749 #ifndef DOCUMENTATION
35750 AsmCilAssemblyRefOS.setDataPrototype(
35751 "uint32_t",
"OSPlatformID",
"= 0",
35752 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35753 #endif // !DOCUMENTATION
35755 #ifndef DOCUMENTATION
35756 AsmCilAssemblyRefOS.setDataPrototype(
35757 "uint32_t",
"OSMajorVersion",
"= 0",
35758 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35759 #endif // !DOCUMENTATION
35761 #ifndef DOCUMENTATION
35762 AsmCilAssemblyRefOS.setDataPrototype(
35763 "uint32_t",
"OSMinorVersion",
"= 0",
35764 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35765 #endif // !DOCUMENTATION
35767 #ifndef DOCUMENTATION
35768 AsmCilAssemblyRefOS.setDataPrototype(
35769 "uint32_t",
"AssemblyRefOS",
"= 0",
35770 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35771 #endif // !DOCUMENTATION
35773 DECLARE_OTHERS(AsmCilAssemblyRefOS);
35774 #if defined(SgAsmCilAssemblyRefOS_OTHERS) || defined(DOCUMENTATION)
35777 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35779 friend class boost::serialization::access;
35782 void serialize(S &s,
const unsigned ) {
35785 s & BOOST_SERIALIZATION_NVP(p_OSPlatformID);
35786 s & BOOST_SERIALIZATION_NVP(p_OSMajorVersion);
35787 s & BOOST_SERIALIZATION_NVP(p_OSMinorVersion);
35788 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefOS);
35791 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
35833 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
35852 #endif // SgAsmCilAssemblyRefOS_OTHERS
35853 #ifdef DOCUMENTATION
35855 #endif // DOCUMENTATION
35862 DECLARE_LEAF_CLASS(AsmCilAssemblyRef);
35863 IS_SERIALIZABLE(AsmCilAssemblyRef);
35865 #ifdef DOCUMENTATION
35868 #endif // DOCUMENTATION
35870 #ifndef DOCUMENTATION
35871 AsmCilAssemblyRef.setDataPrototype(
35872 "uint16_t",
"MajorVersion",
"= 0",
35873 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35874 #endif // !DOCUMENTATION
35876 #ifndef DOCUMENTATION
35877 AsmCilAssemblyRef.setDataPrototype(
35878 "uint16_t",
"MinorVersion",
"= 0",
35879 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35880 #endif // !DOCUMENTATION
35882 #ifndef DOCUMENTATION
35883 AsmCilAssemblyRef.setDataPrototype(
35884 "uint16_t",
"BuildNumber",
"= 0",
35885 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35886 #endif // !DOCUMENTATION
35888 #ifndef DOCUMENTATION
35889 AsmCilAssemblyRef.setDataPrototype(
35890 "uint16_t",
"RevisionNumber",
"= 0",
35891 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35892 #endif // !DOCUMENTATION
35894 #ifndef DOCUMENTATION
35895 AsmCilAssemblyRef.setDataPrototype(
35896 "uint32_t",
"Flags",
"= 0",
35897 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35898 #endif // !DOCUMENTATION
35900 #ifndef DOCUMENTATION
35901 AsmCilAssemblyRef.setDataPrototype(
35902 "uint32_t",
"PublicKeyOrToken",
"= 0",
35903 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35904 #endif // !DOCUMENTATION
35906 #ifndef DOCUMENTATION
35907 AsmCilAssemblyRef.setDataPrototype(
35908 "uint32_t",
"Name",
"= 0",
35909 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35910 #endif // !DOCUMENTATION
35912 #ifndef DOCUMENTATION
35913 AsmCilAssemblyRef.setDataPrototype(
35914 "uint32_t",
"Culture",
"= 0",
35915 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35916 #endif // !DOCUMENTATION
35918 #ifndef DOCUMENTATION
35919 AsmCilAssemblyRef.setDataPrototype(
35920 "uint32_t",
"HashValue",
"= 0",
35921 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35922 #endif // !DOCUMENTATION
35924 DECLARE_OTHERS(AsmCilAssemblyRef);
35925 #if defined(SgAsmCilAssemblyRef_OTHERS) || defined(DOCUMENTATION)
35928 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35930 friend class boost::serialization::access;
35933 void serialize(S &s,
const unsigned ) {
35936 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
35937 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
35938 s & BOOST_SERIALIZATION_NVP(p_BuildNumber);
35939 s & BOOST_SERIALIZATION_NVP(p_RevisionNumber);
35940 s & BOOST_SERIALIZATION_NVP(p_Flags);
35941 s & BOOST_SERIALIZATION_NVP(p_PublicKeyOrToken);
35942 s & BOOST_SERIALIZATION_NVP(p_Name);
35943 s & BOOST_SERIALIZATION_NVP(p_Culture);
35944 s & BOOST_SERIALIZATION_NVP(p_HashValue);
35947 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
36039 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36041 const std::uint8_t* get_PublicKeyOrToken_blob()
const;
36042 const std::uint8_t* get_Name_string()
const;
36043 const std::uint8_t* get_Culture_string()
const;
36044 const std::uint8_t* get_HashValue_blob()
const;
36061 #endif // SgAsmCilAssemblyRef_OTHERS
36062 #ifdef DOCUMENTATION
36064 #endif // DOCUMENTATION
36071 DECLARE_LEAF_CLASS(AsmCilAssemblyProcessorTable);
36072 IS_SERIALIZABLE(AsmCilAssemblyProcessorTable);
36074 #ifdef DOCUMENTATION
36077 #endif // DOCUMENTATION
36079 #ifndef DOCUMENTATION
36080 AsmCilAssemblyProcessorTable.setDataPrototype(
36081 "std::vector<SgAsmCilAssemblyProcessor*>",
"elements",
"",
36082 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36083 #endif // !DOCUMENTATION
36085 DECLARE_OTHERS(AsmCilAssemblyProcessorTable);
36086 #if defined(SgAsmCilAssemblyProcessorTable_OTHERS) || defined(DOCUMENTATION)
36089 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36091 friend class boost::serialization::access;
36094 void serialize(S &s,
const unsigned ) {
36097 s & BOOST_SERIALIZATION_NVP(p_elements);
36100 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
36103 std::vector<SgAsmCilAssemblyProcessor*>
const& get_elements()
const;
36104 std::vector<SgAsmCilAssemblyProcessor*>& get_elements();
36123 #endif // SgAsmCilAssemblyProcessorTable_OTHERS
36124 #ifdef DOCUMENTATION
36126 #endif // DOCUMENTATION
36133 DECLARE_LEAF_CLASS(AsmCilAssemblyProcessor);
36134 IS_SERIALIZABLE(AsmCilAssemblyProcessor);
36136 #ifdef DOCUMENTATION
36139 #endif // DOCUMENTATION
36141 #ifndef DOCUMENTATION
36142 AsmCilAssemblyProcessor.setDataPrototype(
36143 "uint32_t",
"Processor",
"= 0",
36144 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36145 #endif // !DOCUMENTATION
36147 DECLARE_OTHERS(AsmCilAssemblyProcessor);
36148 #if defined(SgAsmCilAssemblyProcessor_OTHERS) || defined(DOCUMENTATION)
36151 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36153 friend class boost::serialization::access;
36156 void serialize(S &s,
const unsigned ) {
36159 s & BOOST_SERIALIZATION_NVP(p_Processor);
36162 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
36174 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36191 #endif // SgAsmCilAssemblyProcessor_OTHERS
36192 #ifdef DOCUMENTATION
36194 #endif // DOCUMENTATION
36201 DECLARE_LEAF_CLASS(AsmCilAssemblyOSTable);
36202 IS_SERIALIZABLE(AsmCilAssemblyOSTable);
36204 #ifdef DOCUMENTATION
36207 #endif // DOCUMENTATION
36209 #ifndef DOCUMENTATION
36210 AsmCilAssemblyOSTable.setDataPrototype(
36211 "std::vector<SgAsmCilAssemblyOS*>",
"elements",
"",
36212 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36213 #endif // !DOCUMENTATION
36215 DECLARE_OTHERS(AsmCilAssemblyOSTable);
36216 #if defined(SgAsmCilAssemblyOSTable_OTHERS) || defined(DOCUMENTATION)
36219 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36221 friend class boost::serialization::access;
36224 void serialize(S &s,
const unsigned ) {
36227 s & BOOST_SERIALIZATION_NVP(p_elements);
36230 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
36233 std::vector<SgAsmCilAssemblyOS*>
const& get_elements()
const;
36234 std::vector<SgAsmCilAssemblyOS*>& get_elements();
36253 #endif // SgAsmCilAssemblyOSTable_OTHERS
36254 #ifdef DOCUMENTATION
36256 #endif // DOCUMENTATION
36263 DECLARE_LEAF_CLASS(AsmCilAssemblyOS);
36264 IS_SERIALIZABLE(AsmCilAssemblyOS);
36266 #ifdef DOCUMENTATION
36269 #endif // DOCUMENTATION
36271 #ifndef DOCUMENTATION
36272 AsmCilAssemblyOS.setDataPrototype(
36273 "uint32_t",
"OSPlatformID",
"= 0",
36274 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36275 #endif // !DOCUMENTATION
36277 #ifndef DOCUMENTATION
36278 AsmCilAssemblyOS.setDataPrototype(
36279 "uint32_t",
"OSMajorVersion",
"= 0",
36280 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36281 #endif // !DOCUMENTATION
36283 #ifndef DOCUMENTATION
36284 AsmCilAssemblyOS.setDataPrototype(
36285 "uint32_t",
"OSMinorVersion",
"= 0",
36286 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36287 #endif // !DOCUMENTATION
36289 DECLARE_OTHERS(AsmCilAssemblyOS);
36290 #if defined(SgAsmCilAssemblyOS_OTHERS) || defined(DOCUMENTATION)
36293 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36295 friend class boost::serialization::access;
36298 void serialize(S &s,
const unsigned ) {
36301 s & BOOST_SERIALIZATION_NVP(p_OSPlatformID);
36302 s & BOOST_SERIALIZATION_NVP(p_OSMajorVersion);
36303 s & BOOST_SERIALIZATION_NVP(p_OSMinorVersion);
36306 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
36338 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36355 #endif // SgAsmCilAssemblyOS_OTHERS
36356 #ifdef DOCUMENTATION
36358 #endif // DOCUMENTATION
36365 DECLARE_LEAF_CLASS(AsmCilAssembly);
36366 IS_SERIALIZABLE(AsmCilAssembly);
36368 #ifdef DOCUMENTATION
36371 #endif // DOCUMENTATION
36373 #ifndef DOCUMENTATION
36374 AsmCilAssembly.setDataPrototype(
36375 "uint32_t",
"HashAlgId",
"= 0",
36376 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36377 #endif // !DOCUMENTATION
36379 #ifndef DOCUMENTATION
36380 AsmCilAssembly.setDataPrototype(
36381 "uint16_t",
"MajorVersion",
"= 0",
36382 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36383 #endif // !DOCUMENTATION
36385 #ifndef DOCUMENTATION
36386 AsmCilAssembly.setDataPrototype(
36387 "uint16_t",
"MinorVersion",
"= 0",
36388 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36389 #endif // !DOCUMENTATION
36391 #ifndef DOCUMENTATION
36392 AsmCilAssembly.setDataPrototype(
36393 "uint16_t",
"BuildNumber",
"= 0",
36394 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36395 #endif // !DOCUMENTATION
36397 #ifndef DOCUMENTATION
36398 AsmCilAssembly.setDataPrototype(
36399 "uint16_t",
"RevisionNumber",
"= 0",
36400 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36401 #endif // !DOCUMENTATION
36403 #ifndef DOCUMENTATION
36404 AsmCilAssembly.setDataPrototype(
36405 "uint32_t",
"Flags",
"= 0",
36406 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36407 #endif // !DOCUMENTATION
36409 #ifndef DOCUMENTATION
36410 AsmCilAssembly.setDataPrototype(
36411 "uint32_t",
"PublicKey",
"= 0",
36412 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36413 #endif // !DOCUMENTATION
36415 #ifndef DOCUMENTATION
36416 AsmCilAssembly.setDataPrototype(
36417 "uint32_t",
"Name",
"= 0",
36418 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36419 #endif // !DOCUMENTATION
36421 #ifndef DOCUMENTATION
36422 AsmCilAssembly.setDataPrototype(
36423 "uint32_t",
"Culture",
"= 0",
36424 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36425 #endif // !DOCUMENTATION
36427 DECLARE_OTHERS(AsmCilAssembly);
36428 #if defined(SgAsmCilAssembly_OTHERS) || defined(DOCUMENTATION)
36431 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36433 friend class boost::serialization::access;
36436 void serialize(S &s,
const unsigned ) {
36439 s & BOOST_SERIALIZATION_NVP(p_HashAlgId);
36440 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
36441 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
36442 s & BOOST_SERIALIZATION_NVP(p_BuildNumber);
36443 s & BOOST_SERIALIZATION_NVP(p_RevisionNumber);
36444 s & BOOST_SERIALIZATION_NVP(p_Flags);
36445 s & BOOST_SERIALIZATION_NVP(p_PublicKey);
36446 s & BOOST_SERIALIZATION_NVP(p_Name);
36447 s & BOOST_SERIALIZATION_NVP(p_Culture);
36450 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
36542 void parse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36544 const std::uint8_t* get_PublicKey_blob()
const;
36545 const std::uint8_t* get_Name_string()
const;
36546 const std::uint8_t* get_Culture_string()
const;
36563 #endif // SgAsmCilAssembly_OTHERS
36564 #ifdef DOCUMENTATION
36566 #endif // DOCUMENTATION
36573 #ifndef DOCUMENTATION
36574 AstNodeClass& AsmCilMetadata = nonTerminalConstructor(
36578 "AsmCilMetadataTag",
36579 SubclassListBuilder()
36582 | AsmCilAssemblyOSTable
36583 | AsmCilAssemblyProcessor
36584 | AsmCilAssemblyProcessorTable
36585 | AsmCilAssemblyRef
36586 | AsmCilAssemblyRefOS
36587 | AsmCilAssemblyRefOSTable
36588 | AsmCilAssemblyRefProcessor
36589 | AsmCilAssemblyRefProcessorTable
36590 | AsmCilAssemblyRefTable
36591 | AsmCilAssemblyTable
36592 | AsmCilClassLayout
36593 | AsmCilClassLayoutTable
36595 | AsmCilConstantTable
36596 | AsmCilCustomAttribute
36597 | AsmCilCustomAttributeTable
36598 | AsmCilDeclSecurity
36599 | AsmCilDeclSecurityTable
36602 | AsmCilEventMapTable
36604 | AsmCilExportedType
36605 | AsmCilExportedTypeTable
36607 | AsmCilFieldLayout
36608 | AsmCilFieldLayoutTable
36609 | AsmCilFieldMarshal
36610 | AsmCilFieldMarshalTable
36612 | AsmCilFieldRVATable
36616 | AsmCilGenericParamConstraint
36617 | AsmCilGenericParamConstraintTable
36618 | AsmCilGenericParam
36619 | AsmCilGenericParamTable
36621 | AsmCilImplMapTable
36622 | AsmCilInterfaceImpl
36623 | AsmCilInterfaceImplTable
36624 | AsmCilManifestResource
36625 | AsmCilManifestResourceTable
36627 | AsmCilMemberRefTable
36629 | AsmCilMethodDefTable
36631 | AsmCilMethodImplTable
36632 | AsmCilMethodSemantics
36633 | AsmCilMethodSemanticsTable
36635 | AsmCilMethodSpecTable
36638 | AsmCilModuleRefTable
36639 | AsmCilModuleTable
36640 | AsmCilNestedClass
36641 | AsmCilNestedClassTable
36645 | AsmCilPropertyMap
36646 | AsmCilPropertyMapTable
36647 | AsmCilPropertyTable
36648 | AsmCilStandAloneSig
36649 | AsmCilStandAloneSigTable
36651 | AsmCilTypeDefTable
36653 | AsmCilTypeRefTable
36655 | AsmCilTypeSpecTable
36657 assert(AsmCilMetadata.associatedGrammar !=
nullptr);
36658 AsmCilMetadata.setCppCondition(
"!defined(DOCUMENTATION)");
36659 AsmCilMetadata.isBoostSerializable(
true);
36660 AsmCilMetadata.setAutomaticGenerationOfConstructor(
false);
36661 AsmCilMetadata.setAutomaticGenerationOfDestructor(
false);
36662 #endif // !DOCUMENTATION
36664 #ifdef DOCUMENTATION
36667 #endif // DOCUMENTATION
36669 DECLARE_OTHERS(AsmCilMetadata);
36670 #if defined(SgAsmCilMetadata_OTHERS) || defined(DOCUMENTATION)
36673 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36675 friend class boost::serialization::access;
36678 void serialize(S &s,
const unsigned ) {
36680 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
36683 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
36701 #endif // SgAsmCilMetadata_OTHERS
36702 #ifdef DOCUMENTATION
36704 #endif // DOCUMENTATION
36711 #ifndef DOCUMENTATION
36712 AstNodeClass& AsmCilNode = nonTerminalConstructor(
36717 SubclassListBuilder()
36720 | AsmCilMetadataRoot
36722 assert(AsmCilNode.associatedGrammar !=
nullptr);
36723 AsmCilNode.setCppCondition(
"!defined(DOCUMENTATION)");
36724 AsmCilNode.isBoostSerializable(
true);
36725 AsmCilNode.setAutomaticGenerationOfConstructor(
false);
36726 AsmCilNode.setAutomaticGenerationOfDestructor(
false);
36727 #endif // !DOCUMENTATION
36729 #ifdef DOCUMENTATION
36732 #endif // DOCUMENTATION
36734 DECLARE_OTHERS(AsmCilNode);
36735 #if defined(SgAsmCilNode_OTHERS) || defined(DOCUMENTATION)
36738 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36740 friend class boost::serialization::access;
36743 void serialize(S &s,
const unsigned ) {
36745 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
36748 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
36766 #endif // SgAsmCilNode_OTHERS
36767 #ifdef DOCUMENTATION
36769 #endif // DOCUMENTATION
36776 DECLARE_LEAF_CLASS(AsmByteOrder);
36777 IS_SERIALIZABLE(AsmByteOrder);
36779 DECLARE_HEADERS(AsmByteOrder);
36780 #if defined(SgAsmByteOrder_HEADERS) || defined(DOCUMENTATION)
36781 #include <Rose/BinaryAnalysis/ByteOrder.h>
36782 #endif // SgAsmByteOrder_HEADERS
36784 #ifdef DOCUMENTATION
36787 #endif // DOCUMENTATION
36789 DECLARE_OTHERS(AsmByteOrder);
36790 #if defined(SgAsmByteOrder_OTHERS) || defined(DOCUMENTATION)
36793 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36795 friend class boost::serialization::access;
36798 void serialize(S &s,
const unsigned ) {
36801 s & BOOST_SERIALIZATION_NVP(byteOrder_);
36804 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
36807 Rose::BinaryAnalysis::ByteOrder::Endianness byteOrder_;
36813 Rose::BinaryAnalysis::ByteOrder::Endianness
const&
byteOrder()
const;
36814 void byteOrder(Rose::BinaryAnalysis::ByteOrder::Endianness
const&);
36827 explicit SgAsmByteOrder(Rose::BinaryAnalysis::ByteOrder::Endianness
const& byteOrder);
36837 #endif // SgAsmByteOrder_OTHERS
36838 #ifdef DOCUMENTATION
36840 #endif // DOCUMENTATION
36847 DECLARE_LEAF_CLASS(AsmBlock);
36848 IS_SERIALIZABLE(AsmBlock);
36850 #ifdef DOCUMENTATION
36872 #endif // DOCUMENTATION
36874 #ifndef DOCUMENTATION
36875 AsmBlock.setDataPrototype(
36876 "rose_addr_t",
"id",
"= 0",
36877 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36878 #endif // !DOCUMENTATION
36880 #ifndef DOCUMENTATION
36881 AsmBlock.setDataPrototype(
36882 "unsigned",
"reason",
"= SgAsmBlock::BLK_NONE",
36883 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36884 #endif // !DOCUMENTATION
36886 #ifndef DOCUMENTATION
36887 AsmBlock.setDataPrototype(
36888 "SgAsmStatementPtrList",
"statementList",
"",
36889 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36890 #endif // !DOCUMENTATION
36892 #ifndef DOCUMENTATION
36893 AsmBlock.setDataPrototype(
36894 "SgAsmIntegerValuePtrList",
"successors",
"",
36895 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36896 #endif // !DOCUMENTATION
36898 #ifndef DOCUMENTATION
36899 AsmBlock.setDataPrototype(
36900 "bool",
"successors_complete",
"= false",
36901 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36902 #endif // !DOCUMENTATION
36904 #ifndef DOCUMENTATION
36905 AsmBlock.setDataPrototype(
36906 "SgAsmBlock*",
"immediate_dominator",
"= nullptr",
36907 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36908 #endif // !DOCUMENTATION
36910 #ifndef DOCUMENTATION
36911 AsmBlock.setDataPrototype(
36912 "size_t",
"cached_vertex",
"= (size_t)(-1)",
36913 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36914 #endif // !DOCUMENTATION
36916 #ifndef DOCUMENTATION
36917 AsmBlock.setDataPrototype(
36918 "double",
"code_likelihood",
"= 0.0",
36919 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36920 #endif // !DOCUMENTATION
36922 #ifndef DOCUMENTATION
36923 AsmBlock.setDataPrototype(
36924 "int64_t",
"stackDeltaOut",
"= SgAsmInstruction::INVALID_STACK_DELTA",
36925 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36926 #endif // !DOCUMENTATION
36928 DECLARE_OTHERS(AsmBlock);
36929 #if defined(SgAsmBlock_OTHERS) || defined(DOCUMENTATION)
36932 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36934 friend class boost::serialization::access;
36937 void serialize(S &s,
const unsigned ) {
36940 s & BOOST_SERIALIZATION_NVP(p_reason);
36941 s & BOOST_SERIALIZATION_NVP(p_statementList);
36942 s & BOOST_SERIALIZATION_NVP(p_successors);
36943 s & BOOST_SERIALIZATION_NVP(p_successors_complete);
36944 s & BOOST_SERIALIZATION_NVP(p_immediate_dominator);
36945 s & BOOST_SERIALIZATION_NVP(p_cached_vertex);
36946 s & BOOST_SERIALIZATION_NVP(p_code_likelihood);
36947 s & BOOST_SERIALIZATION_NVP(p_stackDeltaOut);
36950 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
36996 rose_addr_t
const&
get_id()
const;
36997 void set_id(rose_addr_t
const&);
37166 static std::string
reason_key(
const std::string &prefix=
"");
37178 static std::string
reason_str(
bool pad,
unsigned reason);
37189 explicit SgAsmBlock(rose_addr_t
const& address);
37199 #endif // SgAsmBlock_OTHERS
37200 #ifdef DOCUMENTATION
37202 #endif // DOCUMENTATION
37209 DECLARE_LEAF_CLASS(AsmBinarySubtract);
37210 IS_SERIALIZABLE(AsmBinarySubtract);
37212 #ifdef DOCUMENTATION
37215 #endif // DOCUMENTATION
37217 DECLARE_OTHERS(AsmBinarySubtract);
37218 #if defined(SgAsmBinarySubtract_OTHERS) || defined(DOCUMENTATION)
37221 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37223 friend class boost::serialization::access;
37226 void serialize(S &s,
const unsigned ) {
37231 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37254 #endif // SgAsmBinarySubtract_OTHERS
37255 #ifdef DOCUMENTATION
37257 #endif // DOCUMENTATION
37264 DECLARE_LEAF_CLASS(AsmBinaryRor);
37265 IS_SERIALIZABLE(AsmBinaryRor);
37267 #ifdef DOCUMENTATION
37270 #endif // DOCUMENTATION
37272 DECLARE_OTHERS(AsmBinaryRor);
37273 #if defined(SgAsmBinaryRor_OTHERS) || defined(DOCUMENTATION)
37276 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37278 friend class boost::serialization::access;
37281 void serialize(S &s,
const unsigned ) {
37286 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37309 #endif // SgAsmBinaryRor_OTHERS
37310 #ifdef DOCUMENTATION
37312 #endif // DOCUMENTATION
37319 DECLARE_LEAF_CLASS(AsmBinaryPreupdate);
37320 IS_SERIALIZABLE(AsmBinaryPreupdate);
37322 #ifdef DOCUMENTATION
37328 #endif // DOCUMENTATION
37330 DECLARE_OTHERS(AsmBinaryPreupdate);
37331 #if defined(SgAsmBinaryPreupdate_OTHERS) || defined(DOCUMENTATION)
37334 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37336 friend class boost::serialization::access;
37339 void serialize(S &s,
const unsigned ) {
37344 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37367 #endif // SgAsmBinaryPreupdate_OTHERS
37368 #ifdef DOCUMENTATION
37370 #endif // DOCUMENTATION
37377 DECLARE_LEAF_CLASS(AsmBinaryPostupdate);
37378 IS_SERIALIZABLE(AsmBinaryPostupdate);
37380 #ifdef DOCUMENTATION
37386 #endif // DOCUMENTATION
37388 DECLARE_OTHERS(AsmBinaryPostupdate);
37389 #if defined(SgAsmBinaryPostupdate_OTHERS) || defined(DOCUMENTATION)
37392 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37394 friend class boost::serialization::access;
37397 void serialize(S &s,
const unsigned ) {
37402 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37425 #endif // SgAsmBinaryPostupdate_OTHERS
37426 #ifdef DOCUMENTATION
37428 #endif // DOCUMENTATION
37435 DECLARE_LEAF_CLASS(AsmBinaryMultiply);
37436 IS_SERIALIZABLE(AsmBinaryMultiply);
37438 #ifdef DOCUMENTATION
37441 #endif // DOCUMENTATION
37443 DECLARE_OTHERS(AsmBinaryMultiply);
37444 #if defined(SgAsmBinaryMultiply_OTHERS) || defined(DOCUMENTATION)
37447 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37449 friend class boost::serialization::access;
37452 void serialize(S &s,
const unsigned ) {
37457 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37480 #endif // SgAsmBinaryMultiply_OTHERS
37481 #ifdef DOCUMENTATION
37483 #endif // DOCUMENTATION
37490 DECLARE_LEAF_CLASS(AsmBinaryMsl);
37491 IS_SERIALIZABLE(AsmBinaryMsl);
37493 #ifdef DOCUMENTATION
37498 #endif // DOCUMENTATION
37500 DECLARE_OTHERS(AsmBinaryMsl);
37501 #if defined(SgAsmBinaryMsl_OTHERS) || defined(DOCUMENTATION)
37504 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37506 friend class boost::serialization::access;
37509 void serialize(S &s,
const unsigned ) {
37514 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37537 #endif // SgAsmBinaryMsl_OTHERS
37538 #ifdef DOCUMENTATION
37540 #endif // DOCUMENTATION
37547 DECLARE_LEAF_CLASS(AsmBinaryMod);
37548 IS_SERIALIZABLE(AsmBinaryMod);
37550 #ifdef DOCUMENTATION
37553 #endif // DOCUMENTATION
37555 DECLARE_OTHERS(AsmBinaryMod);
37556 #if defined(SgAsmBinaryMod_OTHERS) || defined(DOCUMENTATION)
37559 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37561 friend class boost::serialization::access;
37564 void serialize(S &s,
const unsigned ) {
37569 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37592 #endif // SgAsmBinaryMod_OTHERS
37593 #ifdef DOCUMENTATION
37595 #endif // DOCUMENTATION
37602 DECLARE_LEAF_CLASS(AsmBinaryLsr);
37603 IS_SERIALIZABLE(AsmBinaryLsr);
37605 #ifdef DOCUMENTATION
37608 #endif // DOCUMENTATION
37610 DECLARE_OTHERS(AsmBinaryLsr);
37611 #if defined(SgAsmBinaryLsr_OTHERS) || defined(DOCUMENTATION)
37614 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37616 friend class boost::serialization::access;
37619 void serialize(S &s,
const unsigned ) {
37624 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37647 #endif // SgAsmBinaryLsr_OTHERS
37648 #ifdef DOCUMENTATION
37650 #endif // DOCUMENTATION
37657 DECLARE_LEAF_CLASS(AsmBinaryLsl);
37658 IS_SERIALIZABLE(AsmBinaryLsl);
37660 #ifdef DOCUMENTATION
37663 #endif // DOCUMENTATION
37665 DECLARE_OTHERS(AsmBinaryLsl);
37666 #if defined(SgAsmBinaryLsl_OTHERS) || defined(DOCUMENTATION)
37669 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37671 friend class boost::serialization::access;
37674 void serialize(S &s,
const unsigned ) {
37679 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37702 #endif // SgAsmBinaryLsl_OTHERS
37703 #ifdef DOCUMENTATION
37705 #endif // DOCUMENTATION
37712 DECLARE_LEAF_CLASS(AsmBinaryDivide);
37713 IS_SERIALIZABLE(AsmBinaryDivide);
37715 #ifdef DOCUMENTATION
37718 #endif // DOCUMENTATION
37720 DECLARE_OTHERS(AsmBinaryDivide);
37721 #if defined(SgAsmBinaryDivide_OTHERS) || defined(DOCUMENTATION)
37724 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37726 friend class boost::serialization::access;
37729 void serialize(S &s,
const unsigned ) {
37734 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37757 #endif // SgAsmBinaryDivide_OTHERS
37758 #ifdef DOCUMENTATION
37760 #endif // DOCUMENTATION
37767 DECLARE_LEAF_CLASS(AsmBinaryConcat);
37768 IS_SERIALIZABLE(AsmBinaryConcat);
37770 #ifdef DOCUMENTATION
37773 #endif // DOCUMENTATION
37775 DECLARE_OTHERS(AsmBinaryConcat);
37776 #if defined(SgAsmBinaryConcat_OTHERS) || defined(DOCUMENTATION)
37779 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37781 friend class boost::serialization::access;
37784 void serialize(S &s,
const unsigned ) {
37789 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37812 #endif // SgAsmBinaryConcat_OTHERS
37813 #ifdef DOCUMENTATION
37815 #endif // DOCUMENTATION
37822 DECLARE_LEAF_CLASS(AsmBinaryAsr);
37823 IS_SERIALIZABLE(AsmBinaryAsr);
37825 #ifdef DOCUMENTATION
37828 #endif // DOCUMENTATION
37830 DECLARE_OTHERS(AsmBinaryAsr);
37831 #if defined(SgAsmBinaryAsr_OTHERS) || defined(DOCUMENTATION)
37834 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37836 friend class boost::serialization::access;
37839 void serialize(S &s,
const unsigned ) {
37844 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37867 #endif // SgAsmBinaryAsr_OTHERS
37868 #ifdef DOCUMENTATION
37870 #endif // DOCUMENTATION
37877 DECLARE_LEAF_CLASS(AsmBinaryAdd);
37878 IS_SERIALIZABLE(AsmBinaryAdd);
37880 #ifdef DOCUMENTATION
37883 #endif // DOCUMENTATION
37885 DECLARE_OTHERS(AsmBinaryAdd);
37886 #if defined(SgAsmBinaryAdd_OTHERS) || defined(DOCUMENTATION)
37889 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37891 friend class boost::serialization::access;
37894 void serialize(S &s,
const unsigned ) {
37899 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
37922 #endif // SgAsmBinaryAdd_OTHERS
37923 #ifdef DOCUMENTATION
37925 #endif // DOCUMENTATION
37932 #ifndef DOCUMENTATION
37933 AstNodeClass& AsmBinaryExpression = nonTerminalConstructor(
37934 "AsmBinaryExpression",
37936 "AsmBinaryExpression",
37937 "AsmBinaryExpressionTag",
37938 SubclassListBuilder()
37947 | AsmBinaryMultiply
37948 | AsmBinaryPostupdate
37949 | AsmBinaryPreupdate
37951 | AsmBinarySubtract
37953 assert(AsmBinaryExpression.associatedGrammar !=
nullptr);
37954 AsmBinaryExpression.setCppCondition(
"!defined(DOCUMENTATION)");
37955 AsmBinaryExpression.isBoostSerializable(
true);
37956 AsmBinaryExpression.setAutomaticGenerationOfConstructor(
false);
37957 AsmBinaryExpression.setAutomaticGenerationOfDestructor(
false);
37958 #endif // !DOCUMENTATION
37960 #ifdef DOCUMENTATION
37963 #endif // DOCUMENTATION
37965 #ifndef DOCUMENTATION
37966 AsmBinaryExpression.setDataPrototype(
37967 "SgAsmExpression*",
"lhs",
"= nullptr",
37968 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37969 #endif // !DOCUMENTATION
37971 #ifndef DOCUMENTATION
37972 AsmBinaryExpression.setDataPrototype(
37973 "SgAsmExpression*",
"rhs",
"= nullptr",
37974 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37975 #endif // !DOCUMENTATION
37977 DECLARE_OTHERS(AsmBinaryExpression);
37978 #if defined(SgAsmBinaryExpression_OTHERS) || defined(DOCUMENTATION)
37981 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37983 friend class boost::serialization::access;
37986 void serialize(S &s,
const unsigned ) {
37989 s & BOOST_SERIALIZATION_NVP(p_lhs);
37990 s & BOOST_SERIALIZATION_NVP(p_rhs);
37993 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
38032 #endif // SgAsmBinaryExpression_OTHERS
38033 #ifdef DOCUMENTATION
38035 #endif // DOCUMENTATION
38042 DECLARE_LEAF_CLASS(AsmBasicString);
38043 IS_SERIALIZABLE(AsmBasicString);
38045 #ifdef DOCUMENTATION
38051 #endif // DOCUMENTATION
38053 #ifndef DOCUMENTATION
38054 AsmBasicString.setDataPrototype(
38055 "std::string",
"string",
"",
38056 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38057 #endif // !DOCUMENTATION
38059 DECLARE_OTHERS(AsmBasicString);
38060 #if defined(SgAsmBasicString_OTHERS) || defined(DOCUMENTATION)
38063 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38065 friend class boost::serialization::access;
38068 void serialize(S &s,
const unsigned ) {
38071 s & BOOST_SERIALIZATION_NVP(p_string);
38074 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
38077 virtual std::string
get_string(
bool escape=
false)
const override;
38078 virtual void set_string(
const std::string&)
override;
38079 virtual void set_string(rose_addr_t)
override;
38090 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
38107 #endif // SgAsmBasicString_OTHERS
38108 #ifdef DOCUMENTATION
38110 #endif // DOCUMENTATION
38117 #ifndef DOCUMENTATION
38118 AstNodeClass& AsmGenericString = nonTerminalConstructor(
38119 "AsmGenericString",
38121 "AsmGenericString",
38122 "AsmGenericStringTag",
38123 SubclassListBuilder()
38127 assert(AsmGenericString.associatedGrammar !=
nullptr);
38128 AsmGenericString.setCppCondition(
"!defined(DOCUMENTATION)");
38129 AsmGenericString.isBoostSerializable(
true);
38130 AsmGenericString.setAutomaticGenerationOfConstructor(
false);
38131 AsmGenericString.setAutomaticGenerationOfDestructor(
false);
38132 #endif // !DOCUMENTATION
38134 #ifdef DOCUMENTATION
38137 #endif // DOCUMENTATION
38139 DECLARE_OTHERS(AsmGenericString);
38140 #if defined(SgAsmGenericString_OTHERS) || defined(DOCUMENTATION)
38143 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38145 friend class boost::serialization::access;
38148 void serialize(S &s,
const unsigned ) {
38153 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
38166 virtual std::string
get_string(
bool escape=
false)
const;
38167 virtual void set_string(
const std::string &s);
38171 virtual rose_addr_t get_offset()
const {
return unallocated;}
38173 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
38190 #endif // SgAsmGenericString_OTHERS
38191 #ifdef DOCUMENTATION
38193 #endif // DOCUMENTATION
38200 #ifndef DOCUMENTATION
38201 AstNodeClass& AsmExecutableFileFormat = nonTerminalConstructor(
38202 "AsmExecutableFileFormat",
38204 "AsmExecutableFileFormat",
38205 "AsmExecutableFileFormatTag",
38206 SubclassListBuilder()
38207 | AsmCoffSymbolList
38208 | AsmDwarfInformation
38209 | AsmElfDynamicEntry
38210 | AsmElfDynamicEntryList
38211 | AsmElfEHFrameEntryCI
38212 | AsmElfEHFrameEntryCIList
38213 | AsmElfEHFrameEntryFD
38214 | AsmElfEHFrameEntryFDList
38216 | AsmElfNoteEntryList
38218 | AsmElfRelocEntryList
38219 | AsmElfSectionTableEntry
38220 | AsmElfSegmentTableEntry
38221 | AsmElfSegmentTableEntryList
38223 | AsmElfSymverDefinedAux
38224 | AsmElfSymverDefinedAuxList
38225 | AsmElfSymverDefinedEntry
38226 | AsmElfSymverDefinedEntryList
38227 | AsmElfSymverEntry
38228 | AsmElfSymverEntryList
38229 | AsmElfSymverNeededAux
38230 | AsmElfSymverNeededAuxList
38231 | AsmElfSymverNeededEntry
38232 | AsmElfSymverNeededEntryList
38234 | AsmGenericDLLList
38237 | AsmGenericHeaderList
38238 | AsmGenericSection
38239 | AsmGenericSectionList
38243 | AsmGenericSymbolList
38245 | AsmLEPageTableEntry
38246 | AsmLESectionTableEntry
38249 | AsmNESectionTableEntry
38250 | AsmPEExportDirectory
38252 | AsmPEExportEntryList
38253 | AsmPEImportDirectory
38254 | AsmPEImportDirectoryList
38256 | AsmPEImportItemList
38258 | AsmPERVASizePairList
38259 | AsmPESectionTableEntry
38262 assert(AsmExecutableFileFormat.associatedGrammar !=
nullptr);
38263 AsmExecutableFileFormat.setCppCondition(
"!defined(DOCUMENTATION)");
38264 AsmExecutableFileFormat.isBoostSerializable(
true);
38265 AsmExecutableFileFormat.setAutomaticGenerationOfConstructor(
false);
38266 AsmExecutableFileFormat.setAutomaticGenerationOfDestructor(
false);
38267 #endif // !DOCUMENTATION
38269 #ifdef DOCUMENTATION
38272 #endif // DOCUMENTATION
38274 DECLARE_OTHERS(AsmExecutableFileFormat);
38275 #if defined(SgAsmExecutableFileFormat_OTHERS) || defined(DOCUMENTATION)
38278 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38280 friend class boost::serialization::access;
38283 void serialize(S &s,
const unsigned ) {
38285 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
38288 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
38303 :
Rose::
Exception(
"short read"), section(section), offset(offset), size(size) {}
38305 :
Rose::
Exception(mesg), section(section), offset(offset), size(size) {}
38306 ShortRead(
const class SgAsmGenericSection *section,
size_t offset,
size_t size,
const char *mesg)
38307 :
Rose::
Exception(mesg), section(section), offset(offset), size(size) {}
38308 ~ShortRead() throw () {}
38321 :
Rose::
Exception(
""), section(section), offset(offset), size(size) {}
38323 :
Rose::
Exception(mesg), section(section), offset(offset), size(size) {}
38324 ShortWrite(
const class SgAsmGenericSection *section,
size_t offset,
size_t size,
const char *mesg)
38325 :
Rose::
Exception(mesg), section(section), offset(offset), size(size) {}
38406 ISA_SPARC_V7 = 0x0301,
38407 ISA_SPARC_V8 = 0x0302,
38408 ISA_SPARC_V8E = 0x0303,
38409 ISA_SPARC_V9 = 0x0304,
38410 ISA_SPARC_V9JPS1 = 0x0305,
38411 ISA_SPARC_V9UA = 0x0306,
38412 ISA_SPARC_V9JPS2 = 0x0307,
38416 ISA_M68K_68EC000 = 0x0402,
38417 ISA_M68K_68HC000 = 0x0403,
38418 ISA_M68K_68008 = 0x0404,
38419 ISA_M68K_68010 = 0x0405,
38420 ISA_M68K_68012 = 0x0406,
38422 ISA_M68K_68EC020 = 0x0408,
38423 ISA_M68K_68030 = 0x0409,
38424 ISA_M68K_68EC030 = 0x040a,
38426 ISA_M68K_68EC040 = 0x040c,
38427 ISA_M68K_68LC040 = 0x040d,
38457 ISA_MIPS_R16000A = 0x0613,
38494 ISA_OTHER_Family = 0xf000,
38497 ISA_IBM_System_370 = 0xf002,
38499 ISA_Fujitsu_VPP500 = 0xf004,
38500 ISA_Sun_v8plus = 0xf005,
38501 ISA_PowerPC = 0xf006,
38502 ISA_PowerPC_64bit = 0xf007,
38503 ISA_IBM_S390 = 0xf008,
38504 ISA_NEC_V800_series = 0xf009,
38505 ISA_Fujitsu_FR20 = 0xf00a,
38506 ISA_TRW_RH_32 = 0xf00b,
38507 ISA_Motorola_RCE = 0xf00c,
38508 ISA_Digital_Alpha_fake = 0xf00e,
38509 ISA_Hitachi_SH = 0xf00f,
38510 ISA_Siemens_Tricore = 0xf010,
38511 ISA_Argonaut_RISC_Core = 0xf011,
38512 ISA_Hitachi_H8_300 = 0xf012,
38513 ISA_Hitachi_H8_300H = 0xf013,
38514 ISA_Hitachi_H8S = 0xf014,
38515 ISA_Hitachi_H8_500 = 0xf015,
38516 ISA_Stanford_MIPS_X = 0xf016,
38517 ISA_Motorola_M68HC12 = 0xf017,
38518 ISA_Fujitsu_MMA_Multimedia_Accelerator=0xf018,
38519 ISA_Siemens_PCP = 0xf019,
38520 ISA_Sony_nCPU_embeeded_RISC = 0xf01a,
38521 ISA_Denso_NDR1_microprocessor=0xf01b,
38522 ISA_Motorola_Start_Core_processor=0xf01c,
38523 ISA_Toyota_ME16_processor = 0xf01d,
38524 ISA_STMicroelectronic_ST100_processor=0xf01e,
38525 ISA_Advanced_Logic_Corp_Tinyj_emb_family=0xf01f,
38526 ISA_AMD_x86_64_architecture = 0xf020,
38527 ISA_Sony_DSP_Processor = 0xf021,
38528 ISA_Siemens_FX66_microcontroller=0xf022,
38529 ISA_STMicroelectronics_ST9_plus_8_16_microcontroller=0xf023,
38530 ISA_STMicroelectronics_ST7_8bit_microcontroller=0xf024,
38531 ISA_Motorola_MC68HC16_microcontroller=0xf025,
38532 ISA_Motorola_MC68HC11_microcontroller=0xf026,
38533 ISA_Motorola_MC68HC08_microcontroller=0xf027,
38534 ISA_Motorola_MC68HC05_microcontroller=0xf028,
38535 ISA_Silicon_Graphics_SVx = 0xf029,
38536 ISA_STMicroelectronics_ST19_8bit_microcontroller=0xf02a,
38537 ISA_Digital_VAX = 0xf02b,
38538 ISA_Axis_Communications_32bit_embedded_processor=0xf02c,
38539 ISA_Infineon_Technologies_32bit_embedded_processor=0xf02d,
38540 ISA_Element_14_64bit_DSP_Processor=0xf02e,
38541 ISA_LSI_Logic_16bit_DSP_Processor=0xf02f,
38542 ISA_Donald_Knuths_educational_64bit_processor=0xf030,
38543 ISA_Harvard_University_machine_independent_object_files=0xf031,
38544 ISA_SiTera_Prism = 0xf032,
38545 ISA_Atmel_AVR_8bit_microcontroller=0xf033,
38546 ISA_Fujitsu_FR30 = 0xf034,
38547 ISA_Mitsubishi_D10V = 0xf035,
38548 ISA_Mitsubishi_D30V = 0xf036,
38549 ISA_NEC_v850 = 0xf037,
38550 ISA_Mitsubishi_M32R = 0xf038,
38551 ISA_Matsushita_MN10300 = 0xf039,
38552 ISA_Matsushita_MN10200 = 0xf03a,
38553 ISA_picoJava = 0xf03b,
38554 ISA_OpenRISC_32bit_embedded_processor=0xf03c,
38555 ISA_ARC_Cores_Tangent_A5 = 0xf03d,
38556 ISA_Tensilica_Xtensa_Architecture=0xf03e,
38557 ISA_Digital_Alpha = 0xf03f,
38558 ISA_Matsushita_AM33 = 0xf040,
38559 ISA_EFI_ByteCode = 0xf041
38609 static void hexdump(std::ostream&, rose_addr_t base_addr,
const unsigned char *data,
size_t data_sz,
38611 static void hexdump(std::ostream&, rose_addr_t base_addr,
const std::string &prefix,
const SgUnsignedCharList& data,
38612 bool multiline=
true);
38613 static void hexdump(std::ostream&, rose_addr_t base_addr,
const std::string &prefix,
const SgFileContentList& data,
38614 bool multiline=
true);
38617 static std::string
hexdump(rose_addr_t base_addr,
const unsigned char *data,
size_t data_sz,
const HexdumpFormat&);
38618 static std::string
hexdump(rose_addr_t base_addr,
const std::string &prefix,
const SgUnsignedCharList& data,
38619 bool multiline=
true);
38621 bool multiline=
true);
38624 static void hexdump(FILE*, rose_addr_t base_addr,
const unsigned char *data,
size_t data_sz,
const HexdumpFormat&);
38625 static void hexdump(FILE*, rose_addr_t base_addr,
const std::string &prefix,
const SgUnsignedCharList& data,
38626 bool multiline=
true);
38628 bool multiline=
true);
38655 #endif // SgAsmExecutableFileFormat_OTHERS
38656 #ifdef DOCUMENTATION
38658 #endif // DOCUMENTATION
38665 #ifdef ROSE_ENABLE_ASM_AARCH64
38666 DECLARE_LEAF_CLASS(AsmAarch64SysMoveOperand);
38667 IS_SERIALIZABLE(AsmAarch64SysMoveOperand);
38669 DECLARE_HEADERS(AsmAarch64SysMoveOperand);
38670 #if defined(SgAsmAarch64SysMoveOperand_HEADERS) || defined(DOCUMENTATION)
38671 #ifdef ROSE_ENABLE_ASM_AARCH64
38673 #endif // SgAsmAarch64SysMoveOperand_HEADERS
38675 #ifdef DOCUMENTATION
38678 #endif // DOCUMENTATION
38680 DECLARE_OTHERS(AsmAarch64SysMoveOperand);
38681 #if defined(SgAsmAarch64SysMoveOperand_OTHERS) || defined(DOCUMENTATION)
38684 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38686 friend class boost::serialization::access;
38689 void serialize(S &s,
const unsigned ) {
38692 s & BOOST_SERIALIZATION_NVP(access_);
38695 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
38706 unsigned const& access()
const;
38707 void access(
unsigned const&);
38712 virtual ~SgAsmAarch64SysMoveOperand();
38716 SgAsmAarch64SysMoveOperand();
38720 explicit SgAsmAarch64SysMoveOperand(
unsigned const& access);
38730 #endif // SgAsmAarch64SysMoveOperand_OTHERS
38731 #ifdef DOCUMENTATION
38733 #endif // DOCUMENTATION
38741 #ifdef ROSE_ENABLE_ASM_AARCH64
38742 DECLARE_LEAF_CLASS(AsmAarch64PrefetchOperand);
38743 IS_SERIALIZABLE(AsmAarch64PrefetchOperand);
38745 DECLARE_HEADERS(AsmAarch64PrefetchOperand);
38746 #if defined(SgAsmAarch64PrefetchOperand_HEADERS) || defined(DOCUMENTATION)
38747 #ifdef ROSE_ENABLE_ASM_AARCH64
38749 #include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
38751 #endif // SgAsmAarch64PrefetchOperand_HEADERS
38753 #ifdef DOCUMENTATION
38756 #endif // DOCUMENTATION
38758 DECLARE_OTHERS(AsmAarch64PrefetchOperand);
38759 #if defined(SgAsmAarch64PrefetchOperand_OTHERS) || defined(DOCUMENTATION)
38762 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38764 friend class boost::serialization::access;
38767 void serialize(S &s,
const unsigned ) {
38770 s & BOOST_SERIALIZATION_NVP(operation_);
38773 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
38776 Rose::BinaryAnalysis::Aarch64PrefetchOperation operation_;
38784 Rose::BinaryAnalysis::Aarch64PrefetchOperation
const& operation()
const;
38785 void operation(Rose::BinaryAnalysis::Aarch64PrefetchOperation
const&);
38790 virtual ~SgAsmAarch64PrefetchOperand();
38794 SgAsmAarch64PrefetchOperand();
38798 explicit SgAsmAarch64PrefetchOperand(Rose::BinaryAnalysis::Aarch64PrefetchOperation
const& operation);
38808 #endif // SgAsmAarch64PrefetchOperand_OTHERS
38809 #ifdef DOCUMENTATION
38811 #endif // DOCUMENTATION
38819 #ifdef ROSE_ENABLE_ASM_AARCH64
38820 DECLARE_LEAF_CLASS(AsmAarch64Instruction);
38821 IS_SERIALIZABLE(AsmAarch64Instruction);
38823 DECLARE_HEADERS(AsmAarch64Instruction);
38824 #if defined(SgAsmAarch64Instruction_HEADERS) || defined(DOCUMENTATION)
38825 #ifdef ROSE_ENABLE_ASM_AARCH64
38826 #include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
38828 #endif // SgAsmAarch64Instruction_HEADERS
38830 #ifdef DOCUMENTATION
38833 #endif // DOCUMENTATION
38835 #ifndef DOCUMENTATION
38836 AsmAarch64Instruction.setDataPrototype(
38837 "Rose::BinaryAnalysis::Aarch64InstructionKind",
"kind",
"= Rose::BinaryAnalysis::Aarch64InstructionKind::ARM64_INS_INVALID",
38838 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38839 #endif // !DOCUMENTATION
38841 #ifndef DOCUMENTATION
38842 AsmAarch64Instruction.setDataPrototype(
38843 "Rose::BinaryAnalysis::Aarch64InstructionCondition",
"condition",
"= Rose::BinaryAnalysis::Aarch64InstructionCondition::ARM64_CC_INVALID",
38844 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38845 #endif // !DOCUMENTATION
38847 #ifndef DOCUMENTATION
38848 AsmAarch64Instruction.setDataPrototype(
38849 "bool",
"updatesFlags",
"= false",
38850 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38851 #endif // !DOCUMENTATION
38853 DECLARE_OTHERS(AsmAarch64Instruction);
38854 #if defined(SgAsmAarch64Instruction_OTHERS) || defined(DOCUMENTATION)
38857 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38859 friend class boost::serialization::access;
38862 void serialize(S &s,
const unsigned ) {
38865 s & BOOST_SERIALIZATION_NVP(p_kind);
38866 s & BOOST_SERIALIZATION_NVP(p_condition);
38869 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
38878 Rose::BinaryAnalysis::Aarch64InstructionKind
const& get_kind()
const;
38879 void set_kind(Rose::BinaryAnalysis::Aarch64InstructionKind
const&);
38886 Rose::BinaryAnalysis::Aarch64InstructionCondition
const& get_condition()
const;
38887 void set_condition(Rose::BinaryAnalysis::Aarch64InstructionCondition
const&);
38894 bool const& get_updatesFlags()
const;
38895 void set_updatesFlags(
bool const&);
38899 virtual std::string
description()
const override;
38902 virtual bool isUnknown()
const override;
38904 virtual bool isFunctionCallFast(
const std::vector<SgAsmInstruction*>&, rose_addr_t *target,
38905 rose_addr_t *return_va)
override;
38906 virtual bool isFunctionCallSlow(
const std::vector<SgAsmInstruction*>&, rose_addr_t *target,
38907 rose_addr_t *return_va)
override;
38913 virtual ~SgAsmAarch64Instruction();
38917 SgAsmAarch64Instruction();
38921 SgAsmAarch64Instruction(rose_addr_t
const& address,
38922 std::string
const& mnemonic,
38923 Rose::BinaryAnalysis::Aarch64InstructionKind
const& kind,
38924 Rose::BinaryAnalysis::Aarch64InstructionCondition
const& condition);
38934 #endif // SgAsmAarch64Instruction_OTHERS
38935 #ifdef DOCUMENTATION
38937 #endif // DOCUMENTATION
38945 #ifdef ROSE_ENABLE_ASM_AARCH64
38946 DECLARE_LEAF_CLASS(AsmAarch64CImmediateOperand);
38947 IS_SERIALIZABLE(AsmAarch64CImmediateOperand);
38949 DECLARE_HEADERS(AsmAarch64CImmediateOperand);
38950 #if defined(SgAsmAarch64CImmediateOperand_HEADERS) || defined(DOCUMENTATION)
38951 #ifdef ROSE_ENABLE_ASM_AARCH64
38953 #endif // SgAsmAarch64CImmediateOperand_HEADERS
38955 #ifdef DOCUMENTATION
38958 #endif // DOCUMENTATION
38960 DECLARE_OTHERS(AsmAarch64CImmediateOperand);
38961 #if defined(SgAsmAarch64CImmediateOperand_OTHERS) || defined(DOCUMENTATION)
38964 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38966 friend class boost::serialization::access;
38969 void serialize(S &s,
const unsigned ) {
38972 s & BOOST_SERIALIZATION_NVP(immediate_);
38975 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
38978 unsigned immediate_;
38986 unsigned const& immediate()
const;
38987 void immediate(
unsigned const&);
38992 virtual ~SgAsmAarch64CImmediateOperand();
38996 SgAsmAarch64CImmediateOperand();
39000 explicit SgAsmAarch64CImmediateOperand(
unsigned const& immediate);
39010 #endif // SgAsmAarch64CImmediateOperand_OTHERS
39011 #ifdef DOCUMENTATION
39013 #endif // DOCUMENTATION
39021 #ifdef ROSE_ENABLE_ASM_AARCH64
39022 DECLARE_LEAF_CLASS(AsmAarch64BarrierOperand);
39023 IS_SERIALIZABLE(AsmAarch64BarrierOperand);
39025 DECLARE_HEADERS(AsmAarch64BarrierOperand);
39026 #if defined(SgAsmAarch64BarrierOperand_HEADERS) || defined(DOCUMENTATION)
39027 #ifdef ROSE_ENABLE_ASM_AARCH64
39029 #include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
39031 #endif // SgAsmAarch64BarrierOperand_HEADERS
39033 #ifdef DOCUMENTATION
39036 #endif // DOCUMENTATION
39038 DECLARE_OTHERS(AsmAarch64BarrierOperand);
39039 #if defined(SgAsmAarch64BarrierOperand_OTHERS) || defined(DOCUMENTATION)
39042 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39044 friend class boost::serialization::access;
39047 void serialize(S &s,
const unsigned ) {
39050 s & BOOST_SERIALIZATION_NVP(operation_);
39053 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
39056 Rose::BinaryAnalysis::Aarch64BarrierOperation operation_;
39062 Rose::BinaryAnalysis::Aarch64BarrierOperation
const& operation()
const;
39063 void operation(Rose::BinaryAnalysis::Aarch64BarrierOperation
const&);
39068 virtual ~SgAsmAarch64BarrierOperand();
39072 SgAsmAarch64BarrierOperand();
39076 explicit SgAsmAarch64BarrierOperand(Rose::BinaryAnalysis::Aarch64BarrierOperation
const& operation);
39086 #endif // SgAsmAarch64BarrierOperand_OTHERS
39087 #ifdef DOCUMENTATION
39089 #endif // DOCUMENTATION
39097 #ifdef ROSE_ENABLE_ASM_AARCH64
39098 DECLARE_LEAF_CLASS(AsmAarch64AtOperand);
39099 IS_SERIALIZABLE(AsmAarch64AtOperand);
39101 DECLARE_HEADERS(AsmAarch64AtOperand);
39102 #if defined(SgAsmAarch64AtOperand_HEADERS) || defined(DOCUMENTATION)
39103 #ifdef ROSE_ENABLE_ASM_AARCH64
39105 #include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
39107 #endif // SgAsmAarch64AtOperand_HEADERS
39109 #ifdef DOCUMENTATION
39112 #endif // DOCUMENTATION
39114 DECLARE_OTHERS(AsmAarch64AtOperand);
39115 #if defined(SgAsmAarch64AtOperand_OTHERS) || defined(DOCUMENTATION)
39118 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39120 friend class boost::serialization::access;
39123 void serialize(S &s,
const unsigned ) {
39126 s & BOOST_SERIALIZATION_NVP(operation_);
39129 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
39132 Rose::BinaryAnalysis::Aarch64AtOperation operation_;
39140 Rose::BinaryAnalysis::Aarch64AtOperation
const& operation()
const;
39141 void operation(Rose::BinaryAnalysis::Aarch64AtOperation
const&);
39146 virtual ~SgAsmAarch64AtOperand();
39150 SgAsmAarch64AtOperand();
39154 explicit SgAsmAarch64AtOperand(Rose::BinaryAnalysis::Aarch64AtOperation
const& operation);
39164 #endif // SgAsmAarch64AtOperand_OTHERS
39165 #ifdef DOCUMENTATION
39167 #endif // DOCUMENTATION
39175 #ifdef ROSE_ENABLE_ASM_AARCH32
39176 DECLARE_LEAF_CLASS(AsmAarch32Instruction);
39177 IS_SERIALIZABLE(AsmAarch32Instruction);
39179 DECLARE_HEADERS(AsmAarch32Instruction);
39180 #if defined(SgAsmAarch32Instruction_HEADERS) || defined(DOCUMENTATION)
39181 #ifdef ROSE_ENABLE_ASM_AARCH32
39182 #include <Rose/BinaryAnalysis/InstructionEnumsAarch32.h>
39184 #endif // SgAsmAarch32Instruction_HEADERS
39186 #ifdef DOCUMENTATION
39189 #endif // DOCUMENTATION
39191 #ifndef DOCUMENTATION
39192 AsmAarch32Instruction.setDataPrototype(
39193 "Rose::BinaryAnalysis::Aarch32InstructionKind",
"kind",
"= Rose::BinaryAnalysis::Aarch32InstructionKind::ARM_INS_INVALID",
39194 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39195 #endif // !DOCUMENTATION
39197 #ifndef DOCUMENTATION
39198 AsmAarch32Instruction.setDataPrototype(
39199 "Rose::BinaryAnalysis::Aarch32InstructionCondition",
"condition",
"= Rose::BinaryAnalysis::Aarch32InstructionCondition::ARM_CC_INVALID",
39200 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39201 #endif // !DOCUMENTATION
39203 #ifndef DOCUMENTATION
39204 AsmAarch32Instruction.setDataPrototype(
39205 "bool",
"updatesFlags",
"= false",
39206 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39207 #endif // !DOCUMENTATION
39209 #ifndef DOCUMENTATION
39210 AsmAarch32Instruction.setDataPrototype(
39211 "bool",
"writesBack",
"= false",
39212 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39213 #endif // !DOCUMENTATION
39215 #ifndef DOCUMENTATION
39216 AsmAarch32Instruction.setDataPrototype(
39217 "bool",
"writesToIp",
"= false",
39218 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39219 #endif // !DOCUMENTATION
39221 DECLARE_OTHERS(AsmAarch32Instruction);
39222 #if defined(SgAsmAarch32Instruction_OTHERS) || defined(DOCUMENTATION)
39225 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39227 friend class boost::serialization::access;
39230 void serialize(S &s,
const unsigned ) {
39233 s & BOOST_SERIALIZATION_NVP(p_kind);
39234 s & BOOST_SERIALIZATION_NVP(p_condition);
39235 s & BOOST_SERIALIZATION_NVP(p_updatesFlags);
39236 s & BOOST_SERIALIZATION_NVP(p_writesBack);
39237 s & BOOST_SERIALIZATION_NVP(p_writesToIp);
39240 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
39249 Rose::BinaryAnalysis::Aarch32InstructionKind
const& get_kind()
const;
39250 void set_kind(Rose::BinaryAnalysis::Aarch32InstructionKind
const&);
39259 Rose::BinaryAnalysis::Aarch32InstructionCondition
const& get_condition()
const;
39260 void set_condition(Rose::BinaryAnalysis::Aarch32InstructionCondition
const&);
39267 bool const& get_updatesFlags()
const;
39268 void set_updatesFlags(
bool const&);
39275 bool const& get_writesBack()
const;
39276 void set_writesBack(
bool const&);
39286 bool const& get_writesToIp()
const;
39287 void set_writesToIp(
bool const&);
39291 virtual std::string
description()
const override;
39294 virtual bool isUnknown()
const override;
39296 virtual bool isFunctionCallFast(
const std::vector<SgAsmInstruction*>&, rose_addr_t *target,
39297 rose_addr_t *return_va)
override;
39298 virtual bool isFunctionCallSlow(
const std::vector<SgAsmInstruction*>&, rose_addr_t *target,
39299 rose_addr_t *return_va)
override;
39305 virtual ~SgAsmAarch32Instruction();
39309 SgAsmAarch32Instruction();
39313 SgAsmAarch32Instruction(rose_addr_t
const& address,
39314 std::string
const& mnemonic,
39315 Rose::BinaryAnalysis::Aarch32InstructionKind
const& kind,
39316 Rose::BinaryAnalysis::Aarch32InstructionCondition
const& condition);
39326 #endif // SgAsmAarch32Instruction_OTHERS
39327 #ifdef DOCUMENTATION
39329 #endif // DOCUMENTATION
39337 #ifndef DOCUMENTATION
39338 AstNodeClass& AsmInstruction = nonTerminalConstructor(
39342 "AsmInstructionTag",
39343 SubclassListBuilder()
39344 #ifdef ROSE_ENABLE_ASM_AARCH32
39345 | AsmAarch32Instruction
39347 #ifdef ROSE_ENABLE_ASM_AARCH64
39348 | AsmAarch64Instruction
39350 | AsmCilInstruction
39351 | AsmJvmInstruction
39352 | AsmM68kInstruction
39353 | AsmMipsInstruction
39354 | AsmNullInstruction
39355 | AsmPowerpcInstruction
39356 | AsmX86Instruction
39358 assert(AsmInstruction.associatedGrammar !=
nullptr);
39359 AsmInstruction.setCppCondition(
"!defined(DOCUMENTATION)");
39360 AsmInstruction.isBoostSerializable(
true);
39361 AsmInstruction.setAutomaticGenerationOfConstructor(
false);
39362 AsmInstruction.setAutomaticGenerationOfDestructor(
false);
39363 #endif // !DOCUMENTATION
39365 DECLARE_HEADERS(AsmInstruction);
39366 #if defined(SgAsmInstruction_HEADERS) || defined(DOCUMENTATION)
39367 #include <Rose/BinaryAnalysis/MemoryMap.h>
39368 #endif // SgAsmInstruction_HEADERS
39370 #ifdef DOCUMENTATION
39393 #endif // DOCUMENTATION
39395 #ifndef DOCUMENTATION
39396 AsmInstruction.setDataPrototype(
39397 "std::string",
"mnemonic",
"",
39398 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39399 #endif // !DOCUMENTATION
39401 #ifndef DOCUMENTATION
39402 AsmInstruction.setDataPrototype(
39403 "SgUnsignedCharList",
"raw_bytes",
"",
39404 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39405 #endif // !DOCUMENTATION
39407 #ifndef DOCUMENTATION
39408 AsmInstruction.setDataPrototype(
39409 "SgAsmOperandList*",
"operandList",
"= nullptr",
39410 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39411 #endif // !DOCUMENTATION
39413 #ifndef DOCUMENTATION
39414 AsmInstruction.setDataPrototype(
39415 "size_t",
"cacheLockCount",
"= 0",
39416 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39417 #endif // !DOCUMENTATION
39419 #ifndef DOCUMENTATION
39420 AsmInstruction.setDataPrototype(
39421 "SgAsmStatementPtrList",
"sources",
"",
39422 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39423 #endif // !DOCUMENTATION
39425 #ifndef DOCUMENTATION
39426 AsmInstruction.setDataPrototype(
39427 "int64_t",
"stackDeltaIn",
"= SgAsmInstruction::INVALID_STACK_DELTA",
39428 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39429 #endif // !DOCUMENTATION
39431 #ifndef DOCUMENTATION
39432 AsmInstruction.setDataPrototype(
39433 "SgAsmExprListExp*",
"semantics",
"= nullptr",
39434 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39435 #endif // !DOCUMENTATION
39437 DECLARE_OTHERS(AsmInstruction);
39438 #if defined(SgAsmInstruction_OTHERS) || defined(DOCUMENTATION)
39441 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39443 friend class boost::serialization::access;
39446 void serialize(S &s,
const unsigned ) {
39449 s & BOOST_SERIALIZATION_NVP(p_mnemonic);
39450 s & BOOST_SERIALIZATION_NVP(p_raw_bytes);
39451 s & BOOST_SERIALIZATION_NVP(p_operandList);
39452 s & BOOST_SERIALIZATION_NVP(p_cacheLockCount);
39453 s & BOOST_SERIALIZATION_NVP(p_sources);
39456 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
39461 struct SemanticFailure {
39463 SemanticFailure(): n(0) {}
39465 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39467 friend class boost::serialization::access;
39469 void serialize(S &s,
const unsigned ) {
39470 s & BOOST_SERIALIZATION_NVP(n);
39557 SemanticFailure semanticFailure_;
39561 mutable SAWYER_THREAD_TRAITS::Mutex mutex_;
39610 virtual bool isFunctionCallFast(
const std::vector<SgAsmInstruction*>&, rose_addr_t *target, rose_addr_t *ret);
39611 virtual bool isFunctionCallSlow(
const std::vector<SgAsmInstruction*>&, rose_addr_t *target, rose_addr_t *ret);
39644 bool getBranchTarget(rose_addr_t *target ) ROSE_DEPRECATED(
"use branchTarget instead");
39790 virtual bool hasEffect(
const std::vector<SgAsmInstruction*>&,
bool allow_branch=
false,
39791 bool relax_stack_semantics=
false);
39802 virtual std::vector<std::pair<size_t,size_t> >
39804 bool relax_stack_semantics=
false);
39879 virtual std::string
toString()
const;
39921 std::string
const& mnemonic);
39931 #endif // SgAsmInstruction_OTHERS
39932 #ifdef DOCUMENTATION
39934 #endif // DOCUMENTATION
39941 #ifndef DOCUMENTATION
39942 AstNodeClass& AsmStatement = nonTerminalConstructor(
39947 SubclassListBuilder()
39951 | AsmSynthesizedDeclaration
39953 assert(AsmStatement.associatedGrammar !=
nullptr);
39954 AsmStatement.setCppCondition(
"!defined(DOCUMENTATION)");
39955 AsmStatement.isBoostSerializable(
true);
39956 AsmStatement.setAutomaticGenerationOfConstructor(
false);
39957 AsmStatement.setAutomaticGenerationOfDestructor(
false);
39958 #endif // !DOCUMENTATION
39960 #ifdef DOCUMENTATION
39966 #endif // DOCUMENTATION
39968 #ifndef DOCUMENTATION
39969 AsmStatement.setDataPrototype(
39970 "rose_addr_t",
"address",
"= 0",
39971 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39972 #endif // !DOCUMENTATION
39974 #ifndef DOCUMENTATION
39975 AsmStatement.setDataPrototype(
39976 "std::string",
"comment",
"",
39977 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39978 #endif // !DOCUMENTATION
39980 DECLARE_OTHERS(AsmStatement);
39981 #if defined(SgAsmStatement_OTHERS) || defined(DOCUMENTATION)
39984 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39986 friend class boost::serialization::access;
39989 void serialize(S &s,
const unsigned ) {
39991 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
39992 s & BOOST_SERIALIZATION_NVP(p_address);
39993 s & BOOST_SERIALIZATION_NVP(p_comment);
39996 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
40036 #endif // SgAsmStatement_OTHERS
40037 #ifdef DOCUMENTATION
40039 #endif // DOCUMENTATION
40046 DECLARE_LEAF_CLASS(AsmAarch32Coprocessor);
40047 IS_SERIALIZABLE(AsmAarch32Coprocessor);
40049 #ifdef DOCUMENTATION
40052 #endif // DOCUMENTATION
40054 DECLARE_OTHERS(AsmAarch32Coprocessor);
40055 #if defined(SgAsmAarch32Coprocessor_OTHERS) || defined(DOCUMENTATION)
40058 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
40060 friend class boost::serialization::access;
40063 void serialize(S &s,
const unsigned ) {
40066 s & BOOST_SERIALIZATION_NVP(coprocessor_);
40069 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
40102 #endif // SgAsmAarch32Coprocessor_OTHERS
40103 #ifdef DOCUMENTATION
40105 #endif // DOCUMENTATION
40112 #ifndef DOCUMENTATION
40113 AstNodeClass& AsmExpression = nonTerminalConstructor(
40117 "AsmExpressionTag",
40118 SubclassListBuilder()
40119 | AsmAarch32Coprocessor
40120 #ifdef ROSE_ENABLE_ASM_AARCH64
40121 | AsmAarch64AtOperand
40123 #ifdef ROSE_ENABLE_ASM_AARCH64
40124 | AsmAarch64BarrierOperand
40126 #ifdef ROSE_ENABLE_ASM_AARCH64
40127 | AsmAarch64CImmediateOperand
40129 #ifdef ROSE_ENABLE_ASM_AARCH64
40130 | AsmAarch64PrefetchOperand
40132 #ifdef ROSE_ENABLE_ASM_AARCH64
40133 | AsmAarch64SysMoveOperand
40135 | AsmBinaryExpression
40137 | AsmCommonSubExpression
40138 | AsmControlFlagsExpression
40140 | AsmMemoryReferenceExpression
40142 | AsmRegisterReferenceExpression
40144 | AsmStackExpression
40145 | AsmUnaryExpression
40146 | AsmValueExpression
40148 assert(AsmExpression.associatedGrammar !=
nullptr);
40149 AsmExpression.setCppCondition(
"!defined(DOCUMENTATION)");
40150 AsmExpression.isBoostSerializable(
true);
40151 AsmExpression.setAutomaticGenerationOfConstructor(
false);
40152 AsmExpression.setAutomaticGenerationOfDestructor(
false);
40153 #endif // !DOCUMENTATION
40155 #ifdef DOCUMENTATION
40158 #endif // DOCUMENTATION
40160 #ifndef DOCUMENTATION
40161 AsmExpression.setDataPrototype(
40162 "SgAsmType*",
"type",
"= nullptr",
40163 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40164 #endif // !DOCUMENTATION
40166 #ifndef DOCUMENTATION
40167 AsmExpression.setDataPrototype(
40168 "std::string",
"comment",
"",
40169 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40170 #endif // !DOCUMENTATION
40172 DECLARE_OTHERS(AsmExpression);
40173 #if defined(SgAsmExpression_OTHERS) || defined(DOCUMENTATION)
40176 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
40178 friend class boost::serialization::access;
40181 void serialize(S &s,
const unsigned ) {
40183 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
40184 s & BOOST_SERIALIZATION_NVP(p_type);
40185 s & BOOST_SERIALIZATION_NVP(p_comment);
40188 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
40242 #endif // SgAsmExpression_OTHERS
40243 #ifdef DOCUMENTATION
40245 #endif // DOCUMENTATION
40252 #ifndef DOCUMENTATION
40253 AstNodeClass& AsmNode = nonTerminalConstructor(
40258 SubclassListBuilder()
40260 | AsmExecutableFileFormat
40262 | AsmGenericFileList
40263 | AsmInstructionList
40264 | AsmInterpretation
40265 | AsmInterpretationList
40271 assert(AsmNode.associatedGrammar !=
nullptr);
40272 AsmNode.setCppCondition(
"!defined(DOCUMENTATION)");
40273 AsmNode.isBoostSerializable(
true);
40274 AsmNode.setAutomaticGenerationOfConstructor(
false);
40275 AsmNode.setAutomaticGenerationOfDestructor(
false);
40276 #endif // !DOCUMENTATION
40278 DECLARE_HEADERS(AsmNode);
40279 #if defined(SgAsmNode_HEADERS) || defined(DOCUMENTATION)
40280 #include <Sawyer/Attribute.h>
40281 #include <boost/format.hpp>
40282 #endif // SgAsmNode_HEADERS
40284 #ifdef DOCUMENTATION
40287 #endif // DOCUMENTATION
40289 DECLARE_OTHERS(AsmNode);
40290 #if defined(SgAsmNode_OTHERS) || defined(DOCUMENTATION)
40293 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
40295 friend class boost::serialization::access;
40298 void serialize(S &s,
const unsigned ) {
40300 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgNode);
40303 #endif // ROSE_HAVE_BOOST_SERIALIZATION_LIB
40339 #endif // SgAsmNode_OTHERS
40340 #ifdef DOCUMENTATION
40342 #endif // DOCUMENTATION
40344 #ifndef DOCUMENTATION
40346 #endif // !DOCUMENTATION
40347 #endif // defined(ROSE_ENABLE_BINARY_ANALYSIS)
rose_addr_t get_current_size() const
Returns current size of file based on section with highest ending address.
SgAsmPESectionTableEntry *const & get_section_entry() const
Property: Section table entry.
void set_MethodList(uint32_t const &)
Property: MethodList.
virtual ~SgAsmElfStrtab()
Destructor.
virtual ~SgAsmBinaryLsl()
Destructor.
virtual Sawyer::Optional< rose_addr_t > branchTarget()
Obtains the virtual address for a branching instruction.
virtual ~SgAsmCilManifestResource()
Destructor.
rose_addr_t const & get_sh_offset() const
Property: sh_offset.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Print debugging information.
void set_neuter(bool const &)
Property: If set, refuse to unparse file.
SgAsmConstantExpression()
Default constructor.
void set_export_rva(rose_rva_t const &)
Property: Export RVA.
List of pointers to file sections.
void initializeProperties()
Initialize all properties that have explicit initial values.
size_t const & get_modulus() const
Property: Register descriptor modulus.
uint16_t const & get_cpool_index() const
Property: cpool_index.
32 bit signed PC relative offset to GOT
SgAsmCoffStrtab *const & get_strtab() const
Property: String table.
CIL ClassLayout node (II.22.8).
void set_successors_complete(bool const &)
Property: Whether the successors list is complete.
virtual void unparse(std::ostream &) const override
Write method table to a binary file.
virtual bool isFunctionCallSlow(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
uint16_t const & get_RevisionNumber() const
Property: RevisionNumber.
uint64_t read_content_local_uleb128(rose_addr_t *rel_offset, bool strict=true)
Read an unsigned little-endian 128-bit value.
virtual void debugSerializationEnd(const char *className)
Called by generated serializers.
virtual void unparse(std::ostream &) const override
Write the BootstrapMethods attribute to a binary file.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmInstructionList()
Destructor.
SgAsmGenericSectionPtrList get_sections(bool include_holes=true) const
Returns list of all sections in the file (including headers, holes, etc).
virtual ~SgAsmUnaryExpression()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Prints some debugging info.
SgAsmElfSymbolPtrList const & get_symbols() const
Property: Symbol list.
SgAsmCilMethodSpec()
Default constructor.
void set_classes(SgUnsigned16List const &)
Property: classes.
The GNU symbol version definitions.
virtual ~SgAsmJvmMethod()
Destructor.
SectionType
Section types (host order).
virtual bool isUnknown() const override
Returns true if this instruction is the special "unknown" instruction.
std::string read_content_local_str(rose_addr_t rel_offset, bool strict=true)
Reads a string from the file.
SgAsmDwarfMacro()
Default constructor.
void set_symbols(SgAsmElfSymbolPtrList const &)
Property: Symbol list.
void set_instructions(SgUnsignedCharList const &)
Property: Instructions.
void add_symbol(const std::string &s)
Add a needed symbol to the import list for this DLL.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmJvmSourceFile()
Destructor.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
uint16_t const & get_MajorVersion() const
Property: MajorVersion.
uint16_t const & get_length() const
Property: length.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual bool isFunctionReturnFast(const std::vector< SgAsmInstruction * > &insns) override
Returns true if the specified basic block looks like a function return.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmFieldTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmPESection()
Default constructor.
SgAsmByteOrder()
Default constructor.
virtual ~SgAsmNEEntryPoint()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmElfSymverDefinedAux()
Destructor.
virtual bool isFunctionCallFast(const std::vector< SgAsmInstruction * > &insns, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
Direct 32 bit for general dynamic thread local data.
virtual ~SgAsmCilAssemblyRefOS()
Destructor.
SgAsmCommonSubExpression()
Default constructor.
bool is_basic_block() const
Determine if a block contains instructions.
void set_Culture(uint32_t const &)
Property: Culture.
bool const & get_uses_addend() const
Property: Whether entries in this section use the addend format.
virtual void unparse(std::ostream &) const override
Write object to a binary file.
SgAsmJvmMethodPtrList const & get_methods() const
Property: List of pointers to methods.
virtual std::string toString() const override
Convert a type to a string.
void set_st_info(unsigned char const &)
Property: Info.
void set_methods(SgAsmJvmMethodPtrList const &)
Property: List of pointers to methods.
SgAsmDwarfCompilationUnitList()
Default constructor.
Section has preload pages.
SgAsmRiscOperation::RiscOperator const & get_riscOperator() const
Property: Low-level semantic operation.
int const & get_flags() const
Property: Flags.
SgAsmStringStorage *const & get_dont_free() const
Property: Space that should never be freed.
void remove_statement(SgAsmStatement *)
Erase the specified statement.
SgAsmCilFieldRVATable()
Default constructor.
virtual ~SgAsmDwarfCommonInclusion()
Destructor.
Preserve order after combining.
void set_class_index(uint16_t const &)
Property: class_index.
uint32_t const & get_Name() const
Property: Name.
SgAsmCilTypeDef()
Default constructor.
rose_addr_t get_va() const
Return the absolute address if known.
uint16_t const & get_MinorVersion() const
Property: MinorVersion.
void set_ilt_rva(rose_rva_t const &)
Property: Starting address of the ILT.
SgAsmRegisterReferenceExpression()
Default constructor.
void set_max_locals(uint16_t const &)
Property: max_locals.
virtual ~SgAsmJvmEnclosingMethod()
Destructor.
4.4.7 CONSTANT_Utf8_info table entry.
void set_Generation(uint16_t const &)
Property: Generation.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSymbol::Elf32SymbolEntry_disk *) const
Encode a symbol into disk format.
int64_t const & get_stackDelta() const
Property: Net effect of function on the stack pointer.
virtual ~SgAsmM68kInstruction()
Destructor.
SgAsmPEExportDirectory()
Default constructor.
SgAsmPERVASizePairList()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual Sawyer::Optional< rose_addr_t > branchTarget() override
Obtains the virtual address for a branching instruction.
void set_forwarder(SgAsmGenericString *)
Property: Forwarder.
bool const & get_neuter() const
Property: If set, refuse to unparse file.
void set_value(rose_addr_t const &)
Property: Symbol value.
virtual ~SgAsmDwarfConstant()
Destructor.
16:16 alias required (80x86 specific)
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfLexicalBlock()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Name() const
Property: Name.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfBaseType()
Destructor.
virtual rose_addr_t get_storage_size(const SgAsmStringStorage *) override
Returns the number of bytes required to store the string in the string table.
One entry of the ELF symbol version needed table.
SgAsmCilAssemblyProcessorTable()
Default constructor.
virtual ~SgAsmCilDeclSecurity()
Destructor.
CIL StandAloneSig node (II.22.36).
SgAsmNEEntryPoint()
Default constructor.
SgAsmLEPageTable()
Default constructor.
virtual ~SgAsmJvmMethodTable()
Destructor.
SgAsmJvmConstantPoolEntry * parse(SgAsmJvmConstantPool *pool)
Initialize a constant pool entry by parsing the file.
SgAsmCoffStrtab()
Default constructor.
static void dump_containing_sections(FILE *, const std::string &prefix, rose_rva_t, const SgAsmGenericSectionPtrList &)
Prints info about offsets into known sections.
Reason
Reasons why a basic block might have been assigned to a function.
Block is used for padding.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint64_t const & get_offset() const
Property: Offset.
SgAsmPEExportDirectory *const & get_export_dir() const
Property: Export directory.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
String associated with a binary file.
void set_sh_type(SgAsmElfSectionTableEntry::SectionType const &)
Property: sh_type.
virtual ~SgAsmElfSymverSection()
Destructor.
uint32_t const & get_HashValue() const
Property: HashValue.
virtual ~SgAsmDwarfEnumerationType()
Destructor.
Expression that adds two operands.
virtual void unparse(std::ostream &) const override
Write data to note section.
SgAsmElfSymverDefinedSection()
Default constructor.
SgAsmCilEventMap()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_OSMajorVersion() const
Property: OSMajorVersion.
SgAsmJvmLineNumberEntry * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
void set_inner_class_info_index(uint16_t const &)
Property: inner_class_info_index.
void set_code(const char *const &)
Property: code.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
MayReturn
Whether a function returns.
SgAsmJvmConstantValue()
Default constructor.
JVM SourceFile attribute.
size_t const & get_ilt_nalloc() const
Property: Bytes allocated in the file for the ILT.
SgAsmNEModuleTable()
Default constructor.
size_t read_content(rose_addr_t offset, void *dst_buf, rose_addr_t size, bool strict=true)
Reads data from a file.
static const rose_addr_t unallocated
Constant for addresses of unallocated strings.
virtual bool isFunctionCallFast(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *retva) override
Returns true if the specified basic block looks like a function call.
virtual ~SgAsmCilMemberRefTable()
Destructor.
void set_kind(Rose::BinaryAnalysis::M68kInstructionKind const &)
Property: Instruction kind.
SgAsmCilField()
Default constructor.
unsigned const & get_st_shndx() const
Property: shndx.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSymverNeededAux::ElfSymverNeededAux_disk *) const
Encode this auxiliary record into a format that can be written to a file.
SgAsmLEEntryTable()
Default constructor.
const SgFileContentList & content()
Property: Entire file contents.
List of dynamic linking section entries.
Tag for popl in LDM TLS code.
rose_rva_t const & get_begin_rva() const
Property: Beginning relative virtual address.
virtual void unparse(std::ostream &) const override
Write the InnerClasses attribute to a binary file.
void initializeProperties()
Initialize all properties that have explicit initial values.
Contiguous region of a file.
void set_TypeName(uint32_t const &)
Property: TypeName.
SgAsmGenericString *const & get_name() const
Property: Name if not by ordinal.
SgAsmDwarfSubrangeType()
Default constructor.
rose_addr_t write_uleb128(unsigned char *, rose_addr_t offset, uint64_t) const
Write an unsigned little-endian 128-bit value.
int const & get_adjustment() const
Property: Post-increment or pre-decrement amount.
Direct 32 bit sign extended.
Section header is inactive.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
uint8_t const & get_Padding() const
Property: Padding.
void set_referenced_extents(AddressIntervalSet const &)
Property: Addresses referenced during parsing.
SgAsmExpression *const & get_lhs() const
Property: Left-hand side operand.
Direct 32 bit zero extended.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfNamelistItem()
Default constructor.
void set_sh_link(unsigned long const &)
Property: sh_link.
void set_flags(unsigned const &)
Property: Flags.
virtual bool isFunctionReturnSlow(const std::vector< SgAsmInstruction * > &) override
Returns true if the specified basic block looks like a function return.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfMacroList()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
Represents a JVM method_info table/array.
SgAsmInstruction()
Default constructor.
Blocks of function are not contiguous in memory.
virtual ~SgAsmElfSymverNeededAuxList()
Destructor.
SgAsmElfSymverDefinedAux()
Default constructor.
SgAsmCilClassLayout()
Default constructor.
virtual void unparse(std::ostream &) const override
Write constant value to a binary file.
4.4.11 CONSTANT_Module_info table entry.
virtual ~SgAsmDwarfInlinedSubroutine()
Destructor.
SgAsmDwarfConstruct()
Default constructor.
SgAsmGenericSectionPtrList get_sections_by_rva(rose_addr_t rva) const
Find sections by address.
SgAsmCilFieldTable()
Default constructor.
int const & get_id() const
Property: Non-unique section ID or negative.
uint32_t const & get_Flags() const
Property: Flags.
SgAsmBinaryDivide()
Default constructor.
This block created because it seems to belong to the function although CFG traversal did not find it...
void set_Signature(uint32_t const &)
Property: Signature.
uint32_t const & get_HashValue() const
Property: HashValue.
void set_flags(int const &)
Property: Flags.
uint32_t vna_name
Offset (in bytes) to strings table to name string.
Section is member of a group.
uint32_t const & get_Type() const
Property: Type.
void set_strtab(SgAsmElfStrtab *const &)
Property: String table.
virtual ~SgAsmLEEntryPoint()
Destructor.
uint16_t const & get_signature_index() const
Property: signature_index.
SgAsmJvmNode()
Default constructor.
SgAsmDwarfVariable()
Default constructor.
virtual bool isFunctionReturnSlow(const std::vector< SgAsmInstruction * > &insns) override
Returns true if the specified basic block looks like a function return.
virtual ~SgAsmRiscOperation()
Destructor.
SgAsmGenericSectionPtrList get_sections_by_va(rose_addr_t va) const
Find sections by address.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
SgAsmBinaryMultiply()
Default constructor.
uint32_t const & get_hi_bytes() const
Properties: hi_bytes.
uint16_t const & get_name_index() const
Property: name_index.
SgAsmDwarfVolatileType()
Default constructor.
virtual ~SgAsmPEImportDirectory()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual std::string description() const override
Return a description of this instruction.
SgAsmDwarfTemplateTypeParameter()
Default constructor.
virtual ~SgAsmElfDynamicEntryList()
Destructor.
void set_short_name(const std::string &)
Property: Abbreviated name.
void set_main_class_index(uint16_t const &)
Property: main_class_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_RevisionNumber(uint16_t const &)
Property: RevisionNumber.
void set_Processor(uint32_t const &)
Property: Processor.
SgAsmElfNoteEntry()
Default constructor.
void remove_statement(SgAsmStatement *statement)
Erases statement from statement list.
void set_header(SgAsmGenericHeader *const &)
Property: File header that owns this section.
void set_nameptr_n(size_t const &)
Property: Nameptr_n.
void set_export_dir(SgAsmPEExportDirectory *const &)
Property: Export directory.
void set_operandList(SgAsmOperandList *const &)
Property: AST node that holds all operands.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSymverDefinedAux::ElfSymverDefinedAux_disk *) const
Convert this object into the disk format record to be written back to the Symbol Version Definition T...
SgAsmOperandList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
size_t index_of(SgAsmElfSymbol *)
Given a symbol, return its index in this symbol table.
SgAsmDwarfImportedUnit()
Default constructor.
SgAsmElfSymbol::ElfSymBinding get_elf_binding() const
Returns binding as an enum constant.
void set_Flags(uint16_t const &)
Property: Flags.
void set_data(SgFileContentList const &)
Property: Contents of the file.
SgAsmGenericSymbolList()
Default constructor.
SgAsmGenericSectionPtrList get_sections_by_id(int id) const
Returns sections having specified ID across all headers, including headers and holes.
virtual SgAsmElfRelocSection * parse() override
Parse an existing ELF Rela Section.
CIL DeclSecurity node (II.22.11).
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging information.
virtual ~SgAsmStaticData()
Destructor.
void set_Implementation(uint32_t const &)
Property: Implementation.
virtual bool reallocate() override
Pre-unparsing adjustments.
void set_rva(rose_addr_t const &)
Property: RVA.
rose_addr_t get_mapped_preferred_va() const
Virtual address where section prefers to be mapped.
void set_reference_index(uint16_t const &)
Property: reference_index.
uint16_t ExportOrdinal_disk
The PE Export Ordinal Table is an array of nameptr_n (yes) 2-byte indices into the Export Address Tab...
SgAsmElfSymverDefinedEntry()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmGenericFile *const & get_file() const
Property: File to which this section belongs.
virtual ~SgAsmCoffSymbolTable()
Destructor.
SgAsmPEImportItemList *const & get_imports() const
Property: List of imports.
double const & get_code_likelihood() const
Property: Likelihood that this block represents real instructions.
uint32_t const & get_Value() const
Property: Value.
virtual ~SgAsmElfRelocEntryList()
Destructor.
void set_name(SgAsmGenericString *name)
Property: Note name.
size_t const & get_version() const
Property: Version.
JVM ModuleMainClass attribute.
Expression representing a (no-op) unary plus operation.
virtual ~SgAsmDwarfLabel()
Destructor.
uint32_t const & get_Name() const
Property: Name.
Base class for references to a machine register.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfUpcStrictType()
Default constructor.
SgAsmJvmStackMapVerificationTypePtrList const & get_stack() const
Property: List of verification_type_info stack variables.
SgAsmNERelocTable()
Default constructor.
size_t reallocate_iats(rose_rva_t start_at)
Reallocate space for all Import Address Table.
virtual void finish_parsing() override
Finish initializing the section entries.
virtual bool terminatesBasicBlock() override
Determines if this instruction normally terminates a basic block.
void set_vmajor(unsigned const &)
Property: VMajor.
Flag
Individual bit flags for this floating-point type.
void set_time(time_t const &)
Property: Time.
virtual ~SgAsmCilConstant()
Destructor.
SgAsmCilAssemblyOSTable()
Default constructor.
unsigned const & get_sh_name() const
Property: sh_name.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmVectorType()
Default constructor.
Expression that performs a right rotate.
This function may return or not, depending on how it is called.
int64_t get_relativeValue() const
Get relative value.
void set_entries(SgAsmJvmConstantPoolEntryPtrList const &)
Property: List of constant pool entries.
bool is_function_call(rose_addr_t &target_va, rose_addr_t &return_va)
Returns true if basic block appears to be a function call.
virtual ~SgAsmCilAssemblyRef()
Destructor.
static const std::string ID_GUID_HEAP
Define constant strings for the known stream types.
SgAsmCilModule()
Default constructor.
void set_Type(uint32_t const &)
Property: Type.
virtual SgAsmJvmConstantPool * parse() override
Parses a JVM Constant Pool.
Auxiliary info for needed symbol version.
virtual Sawyer::Optional< rose_addr_t > branchTarget() override
Obtains the virtual address for a branching instruction.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void set_e_rva(rose_rva_t const &)
Property: RVA.
SgAsmCilCustomAttribute()
Default constructor.
De-normalized signifand when exponent field is clear.
SgAsmGenericString *const & get_name() const
Property: Name.
virtual size_t get_size() const
Returns the size of an instruction in bytes.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
Base class for all binary analysis IR nodes.
SgAsmBinaryLsr()
Default constructor.
uint32_t const & get_Implementation() const
Property: Implementation.
virtual ~SgAsmPowerpcInstruction()
Destructor.
void set_Flags(uint16_t const &)
Property: Flags.
rose_addr_t const & get_st_name_offset() const
Property: Symbol name offset.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Class(uint32_t const &)
Property: Class.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_name_index(uint16_t const &)
Property: name_index.
SgAsmDwarfCompilationUnitList *const & get_dwarf_info() const
Property: DWARF debugging hiearchy.
std::string const & get_mnemonic() const
Property: Instruction mnemonic string.
void set_exception_index_table(SgUnsigned16List const &)
Property: exception_index_table.
virtual ~SgAsmBinaryLsr()
Destructor.
size_t get_size() const
Property: Size of static data in bytes.
void set_r_addend(rose_addr_t const &)
Property: Addend.
virtual ~SgAsmCilNestedClass()
Destructor.
void set_offset(rose_addr_t const &)
Property: Location of string in storage table.
Rose::BinaryAnalysis::X86RepeatPrefix const & get_repeatPrefix() const
Property: An enum constant describing whether the instruction is repeated.
virtual ~SgAsmJvmLineNumberTable()
Destructor.
List of entries for the ELF symbol version definition table.
void set_d_val(rose_rva_t const &)
Property: Value.
File format of an ELF Section header.
virtual void unparse(std::ostream &) const override
Write attribute to a binary file.
rose_addr_t get_orig_size() const
Returns original size of file, based on file system.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
SgAsmMipsInstruction()
Default constructor.
SgAsmGenericStrtab * get_strtab()
Returns the string table that holds this string.
One entry of an ELF relocation table.
virtual ~SgAsmCilInterfaceImpl()
Destructor.
void updateBitVector()
Update bit vector from native representation.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmStatement()
Default constructor.
SgAsmJvmCodeAttribute()
Default constructor.
Expression that represents an update to a storage location.
void set_registers(SgAsmRegisterReferenceExpressionPtrList const &)
Property: List of registers.
virtual ~SgAsmDwarfTypedef()
Destructor.
void set_data_alignment_factor(int64_t const &)
Property: Data alignment factor.
SgUnsignedCharList const & get_aux_data() const
Property: Auxilliary data.
SgAsmGenericSectionPtrList const & get_sections() const
Property: List of section pointers.
void set_bootstrap_arguments(SgUnsigned16List const &)
Property: bootstrap_arguments.
void set_symbols(SgAsmCoffSymbolList *const &)
Property: List of symbols.
virtual ~SgAsmElfSegmentTableEntryList()
Destructor.
uint16_t const & get_name_index() const
Property: name_index.
4.4.2 CONSTANT_Fieldref_info, CONSTANT_Methodref_info, and CONSTANT_InterfaceMethodref_info table ent...
void set_size(rose_addr_t const &)
Property: Symbol size in bytes.
virtual void unparse(std::ostream &) const override
Write section back to disk.
M68kInstructionKind
M68k instruction types.
int const & get_addr_encoding() const
Property: Address encoding.
virtual void unparse(std::ostream &) const override
Write enclosing method to a binary file.
virtual ~SgAsmDwarfWithStmt()
Destructor.
SgUnsignedCharList read_content_local_ucl(rose_addr_t rel_offset, rose_addr_t size)
Reads content of a section and returns it as a container.
void set_target_section(SgAsmElfSection *const &)
Property: Section targeted by these relocations.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_PropertyList() const
Property: PropertyList.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual std::string description() const override
Return a description of this instruction.
SgAsmJvmStackMapVerificationType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCoffSymbol()
Destructor.
virtual ~SgAsmExprListExp()
Destructor.
4.4.8 CONSTANT_MethodHandle_info table entry.
void set_MethodDeclaration(uint32_t const &)
Property: MethodDeclaration.
virtual ~SgAsmBinaryAdd()
Destructor.
void set_cpool_index(uint16_t const &)
Property: cpool_index.
virtual bool terminatesBasicBlock() override
Determines if this instruction normally terminates a basic block.
uint16_t const & get_MajorVersion() const
Property: MajorVersion.
virtual ~SgAsmLERelocTable()
Destructor.
uint16_t const & get_class_index() const
Property: class_index.
SgAsmDwarfCommonBlock()
Default constructor.
virtual ~SgAsmDwarfPointerType()
Destructor.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
void set_import_directories(SgAsmPEImportDirectoryList *const &)
Property: List of import directories.
Rose::BinaryAnalysis::X86InstructionSize const & get_addressSize() const
Property: An enum describing the x86 address size.
uint32_t vd_next
Offset (in bytes) to next verdef entry.
SgAsmGenericSymbol::SymbolType const & get_type() const
Property: Symbol type.
void set_augmentation_data(SgUnsignedCharList const &)
Property: Augmentation data.
unsigned const & get_res1() const
Property: Reserved aread #1.
void serialize(std::ostream &output, Graph &graph)
Serialize a graph into a stream of bytes.
void parse(std::vector< uint8_t > &buf, size_t startOfMetaData) override
}@
SgAsmDwarfImportedDeclaration()
Default constructor.
Contains nul-terminated strings.
int find_import_item(const SgAsmPEImportItem *item, int hint=0) const
Find an import item in an import directory.
virtual SgAsmElfEHFrameSection * parse() override
Initialize by parsing a file.
virtual ~SgAsmByteOrder()
Destructor.
void set_string_index(uint16_t const &)
Property: string_index.
virtual ~SgAsmPEImportSection()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
void set_lhs(SgAsmExpression *const &)
Property: Left-hand side operand.
SgAsmLEEntryPoint()
Default constructor.
Section hold thread-local data.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const
Write a section back to the file.
virtual bool isFunctionCallSlow(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
unsigned const & get_reason() const
Property: Reasons this block was created.
Portable Executable Import Section.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfCatchBlock()
Destructor.
void set_mapped_rperm(bool const &)
Property: Whether mapped with read permission.
virtual ~SgAsmCilFieldMarshal()
Destructor.
unsigned const & get_coff_line_nums() const
Property: COFF line numbers.
void set_vminor(unsigned const &)
Property: VMinor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Information that marks the file in some way.
void set_code_alignment_factor(uint64_t const &)
Property: Code alignment factor.
void set_forwarder_chain(unsigned const &)
Property: Forwarder chain.
No type or type is unknown.
void set_bit_offset(unsigned short const &)
Property: Where this expression is encoded within the instruction.
Rose::BinaryAnalysis::JvmInstructionKind const & get_kind() const
Property: Instruction kind.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmExpression()
Destructor.
SgAsmBinaryConcat()
Default constructor.
void set_is_dynamic(bool const &)
Property: Whether this section represents dynamic linking symbols.
Relocation entries with explicit addends (e.g., Elf32_Rela types)
void set_RevisionNumber(uint16_t const &)
Property: RevisionNumber.
CIL InterfaceImpl tables.
uint16_t const & get_Number() const
Property: Number.
SgAsmJvmConstantPoolEntry::Kind const & get_tag() const
Property: tag.
void set_iat_written(bool const &)
Property: Whether the resolved address has been written to the memory map.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSymverNeededEntry::ElfSymverNeededEntry_disk *) const
Encode object to disk representation.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmInnerClasses()
Default constructor.
Section is conforming for code (80x86 specific)
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmExpression *const & get_rhs() const
Property: Right-hand side operand.
SgAsmUnaryRrx()
Default constructor.
virtual bool isFunctionCallSlow(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
SgAsmValueExpression *const & get_unfolded_expression_tree() const
Property: Alternate expression without constant folding.
virtual ~SgAsmJvmCodeAttribute()
Destructor.
virtual ~SgAsmCilParamTable()
Destructor.
virtual SgAsmStringStorage * create_storage(rose_addr_t offset, bool shared) override
Creates the storage item for the string at the specified offset.
void set_storage(SgAsmStringStorage *const &)
Property: Storage area for this string.
void set_MajorVersion(uint16_t const &)
Property: MajorVersion.
static const std::string ID_METADATA_HEAP
Define constant strings for the known stream types.
uint32_t const & get_OSMinorVersion() const
Property: OSMinorVersion.
Block was added by a third pass of CFG analysis.
void set_constantvalue_index(uint16_t const &)
Property: constantvalue_index.
rose_addr_t const & get_align() const
Property: Alignment.
SgAsmCilMemberRefTable()
Default constructor.
void set_name_and_type_index(uint16_t const &)
Property: name_and_type_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_NativeType() const
Property: NativeType.
virtual ~SgAsmCilStandAloneSigTable()
Destructor.
SgSymbol *const & get_symbol() const
Property: Symbol corresponding to this expression.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmExpression *const & get_segment() const
Property: Optional memory segment register.
void set_EnclosingClass(uint32_t const &)
Property: EnclosingClass.
void unfill_holes()
Deletes "hole" sections.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmPEImportItem()
Default constructor.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
void set_prh_arg(unsigned const &)
Property: PRH argument.
uint16_t const & get_sourcefile_index() const
Property: sourcefile_index.
SgAsmElfEHFrameEntryCIList()
Default constructor.
void set_hash(uint32_t const &)
Property: Hash.
virtual ~SgAsmBasicString()
Destructor.
std::string const & get_st_name() const
Property: Symbol name.
void set_stack(SgAsmJvmStackMapVerificationTypePtrList const &)
Property: List of verification_type_info stack variables.
void set_entries(SgAsmJvmStackMapFramePtrList const &)
Property: List of stack map table entries/frames.
CIL AssemblyRef node (II.22.5).
uint32_t const & get_Parent() const
Property: Parent.
Base class for machine instructions.
void set_AssemblyRefOS(uint32_t const &)
Property: AssemblyRefOS.
void set_ParamList(uint32_t const &)
Property: ParamList.
virtual void unparse(std::ostream &) const override
Write field table to a binary file.
uint32_t const & get_Parent() const
Property: Parent.
virtual ~SgAsmElfSymverDefinedAuxList()
Destructor.
X86BranchPrediction
Intel x86 branch prediction types.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_TypeName(uint32_t const &)
Property: TypeName.
uint32_t ExportAddress_disk
The PE Export Address Table is an array of expaddr_n 4-byte RVAs.
SgAsmRegisterReferenceExpressionPtrList const & get_registers() const
Property: List of registers.
void set_access_flags(uint16_t const &)
Property: access_flags.
SgAsmPESectionTableEntry()
Default constructor.
Segment contains the segment table itself (program header array)
void set_addr_encoding(int const &)
Property: Address encoding.
SgAsmGenericSymbol::SymbolDefState const & get_def_state() const
Property: Definition state.
virtual ~SgAsmCoffStrtab()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Byte order specification.
virtual void unparse(std::ostream &) const override
Write inner classes entry to a binary file.
virtual bool terminatesBasicBlock() override
Determines if this instruction normally terminates a basic block.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_NamePadding() const
Property: Name of the byte stream.
SgAsmElfSegmentTableEntry()
Default constructor.
SgAsmGenericString *const & get_name() const
Property: Name.
uint64_t const & get_augmentation_data_length() const
Property: Augmentation data length.
static Rose::BinaryAnalysis::RegisterDictionaryPtr registersForWidth(size_t)
Return the register dictionary for an x86 architecture.
SgAsmDwarfCondition()
Default constructor.
AddressSpace
Section modification functions for shift_extend.
void free_all_strings(bool blow_away_holes=false)
Free all strings so they will be reallocated later.
SgAsmElfStrtab *const & get_strtab() const
Property: String table.
SgAsmInterpretation()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Dump debugging information.
SgAsmDwarfFileType()
Default constructor.
rose_addr_t get_mapped_size() const
Property: Mapped size.
uint16_t const & get_class_index() const
Property: class_index.
SgAsmCilStandAloneSigTable()
Default constructor.
SgAsmCilNestedClass()
Default constructor.
Represents an entry in a JVM constant pool.
virtual ~SgAsmCilCustomAttributeTable()
Destructor.
SgAsmBlock * get_entry_block() const
Function entry basic block.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilEvent()
Destructor.
SgAsmDwarfArrayType()
Default constructor.
bool const & get_mapped_wperm() const
Property: Whether mapped with write permission.
uint32_t vn_next
Offset (in bytes) to next verneed entry.
SgAsmElfSymbol()
Default constructor.
uint32_t d_tag
Entry type, one of the DT_* constants.
virtual ~SgAsmBinaryConcat()
Destructor.
virtual ~SgAsmDwarfTemplateValueParameter()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
16 bit sign extended pc relative
void set_rhs(SgAsmExpression *const &)
Property: Right-hand side operand.
Offset relative to static TLS block.
SgAsmSynthesizedFieldDeclaration()
Default constructor.
SgAsmDwarfCatchBlock()
Default constructor.
uint32_t p_align
0x2c alignment for file and memory (0,1=>none); power of two
uint16_t const & get_attribute_name_index() const
Property: attribute_name_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilAssemblyOS()
Destructor.
void set_attribute_name_index(uint16_t const &)
Property: attribute_name_index.
SgAsmJvmField()
Default constructor.
uint32_t vd_hash
Hash of version name.
SgUnsignedCharList const & get_augmentation_data() const
Property: Augmentation data.
CIL FieldRVA node (II.22.18).
rose_addr_t const & get_rva() const
Property: RVA.
void set_st_type(unsigned const &)
Property: Symbol type constant.
virtual ~SgAsmCilAssemblyTable()
Destructor.
SgAsmCilNestedClassTable()
Default constructor.
SgAsmElfRelocSection()
Default constructor.
virtual void finish_parsing() override
Update section pointers for locally-bound symbols.
SgAsmCilTypeRefTable()
Default constructor.
void set_MemberForwarded(uint32_t const &)
Property: MemberForwarded.
bool normalizeOperands()
Rewrite certain addressing modes for operands.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
Offset in static TLS block.
unsigned long const & get_sh_info() const
Property: sh_info.
RiscOperator
One enum per RISC operator.
Rose::BinaryAnalysis::RegisterDescriptor const & get_descriptor() const
Property: Descriptor for accessed register.
virtual ~SgAsmDirectRegisterExpression()
Destructor.
uint32_t st_name
Name offset into string table.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging information.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_low_bytes(uint32_t const &)
Properties: low_bytes.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
Rose::BinaryAnalysis::X86InstructionSize const & get_operandSize() const
Property: An enum describing the x86 instruction operand size.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual bool reallocate() override
Update prior to unparsing.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmJvmLineNumberEntry()
Destructor.
CIL AssemblyProcessor node (II.22.4).
virtual void destructorHelper() override
This gets called by all Rosebud-generated destructors.
Base class for scalar types.
void set_immediate_dominator(SgAsmBlock *const &)
Property: Holds the immediate dominator block in the control flow graph.
uint64_t d_tag
Entry type, one of the DT_* constants.
CIL NestedClass node (II.22.32).
void set_dll_name(SgAsmGenericString *const &)
Property: Name of library from which to import.
Three or four args depending on whether segment reg is present.
SgAsmBinarySubtract()
Default constructor.
void set_PublicKey(uint32_t const &)
Property: PublicKey.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
unsigned const & get_st_type() const
Property: Symbol type constant.
SgAsmCilInstruction()
Default constructor.
Represents a JVM exception_info table/array.
uint16_t const & get_Semantics() const
Property: Semantics.
void set_Name(uint32_t const &)
Property: Name.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint64_t d_val
Tag's value.
int64_t get_signedValue() const
Returns the current absolute value (base+offset) as a signed value.
Offset relative to TLS block.
SgAsmInstructionList()
Default constructor.
virtual ~SgAsmCilAssemblyRefTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_length(uint16_t const &)
Property: length.
SgAsmGenericSymbol::SymbolBinding const & get_binding() const
Property: Symbol binding.
uint32_t const & get_Name() const
Property: Name.
SgAsmCilGenericParam()
Default constructor.
void set_Type(uint32_t const &)
Property: Type.
uint32_t const & get_OSPlatformID() const
Property: OSPlatformID.
SgAsmElfRelocEntryList *const & get_entries() const
Property: List of entries.
List of expression nodes.
void set_pairs(SgAsmPERVASizePairPtrList const &)
Property: List of pointers to other nodes.
SgUnsignedCharList const & get_payload() const
Property: Note name.
SgAsmCilGenericParamConstraint()
Default constructor.
virtual ~SgAsmStringStorage()
Destructor.
virtual ~SgAsmCilFieldRVA()
Destructor.
virtual bool isFunctionReturnFast(const std::vector< SgAsmInstruction * > &) override
Returns true if the specified basic block looks like a function return.
SgAsmIntegerType()
Default constructor.
virtual void unparse(std::ostream &) const override
Write module main class to a binary file.
A contiguous range of values.
bool gradualUnderflow() const
Property: Whether type has gradual underflow.
SgAsmCilEventMapTable()
Default constructor.
virtual ~SgAsmDwarfSubprogram()
Destructor.
SgAsmDwarfCompilationUnit()
Default constructor.
SgAsmCilAssembly()
Default constructor.
virtual ~SgAsmElfSymbol()
Destructor.
SgAsmGenericFilePtrList get_files() const
Returns a list of all files referenced by an interpretation.
void initializeProperties()
Initialize all properties that have explicit initial values.
size_t read_content_local(rose_addr_t rel_offset, void *dst_buf, rose_addr_t size, bool strict=true)
Reads data from a file.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write method to a binary file.
virtual ~SgAsmDwarfCommonBlock()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Expression that performs an arithmetic, sign-bit preserving right shift.
void set_ordinal(unsigned const &)
Property: Ordinal number.
virtual bool isFunctionCallFast(const std::vector< SgAsmInstruction * > &insns, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
CIL StandAloneSig tables.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgUnsignedCharList const & get_extra() const
Property: Extra bytes not officially part of the table entry.
SgAsmElfDynamicEntryList *const & get_entries() const
Property: List of entries.
SgAsmJvmInnerClassesEntry * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
32 bit signed PC relative offset to two GOT entries for LD symbol
size_t iat_required_size() const
Number of bytes required for the table.
virtual ~SgAsmCilDataStream()
Destructor.
void set_Name(uint32_t const &)
Property: Name.
SgAsmCilTypeRef()
Default constructor.
Expression that performs a logical, sign-bit non-preserving right shift.
Rose::BinaryAnalysis::X86BranchPrediction const & get_branchPrediction() const
Property: An enum constant describing branch prediction.
SgAsmElfSymverEntry()
Default constructor.
void set_name(std::string const &)
Property: Name.
virtual ~SgAsmDwarfModule()
Destructor.
SgAsmCilAssemblyRefProcessor()
Default constructor.
SgAsmSynthesizedDataStructureDeclaration()
Default constructor.
virtual size_t get_nBits() const override
Property: Number of bits.
SgAsmElfSymverEntryList *const & get_entries() const
Property: List of table entries.
SgAsmIndirectRegisterExpression()
Default constructor.
uint32_t const & get_ImportName() const
Property: ImportName.
virtual ~SgAsmDwarfNamelist()
Destructor.
virtual ~SgAsmDwarfNamelistItem()
Destructor.
bool isLastInBlock()
Returns true if this instruction is the last instruction in a basic block.
void set_extra(SgUnsignedCharList const &)
Property: Extra bytes not officially part of the table entry.
Represents an JVM constant pool.
void set_stride(Rose::BinaryAnalysis::RegisterDescriptor const &)
Property: Register descriptor stride.
SgAsmDwarfPtrToMemberType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_entries(SgAsmElfSymverDefinedEntryList *const &)
Property: List of entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmValueExpression()
Destructor.
void set_r_offset(rose_addr_t const &)
Property: Offset.
size_t get_nElmts() const
Property: Number of elements in vector.
Section has zero-filled pages.
virtual ~SgAsmGenericFile()
Destructor.
virtual void set_linked_section(SgAsmElfSection *)
Property: Linked section.
SgAsmElfEHFrameEntryFDPtrList const & get_entries() const
Property: List of pointers to error handling frame descriptor entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmOperandList()
Destructor.
virtual size_t get_nBits() const
Width of type in bits.
uint32_t const & get_Size() const
Property: Length of the byte stream.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Name(uint32_t const &)
Property: Name.
virtual ~SgAsmBinaryMod()
Destructor.
Normal variable definitions.
void set_HashAlgId(uint32_t const &)
Property: HashAlgId.
void set_Processor(uint32_t const &)
Property: Processor.
Function is the target of a thunk.
rose_addr_t const & get_address() const
Property: Starting virtual address.
void set_symbols(SgAsmElfSymbolList *const &)
Property: Symbols.
uint32_t const & get_Class() const
Property: Class.
Tag for popl in GD TLS code.
void set_Interface(uint32_t const &)
Property: Interface.
virtual ~SgAsmSynthesizedDataStructureDeclaration()
Destructor.
Non-standard OS specific handling required.
'sh_info' contains SHT index
virtual ~SgAsmStatement()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_address(rose_addr_t const &)
Property: Starting virtual address.
bool isFirstInBlock()
Returns true if this instruction is the first instruction in a basic block.
Strings stored in an ELF or PE container.
virtual ~SgAsmUnaryTruncate()
Destructor.
virtual ~SgAsmCilPropertyMapTable()
Destructor.
void * encode(SgAsmPEImportDirectory::PEImportDirectory_disk *) const
Encode an import directory entry back into disk format.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_kind(Rose::BinaryAnalysis::MipsInstructionKind const &)
Property: Instruction kind.
SgAsmMemoryReferenceExpression()
Default constructor.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
bool const & get_hasMoreSections() const
Property: hasMoreSections.
size_t read_content(rose_addr_t abs_offset, void *dst_buf, rose_addr_t size, bool strict=true)
Reads data from a file.
SgAsmJvmExceptionTable *const & get_exception_table() const
Property: Exception table.
Expression that returns the remainder when dividing the first operand by the second.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmNullInstruction()
Destructor.
Node to hold a list of symbol node pointers.
rose_addr_t const & get_sh_addralign() const
Property: sh_addralign.
virtual ~SgAsmCilModuleRef()
Destructor.
virtual ~SgAsmPESectionTableEntry()
Destructor.
void set_Flags(uint32_t const &)
Property: Flags.
void set_Mvid(uint32_t const &)
Property: Mvid.
void set_segment_entry(SgAsmElfSegmentTableEntry *const &)
Property: The segment table entry corresponding to this section.
Rose::BinaryAnalysis::MemoryMap::Ptr const & get_map() const
Property: Memory map.
Base class for ELF file sections.
SgAsmElfSection * init_from_segment_table(SgAsmElfSegmentTableEntry *, bool mmap_only=false)
Initializes the section from data parse from the ELF Segment Table.
unsigned const & get_prh_arg() const
Property: PRH argument.
void set_OSMinorVersion(uint32_t const &)
Property: OSMinorVersion.
void initializeProperties()
Initialize all properties that have explicit initial values.
unsigned char const & get_st_info() const
Property: Info.
void initializeProperties()
Initialize all properties that have explicit initial values.
Block is being assigned to a FUNC_LEFTOVERS function because it could not be assigned to any other fu...
File-specified purpose other than any given in this enum.
Number of operators in this enum.
virtual ~SgAsmSynthesizedDeclaration()
Destructor.
CilInstructionKind
CIL instruction types.
rose_rva_t const & get_ilt_rva() const
Property: Starting address of the ILT.
uint32_t const & get_EventFlags() const
Property: EventFlags.
uint16_t vd_flags
Version information flag bitmask.
SgAsmGenericSection * get_section_by_name(const std::string &, char sep=0, size_t *nfound=0) const
Find section by name.
void set_repeatPrefix(Rose::BinaryAnalysis::X86RepeatPrefix const &)
Property: An enum constant describing whether the instruction is repeated.
uint32_t const & get_Class() const
Property: Class.
SgAsmBinaryMsl()
Default constructor.
virtual ~SgAsmJvmExceptionTable()
Destructor.
size_t const & get_num_freed() const
Property: Number of strings freed thus far.
rose_addr_t const & get_mapped_alignment() const
Property: Alignment in virtual memory.
void set_offset(rose_addr_t const &)
Property: Offset of segment in the file.
void set_stackDeltaIn(int64_t const &)
Property: Stack pointer at start of instruction relative to start of instruction's function...
void set_OSPlatformID(uint32_t const &)
Property: OSPlatformID.
virtual ~SgAsmElfSymverNeededEntryList()
Destructor.
void set_tag(uint8_t const &)
Property: tag.
SgAsmValueExpression()
Default constructor.
void set_headers(SgAsmGenericHeaderList *const &)
Property: File headers.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
SgAsmPERVASizePairPtrList const & get_pairs() const
Property: List of pointers to other nodes.
rose_addr_t get_offset() const
Property: Offset to start of section in file.
Rose::BinaryAnalysis::X86InstructionKind const & get_kind() const
Property: Instruction kind.
virtual ~SgAsmGenericString()
Destructor.
virtual rose_addr_t get_offset() const override
Returns the offset into the string table where the string is allocated.
void set_name_md5(std::string const &)
Property: Hash of the function.
virtual void set_mapped_preferred_rva(rose_addr_t)
Property: Relative virtual address where section prefers to be mapped.
Expression representing truncation.
SgAsmCilInterfaceImplTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
User says block belongs to the function.
SgAsmElfSymbolSection()
Default constructor.
virtual ~SgAsmElfSymverEntryList()
Destructor.
virtual ~SgAsmPEImportItemList()
Destructor.
void set_Flags(uint32_t const &)
Property: Flags.
virtual ~SgAsmDwarfUnknownConstruct()
Destructor.
SgAsmElfSymverDefinedAuxPtrList const & get_entries() const
Property: List of entries.
uint16_t const & get_access_flags() const
Property: access_flags.
void set_ordinal(unsigned const &)
Property: Ordinal.
uint16_t const & get_Flags() const
Property: Flags.
SgAsmGenericString * get_name() const
Property: Note name.
static uint64_t virtualAddress(SgNode *)
Returns the base address of an addressable IR node.
SgAsmJvmAttribute()
Default constructor.
CIL Event node (II.22.13).
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSymverNeededAuxPtrList const & get_entries() const
Property: List of entries.
Base class for PE sections.
bool get_isSigned() const
Property: whether the integral type is signed or unsigned.
Function mentioned on the command-line.
SgAsmCilGenericParamConstraintTable()
Default constructor.
size_t const & get_index() const
Property: Index into table.
Array of some other type.
SgAsmElfRelocEntryPtrList const & get_entries() const
Property: List of relocation entries.
Info defined by the program; format and meaning determined by prog.
virtual ~SgAsmFunction()
Destructor.
Represents a synthesized function.
RelocType
Relocation Type.
void set_instruction_list(SgAsmInstructionList *const &)
Property: Instruction list.
SgAsmElfDynamicEntryList()
Default constructor.
SgAsmElfSegmentTableEntry::SegmentFlags const & get_flags() const
Property: Segment flags.
SgAsmGenericSection * get_section_by_offset(rose_addr_t offset, rose_addr_t size, size_t *nfound=0) const
Find section by file offset.
void set_Method(uint32_t const &)
Property: Method.
Reserved, unspecified semantics; Present only in non-conforming files.
SgUnsignedCharList const & get_extra() const
Property: Padding byte values.
virtual ~SgAsmCilMethodSemanticsTable()
Destructor.
uint32_t const & get_hash() const
Property: Hash.
uint32_t const & get_Name() const
Property: Name.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfSubroutineType()
Destructor.
JvmInstructionKind
The Java Virtual Machine (JVM) instruction set.
virtual ~SgAsmCilEventTable()
Destructor.
virtual ~SgAsmNESectionTableEntry()
Destructor.
JVM EnclosingMethod attribute.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_stackSize() const
Property: stackSize.
std::string conditionalBranchDescription() const
Description of conditional branch BO constant.
SgAsmCilConstantTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmJvmClass()
Destructor.
bool const & get_lockPrefix() const
Property: Whether the x86 lock prefix was present.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfInheritance()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual bool isUnknown() const override
Returns true if this instruction is the special "unknown" instruction.
void initializeProperties()
Initialize all properties that have explicit initial values.
rose_rva_t const & get_expaddr_rva() const
Property: Expaddr RVA.
uint32_t const & get_Parent() const
Property: Parent.
void set_sh_addralign(rose_addr_t const &)
Property: sh_addralign.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
CIL MethodImpl node (II.22.27).
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual bool isUnknown() const override
Returns true if this instruction is the special "unknown" instruction.
virtual ~SgAsmJvmFieldTable()
Destructor.
Result containing a value or an error.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void set_entries(SgAsmElfSymverNeededEntryPtrList const &)
Property: List of entries.
void set_entries(SgAsmElfSymverEntryPtrList const &)
Property: List of symbol version table entries.
void set_st_size(rose_addr_t const &)
Property: size.
Represents one JVS machine instruction.
SgAsmJvmMethod()
Default constructor.
uint16_t const & get_descriptor_index() const
Property: descriptor_index.
SgAsmElfDynamicSection()
Default constructor.
virtual ~SgAsmCilAssemblyProcessorTable()
Destructor.
virtual ~SgAsmCilStandAloneSig()
Destructor.
uint32_t const & get_low_bytes() const
Properties: low_bytes.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_inner_name_index() const
Property: inner_name_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
Initial instructions not in any other function.
unsigned const & get_n_relocs() const
Property: Number of relocations.
void set_Offset(uint32_t const &)
Property: Offset.
void set_Padding(uint8_t const &)
Property: Padding.
SgUnsigned16List const & get_classes() const
Property: classes.
Expression that divides the first operand by the second.
virtual ~SgAsmDwarfSharedType()
Destructor.
unsigned long const & get_sh_link() const
Property: sh_link.
CIL AssemblyRefProcessor node (II.22.7).
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
rose_addr_t parse(rose_addr_t starting_offset)
Initialize a note by parsing it from the specified location in the note section.
SgAsmPEImportDirectoryList()
Default constructor.
const char *const & get_code() const
Property: code.
void set_bound(SgAsmGenericSection *const &)
Property: Associated file section.
virtual ~SgAsmDwarfStructureType()
Destructor.
SgAsmAarch32Coprocessor()
Default constructor.
virtual std::string toString() const override
Convert a type to a string.
void set_Flags(uint32_t const &)
Property: Flags.
SgAsmM68kInstruction()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_entries(SgAsmElfRelocEntryPtrList const &)
Property: List of relocation entries.
uint32_t const & get_Method() const
Property: Method.
Hods a list of symbol version aux entries.
SgAsmCilTypeDefTable()
Default constructor.
Big/default bit setting (80x86 specific); see note above.
void set_symbols(SgStringList const &)
Property: Symbols.
void set_NativeType(uint32_t const &)
Property: NativeType.
void set_descriptor(Rose::BinaryAnalysis::RegisterDescriptor const &)
Property: Descriptor for accessed register.
Relocation for call to __tls_get_addr()
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilUint8Heap()
Destructor.
uint32_t d_val
Tag's value.
uint32_t const & get_Signature() const
Property: Signature.
void set_handlers(SgAsmJvmExceptionHandlerPtrList const &)
Property: List of pointers to exceptions.
rose_addr_t const & get_physical_size() const
Property: Physical size.
BitRange significandBits() const
Property: Offset to significand least significant bit.
size_t hintname_table_extent(AddressIntervalSet &extent) const
Obtains the virtual address of the Hint/Name Table.
SgAsmCilNode()
Default constructor.
Rose::BinaryAnalysis::X86SegmentRegister const & get_segmentOverride() const
Property: The segment override register.
void set_extra(SgUnsignedCharList const &)
Property: Extra bytes.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_operand(SgAsmExpression *const &)
Property: Operand for a unary expression.
SgAsmX86Instruction()
Default constructor.
SgAsmGenericString *const & get_name() const
Property: Name.
It is unknown whether this function ever returns or not.
virtual ~SgAsmDwarfInheritance()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilGenericParamTable()
Destructor.
void set_dont_free(SgAsmStringStorage *const &)
Property: Space that should never be freed.
SymbolDefState
Symbol definition state.
virtual ~SgAsmNERelocTable()
Destructor.
size_t hintname_required_size() const
Bytes needed to store hint/name pair.
void updateNativeValue() const
Update cached native value from bit vector.
Detected by Partitioner::FindInterPadFunctions, which looks for unassigned space between two inter-fu...
void set_vaddr(rose_addr_t const &)
Property: Virtual address.
void set_baseSize(Rose::BinaryAnalysis::X86InstructionSize const &)
Property: An enum constant describing the base size of an x86 instruction.
virtual ~SgAsmElfNoteSection()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSymverDefinedEntryPtrList const & get_entries() const
Property: List of table entries.
void set_imports(SgAsmPEImportItemList *const &)
Property: List of imports.
COFF symbol string table.
void set_stackDeltaOut(int64_t const &)
Property: Stack pointer at block exit w.r.t.
SgAsmGenericHeader * get_header(SgAsmExecutableFileFormat::ExecFamily)
Returns the header for the specified format.
uint32_t const & get_TypeNamespace() const
Property: TypeNamespace.
uint32_t const & get_Offset() const
Property: Offset.
void set_section_entry(SgAsmPESectionTableEntry *const &)
Property: Section table entry.
SgAsmCilFieldLayoutTable()
Default constructor.
virtual void unparse(std::ostream &) const override
Write attribute table to a binary file.
bool reallocate(bool shrink)
Allocates storage for strings that have been modified but not allocated.
void set_entries(SgAsmElfSymverNeededEntryList *const &)
Property: List of entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSection()
Default constructor.
uint32_t const & get_Parent() const
Property: Parent.
void set_stackDelta(int64_t const &)
Property: Net effect of function on the stack pointer.
Base class for CIL branch of binary analysis IR nodes.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_name_rva(rose_rva_t const &)
Property: RVA for name.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmControlFlagsExpression()
Default constructor.
SgAsmRiscOperation()
Default constructor.
uint32_t p_filesz
0x20 bytes in file (may be zero or other value smaller than p_memsz)
Main namespace for the ROSE library.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmAttributePtrList const & get_attributes() const
Property: List of pointers to attributes.
Stores a vector of enum bit flags.
SgAsmJvmInnerClassesEntryPtrList const & get_classes() const
Property: List of pointers to InnerClasses attribute entry.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmPEExportDirectory()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Selection functor for SgAsmFunction::get_extent().
rose_addr_t const & get_file_alignment() const
Property: Required file alignment.
rose_addr_t const & get_st_size() const
Property: size.
virtual bool reallocate() override
Pre-unparsing adjustments.
rose_addr_t write(std::ostream &f, rose_addr_t offset, size_t bufsize, const void *buf) const
Write data to a file section.
void set_st_num_aux_entries(unsigned const &)
Property: Number of auxilliary entries.
void set_raw_bytes(SgUnsignedCharList const &)
Property: Raw bytes of an instruction.
void reallocate()
Call this before unparsing to make sure everything is consistent.
Rose::BitFlags< Flag > Flags
Collective bit flags for this floating-point type.
SgAsmUnaryMinus()
Default constructor.
SgAsmCilFieldMarshal()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
uint32_t const & get_Value() const
Property: Value.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmNestMembers()
Default constructor.
std::string const & get_augmentation_string() const
Property: Augmentation string.
rose_addr_t const & get_physical_offset() const
Property: Physical offset.
virtual void unparse(std::ostream &) const override
Write the stack map table frame to a binary file.
Does not have size/value yet.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL FieldLayout node (II.22.16).
SgUnsignedCharList const & get_extra() const
Property: Value of padding bytes.
void initializeProperties()
Initialize all properties that have explicit initial values.
unsigned const & get_type() const
Property: Type of note.
SgAsmElfSection * get_linked_section() const
Property: Linked section.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
Added by Partitioner::FindData, which attaches unassigned parts of the disassembly address space to t...
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
rose_addr_t const & get_id() const
Property: Identification.
virtual ~SgAsmCilAssemblyRefProcessor()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
bool is_mapped() const
Whether section desires to be mapped to memory.
virtual ~SgAsmDwarfDwarfProcedure()
Destructor.
void set_symbols(SgAsmGenericSymbolPtrList const &)
Property: List of symbol nodes.
virtual Rose::BinaryAnalysis::AddressSet getSuccessors(bool &complete) override
Control flow successors for a single instruction.
Entry in an ELF symbol version table.
std::string read_content_str(const Rose::BinaryAnalysis::MemoryMap::Ptr &map, rose_rva_t rva, bool strict=true)
Reads a string from the file.
void unparse_holes(std::ostream &) const
Write holes (unreferenced areas) back to the file.
void set_Signature(uint32_t const &)
Property: Signature.
Base class for string tables.
Rose::BinaryAnalysis::RegisterDescriptor const & get_stride() const
Property: Register descriptor stride.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_branchPrediction(Rose::BinaryAnalysis::X86BranchPrediction const &)
Property: An enum constant describing branch prediction.
virtual ~SgAsmGenericDLLList()
Destructor.
SgAsmDwarfNamespace()
Default constructor.
virtual void check() const override
Validate properties collectively.
Block serves as an explicit starting point for CFG analysis.
void set_index(size_t const &)
Property: Register descriptor index.
uint16_t const & get_access_flags() const
Property: access_flags.
uint16_t const & get_bootstrap_method_attr_index() const
Property: bootstrap_method_attr_index.
size_t get_nBits() const
Property: Width of expression in bits.
void set_operands(SgAsmExpressionPtrList const &)
Property: Ordered list of instruction operands.
void initializeProperties()
Initialize all properties that have explicit initial values.
Base class for references to a machine register.
SgAsmOperandList *const & get_operandList() const
Property: AST node that holds all operands.
uint16_t const & get_BuildNumber() const
Property: BuildNumber.
Appears to be a function based on pattern of instructions.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfNoteSection()
Default constructor.
SgAsmUnaryExpression()
Default constructor.
static std::string to_string(SgAsmElfSymbol::ElfSymBinding)
Converts enum constant to string.
uint32_t const & get_Name() const
Property: Name.
void set_strtab(SgAsmGenericSection *const &)
Property: String table.
void set_contains_code(bool const &)
Property: Whether a section is known to contain code.
virtual ~SgAsmInstruction()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_entry_va(rose_addr_t const &)
Property: Primary entry address.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmGenericString *const & get_forwarder() const
Property: Forwarder.
SgUnsignedCharList const & get_raw_bytes() const
Property: Raw bytes.
std::string const & get_reasonComment() const
Property: Additional function existance reason comment.
virtual ~SgAsmUnaryUnsignedExtend()
Destructor.
SgAsmGenericDLLPtrList const & get_dlls() const
Property: List of AST node pointers.
uint32_t const & get_Culture() const
Property: Culture.
virtual SgAsmElfSymverDefinedSection * parse() override
Initializes this ELF SymverDefined Section by parsing a file.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void set_mnemonic(std::string const &)
Property: Instruction mnemonic string.
Like SHT_PROGBITS but occupies no file space.
SgAsmJvmSourceFile()
Default constructor.
virtual ~SgAsmDwarfVariant()
Destructor.
void set_sig_frame(bool const &)
Property: Signal frame.
virtual bool isFunctionReturnSlow(const std::vector< SgAsmInstruction * > &insns) override
Returns true if the specified basic block looks like a function return.
SgAsmCilDataStream()
Default constructor.
unsigned char st_info
Type and binding attributes.
virtual ~SgAsmCilEventMapTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
int64_t const & get_stackDeltaIn() const
Property: Stack pointer at start of instruction relative to start of instruction's function...
void set_PackingSize(uint16_t const &)
Property: PackingSize.
SgAsmGenericSectionPtrList get_mapped_sections() const
Returns list of all sections in the file that are memory mapped, including headers and holes...
void set_version(size_t const &)
Property: Version.
Sawyer::Optional< uint64_t > asUnsigned() const
Return a constant if possible.
virtual ~SgAsmCilImplMapTable()
Destructor.
SgAsmDwarfDwarfProcedure()
Default constructor.
void append_declaration(SgAsmSynthesizedDeclaration *declaration)
Appends another declaration.
virtual ~SgAsmLESectionTableEntry()
Destructor.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfNoteEntryList()
Default constructor.
SgAsmJvmConstantPoolEntry * get_entry(size_t index) const
Returns constant pool entry at given index.
SgAsmElfSymverSection()
Default constructor.
void set_dlls(SgAsmGenericDLLPtrList const &)
Property: List of AST node pointers.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
void set_max_stack(uint16_t const &)
Property: max_stack.
virtual ~SgAsmJvmInnerClassesEntry()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Owner() const
Property: Owner.
virtual SgAsmElfSymverSection * parse() override
Initializes section by parsing the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmX86Instruction()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
SgAsmCilAssemblyRefOSTable()
Default constructor.
SgAsmGenericSection *const & get_bound() const
Property: Associated file section.
SgAsmPEExportEntryList()
Default constructor.
SgAsmElfEHFrameEntryCIList *const & get_ci_entries() const
Property: CI entries.
CIL CustomAttribute tables.
Base class for CIL branch of binary analysis IR nodes.
Address was found in read-only data referenced by an existing instruction.
uint16_t const & get_Action() const
Property: Action.
ELF error handling frame entry frame description entry.
void set_flags(SgAsmElfSegmentTableEntry::SegmentFlags const &)
Property: Segment flags.
void set_file(SgAsmGenericFile *const &)
Property: File to which this section belongs.
CIL ImplMap node (II.22.22).
std::string get_short_name() const
Property: Abbreviated name.
virtual ~SgAsmDwarfLine()
Destructor.
rose_addr_t const & get_paddr() const
Property: ELF paddr field.
Negated offset in static TLS block.
uint32_t st_size
Symbol size in bytes.
SgAsmGenericString *const & get_name() const
Property: Name.
double const & get_percentageCoverage() const
Property: code coverage percent.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymverDefinedAux::ElfSymverDefinedAux_disk *)
Initialize this object with data parsed from a file.
virtual ~SgAsmJvmConstantValue()
Destructor.
File format for an RVA/Size pair.
void set_addressSize(Rose::BinaryAnalysis::X86InstructionSize const &)
Property: An enum describing the x86 address size.
JVM Exceptions attribute.
SgAsmDwarfSharedType()
Default constructor.
Represents an ELF relocation section.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual SgAsmJvmNestHost * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
virtual ~SgAsmMemoryReferenceExpression()
Destructor.
virtual ~SgAsmElfEHFrameEntryFDList()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_name(SgAsmGenericString *)
Property: Name.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_statementList(SgAsmStatementPtrList const &)
Property: Statements of which this block is composed.
virtual ~SgAsmLEEntryTable()
Destructor.
unsigned const & get_mask() const
Property: Bit mask.
Extent get_file_extent() const
Returns the file extent for the section.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfMember()
Destructor.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymbol::Elf32SymbolEntry_disk *)
Initialize symbol by parsing a symbol table entry.
virtual ~SgAsmCilProperty()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_EventList(uint32_t const &)
Property: EventList.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_start_pc(uint16_t const &)
Property: start_pc.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write source file to a binary file.
std::string const & get_callingConvention() const
Property: Primary calling convention.
virtual bool terminatesBasicBlock() override
Determines if this instruction normally terminates a basic block.
32 bit PC relative offset to GOT
Block is an entry point for the function.
bool const & get_initLocals() const
Property: initLocals.
Base class for CIL branch of binary analysis IR nodes.
SgAsmDwarfTypedef()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
void set_augmentation_data_length(uint64_t const &)
Property: Augmentation data length.
void set_code_length(uint32_t const &)
Property: code_length.
SgAsmRegisterNames()
Default constructor.
uint32_t vn_file
Offset (in bytes) to strings table to file string.
SgAsmCoffSymbolList()
Default constructor.
Loadable by mapping file contents into memory.
uint32_t const & get_RVA() const
Property: RVA.
void set_descriptor_index(uint16_t const &)
Property: descriptor_index.
void set_mask(unsigned const &)
Property: Bit mask.
virtual bool isFunctionCallSlow(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
Section contains resource objects.
virtual bool isFunctionCallSlow(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
virtual std::vector< std::pair< size_t, size_t > > findNoopSubsequences(const std::vector< SgAsmInstruction * > &insns, bool allow_branch=false, bool relax_stack_semantics=false)
Determines what subsequences of an instruction sequence have no cumulative effect.
SgAsmDwarfModule()
Default constructor.
SgAsmCilUint32Heap()
Default constructor.
virtual ~SgAsmElfSymverEntry()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmConstantExpression()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmType *const & get_type() const
Property: Type of expression.
uint16_t const & get_Generation() const
Property: Generation.
void set_name_index(uint16_t const &)
Property: name_index.
PowerpcInstructionKind
PowerPC instruction types.
SgAsmDwarfImportedModule()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilTypeDefTable()
Destructor.
SgAsmCoffSymbol()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_entries(SgAsmElfSymverDefinedEntryPtrList const &)
Property: List of table entries.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const override
Print some debugging info.
bool const & get_by_ordinal() const
Property: Whether ordinal number is stored.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Class(uint32_t const &)
Property: Class.
SgAsmStringStorage *const & get_storage() const
Property: Storage area for this string.
virtual ~SgAsmDwarfVariable()
Destructor.
rose_addr_t get_fallthrough_va()
Fall-through virtual address.
virtual SgAsmElfSymverNeededSection * parse() override
Parse a GNU Symbol Version Requirements Table.
void set_Encld(uint32_t const &)
Property: Encld.
One import directory per library.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
rose_addr_t const & get_r_addend() const
Property: Addend.
void set_vector(SgAsmPEImportDirectoryPtrList const &)
Property: List of nodes.
SgAsmNEStringTable()
Default constructor.
SgAsmLERelocTable()
Default constructor.
virtual ~SgAsmDwarfStringType()
Destructor.
virtual void check() const override
Validate properties collectively.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_TypeName() const
Property: TypeName.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void set_operands(SgAsmExprListExp *const &)
Property: Operands for the low-level operation.
virtual void unparse(std::ostream &) const override
Unparse an ElfStringSection by unparsing the ElfStrtab.
size_t reallocate(rose_rva_t starting_rva)
Allocates space for this import directory's name, import lookup table, and import address table...
Symbol Version Table [gnu extension] .gnu.version.
void initializeProperties()
Initialize all properties that have explicit initial values.
size_t const & get_dll_name_nalloc() const
Property: Bytes allocated in the file for the name.
virtual ~SgAsmCilManifestResourceTable()
Destructor.
SgAsmGenericStrtab()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
GNU symbol version requirements table.
void remove_hole(SgAsmGenericSection *)
Removes a hole from the list of holes in a file.
SgAsmDirectRegisterExpression()
Default constructor.
virtual ~SgAsmElfEHFrameEntryCIList()
Destructor.
void set_name(SgAsmGenericString *const &)
Property: Name if not by ordinal.
bool implicitBitConvention() const
Property: Whether the type follows the IEEE 754 significand implicit bit convention.
uint32_t const & get_Implementation() const
Property: Implementation.
virtual ~SgAsmCilModule()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_EnclosingClass() const
Property: EnclosingClass.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_semantics(SgAsmExprListExp *const &)
Property: Ordered list of instruction semantics.
rose_addr_t get_va_offset(rose_addr_t va) const
File offset for specified virtual address.
virtual ~SgAsmFloatType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_name(SgAsmGenericString *const &)
Property: Name.
virtual bool isFunctionReturnFast(const std::vector< SgAsmInstruction * > &) override
Returns true if the specified basic block looks like a function return.
uint16_t vd_ndx
Version index of this entry.
List of ELF relocation entries.
void set_attribute_table(SgAsmJvmAttributeTable *const &)
Property: Table of attributes.
rose_addr_t get_base_va() const
Base virtual address for a section.
SgUnsignedCharList const & get_instructions() const
Property: Instructions.
void set_offset_delta(uint16_t const &)
Property: offset_delta.
SgAsmBlock *const & get_global_block() const
Property: Global block.
void set_tag(SgAsmJvmConstantPoolEntry::Kind const &)
Property: tag.
void update_from_section(SgAsmPESection *section)
Update this section table entry with newer information from the section.
unsigned short const & get_bit_offset() const
Property: Where this expression is encoded within the instruction.
virtual ~SgAsmElfNoteEntry()
Destructor.
uint32_t const & get_MethodList() const
Property: MethodList.
Rose::BinaryAnalysis::X86InstructionSize const & get_baseSize() const
Property: An enum constant describing the base size of an x86 instruction.
void set_stackSize(uint32_t const &)
Property: stackSize.
SgAsmGenericFile * parse(std::string file_name)
Loads file contents into memory.
virtual rose_addr_t calculate_sizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
virtual SgAsmElfSegmentTable * parse() override
Parses an ELF Segment (Program Header) Table.
SgAsmPEExportSection()
Default constructor.
void set_st_storage_class(unsigned const &)
Property: Symbol storage class.
CIL AssemblyRefProcessor tables.
SgAsmExprListExp()
Default constructor.
Function is defined in a configuration file.
uint32_t const & get_Constraint() const
Property: Constraint.
virtual ~SgAsmDwarfAccessDeclaration()
Destructor.
SgAsmElfSegmentTableEntry::SegmentType const & get_type() const
Property: Segment type.
SgUnsigned16List const & get_exception_index_table() const
Property: exception_index_table.
SgAsmType()
Default constructor.
static const int64_t INVALID_STACK_DELTA
Represents an invalid stack delta.
List of AST file node pointers.
SgAsmStoredString()
Default constructor.
Section is resident and contiguous.
void set_may_return(SgAsmFunction::MayReturn const &)
Property: Whether a function could return to its caller.
virtual ~SgAsmCilMethodSpecTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
This class represents the concept of a name within the compiler.
SgAsmElfSegmentTable()
Default constructor.
virtual ~SgAsmElfDynamicSection()
Destructor.
size_t const & get_hintname_nalloc() const
Property: File bytes allocated for hint/name pair.
Reserved w/unspecified semantics.
virtual rose_addr_t calculate_sizes(size_t *total, size_t *required, size_t *optional, size_t *entcount) const override
Return sizes for various parts of the table.
ELF section containing dynamic linking information.
SgAsmGenericSectionPtrList get_sections_by_name(std::string, char sep='\0') const
Returns all sections having specified name across all headers, including headers and holes...
void set_filesz(rose_addr_t const &)
Property: Size of segment in file.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_ImplFlags() const
Property: ImplFlags.
SgUnsignedCharList const & get_raw_bytes() const
Property: Raw bytes of an instruction.
Program-supplied data, code, etc.
SgAsmDwarfUnionType()
Default constructor.
void set_fd(int const &)
Property: Read-only file descriptor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
SgAsmElfDynamicEntry::EntryType const & get_d_tag() const
Property: Tag.
virtual std::string get_string(bool escape=false) const override
Property: String value.
void set_Offset(uint32_t const &)
Property: Start offset of the byte stream.
SgAsmElfSymverNeededEntryList()
Default constructor.
virtual ~SgAsmLESection()
Destructor.
rose_addr_t const & get_entry_va() const
Property: Primary entry address.
uint32_t const & get_bytes() const
Property: bytes.
int const & get_st_section_num() const
Property: Section number.
uint16_t const & get_end_pc() const
Property: end_pc.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_RevisionNumber() const
Property: RevisionNumber.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmBinaryMsl()
Destructor.
unsigned const & get_reason() const
Property: Reason that function exists.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t vda_name
Offset (in bytes) to strings table to name string.
virtual bool isFunctionReturnSlow(const std::vector< SgAsmInstruction * > &insns) override
Returns true if the specified basic block looks like a function return.
This function is known to never return.
uint32_t const & get_Signature() const
Property: Signature.
virtual std::string toString() const override
Convert a type to a string.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_entries(SgAsmElfEHFrameEntryFDPtrList const &)
Property: List of pointers to error handling frame descriptor entries.
uint32_t const & get_MemberForwarded() const
Property: MemberForwarded.
SgAsmType * get_elmtType() const
Property: Type of each vector element.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual rose_addr_t calculate_sizes(size_t *total, size_t *required, size_t *optional, size_t *entcount) const override
Return sizes for various parts of the table.
32-bit format of an ELF symbol.
void set_Name(uint32_t const &)
Property: Name.
Section I/O privilege level (80x86 specific; used only for 16:16 alias objects)
SgAsmJvmExceptionHandlerPtrList const & get_handlers() const
Property: List of pointers to exceptions.
SgAsmPEExportEntry()
Default constructor.
virtual ~SgAsmPEExportEntryList()
Destructor.
void set_kind(Rose::BinaryAnalysis::CilInstructionKind const &)
Property: Instruction kind.
JVM NestMembers attribute.
void set_string(std::string const &)
Property: String value.
SgAsmCilEvent()
Default constructor.
virtual ~SgAsmScalarType()
Destructor.
bool const & get_is_dynamic() const
Property: Whether this section represents dynamic linking symbols.
uint32_t const & get_Encld() const
Property: Encld.
rose_addr_t const & get_offset() const
Property: Offset of segment in the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_Flags() const
Property: Flags.
void set_purpose(SgAsmGenericSection::SectionPurpose const &)
Property: General contents of the section.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
JVM LineNumberTable attribute.
uint32_t const & get_Name() const
Property: Name.
void set_Parent(uint32_t const &)
Property: Parent.
std::string read_content_str(const Rose::BinaryAnalysis::MemoryMap::Ptr &, rose_addr_t va, bool strict=true)
Reads a string from the file.
virtual rose_addr_t calculate_sizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
std::string const & get_name() const
Property: Name.
SgAsmDwarfConstType()
Default constructor.
List of ELF EH frame CI entries.
void set_st_name(std::string const &)
Property: Symbol name.
4.4.9 CONSTANT_MethodType_info table entry.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmControlFlagsExpression()
Destructor.
std::string const & get_name() const
Property: Name.
CIL GenericParamConstraint node (II.22.21).
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilAssemblyRefProcessorTable()
Destructor.
void set_address(SgAsmExpression *const &)
Property: Memory address expression.
virtual ~SgAsmPERVASizePairList()
Destructor.
virtual void set_offset(rose_addr_t)
Property: Offset to start of section in file.
SgAsmGenericSectionPtrList get_sections_by_offset(rose_addr_t offset, rose_addr_t size) const
Find sections by their offset.
size_t const & get_index() const
Property: Register descriptor index.
SgAsmJvmStackMapVerificationType * parse(SgAsmJvmConstantPool *pool)
Initialize the object by parsing content from the class file.
Rose::BinaryAnalysis::M68kInstructionKind const & get_kind() const
Property: Instruction kind.
void set_coff_line_nums(unsigned const &)
Property: COFF line numbers.
SgAsmPEImportSection()
Default constructor.
void set_dll_name_nalloc(size_t const &)
Property: Bytes allocated in the file for the name.
SgAsmGenericSectionList()
Default constructor.
virtual bool isFunctionReturnSlow(const std::vector< SgAsmInstruction * > &insns) override
Returns true if the specified basic block looks like a function return.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfArrayType()
Destructor.
uint32_t vna_next
Offset (in bytes) to next vernaux entry.
void set_name_index(uint16_t const &)
Property: name_index.
SgAsmGenericFile()
Default constructor.
virtual bool isFunctionReturnSlow(const std::vector< SgAsmInstruction * > &)
Returns true if the specified basic block looks like a function return.
Represents an ELF EH frame section.
void set_entries(SgAsmElfSymverDefinedAuxList *const &)
Property: Entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
bool const & get_mapped_xperm() const
Property: Whether mapped with execute permission.
SgAsmElfEHFrameEntryCI()
Default constructor.
virtual ~SgAsmJvmStackMapVerificationType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_absoluteValue(uint64_t)
Set absolute value.
virtual ~SgAsmDwarfRestrictType()
Destructor.
virtual rose_addr_t calculate_sizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
void initializeProperties()
Initialize all properties that have explicit initial values.
std::string unparse(const SgAsmElfEHFrameSection *, SgAsmElfEHFrameEntryCI *) const
Unparse to string.
CIL FieldMarshal node (II.22.17).
CIL MethodSpec node (II.22.29).
virtual Rose::BinaryAnalysis::AddressSet getSuccessors(bool &complete) override
Control flow successors for a single instruction.
void set_Name(std::string const &)
Property: Name of the byte stream.
virtual Rose::BinaryAnalysis::AddressSet getSuccessors(bool &complete) override
Control flow successors for a single instruction.
void set_locals(SgAsmJvmStackMapVerificationTypePtrList const &)
Property: List of verification_type_info local variables.
uint32_t const & get_TypeNamespace() const
Property: TypeNamespace.
virtual ~SgAsmCilUint32Heap()
Destructor.
One entry of an ELF notes table.
virtual ~SgAsmPEImportDirectoryList()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
size_t const & get_nameptr_n() const
Property: Nameptr_n.
SgAsmNode()
Default constructor.
uint32_t const & get_Flags() const
Property: Flags.
uint16_t const & get_MinorVersion() const
Property: MinorVersion.
SgAsmInstructionPtrList const & get_instructions() const
Property: List of SgAsmInstruction entries.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
SgAsmGenericHeaderList *const & get_headers() const
Property: List of all headers in file.
void set_prh_encoding(int const &)
Property: PRH encoding.
void set_Number(uint16_t const &)
Property: Number.
void set_def_state(SgAsmGenericSymbol::SymbolDefState const &)
Property: Definition state.
ELF string table section.
virtual void unparse(std::ostream &) const override
Write SymverDefined section back to disk.
SgAsmElfSectionTableEntry *const & get_section_entry() const
Property: The section table entry corresponding to this section.
void set_fields(SgAsmJvmFieldPtrList const &)
Property: List of pointers to fields.
virtual ~SgAsmBlock()
Destructor.
void set_PermissionSet(uint32_t const &)
Property: PermissionSet.
rose_addr_t const & get_filesz() const
Property: Size of segment in file.
uint16_t vn_cnt
Number of vernaux entries.
Implied by inter-basicblock branching.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_TypeDefIdName() const
Property: TypeDefIdName.
SgUnsigned16List const & get_bootstrap_arguments() const
Property: bootstrap_arguments.
Reference to memory locations.
virtual ~SgAsmNEStringTable()
Destructor.
void set_MethodBody(uint32_t const &)
Property: MethodBody.
virtual SgAsmJvmMethodTable * parse() override
Parses a JVM method table.
GOT entry for static TLS block offset.
SgAsmElfSectionTable()
Default constructor.
virtual ~SgAsmCilClassLayoutTable()
Destructor.
SgAsmCilPropertyMapTable()
Default constructor.
void set_body(SgAsmBlock *const &)
Property: body.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_BuildNumber(uint16_t const &)
Property: BuildNumber.
void set_type(SgAsmType *const &)
Property: Type of expression.
SgAsmGenericHeader *const & get_header() const
Property: File header that owns this section.
SgUnsignedCharList const & get_instructions() const
Property: Instructions.
int const & get_flags() const
Property: Flags.
virtual ~SgAsmGenericFileList()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_ImportName(uint32_t const &)
Property: ImportName.
uint32_t const & get_Type() const
Property: Type.
uint32_t const & get_Signature() const
Property: Signature.
void destructorHelper() override
This gets called by all Rosebud-generated destructors.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmCilFieldMarshalTable()
Default constructor.
uint32_t const & get_Processor() const
Property: Processor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_reason(unsigned const &)
Property: Reason that function exists.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfUpcSharedType()
Destructor.
SgAsmPEImportDirectory()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void destructorHelper() override
This gets called by all Rosebud-generated destructors.
virtual void parse(std::vector< uint8_t > &buf, size_t startOfMetaData)
}@
SgAsmDwarfLabel()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
virtual size_t get_nBits() const override
Width of type in bits.
void set_comment(std::string const &)
Property: Commentary.
SgAsmElfSymbolList *const & get_symbols() const
Property: Symbols.
CIL ExportedType node (II.22.14).
void set_Size(uint32_t const &)
Property: Length of the byte stream.
void set_type(SgAsmElfRelocEntry::RelocType const &)
Property: Type.
uint32_t const & get_Name() const
Property: Name.
virtual ~SgAsmJvmAttributeTable()
Destructor.
SgAsmJvmStackMapTable()
Default constructor.
SgAsmExpression *const & get_address() const
Property: Memory address expression.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSectionTableEntry()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmIntegerValueExpression()
Destructor.
SgAsmCoffSymbolPtrList const & get_symbols() const
Property: List of symbol pointers.
uint32_t const & get_code_length() const
Property: code_length.
virtual ~SgAsmGenericStrtab()
Destructor.
Direct 32 bit for local dynamic thread local data in LE code.
static Type * registerOrDelete(Type *toInsert)
Registers a type with the type system.
uint32_t const & get_Parent() const
Property: Parent.
32 bit signed PC relative offset to two GOT entries for GD symbol
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
virtual std::string toString() const
Convert a type to a string.
void set_modulus(size_t const &)
Property: Register descriptor modulus.
Segment contains NUL-terminated path name of interpreter.
SgAsmCilMemberRef()
Default constructor.
virtual ~SgAsmElfEHFrameEntryFD()
Destructor.
void set_attributes(SgAsmJvmAttributePtrList const &)
Property: List of pointers to attributes.
SgAsmPESection * init_from_section_table(SgAsmPESectionTableEntry *entry, int id)
Initializes the section from data parsed from the PE Section Table.
void set_stack_position(int const &)
Property: Position of element referenced on the stack.
void set_RVA(uint32_t const &)
Property: RVA.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void extend_to_eof(std::ostream &) const
Extend the output file by writing the last byte if it hasn't been written yet.
void set_instructions(SgUnsignedCharList const &)
Property: Instructions.
uint16_t const & get_host_class_index() const
Property: classes.
rose_rva_t const & get_dll_name_rva() const
Property: Address of the import library name.
uint32_t const & get_Extends() const
Property: Extends.
virtual ~SgAsmJvmNode()
Destructor.
uint32_t const & get_HashAlgId() const
Property: HashAlgId.
An ordered list of registers.
virtual ~SgAsmCilMemberRef()
Destructor.
void set_name(SgAsmGenericString *const &)
Property: Name.
Block was added by the main CFG analysis.
void set_nativeValue(double)
Set AST node value to specified native value.
unsigned const & get_flags() const
Property: Flags.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t ExportNamePtr_disk
The PE Export Name Pointer Table is an array of nameptr_n 4-byte RVAs pointing into the Export Name T...
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_version(size_t const &)
Property: Version.
SgAsmGenericDLLList()
Default constructor.
virtual void unparse(std::ostream &) const
Write string table back to disk.
static std::string reason_key(const std::string &prefix="")
Multi-line description of function reason keys from unparser.
uint16_t const & get_descriptor_index() const
Property: descriptor_index.
SgAsmDwarfInterfaceType()
Default constructor.
FunctionReason
Reasons why an instruction might be considered the beginning of a function.
virtual ~SgAsmCilInterfaceImplTable()
Destructor.
rose_rva_t const & get_hintname_rva() const
Property: RVA of hint/name pair.
int const & get_fd() const
Property: Read-only file descriptor.
void set_Flags(uint32_t const &)
Property: Flags.
virtual ~SgAsmCilPropertyMap()
Destructor.
SgAsmCilImplMap()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilImplMap()
Destructor.
Rose::BinaryAnalysis::CilInstructionKind const & get_kind() const
Property: Instruction kind.
uint32_t const & get_ParamList() const
Property: ParamList.
SymbolBinding
Symbol binding.
SgAsmDwarfFunctionTemplate()
Default constructor.
rose_addr_t const & get_sh_entsize() const
Property: sh_entsize.
void set_ImportScope(uint32_t const &)
Property: ImportScope.
SgAsmBinaryRor()
Default constructor.
std::string read_content_str(const Rose::BinaryAnalysis::MemoryMap::Ptr &, rose_addr_t va, bool strict=true)
Reads a string from a file.
uint8_t const & get_reference_kind() const
Property: reference_kind.
uint32_t const & get_hash() const
Property: Hash.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmElfSymbolList()
Destructor.
void set_TypeNamespace(uint32_t const &)
Property: TypeNamespace.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void set_NestedClass(uint32_t const &)
Property: NestedClass.
virtual ~SgAsmUnarySignedExtend()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
rose_addr_t const & get_r_offset() const
Property: Offset.
void initializeProperties()
Initialize all properties that have explicit initial values.
bool const & get_contains_code() const
Property: Whether a section is known to contain code.
SgAsmDwarfStringType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL GenericParam node (II.22.20).
std::string unparse(const SgAsmElfEHFrameSection *) const
Unparse an entry.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmBinaryPreupdate()
Destructor.
void set_map(Rose::BinaryAnalysis::MemoryMap::Ptr const &)
Property: Memory map.
void set_entries(SgAsmElfSymverNeededAuxList *const &)
Property: List of entries.
CIL MemberRef node (II.22.25).
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmPEStringSection()
Default constructor.
SgAsmDwarfSetType()
Default constructor.
std::string get_label(bool quiet=false) const
Returns a label for the value.
CIL AssemblyRefOS node (II.22.6).
CIL Module node (II.22.30).
An entry point specified in the file header.
std::string reloc_name() const
Convert relocation to string for debugging.
void set_d_tag(SgAsmElfDynamicEntry::EntryType const &)
Property: Tag.
void set_strtab(SgAsmCoffStrtab *const &)
Property: String table.
virtual ~SgAsmUnaryPlus()
Destructor.
SgAsmBinaryAdd()
Default constructor.
SgAsmCilCustomAttributeTable()
Default constructor.
rose_addr_t const & get_e_size() const
Property: Size.
void set_begin_rva(rose_rva_t const &)
Property: Beginning relative virtual address.
SgAsmJvmField * parse(SgAsmJvmConstantPool *pool)
Initialize the object by parsing content from the class file.
SgAsmNESectionTableEntry()
Default constructor.
void set_Extends(uint32_t const &)
Property: Extends.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilParam()
Destructor.
virtual ~SgAsmSynthesizedFieldDeclaration()
Destructor.
SgAsmDwarfLineList()
Default constructor.
virtual void set_string(const std::string &s)
Property: String value.
uint16_t const & get_Flags() const
Property: Flags.
virtual ~SgAsmCoffSymbolList()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Constraint(uint32_t const &)
Property: Constraint.
virtual ~SgAsmCommonSubExpression()
Destructor.
virtual ~SgAsmCilCustomAttribute()
Destructor.
void set_file_name(SgAsmGenericString *const &)
Property: File name.
void display(const std::string &label)
Output information about instruction address <–> source position.
void set_timestamp(time_t const &)
Property: Time stamp.
void destructorHelper() override
Free StringStorage objects associated with this string table.
virtual ~SgAsmPERVASizePair()
Destructor.
CIL AssemblyProcessor tables.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness sex, const SgAsmElfRelocEntry::Elf32RelaEntry_disk *disk)
Initialize object by parsing from file.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
size_t get_extent(AddressIntervalSet *emap=NULL, rose_addr_t *lo_addr=NULL, rose_addr_t *hi_addr=NULL, NodeSelector *selector=NULL)
Returns information about the function addresses.
Section is resident and "long-lockable" (VDDs and PDDs only)
void set_Implementation(uint32_t const &)
Property: Implementation.
SgAsmElfSymverEntryList()
Default constructor.
void set_dwarf_info(SgAsmDwarfCompilationUnitList *const &)
Property: DWARF debugging hiearchy.
Expression represting negation.
void set_Action(uint16_t const &)
Property: Action.
uint16_t const & get_max_locals() const
Property: max_locals.
List of pointers to other AST nodes.
Expression representing a machine register.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
Unreferenced address space is elastic.
void parse(std::vector< uint8_t > &buf, size_t startOfMetaData) override
}@
void set_iat_rva(rose_rva_t const &)
Property: IAT RVA.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_id(rose_addr_t const &)
Property: Identification.
Values reserved for processor-specific semantics.
virtual bool isFunctionReturnSlow(const std::vector< SgAsmInstruction * > &) override
Returns true if the specified basic block looks like a function return.
rose_addr_t get_size() const
Property: Size of section in file in bytes.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
uint16_t const & get_PackingSize() const
Property: PackingSize.
CIL GenericParamConstraint tables.
virtual SgAsmElfStrtab * parse() override
Parses the string table.
Base class for integer values.
virtual ~SgAsmDwarfReferenceType()
Destructor.
size_t const & get_index() const
Property: Index.
void set_baseNode(SgNode *const &)
Property: Base node associated with an integer.
SgUnsignedCharList const & get_extra() const
Property: Extra bytes.
SgAsmLESection()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
uint64_t const & get_sh_flags() const
Property: sh_flags.
uint32_t vd_aux
Offset (in bytes) to start of array of verdaux entries.
void set_line_number(uint16_t const &)
Property: line_number.
SgAsmCilInterfaceImpl()
Default constructor.
void set_function_kind(SgAsmFunction::function_kind_enum const &)
Property: Kind of function.
void set_EventType(uint32_t const &)
Property: EventType.
void set_Name(uint32_t const &)
Property: Name.
static Rose::BinaryAnalysis::X86InstructionSize instructionSizeForWidth(size_t)
Converts a size to an instruction size enum.
Describes (part of) a physical CPU register.
virtual void unparse(std::ostream &) const override
Write data to .eh_frame section.
virtual ~SgAsmElfSymbolSection()
Destructor.
SegmentType
Segment types (host order).
void set_Value(uint32_t const &)
Property: Value.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmCilMethodSpecTable()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void set_percentageCoverage(double const &)
Property: code coverage percent.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
SgAsmDwarfPackedType()
Default constructor.
SgAsmGenericString *const & get_name() const
Property: Name.
void set_other(size_t const &)
Property: Other.
void set_symbols(SgAsmCoffSymbolPtrList const &)
Property: List of symbol pointers.
ELF file section containing symbols.
void set_iat_nalloc(size_t const &)
Property: Bytes allocated in the file for the IAT.
SgAsmStatementPtrList const & get_statementList() const
Property: Statements that make up a function.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_constantvalue_index() const
Property: constantvalue_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
Sawyer::Optional< int64_t > asSigned() const
Return a signed constant if possible.
bool const & get_mapped_rperm() const
Property: Whether mapped with read permission.
Function contains basic blocks that were inserted by searching the address space between the blocks d...
uint32_t const & get_Signature() const
Property: Signature.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgFileContentList const & get_data() const
Property: Contents of the file.
uint16_t const & get_Sequence() const
Property: Sequence.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
uint16_t const & get_method_index() const
Property: method_index.
void set_Parent(uint32_t const &)
Property: Parent.
virtual ~SgAsmGenericSymbolList()
Destructor.
Minimal set of dynamic linking symbols.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfDynamicEntry::Elf32DynamicEntry_disk *)
Initialize object by parsing the file.
SgAsmElfRelocEntryList()
Default constructor.
virtual SgAsmGenericStrtab * parse()
Parse a string table.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfPackedType()
Destructor.
virtual ~SgAsmElfSectionTableEntry()
Destructor.
void set_sh_offset(rose_addr_t const &)
Property: sh_offset.
int64_t read_content_local_sleb128(rose_addr_t *rel_offset, bool strict=true)
Read a signed little-endian 128-bit value.
SgAsmCilModuleTable()
Default constructor.
Write permission granted when mapped.
Functions dynamically linked.
virtual ~SgAsmDwarfClassTemplate()
Destructor.
size_t cacheLockCount() const
Property: Cache lock count.
uint32_t p_memsz
0x24 number of bytes when mapped (may be zero)
void initializeProperties()
Initialize all properties that have explicit initial values.
void dump(FILE *f, const char *prefix, ssize_t idx, SgAsmElfSymbolSection *symtab) const
Print debugging information.
void set_inner_class_access_flags(uint16_t const &)
Property: inner_class_access_flags.
CIL InterfaceImpl node (II.22.23).
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
uint32_t const & get_Parent() const
Property: Parent.
void set_EventFlags(uint32_t const &)
Property: EventFlags.
This class represents the base class for all IR nodes within Sage III.
List of operands for an instruction.
virtual void destructorHelper() override
This gets called by all Rosebud-generated destructors.
virtual bool isUnknown() const override
Returns true if this instruction is the special "unknown" instruction.
SgAsmScalarType()
Default constructor.
unsigned const & get_vminor() const
Property: VMinor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_entries(SgAsmElfSegmentTableEntryPtrList const &)
Property: Segment table entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
void dump_all(bool in_cwd=true, const char *ext=NULL)
Print text file containing all known information about a binary file.
4.4.10 CONSTANT_Dynamic_info table entry.
virtual void unparse(std::ostream &) const
Write node to a binary file.
void set_TypeNamespace(uint32_t const &)
Property: TypeNamespace.
void set_host_class_index(uint16_t const &)
Property: classes.
void set_entries(SgAsmElfDynamicEntryPtrList const &)
Property: List of entries.
void set_callingConvention(std::string const &)
Property: Primary calling convention.
Base class for dynamically linked library information.
std::string const & get_comment() const
Property: Comment.
virtual SgAsmJvmNestMembers * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
virtual ~SgAsmCilModuleRefTable()
Destructor.
SgAsmCilPropertyMap()
Default constructor.
void set_exports(SgAsmPEExportEntryList *const &)
Property: List of export entries.
void set_inner_name_index(uint16_t const &)
Property: inner_name_index.
virtual SgAsmJvmStackMapTable * parse(SgAsmJvmConstantPool *pool) override
Initialize the object by parsing content from the class file.
virtual ~SgAsmDwarfEnumerator()
Destructor.
int const & get_version() const
Property: Version number.
SgAsmBinaryMod()
Default constructor.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSegmentTableEntry::Elf32SegmentTableEntry_disk *) const
Converts segment table entry back into disk structure.
void set_exports(SgAsmPEExportEntryPtrList const &)
Property: List of pointers to nodes.
SgAsmGenericSymbol()
Default constructor.
virtual ~SgAsmCilExportedTypeTable()
Destructor.
virtual ~SgAsmCilNestedClassTable()
Destructor.
virtual ~SgAsmGenericSection()
Destructor.
SgAsmElfRelocEntry()
Default constructor.
SgAsmJvmClass()
Default constructor.
void set_attribute_table(SgAsmJvmAttributeTable *const &)
Property: Table of attributes.
void set_reference_kind(uint8_t const &)
Property: reference_kind.
SgAsmElfEHFrameSection()
Default constructor.
void shift_extend(SgAsmGenericSection *s, rose_addr_t sa, rose_addr_t sn)
Moves and enlarges a section.
void set_OSMinorVersion(uint32_t const &)
Property: OSMinorVersion.
void initializeProperties()
Initialize all properties that have explicit initial values.
List of ELF error handling frame descriptor entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
void grab_content()
Saves a reference to the original file data for a section based on the section's current offset and s...
void set_name(SgAsmGenericString *)
Property: Name.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmExceptions * parse(SgAsmJvmConstantPool *) override
Initialize the object by parsing content from the class file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfVariant()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
virtual bool reallocate() override
Reallocate space for the string section if necessary.
void set_bitVector(Sawyer::Container::BitVector const &)
Property: Bits for constant.
uint32_t const & get_Parent() const
Property: Parent.
void set_physical_size(rose_addr_t const &)
Property: Physical size.
void initializeProperties()
Initialize all properties that have explicit initial values.
Rose::BinaryAnalysis::ByteOrder::Endianness get_majorOrder() const
Property: Major byte order for mixed-order types.
rose_addr_t const & get_virtual_size() const
Property: Virtual size.
SgAsmBlock *const & get_immediate_dominator() const
Property: Holds the immediate dominator block in the control flow graph.
virtual ~SgAsmElfSegmentTable()
Destructor.
void set_type(unsigned const &)
Property: Type of note.
void set_extra(SgUnsignedCharList const &)
Property: Value of padding bytes.
void set_Type(uint8_t const &)
Property: Type.
SgAsmPEImportDirectoryPtrList const & get_vector() const
Property: List of nodes.
A relative virtual address optionally associated with a SgAsmSection.
virtual void unparse(std::ostream &) const override
Write constant pool entry to a binary file.
GCC .eh_frame_hdr segment.
Carries from a 3-arg add operation.
void set_entries(SgAsmElfSymverNeededAuxPtrList const &)
Property: List of entries.
SgAsmElfEHFrameEntryCIPtrList const & get_entries() const
Property: List of pointers to ELF EH frame CI entries.
uint32_t p_type
0x00 kind of segment
SgAsmCilMethodSemantics()
Default constructor.
virtual ~SgAsmElfSymverNeededEntry()
Destructor.
void add_hole(SgAsmGenericSection *)
Adds a new hole to the file.
SgNode *const & get_baseNode() const
Property: Base node associated with an integer.
virtual ~SgAsmElfRelocSection()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_ordinals_rva(rose_rva_t const &)
Property: Ordinals RVA.
Rose::BinaryAnalysis::ByteOrder::Endianness const & byteOrder() const
Property: Byte order.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_HashValue(uint32_t const &)
Property: HashValue.
Address mentioned in the ELF .eh_frame section.
Rose::BinaryAnalysis::PowerpcInstructionKind const & get_kind() const
Property: Instruction kind.
rose_rva_t const & get_ordinals_rva() const
Property: Ordinals RVA.
void initializeProperties()
Initialize all properties that have explicit initial values.
size_t get_significantBits() const
Return the number of significant bits in the value.
uint32_t const & get_PublicKeyOrToken() const
Property: PublicKeyOrToken.
void set_TypeDefIdName(uint32_t const &)
Property: TypeDefIdName.
size_t const & get_other() const
Property: Other.
SgAsmDwarfFriend()
Default constructor.
void set_reasonComment(std::string const &)
Property: Additional function existance reason comment.
void append_statement(SgAsmStatement *)
Add the specified statement to the end of the statement list.
virtual ~SgAsmGenericDLL()
Destructor.
Base class for a JVM attribute.
A single imported object.
SgAsmNullInstruction()
Default constructor.
End OS specific semantics.
void set_name(std::string const &)
Property: Name.
SgAsmCilMethodDefTable()
Default constructor.
uint64_t get_baseAddress() const
Returns the base address.
Rose::BinaryAnalysis::ByteOrder::Endianness get_minorOrder() const
Property: Minor byte order.
SgAsmGenericSection * get_section() const
Returns the section associated with an RVA/size pair.
SgAsmCilMethodImpl()
Default constructor.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
SgAsmJvmExceptions()
Default constructor.
int64_t const & get_stackDeltaOut() const
Property: Stack pointer at block exit w.r.t.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
Associated with a section.
uint16_t const & get_outer_class_info_index() const
Property: outer_class_info_index.
Function for handling an exception.
SgAsmDwarfReferenceType()
Default constructor.
virtual ~SgAsmElfSymverDefinedEntry()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Represents one PowerPC machine instruction.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_aux_data(SgUnsignedCharList const &)
Property: Auxilliary data.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual bool isFunctionReturnFast(const std::vector< SgAsmInstruction * > &insns) override
Returns true if the specified basic block looks like a function return.
SgAsmDwarfMacroList()
Default constructor.
void add_section(SgAsmPESection *section)
Attaches a previously unattached PE Section to the PE Section Table.
SgAsmDwarfAccessDeclaration()
Default constructor.
virtual ~SgAsmInterpretationList()
Destructor.
void set_mapped_alignment(rose_addr_t const &)
Property: Alignment in virtual memory.
virtual SgAsmElfStringSection * parse() override
Initialize object by parsing binary specimen.
One entry from an ELF symbol version definition table.
SgAsmDwarfTryBlock()
Default constructor.
virtual void debugSerializationBegin(const char *className)
Called by generated serializers.
unsigned const & get_hint() const
Property: Export name table hint if not ordinal.
virtual ~SgAsmJvmConstantPool()
Destructor.
void set_descriptor_index(uint16_t const &)
Property: descriptor_index.
void set_symbol(SgSymbol *const &)
Property: Symbol corresponding to this expression.
Address of a function symbol in a symbol table.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_EventFlags() const
Property: EventFlags.
SgAsmCilClassLayoutTable()
Default constructor.
void set_cached_vertex(size_t const &)
Property: Cached vertex for control flow graphs.
Represents a single ELF symbol.
SgAsmPEExportEntryPtrList const & get_exports() const
Property: List of pointers to nodes.
SgAsmJvmMethodTable()
Default constructor.
void set_type(SgAsmElfSegmentTableEntry::SegmentType const &)
Property: Segment type.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmBinaryRor()
Destructor.
virtual void unparse(std::ostream &) const override
Write the object to a binary file.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
std::string const & get_Name() const
Property: Name of the byte stream.
void set_st_name_offset(rose_addr_t const &)
Property: Symbol name offset.
CIL TypeRef node (II.22.38).
uint32_t vn_aux
Offset (in bytes) to start of array of vernaux entries.
SgAsmJvmModuleMainClass()
Default constructor.
void makeRelativeTo(SgNode *baseNode)
Makes the value of this integer relative to some other addressable node.
void initializeProperties()
Initialize all properties that have explicit initial values.
Target of call, possibly not in the CFG (see Partitioner::mark_call_insns).
void set_Parent(uint32_t const &)
Property: Parent.
void set_signature_index(uint16_t const &)
Property: signature_index.
virtual ~SgAsmElfSymverDefinedEntryList()
Destructor.
bool has_instructions() const
Determins if a block contains instructions.
rose_rva_t const & get_name_rva() const
Property: RVA for name.
virtual void set_size(rose_addr_t newsize) override
Adjust size of table.
Thread-local data object.
void set_sh_addr(rose_addr_t const &)
Property: sh_addr.
Base class for strings related to binary specimens.
void set_entries(SgAsmElfSymverEntryList *const &)
Property: List of table entries.
void set_entries(SgAsmElfSymverDefinedAuxPtrList const &)
Property: List of entries.
SgAsmJvmLineNumberTable()
Default constructor.
void set_kind(Rose::BinaryAnalysis::JvmInstructionKind const &)
Property: Instruction kind.
virtual bool terminatesBasicBlock() override
Determines if this instruction normally terminates a basic block.
virtual ~SgAsmPEExportEntry()
Destructor.
SgAsmFunction()
Default constructor.
void set_bytes(uint32_t const &)
Property: bytes.
size_t const & get_version() const
Property: Version.
void set_NamePadding(uint32_t const &)
Property: Name of the byte stream.
SgAsmBinaryPreupdate()
Default constructor.
void set_Association(uint32_t const &)
Property: Association.
uint32_t const & get_Method() const
Property: Method.
rose_addr_t get_next_section_offset(rose_addr_t offset)
File offset of next section.
Default value for Partitioner class.
SectionFlags
Section Flags (host order).
rose_addr_t const & get_sh_addr() const
Property: sh_addr.
uint32_t const & get_Name() const
Property: Name.
virtual void unparse(std::ostream &) const override
Write the Exceptions attribute to a binary file.
void set_Flags(uint16_t const &)
Property: Flags.
CIL MethodSemantics node (II.22.28).
void set_bootstrap_method_attr_index(uint16_t const &)
Property: bootstrap_method_attr_index.
time_t const & get_timestamp() const
Property: Time stamp.
SgAsmPEImportItemPtrList const & get_vector() const
Property: List of pointers to other nodes.
void set_index(size_t const &)
Property: Index.
virtual ~SgAsmDwarfImportedModule()
Destructor.
virtual bool isFunctionReturnFast(const std::vector< SgAsmInstruction * > &)
Returns true if the specified basic block looks like a function return.
virtual Rose::BinaryAnalysis::AddressSet getSuccessors(bool &complete)
Control flow successors for a single instruction.
virtual ~SgAsmMipsInstruction()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmStringStorage()
Default constructor.
SgAsmElfSectionTableEntry::SectionType const & get_sh_type() const
Property: sh_type.
double get_nativeValue() const
Get value in native format.
uint16_t const & get_ResolutionScope() const
Property: ResolutionScope.
uint32_t const & get_Signature() const
Property: Signature.
SgAsmDwarfEnumerationType()
Default constructor.
virtual ~SgAsmBinaryPostupdate()
Destructor.
GOT entry for negated static TLS block offset.
virtual ~SgAsmNode()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilGenericParam()
Destructor.
SgAsmGenericString * get_name() const
Property: Name.
SgAsmBlock()
Default constructor.
void set_MinorVersion(uint16_t const &)
Property: MinorVersion.
CIL TypeDef node (II.22.37).
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool)
Initialize an attribute by parsing the file.
SgAsmInstructionList *const & get_instruction_list() const
Property: Instruction list.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void set_size(rose_addr_t const &)
Property: Size in bytes.
void set_mapped_wperm(bool const &)
Property: Whether mapped with write permission.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymverNeededEntry::ElfSymverNeededEntry_disk *)
Initialize object by parsing file.
CIL File node (II.22.19).
void set_attribute_length(uint32_t const &)
Property: attribute_length.
uint32_t vda_next
Offset (in bytes) to next verdaux entry.
virtual ~SgAsmDwarfCondition()
Destructor.
static Rose::BinaryAnalysis::RegisterDictionaryPtr registersForWidth(size_t)
Return the register dictionary for a PowerPC architecture.
SectionPurpose
Reason for section's existence.
virtual std::string toString() const override
Convert a type to a string.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
Represents static data in an executable.
SgAsmCilFieldRVA()
Default constructor.
void set_Signature(uint32_t const &)
Property: Signature.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilAssemblyProcessor()
Default constructor.
void set_PublicKeyOrToken(uint32_t const &)
Property: PublicKeyOrToken.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void set_size(rose_addr_t)
Property: Size of section in file in bytes.
unsigned const & get_forwarder_chain() const
Property: Forwarder chain.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_eh_data(uint64_t const &)
Property: Data value.
virtual ~SgAsmElfStringSection()
Destructor.
virtual ~SgAsmDwarfImportedUnit()
Destructor.
SgAsmCilAssemblyRefProcessorTable()
Default constructor.
virtual ~SgAsmCilDeclSecurityTable()
Destructor.
virtual ~SgAsmJvmNestHost()
Destructor.
uint16_t const & get_name_and_type_index() const
Property: name_and_type_index.
Represents a JVM attribute_info table/array.
SgAsmPowerpcInstruction()
Default constructor.
CIL AssemblyOS node (II.22.3).
Base class for unary expressions.
SgAsmFunction::MayReturn const & get_may_return() const
Property: Whether a function could return to its caller.
SgAsmElfSection *const & get_target_section() const
Property: Section targeted by these relocations.
SgAsmUnaryTruncate()
Default constructor.
void set_Sequence(uint16_t const &)
Property: Sequence.
virtual ~SgAsmCilFieldMarshalTable()
Destructor.
virtual ~SgAsmCilTypeSpec()
Destructor.
SgAsmStaticData()
Default constructor.
virtual ~SgAsmCilModuleTable()
Destructor.
bool get_sha1(uint8_t digest[20], NodeSelector *selector=NULL)
Computes the SHA1 message digest for the bytes of a function.
void set_sh_flags(uint64_t const &)
Property: sh_flags.
Represents one Intel x86 machine instruction.
uint32_t const & get_Field() const
Property: Field.
Execute permission granted when mapped.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
Base class for CIL branch of binary analysis IR nodes.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
SgAsmJvmSignature()
Default constructor.
virtual ~SgAsmCilFile()
Destructor.
void set_prh_addr(rose_addr_t const &)
Property: PRH address.
virtual ~SgAsmStackExpression()
Destructor.
uint32_t const & get_Offset() const
Property: Offset.
void set_Signature(uint32_t const &)
Property: Signature.
SgAsmElfEHFrameEntryFDList *const & get_fd_entries() const
Property: FD entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSymverDefinedEntryList()
Default constructor.
void set_name(SgAsmGenericString *s)
Property: Name.
Base class for statement-like subclasses.
SgAsmNERelocEntry()
Default constructor.
4.4.4 CONSTANT_Integer_info table entry.
rose_rva_t const & get_bound_rva() const
Property: Bound RVA from IAT if not a copy of ILT.
void set_align(rose_addr_t const &)
Property: Alignment.
size_t signBit() const
Property: Offset to significand sign bit.
virtual ~SgAsmVectorType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilAssemblyTable()
Default constructor.
void set_flags(int const &)
Property: Flags.
virtual ~SgAsmBinarySubtract()
Destructor.
void set_sections(SgAsmGenericSectionPtrList const &)
Property: List of section pointers.
virtual ~SgAsmCilMethodDef()
Destructor.
virtual void unparse(std::ostream &) const override
Write the section table section back to disk.
size_t const & get_expaddr_n() const
Property: Expaddr_n.
Target of a function call instruction sequence in the CFG.
void set_ResolutionScope(uint16_t const &)
Property: ResolutionScope.
CIL TypeSpec node (II.22.39).
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfConstructList()
Destructor.
uint32_t const & get_TypeNamespace() const
Property: TypeNamespace.
SgAsmJvmStackMapFrame * parse(SgAsmJvmConstantPool *pool)
Initialize the object by parsing content from the class file.
void set_Name(uint32_t const &)
Property: Name.
uint32_t const & get_Name() const
Property: Name.
SgAsmPESectionTable()
Default constructor.
unsigned char st_res1
Reserved; always zero.
SgAsmJvmInstruction()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
This function returns each time it is called.
void set_dll_name_rva(rose_rva_t const &)
Property: Address of the import library name.
virtual ~SgAsmCilExportedType()
Destructor.
Rose::BinaryAnalysis::RegisterDescriptor const & get_offset() const
Property: Register descriptor offset.
SgAsmCilModuleRefTable()
Default constructor.
virtual ~SgAsmCilConstantTable()
Destructor.
virtual ~SgAsmDwarfMacro()
Destructor.
void set_entries(SgAsmElfRelocEntryList *const &)
Property: List of entries.
void set_Signature(uint32_t const &)
Property: Signature.
SgAsmJvmExceptionTable()
Default constructor.
uint32_t const & get_OSMajorVersion() const
Property: OSMajorVersion.
virtual ~SgAsmJvmExceptions()
Destructor.
void set_descriptor_index(uint16_t const &)
Property: descriptor_index.
virtual ~SgAsmCilInstruction()
Destructor.
void set_sh_entsize(rose_addr_t const &)
Property: sh_entsize.
SgAsmGenericSymbolPtrList const & get_symbols() const
Property: List of symbol nodes.
unsigned const & get_ordinal() const
Property: Ordinal number.
SgAsmCilParam()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
int const & get_prh_encoding() const
Property: PRH encoding.
Represents one entry of a segment table.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void initializeProperties()
Initialize all properties that have explicit initial values.
Dynamic linking information.
uint32_t const & get_attribute_length() const
Property: attribute_length.
void set_kind(Rose::BinaryAnalysis::X86InstructionKind const &)
Property: Instruction kind.
Expression representing sign extending.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void set_section(SgAsmGenericSection *section)
Sets or removes the section associated with an RVA/size pair.
SgAsmLESectionTableEntry()
Default constructor.
std::string const & get_name_md5() const
Property: Hash of the function.
SgAsmCilFieldLayout()
Default constructor.
Base class for expressions.
virtual bool terminatesBasicBlock() override
Determines if this instruction normally terminates a basic block.
uint16_t const & get_BuildNumber() const
Property: BuildNumber.
CIL ModuleRef node (II.22.31).
SgAsmSynthesizedDeclaration()
Default constructor.
virtual ~SgAsmElfSymverNeededAux()
Destructor.
virtual bool reallocate() override
Pre-unparsing updates.
void append_operand(SgAsmExpression *operand)
Append another operand expression to this node.
SgAsmFloatType()
Default constructor.
virtual ~SgAsmIndirectRegisterExpression()
Destructor.
uint16_t const & get_MappingFlags() const
Property: MappingFlags.
uint16_t const & get_offset_delta() const
Property: offset_delta.
4.4.12 CONSTANT_Package_info table entry.
SgAsmDwarfTemplateValueParameter()
Default constructor.
virtual void unparse(std::ostream &) const override
Write field to a binary file.
SgAsmDwarfSubroutineType()
Default constructor.
SgAsmElfSymverDefinedEntryList *const & get_entries() const
Property: List of entries.
Table of code addresses used by indirect branches.
virtual ~SgAsmCilAssembly()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_inner_class_access_flags() const
Property: inner_class_access_flags.
SgAsmStatementPtrList const & get_statementList() const
Property: Statements of which this block is composed.
4.4.3 CONSTANT_String_info table entry.
virtual ~SgAsmElfEHFrameEntryCI()
Destructor.
SgAsmGenericString *const & get_dll_name() const
Property: Name of library from which to import.
virtual ~SgAsmDwarfCompilationUnit()
Destructor.
SgAsmDwarfInlinedSubroutine()
Default constructor.
SgAsmNESectionTable()
Default constructor.
void set_MinorVersion(uint16_t const &)
Property: MinorVersion.
void set_Parent(uint32_t const &)
Property: Parent.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual void check() const override
Validate properties collectively.
SgAsmElfDynamicEntryPtrList const & get_entries() const
Property: List of entries.
SgAsmElfSegmentTableEntryList()
Default constructor.
void set_AssemblyRef(uint32_t const &)
Property: AssemblyRef.
SgAsmExpressionPtrList const & get_expressions() const
Property: Pointers to expressions.
SgAsmElfSection * init_from_section_table(SgAsmElfSectionTableEntry *, SgAsmElfStringSection *, int id)
Initializes the section from data parsed from the ELF Section Table.
virtual SgAsmJvmLineNumberTable * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
MipsInstructionKind
Kinds of MIPS instructions.
static size_t widthForInstructionSize(Rose::BinaryAnalysis::X86InstructionSize)
Converts a size enum constant to a size.
SgAsmElfSymverNeededAux()
Default constructor.
virtual ~SgAsmCilMethodImplTable()
Destructor.
virtual ~SgAsmDwarfMutableType()
Destructor.
SgAsmFunction * get_enclosing_function() const
Returns the function that owns this block.
virtual ~SgAsmDwarfSetType()
Destructor.
void set_instructions(SgAsmInstructionPtrList const &)
Property: List of SgAsmInstruction entries.
PC relative 32 bit signed.
SgAsmUnaryUnsignedExtend()
Default constructor.
ID of module containing symbol.
SgAsmJvmConstantPool()
Default constructor.
void set_hintname_nalloc(size_t const &)
Property: File bytes allocated for hint/name pair.
SgAsmElfSymverNeededSection()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_EventType() const
Property: EventType.
SgAsmCilStandAloneSig()
Default constructor.
virtual ~SgAsmType()
Destructor.
uint8_t const & get_frame_type() const
Property: frame_type.
virtual rose_addr_t calculate_sizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
rose_addr_t const & get_value() const
Property: Symbol value.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_container(SgAsmGenericSection *const &)
Property: Section storing this string table.
SgAsmCilModuleRef()
Default constructor.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Print debugging information.
virtual bool isFunctionCallFast(const std::vector< SgAsmInstruction * > &insns, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
Expression that performs a logical left shift operation.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void set_catch_type(uint16_t const &)
Property: catch_type.
List of pointers to other nodes.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmBinaryDivide()
Destructor.
virtual ~SgAsmCilFieldRVATable()
Destructor.
SgAsmDwarfEntryPoint()
Default constructor.
rose_addr_t calculate_sizes(size_t *entsize, size_t *required, size_t *optional, size_t *entcount) const
Returns info about the size of the entries based on information already available.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
SgAsmJvmInnerClassesEntry()
Default constructor.
uint32_t const & get_Mvid() const
Property: Mvid.
virtual ~SgAsmCilFieldLayout()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write object to a binary file.
Expression that multiplies two operands.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual Rose::BinaryAnalysis::AddressSet getSuccessors(bool &complete) override
Control flow successors for a single instruction.
SgAsmGenericSection::SectionPurpose const & get_purpose() const
Property: General contents of the section.
SgAsmGenericSection()
Default constructor.
virtual ~SgAsmCilClassLayout()
Destructor.
uint32_t const & get_Flags() const
Property: Flags.
SgAsmDwarfRestrictType()
Default constructor.
uint32_t p_vaddr
0x08 desired mapped address of segment
Unreferenced and "hole" sections are elastic.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSymverDefinedEntry::ElfSymverDefinedEntry_disk *) const
Convert to the disk format.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual std::string description() const
Return a description of this instruction.
static std::string to_string(SgAsmElfSegmentTableEntry::SegmentType)
Convert segment type to string.
void set_Field(uint32_t const &)
Property: Field.
void set_res1(unsigned const &)
Property: Reserved aread #1.
Direct 32 bit for GNU version of local dynamic thread local data in LE code.
void set_adjustment(int const &)
Property: Post-increment or pre-decrement amount.
Expression that performs a logical left shift operation filling low-order bits with one...
virtual ~SgAsmNESectionTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Print debugging information.
void set_mapped_xperm(bool const &)
Property: Whether mapped with execute permission.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfUpcSharedType()
Default constructor.
SgAsmElfSymverDefinedAuxList()
Default constructor.
uint8_t const & get_Type() const
Property: Type.
rose_addr_t const & get_mapped_actual_va() const
Property: Virtual address where ROSE maps this section.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_instruction_map(const InstructionMap &)
Property: Cached map of instructions by address.
virtual Sawyer::Optional< rose_addr_t > branchTarget() override
Obtains the virtual address for a branching instruction.
std::string const & get_name() const
Property: Name of file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilTypeSpec()
Default constructor.
SgAsmElfSectionTableEntry * add_section(SgAsmElfSection *)
Attaches a previously unattached ELF Section to the section table.
rose_addr_t const & get_vaddr() const
Property: Virtual address.
SgAsmDwarfMutableType()
Default constructor.
void set_Name(uint32_t const &)
Property: Name.
uint16_t st_shndx
Section index or special meaning.
Negated offset relative to static TLS block.
void set_hintname_rva(rose_rva_t const &)
Property: RVA of hint/name pair.
virtual ~SgAsmNEModuleTable()
Destructor.
virtual std::string description() const override
Return a description of this instruction.
void initializeProperties()
Initialize all properties that have explicit initial values.
Represents one MIPS machine instruction.
void set_offset(uint16_t const &)
Property: offset.
void set_initLocals(bool const &)
Property: initLocals.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_sym(unsigned long const &)
Property: Sym.
Represents an entry in a stack map table.
void set_offset(Rose::BinaryAnalysis::RegisterDescriptor const &)
Property: Register descriptor offset.
Node to hold list of ELF note entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
void mark_referenced_extent(rose_addr_t start_rva, rose_addr_t size)
Marks part of a file as having been referenced if tracking references.
void set_augmentation_string(std::string const &)
Property: Augmentation string.
void set_OSPlatformID(uint32_t const &)
Property: OSPlatformID.
CIL CustomAttribute node (II.22.10).
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymverDefinedEntry::ElfSymverDefinedEntry_disk *)
Initialize by parsing information from the file.
rose_rva_t const & get_export_rva() const
Property: Export RVA.
virtual void check() const override
Validate properties collectively.
BitRange exponentBits() const
Property: Number of bits in the exponent.
virtual std::set< rose_addr_t > explicitConstants() const
Explicit constants.
void set_successors(SgAsmIntegerValuePtrList const &)
Property: Control flow successors.
virtual ~SgAsmCilMethodDefTable()
Destructor.
bool const & get_tracking_references() const
Property: Whether to track referenced areas during parsing.
uint16_t const & get_name_index() const
Property: name_index.
SgAsmLESectionTable()
Default constructor.
SgAsmElfSymverNeededAuxList *const & get_entries() const
Property: List of entries.
virtual ~SgAsmDwarfLineList()
Destructor.
SgAsmElfSymbolList()
Default constructor.
uint32_t vna_hash
Hash of version name.
Exception(const std::string &s)
Construct an exception with an error message.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
List of entries from a symbol version table.
void initializeProperties()
Initialize all properties that have explicit initial values.
size_t get_majorNBytes() const
Property: Stride of major byte order for mixed order types.
virtual void set_string(const std::string &) override
Give the string a new value.
void set_hi_bytes(uint32_t const &)
Properties: hi_bytes.
Represents a frame in a stack map table.
SgAsmCilDeclSecurityTable()
Default constructor.
SgAsmCilFileTable()
Default constructor.
virtual bool isUnknown() const
Returns true if this instruction is the special "unknown" instruction.
SgAsmJvmBootstrapMethod()
Default constructor.
unsigned char * writable_content(size_t nbytes)
Obtain a local, writable pool to hold content.
SgAsmDwarfConstructList()
Default constructor.
void set_TypeNamespace(uint32_t const &)
Property: TypeNamespace.
SgAsmGenericHeader * is_file_header()
Predicate determining whether this section is also a top-level file header.
void set_hint(unsigned const &)
Property: Export name table hint if not ordinal.
SgAsmElfNoteEntryPtrList const & get_entries() const
Property: List of ELF not entries.
void set_payload(SgUnsignedCharList const &)
Property: Note name.
SgAsmElfStringSection()
Default constructor.
void set_offset(uint64_t const &)
Property: Offset.
SgStringList const & get_symbols() const
Property: Symbols.
uint32_t const & get_Field() const
Property: Field.
SgAsmGenericSection * get_section_by_va(rose_addr_t va, size_t *nfound=0) const
Find section by address.
uint32_t const & get_MethodDeclaration() const
Property: MethodDeclaration.
virtual ~SgAsmDwarfTryBlock()
Destructor.
unsigned char const & get_st_res1() const
Property: Reserved byte.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmLEPageTable()
Destructor.
List of SgAsmPERVASizePair AST nodes.
virtual bool isFunctionReturnFast(const std::vector< SgAsmInstruction * > &insns) override
Returns true if the specified basic block looks like a function return.
Expression representing unsigned extending.
virtual Rose::BinaryAnalysis::AddressSet getSuccessors(bool &complete) override
Control flow successors for a single instruction.
uint32_t const & get_Offset() const
Property: Start offset of the byte stream.
void set_memsz(rose_addr_t const &)
Property: Size of segment in memory.
SgAsmJvmAttributeTable *const & get_attribute_table() const
Property: Table of attributes.
virtual bool isUnknown() const override
Returns true if this instruction is the special "unknown" instruction.
virtual ~SgAsmElfSection()
Destructor.
Base class for binary types.
virtual ~SgAsmStoredString()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Processor() const
Property: Processor.
std::string get_utf8_string(size_t index) const
Return a string at the given index.
virtual ~SgAsmJvmBootstrapMethods()
Destructor.
Used for initialization; not a bit flag.
SgAsmCilManifestResource()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
std::string reason_str(bool pad) const
Returns reason string for this block.
virtual size_t get_nBytes() const
Width of type in bytes.
rose_addr_t get_rva_offset(rose_addr_t rva) const
File offset for specified relative virtual address.
void initializeProperties()
Initialize all properties that have explicit initial values.
rose_rva_t const & get_iat_rva() const
Property: IAT RVA.
SgAsmBinaryAsr()
Default constructor.
virtual SgAsmJvmBootstrapMethods * parse(SgAsmJvmConstantPool *pool) override
Initialize the object by parsing content from the class file.
SgAsmCilAssemblyRef()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilTypeDef()
Destructor.
SegmentFlags
Segment bit flags.
SgFileContentList const & get_data() const
Property: Original content of just this section.
virtual ~SgAsmJvmConstantPoolEntry()
Destructor.
void update_from_section(SgAsmElfSection *)
Update this section table entry with newer information from the section.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
uint32_t const & get_NestedClass() const
Property: NestedClass.
virtual void set_string(const std::string &) override
Property: String value.
const char * format_name() const
Return a string describing the file format.
virtual std::string toString() const
Converts the instruction to a string.
Indicates stack executability.
SgAsmDwarfPartialUnit()
Default constructor.
SgAsmJvmAttributeTable *const & get_attribute_table() const
Property: Attribute table.
uint64_t exponentBias() const
Property: Zero-point of exponent.
virtual bool isFunctionCallFast(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *ret)
Returns true if the specified basic block looks like a function call.
SgAsmElfSegmentTableEntryPtrList const & get_entries() const
Property: Segment table entries.
File format did not specify a reason and none could be determined.
Read-only after relocation.
Registers accessed indirectly.
rose_addr_t const & get_prh_addr() const
Property: PRH address.
void set_truncate_zeros(bool const &)
Property: Whether to truncate zeros on writes.
void set_uses_addend(bool const &)
Property: Whether entries in this section use the addend format.
uint8_t const & get_tag() const
Property: tag.
virtual void unparse(std::ostream &) const override
Write code attribute to a binary file.
void set_num_freed(size_t const &)
Property: Number of strings freed thus far.
void set_relativeValue(int64_t v, size_t nbits=64)
Set relative value without changing the base value.
void set_type(SgAsmGenericSymbol::SymbolType const &)
Property: Symbol type.
void remove_children()
Removes all statements from the block.
SgAsmPEExportEntryList *const & get_exports() const
Property: List of export entries.
A JVM InnerClasses attribute array entry.
virtual ~SgAsmCilAssemblyProcessor()
Destructor.
uint32_t const & get_ImportScope() const
Property: ImportScope.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
8 bit sign extended pc relative
SgAsmGenericSection *const & get_strtab() const
Property: String table.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void set_name(std::string const &)
Property: Name of file.
virtual void unparse(std::ostream &) const override
Write constant pool to a binary file.
void set_operandSize(Rose::BinaryAnalysis::X86InstructionSize const &)
Property: An enum describing the x86 instruction operand size.
void set_by_ordinal(bool const &)
Property: Whether ordinal number is stored.
virtual ~SgAsmPEStringSection()
Destructor.
rose_addr_t get_end_offset() const
File offset for end of section.
void set_sh_size(rose_addr_t const &)
Property: sh_size.
virtual ~SgAsmUnaryRrx()
Destructor.
virtual ~SgAsmCilFieldTable()
Destructor.
void set_entries(SgAsmElfNoteEntryPtrList const &)
Property: List of ELF not entries.
virtual ~SgAsmLESectionTable()
Destructor.
SgAsmCilGenericParamTable()
Default constructor.
Block was added by a second pass of CFG analysis.
SgAsmJvmExceptionTable * parse(SgAsmJvmConstantPool *)
Parses a JVM exception table.
void allocate_name_to_storage(SgAsmElfStringSection *)
Make this section's name to be stored in the specified string table.
SgAsmElfFileHeader * get_elf_header() const
Obtain ELF header.
virtual ~SgAsmRegisterReferenceExpression()
Destructor.
SgAsmInterpretationPtrList const & get_interpretations() const
Property: Interpretation list.
void set_comment(std::string const &)
Property: Comment.
rose_rva_t const & get_e_rva() const
Property: RVA.
SgAsmJvmBootstrapMethods()
Default constructor.
virtual bool isUnknown() const override
Returns true if this instruction is the special "unknown" instruction.
SgAsmElfSegmentTableEntry *const & get_segment_entry() const
Property: The segment table entry corresponding to this section.
SgAsmCilAssemblyOS()
Default constructor.
void set_reason(unsigned const &)
Property: Reasons this block was created.
SgAsmElfSymverNeededEntryPtrList const & get_entries() const
Property: List of entries.
Extent get_mapped_preferred_extent() const
Returns the memory extent for a mapped section.
static const std::string ID_US_HEAP
Define constant strings for the known stream types.
void set_Flags(uint32_t const &)
Property: Flags.
CIL ManifestResource node (II.22.24).
virtual ~SgAsmPEExportSection()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilTypeSpecTable()
Destructor.
rose_addr_t const & get_code_offset() const
Property: Code offset.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
Added by Partitioner::FindPostFunctionInsns, which adds unassigned instructions to the immediately pr...
bool align()
Increase file offset and mapping address to satisfy alignment constraints.
SgAsmGenericString()
Default constructor.
void update_from_section(SgAsmElfSection *)
Update this segment table entry with newer information from the section.
void set_bootstrap_methods(SgAsmJvmBootstrapMethodPtrList const &)
Property: List of bootstrap method entries.
virtual ~SgAsmElfSectionTable()
Destructor.
Address was found in read-only data area by scanning the data.
SgAsmDwarfMember()
Default constructor.
virtual void unparse(std::ostream &) const override
Write signature to a binary file.
virtual SgAsmJvmFieldTable * parse() override
Parses a JVM field table.
SgAsmDwarfCommonInclusion()
Default constructor.
SgAsmCilMethodSemanticsTable()
Default constructor.
virtual bool isFunctionReturnFast(const std::vector< SgAsmInstruction * > &insns) override
Returns true if the specified basic block looks like a function return.
virtual ~SgAsmJvmSignature()
Destructor.
void set_bootstrap_method_ref(uint16_t const &)
Property: bootstrap_method_ref.
virtual ~SgAsmRegisterNames()
Destructor.
virtual ~SgAsmDwarfUpcRelaxedType()
Destructor.
virtual void unparse(std::ostream &) const override
Write object to a binary file.
SgAsmStackExpression()
Default constructor.
void set_Class(uint32_t const &)
Property: Class.
CIL Assembly node (II.22.2).
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_PropertyList(uint32_t const &)
Property: PropertyList.
virtual void check() const
Validate properties collectively.
void set_hash(uint32_t const &)
Property: Hash.
X86SegmentRegister
Intel x86 segment registers.
size_t const & get_cached_vertex() const
Property: Cached vertex for control flow graphs.
const AddressIntervalSet & get_freelist() const
Property: Free space list.
uint32_t const & get_OSPlatformID() const
Property: OSPlatformID.
size_t semanticFailure() const
Property: Whether instruction semantics failed at this location.
virtual void unparse(std::ostream &) const override
Write the segment table to disk.
uint32_t const & get_Interface() const
Property: Interface.
File format of an ELF Segment header.
SgAsmExpression *const & get_operand() const
Property: Operand for a unary expression.
rose_addr_t calculate_sizes(size_t *entsize, size_t *required, size_t *optional, size_t *entcount) const
Returns info about the size of the entries based on information already available.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const override
Print some debugging info.
SgAsmJvmStackMapFramePtrList const & get_entries() const
Property: List of stack map table entries/frames.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
Rose::BinaryAnalysis::MipsInstructionKind const & get_kind() const
Property: Instruction kind.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
unsigned const & get_st_storage_class() const
Property: Symbol storage class.
void set_section_entry(SgAsmElfSectionTableEntry *const &)
Property: The section table entry corresponding to this section.
size_t const & get_iat_nalloc() const
Property: Bytes allocated in the file for the IAT.
SgAsmLEPageTableEntry()
Default constructor.
void remove_header(SgAsmGenericHeader *)
Removes a header from the header list in a file.
SgAsmGenericDLL()
Default constructor.
void set_ClassSize(uint32_t const &)
Property: ClassSize.
Symbol Version Definitions [gnu extension] .gnu.version_d.
virtual bool isFunctionReturnSlow(const std::vector< SgAsmInstruction * > &insns) override
Returns true if the specified basic block looks like a function return.
JVM ConstantValue attribute.
void set_method_index(uint16_t const &)
Property: method_index.
bool const & get_iat_written() const
Property: Whether the resolved address has been written to the memory map.
void incrementSemanticFailure()
Property: Whether instruction semantics failed at this location.
uint16_t vna_other
Version index of this entry (bit 15 is special)
uint16_t vna_flags
Version information flag bitmask.
Section contains a header for the executable file format.
SgAsmElfSymverNeededEntry()
Default constructor.
SgAsmJvmStackMapVerificationTypePtrList const & get_locals() const
Property: List of verification_type_info local variables.
uint16_t const & get_inner_class_info_index() const
Property: inner_class_info_index.
void set_id(int const &)
Property: Non-unique section ID or negative.
Read permission granted when mapped.
SgAsmJvmAttributeTable *const & get_attribute_table() const
Property: Table of attributes.
virtual void unparse(std::ostream &) const override
Write exception table to a binary file.
virtual Rose::BinaryAnalysis::AddressSet getSuccessors(bool &complete) override
Control flow successors for a single instruction.
Dispatcher function for code generated by pescrambler.
void shift_extend(SgAsmGenericSection *, rose_addr_t sa, rose_addr_t sn, AddressSpace, Elasticity)
Moves and enlarges a section.
virtual ~SgAsmJvmInnerClasses()
Destructor.
Symbol has not been defined yet.
void set_RVA(uint32_t const &)
Property: RVA.
void set_Method(uint32_t const &)
Property: Method.
virtual ~SgAsmInterpretation()
Destructor.
This class represents the symbol tables used in both SgScopeStatement and the SgFunctionTypeSymbolTab...
virtual bool isFunctionCallSlow(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *retva) override
Returns true if the specified basic block looks like a function call.
SgAsmJvmExceptionHandler()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Flags() const
Property: Flags.
SgAsmIntegerValuePtrList const & get_successors() const
Property: Control flow successors.
virtual void set_mapped_size(rose_addr_t)
Property: Mapped size.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
CIL Field node (II.22.15).
Use IEEE 754 implicit bit convention for signicand.
void initializeProperties()
Initialize all properties that have explicit initial values.
Expression that subtracts the second operand from the first.
virtual ~SgAsmIntegerType()
Destructor.
virtual ~SgAsmDwarfConstType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_index(size_t const &)
Property: Index into table.
void set_binding(SgAsmGenericSymbol::SymbolBinding const &)
Property: Symbol binding.
virtual bool isFunctionReturnFast(const std::vector< SgAsmInstruction * > &insns) override
Returns true if the specified basic block looks like a function return.
void set_expressions(SgAsmExpressionPtrList const &)
Property: Pointers to expressions.
void set_fd_entries(SgAsmElfEHFrameEntryFDList *const &)
Property: FD entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_st_res1(unsigned char const &)
Property: Reserved byte.
rose_addr_t get_mapped_preferred_rva() const
Property: Relative virtual address where section prefers to be mapped.
void set_lsda_encoding(int const &)
Property: LSDA encoding.
void set_OSMajorVersion(uint32_t const &)
Property: OSMajorVersion.
void set_ord_base(unsigned const &)
Property: Ordinal base.
void set_segment(SgAsmExpression *const &)
Property: Optional memory segment register.
void set_Culture(uint32_t const &)
Property: Culture.
virtual ~SgAsmUnaryMinus()
Destructor.
SgAsmBinaryPostupdate()
Default constructor.
SgAsmCilMethodDef()
Default constructor.
SgAsmDwarfThrownType()
Default constructor.
Flags flags() const
Property: Bit vector of all boolean properties.
uint32_t const & get_Flags() const
Property: Flags.
Represents a JVM field_info table/array.
uint32_t const & get_OSMinorVersion() const
Property: OSMinorVersion.
SgAsmJvmMethod * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_EventList() const
Property: EventList.
virtual bool terminatesBasicBlock() override
Determines if this instruction normally terminates a basic block.
virtual rose_addr_t calculate_sizes(size_t *total, size_t *required, size_t *optional, size_t *entcount) const override
Return sizes for various parts of the table.
void set_line_number_table(SgAsmJvmLineNumberEntryPtrList const &)
Property: line_number_table.
void unparse(std::ostream &) const
Mirror image of parsing an executable file.
SgAsmElfSegmentTableEntry * add_section(SgAsmElfSection *)
Attaches new segments to the segment table.
void free(SgAsmStringStorage *)
Free area of this string table that corresponds to the string currently stored.
virtual std::string get_string(bool escape=false) const
Property: String value.
int const & get_lsda_encoding() const
Property: LSDA encoding.
SgAsmCilAssemblyRefTable()
Default constructor.
SgAsmDwarfBaseType()
Default constructor.
void set_value(size_t const &)
Property: Value.
void set_code_offset(rose_addr_t const &)
Property: Code offset.
bool const & get_sig_frame() const
Property: Signal frame.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfClassType()
Destructor.
SgAsmDwarfPointerType()
Default constructor.
static std::string to_string(SgAsmJvmConstantPoolEntry::Kind)
Convert constant pool entry kind to a string.
virtual bool hasEffect()
Determines whether a single instruction has an effect.
virtual ~SgAsmDwarfInterfaceType()
Destructor.
uint32_t const & get_Name() const
Property: Name.
CIL EventMap node (II.22.12).
SgAsmElfStrtab()
Default constructor.
void set_name(SgAsmGenericString *const &)
Property: Name.
virtual Sawyer::Optional< rose_addr_t > branchTarget() override
Obtains the virtual address for a branching instruction.
static Rose::BinaryAnalysis::RegisterDictionaryPtr registersForInstructionSize(Rose::BinaryAnalysis::X86InstructionSize)
Return the register dictionary for an x86 architecture.
SgAsmExprListExp *const & get_operands() const
Property: Operands for the low-level operation.
uint32_t const & get_Name() const
Property: Name.
void set_symbol_table(SgSymbolTable *const &)
Property: Symbol table.
SgAsmGenericSection * get_section_by_rva(rose_addr_t rva, size_t *nfound=0) const
Find section by address.
void set_expaddr_rva(rose_rva_t const &)
Property: Expaddr RVA.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_coverageComputed(bool const &)
Property: code coverage percent.
uint16_t const & get_max_stack() const
Property: max_stack.
Expression that represents an update to a storage location.
void append_statement(SgAsmStatement *)
Adds statement to end of statement list.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual bool isFunctionCallSlow(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *ret)
Returns true if the specified basic block looks like a function call.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmNEEntryTable()
Destructor.
uint32_t const & get_AssemblyRefOS() const
Property: AssemblyRefOS.
void set_st_shndx(unsigned const &)
Property: shndx.
virtual ~SgAsmDwarfUnspecifiedType()
Destructor.
void set_BuildNumber(uint16_t const &)
Property: BuildNumber.
void set_st_section_num(int const &)
Property: Section number.
SgAsmGenericString * get_name() const
Property: Non-unique name of section.
void set_Owner(uint32_t const &)
Property: Owner.
SgAsmDwarfEnumerator()
Default constructor.
Base class for synthesized declarations.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
size_t nOperands() const
Number of operands.
virtual ~SgAsmElfDynamicEntry()
Destructor.
virtual ~SgAsmJvmStackMapFrame()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Indicates PaX flag markings.
void set_virtual_size(rose_addr_t const &)
Property: Virtual size.
rose_addr_t const & get_size() const
Property: Size in bytes.
void initializeProperties()
Initialize all properties that have explicit initial values.
These following structs are documented below to indicate which fields are active for each tag of an S...
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void set_size(rose_addr_t newsize) override
Property: Size of section in file in bytes.
uint32_t const & get_Owner() const
Property: Owner.
SgAsmCilPropertyTable()
Default constructor.
void set_MajorVersion(uint16_t const &)
Property: MajorVersion.
SgAsmGenericSection *const & get_container() const
Property: Section storing this string table.
SgAsmJvmBootstrapMethodPtrList const & get_bootstrap_methods() const
Property: List of bootstrap method entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
Operand referencing a Co-processor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void extend(rose_addr_t nbytes)
Extend a section by some number of bytes during the construction and/or parsing phase.
void erase_instructions(InstructionMap &)
Erase instructions from a map.
static DwarfInstructionSourceMapReturnType buildInstructionAddressSourcePositionMaps(SgAsmDwarfCompilationUnit *dwarf_cu=NULL)
Support for building maps to and from instruction addresses to source positions (files, line numbers, column numbers).
Represents a JVM InnerClasses attribute.
SgAsmJvmLineNumberEntry()
Default constructor.
void set_lockPrefix(bool const &)
Property: Whether the x86 lock prefix was present.
virtual SgAsmElfDynamicSection * parse() override
Initialize object by parsing file.
static std::string reason_key(const std::string &prefix="")
Multi-line string describing the letters used for basic block reasons.
virtual ~SgAsmElfRelocEntry()
Destructor.
SgAsmPERVASizePair()
Default constructor.
void add_import_directory(SgAsmPEImportDirectory *)
Add an import directory to the end of the import directory list.
SgAsmGenericStrtab *const & get_strtab() const
Property: String table holding the string.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_FieldList() const
Property: FieldList.
void set_Flags(uint16_t const &)
Property: Flags.
virtual void unparse(std::ostream &) const override
Write line number entry to a binary file.
SgAsmNESection()
Default constructor.
Address of GOT entry for static TLS block offset.
SgAsmBlock *const & get_body() const
Property: body.
std::string const & get_comment() const
Property: Commentary.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfDynamicEntry::Elf32DynamicEntry_disk *) const
Convert object to disk representation.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmConstantPoolEntry()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_entries(SgAsmElfDynamicEntryList *const &)
Property: List of entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSymverNeededEntryList *const & get_entries() const
Property: List of entries.
Section is resident (valid for VDDs and PDDs only)
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
static Flags ieeeFlags()
Default IEEE 754 flags.
void initializeProperties()
Initialize all properties that have explicit initial values.
One entry from the dynamic linking table.
void set_e_size(rose_addr_t const &)
Property: Size.
SgAsmCoffSymbolTable()
Default constructor.
void set_utf8_bytes(char *const &)
Property: utf8_bytes (bytes in CONSTANT_Utf8_info structure).
uint16_t vd_version
version of this struct: This field shall be set to 1
Expression that concatenates two values to form a wider value.
virtual bool isFunctionCallSlow(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
void set_Parent(uint32_t const &)
Property: Parent.
virtual ~SgAsmDwarfImportedDeclaration()
Destructor.
SgAsmDwarfSubprogram()
Default constructor.
uint32_t const & get_TypeName() const
Property: TypeName.
Created to represent NOP padding between other functions.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual bool terminatesBasicBlock()
Determines if this instruction normally terminates a basic block.
void set_data(SgFileContentList const &)
Property: Original content of just this section.
SgAsmCilConstant()
Default constructor.
virtual ~SgAsmJvmStackMapTable()
Destructor.
SgAsmExpressionPtrList const & get_operands() const
Property: Ordered list of instruction operands.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
int const & coprocessor() const
Property: Coprocessor number.
virtual void unparse(std::ostream &) const override
Write symbol table sections back to disk.
SgAsmGenericSection * get_best_section_by_va(rose_addr_t va, size_t *nfound=0) const
Find section by address.
Direct 16 bit zero extended.
void initializeProperties()
Initialize all properties that have explicit initial values.
char *const & get_utf8_bytes() const
Property: utf8_bytes (bytes in CONSTANT_Utf8_info structure).
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual ~SgAsmPESection()
Destructor.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
virtual void allocate_overlap(SgAsmStringStorage *) override
Find offset for a string.
const AddressIntervalSet & get_unreferenced_extents() const
Returns the parts of the file that have never been referenced.
std::string reason_str(bool pad) const
Returns a very short string describing the reason mask.
virtual ~SgAsmJvmExceptionHandler()
Destructor.
uint32_t const & get_Name() const
Property: Name.
void set_raw_bytes(SgUnsignedCharList const &)
Property: Raw bytes.
virtual std::string description() const override
Return a description of this instruction.
uint16_t const & get_offset() const
Property: offset.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmBinaryMultiply()
Destructor.
void set_code_likelihood(double const &)
Property: Likelihood that this block represents real instructions.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
CIL Constant node (II.22.9).
void initializeProperties()
Initialize all properties that have explicit initial values.
rose_addr_t calculate_sizes(size_t r32size, size_t r64size, const std::vector< size_t > &optsizes, size_t *entsize, size_t *required, size_t *optional, size_t *entcount) const
Returns info about the size of the entries based on information already available.
void set_start_pc(uint16_t const &)
Property: start_pc.
void set_kind(Rose::BinaryAnalysis::PowerpcInstructionKind const &)
Property: Instruction kind.
void set_unfolded_expression_tree(SgAsmValueExpression *const &)
Property: Alternate expression without constant folding.
SgAsmElfNoteEntryList *const & get_entries() const
Property: List of note entries.
virtual ~SgAsmDwarfNamespace()
Destructor.
SgAsmJvmConstantPoolEntryPtrList const & get_entries() const
Property: List of constant pool entries.
SgAsmJvmFieldPtrList const & get_fields() const
Property: List of pointers to fields.
SgAsmBasicString()
Default constructor.
virtual ~SgAsmJvmNestMembers()
Destructor.
Sawyer::Container::BitVector::BitRange BitRange
Range of bits used for various purposes within the values of this type.
void set_ilt_nalloc(size_t const &)
Property: Bytes allocated in the file for the ILT.
X86InstructionKind
List of all x86 instructions known to the ROSE disassembler/assembler.
Symbol hash table (used by dynamic linking)
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymverNeededAux::ElfSymverNeededAux_disk *)
Initialize this auxiliary record by parsing data from the file.
CIL MethodDef node (II.22.26).
SgAsmInterpretationList()
Default constructor.
void clear_mapped()
Causes section to not be mapped to memory.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfUpcStrictType()
Destructor.
virtual ~SgAsmDwarfTemplateTypeParameter()
Destructor.
uint32_t const & get_PublicKey() const
Property: PublicKey.
SgAsmDwarfStructureType()
Default constructor.
static const std::string ID_STRING_HEAP
Define constant strings for the known stream types.
rose_addr_t write_sleb128(unsigned char *, rose_addr_t offset, int64_t) const
Write a signed little-endian 128-bit value.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilAssemblyRefOS()
Default constructor.
Values reserved for OS-specific semantics.
virtual ~SgAsmBinaryAsr()
Destructor.
SgSymbolTable *const & get_symbol_table() const
Property: Symbol table.
uint32_t p_offset
0x04 file offset
virtual ~SgAsmDwarfPtrToMemberType()
Destructor.
Base class for JVM branch of binary analysis IR nodes.
SgAsmCoffSymbolList *const & get_symbols() const
Property: List of symbols.
SgAsmDwarfLine()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
unsigned long const & get_sym() const
Property: Sym.
bool const & get_successors_complete() const
Property: Whether the successors list is complete.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmGenericFilePtrList const & get_files() const
Property: List of AST node pointers.
SgAsmGenericFileList()
Default constructor.
void set_FieldList(uint32_t const &)
Property: FieldList.
virtual ~SgAsmDwarfVariantPart()
Destructor.
SgAsmGenericSectionList *const & get_holes() const
Property: Addresses unreferenced during parsing.
bool const & get_synthesized() const
Property: Whether section really exists.
void set_OSMajorVersion(uint32_t const &)
Property: OSMajorVersion.
void set_HashValue(uint32_t const &)
Property: HashValue.
InstructionMap & get_instruction_map(bool recompute=false)
Property: Cached map of instructions by address.
virtual ~SgAsmJvmBootstrapMethod()
Destructor.
virtual ~SgAsmCilMethodSpec()
Destructor.
virtual ~SgAsmNESection()
Destructor.
CIL MethodSemantics tables.
int64_t const & get_data_alignment_factor() const
Property: Data alignment factor.
SgAsmCilManifestResourceTable()
Default constructor.
virtual ~SgAsmCilFileTable()
Destructor.
std::string const & get_string() const
Property: String value.
SgAsmCilFile()
Default constructor.
SgAsmDwarfClassTemplate()
Default constructor.
Relocation for call to __tls_get_addr() in LDM code.
uint32_t const & get_ClassSize() const
Property: ClassSize.
uint16_t const & get_catch_type() const
Property: catch_type.
static std::string to_string(SgAsmElfDynamicEntry::EntryType)
Convert Dynamic Entry Tag to a string.
uint64_t const & get_eh_data() const
Property: Data value.
virtual ~SgAsmCilMethodImpl()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_start_pc() const
Property: start_pc.
virtual bool isFunctionCallFast(const std::vector< SgAsmInstruction * > &insns, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
SgAsmCilMethodImplTable()
Default constructor.
uint16_t vd_cnt
Number of verdaux entries.
void set_sh_info(unsigned long const &)
Property: sh_info.
void set_physical_offset(rose_addr_t const &)
Property: Physical offset.
void initializeProperties()
Initialize all properties that have explicit initial values.
rose_addr_t const & get_size() const
Property: Symbol size in bytes.
void set_expaddr_n(size_t const &)
Property: Expaddr_n.
SgAsmJvmBootstrapMethod * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
static const std::string ID_BLOB_HEAP
Define constant strings for the known stream types.
SgAsmCilTypeSpecTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmAttributeTable()
Default constructor.
void set_EventFlags(uint16_t const &)
Property: EventFlags.
unsigned const & get_ord_base() const
Property: Ordinal base.
void set_storage_list(SgAsmGenericStrtab::referenced_t const &)
Property: String storage list.
CIL Property node (II.22.34).
virtual ~SgAsmCilField()
Destructor.
virtual void unparse(std::ostream &) const override
Write the dynamic section back to disk.
SgAsmIntegerValueExpression()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Two args + optional carry bit.
void set_attribute_table(SgAsmJvmAttributeTable *const &)
Property: Attribute table.
SgAsmUnaryPlus()
Default constructor.
virtual bool isFunctionCallFast(const std::vector< SgAsmInstruction * > &insns, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmJvmField()
Destructor.
void set_Name(uint32_t const &)
Property: Name.
void initializeProperties()
Initialize all properties that have explicit initial values.
Three or four args depending on whether segment reg is present.
void set_nameptr_rva(rose_rva_t const &)
Property: Name pointer RVA.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
Offset in initial TLS block.
virtual Rose::BinaryAnalysis::AddressSet getSuccessors(bool &complete) override
Control flow successors for a single instruction.
virtual ~SgAsmElfSymverNeededSection()
Destructor.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Offset(uint32_t const &)
Property: Offset.
void set_bit_size(unsigned short const &)
Property: Where this expression is encoded within the instruction.
virtual void unparse(std::ostream &) const override
Write stack map table to a binary file.
virtual Sawyer::Optional< rose_addr_t > branchTarget() override
Obtains the virtual address for a branching instruction.
virtual ~SgAsmCilFieldLayoutTable()
Destructor.
Direct 32 bit for GNU version of general dynamic thread local data.
virtual SgAsmElfSymbolSection * parse() override
Initialize by parsing a file.
SgAsmExprListExp *const & get_semantics() const
Property: Ordered list of instruction semantics.
virtual ~SgAsmDwarfFriend()
Destructor.
static SgAsmDwarfConstruct * createDwarfConstruct(int tag, int nesting_level, uint64_t offset, uint64_t overall_offset)
Factory pattern to build IR nodes based on the tag.
void set_extra(SgUnsignedCharList const &)
Property: Padding byte values.
SgAsmBinaryExpression()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmNestHost()
Default constructor.
SgAsmCilDeclSecurity()
Default constructor.
uint32_t const & get_Instantiation() const
Property: Instantiation.
SgAsmGenericStrtab::referenced_t const & get_storage_list() const
Property: String storage list.
rose_addr_t const & get_sh_size() const
Property: sh_size.
void set_TypeName(uint32_t const &)
Property: TypeName.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Print debugging information.
SgAsmElfEHFrameEntryFD()
Default constructor.
virtual bool reallocate() override
Called prior to unparsing.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint64_t get_absoluteValue(size_t nbits=0) const
Returns the current absolute value zero filled to 64 bits.
virtual ~SgAsmJvmInstruction()
Destructor.
void set_Name(uint32_t const &)
Property: Name.
SgAsmCilImplMapTable()
Default constructor.
virtual ~SgAsmPESectionTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_Flags() const
Property: Flags.
void initializeProperties()
Initialize all properties that have explicit initial values.
Base class for all ROSE exceptions.
void set_entries(SgAsmElfEHFrameEntryCIPtrList const &)
Property: List of pointers to ELF EH frame CI entries.
uint16_t const & get_Flags() const
Property: Flags.
SgUnsignedCharList const & get_extra() const
Property: Extra data.
SgAsmCilParamTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
rose_addr_t const & get_memsz() const
Property: Size of segment in memory.
SgAsmDwarfLexicalBlock()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Name(uint32_t const &)
Property: Name.
The ELF symbol version table.
Represents one entry in an ELF section table.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void initializeProperties()
Initialize all properties that have explicit initial values.
Relocation entries without explicit addends (e.g., Elf32_Rel types)
void set_classes(SgAsmJvmInnerClassesEntryPtrList const &)
Property: List of pointers to InnerClasses attribute entry.
32 bit signed PC relative offset to GOT entry for IE symbol
time_t const & get_time() const
Property: Time.
SgAsmUnarySignedExtend()
Default constructor.
Represents an ELF segment table.
void dump(FILE *) const
Print basic info about the sections of a file.
Symbol Version Requirements [gnu extension] .gnu.version_r.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual void unparse(std::ostream &) const override
Write stack map table to a binary file.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Print some debugging info.
SgAsmCilExportedType()
Default constructor.
AddressIntervalSet get_unreferenced_extents() const
Returns a list of parts of a single section that have not been referenced.
Strings stored in an ELF or PE container.
virtual ~SgAsmElfEHFrameSection()
Destructor.
bool const & get_truncate_zeros() const
Property: Whether to truncate zeros on writes.
virtual ~SgAsmDwarfVolatileType()
Destructor.
uint16_t const & get_reference_index() const
Property: reference_index.
unsigned const & get_ordinal() const
Property: Ordinal.
SgAsmCilEventTable()
Default constructor.
void set_Name(uint32_t const &)
Property: Name.
void set_n_relocs(unsigned const &)
Property: Number of relocations.
void initializeProperties()
Initialize all properties that have explicit initial values.
void adjustCacheLockCount(int increment)
Property: Cache lock count.
unsigned const & get_vmajor() const
Property: VMajor.
SgAsmDwarfConstant()
Default constructor.
uint16_t const & get_line_number() const
Property: line_number.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_bootstrap_method_ref() const
Property: bootstrap_method_ref.
Represents an ELF section table.
rose_addr_t get_iat_entry_va() const
Virtual address of an IAT entry.
void insert_instructions(InstructionMap &)
Populate a map of instructions indexed by their virtual addresses.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfEHFrameEntryFDList()
Default constructor.
Information for dynamic linking.
void set_Owner(uint32_t const &)
Property: Owner.
virtual ~SgAsmCilTypeRef()
Destructor.
Sawyer::Result< unsigned, std::string > biasedOrdinal() const
Property: Biased ordinal.
SgAsmElfDynamicEntry()
Default constructor.
uint32_t const & get_AssemblyRef() const
Property: AssemblyRef.
The following discriminated union is documented below and indicates which item of the union is in use...
SgAsmCilUint8Heap()
Default constructor.
void set_sh_name(unsigned const &)
Property: sh_name.
uint16_t const & get_main_class_index() const
Property: main_class_index.
void set_exception_table(SgAsmJvmExceptionTable *const &)
Property: Exception table.
void set_Field(uint32_t const &)
Property: Field.
A list of imported items.
virtual ~SgAsmFloatValueExpression()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_headers(SgAsmGenericHeaderList *const &)
Property: List of all headers in file.
Represents an interpretation of a binary container.
virtual ~SgAsmGenericSectionList()
Destructor.
Sawyer::Container::BitVector const & get_bitVector() const
Property: Bits for constant.
uint16_t const & get_string_index() const
Property: string_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
unsigned short const & get_bit_size() const
Property: Where this expression is encoded within the instruction.
Offset in module's TLS block.
SgAsmCilProperty()
Default constructor.
void fill_holes()
Find holes in file and create sections to fill them.
virtual ~SgAsmDwarfUnionType()
Destructor.
Offset in initial TLS block.
void set_statementList(SgAsmStatementPtrList const &)
Property: Statements that make up a function.
virtual ~SgAsmDwarfSubrangeType()
Destructor.
virtual ~SgAsmCilPropertyTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
X86InstructionSize
Intel x86 instruction size constants.
virtual ~SgAsmDwarfFunctionTemplate()
Destructor.
void set_bound_rva(rose_rva_t const &)
Property: Bound RVA from IAT if not a copy of ILT.
rose_addr_t unparse(std::ostream &f, rose_addr_t starting_offset)
Write a note at the specified offset to the section containing the note.
void set_name(std::string const &)
Property: Name.
virtual ~SgAsmDwarfFileType()
Destructor.
void set_EncBaseId(uint32_t const &)
Property: EncBaseId.
void add_header(SgAsmGenericHeader *)
Adds a new header to the file.
virtual bool isUnknown() const override
Returns true if this instruction is the special "unknown" instruction.
SgAsmJvmLineNumberEntryPtrList const & get_line_number_table() const
Property: line_number_table.
SgAsmDwarfVariantPart()
Default constructor.
virtual bool isFunctionCallFast(const std::vector< SgAsmInstruction * > &, rose_addr_t *target, rose_addr_t *ret) override
Returns true if the specified basic block looks like a function call.
CIL PropertyMap node (II.22.35).
void set_file_alignment(rose_addr_t const &)
Property: Required file alignment.
Elasticity
Elasticity argument for shift_extend.
bool const & get_coverageComputed() const
Property: code coverage percent.
Encodes and decodes a buffer using an algorithm defined in subclasses.
virtual unsigned get_anyKind() const
Returns instruction kind for any architecture.
void initializeProperties()
Initialize all properties that have explicit initial values.
4.4.6 CONSTANT_NameAndType_info table entry.
uint16_t const & get_start_pc() const
Property: start_pc.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Semantics(uint16_t const &)
Property: Semantics.
void set_tracking_references(bool const &)
Property: Whether to track referenced areas during parsing.
SgAsmExpression * operand(size_t) const
Nth operand.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual ~SgAsmAarch32Coprocessor()
Destructor.
void set_outer_class_info_index(uint16_t const &)
Property: outer_class_info_index.
void set_files(SgAsmGenericFilePtrList const &)
Property: List of AST node pointers.
List of symbol version needed entries.
void set_holes(SgAsmGenericSectionList *const &)
Property: Addresses unreferenced during parsing.
uint32_t const & get_PermissionSet() const
Property: PermissionSet.
void set_global_block(SgAsmBlock *const &)
Property: Global block.
rose_rva_t const & get_d_val() const
Property: Value.
void set_end_pc(uint16_t const &)
Property: end_pc.
uint32_t const & get_RVA() const
Property: RVA.
The StackMapTable attribute is a variable-length attribute in the attributes table of a Code attribut...
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
SgAsmJvmEnclosingMethod()
Default constructor.
uint16_t const & get_handler_pc() const
Property: handler_pc.
void set_segmentOverride(Rose::BinaryAnalysis::X86SegmentRegister const &)
Property: The segment override register.
uint32_t const & get_Class() const
Property: Class.
SgAsmGenericHeaderList *const & get_headers() const
Property: File headers.
static SgAsmGenericSection * best_section_by_va(const SgAsmGenericSectionPtrList §ions, rose_addr_t va)
Definition for "best".
SgAsmDwarfClassType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
Tag for pushl in LDM TLS code.
AddressIntervalSet const & get_referenced_extents() const
Property: Addresses referenced during parsing.
function_kind_enum
Constants for the "function_kind" property.
SgAsmStoredString * create_string(rose_addr_t offset, bool shared)
Constructs an SgAsmStoredString from an offset into this string table.
SgAsmGenericString *const & get_file_name() const
Property: File name.
rose_rva_t const & get_nameptr_rva() const
Property: Name pointer RVA.
static SgAsmJvmAttribute * instance(SgAsmJvmConstantPool *pool, SgAsmJvmAttributeTable *parent)
Factory method returning a derived class instance.
void remove_import_directory(SgAsmPEImportDirectory *)
Remove an import directory from the import directory list.
virtual ~SgAsmDwarfCompilationUnitList()
Destructor.
SgAsmCilExportedTypeTable()
Default constructor.
void set_extra(SgUnsignedCharList const &)
Property: Extra data.
virtual std::string get_string(bool escape=false) const override
Returns the std::string associated with the SgAsmStoredString.
SgAsmElfRelocEntry::RelocType const & get_type() const
Property: Type.
Invalid section flag (added for rose)
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness sex, SgAsmElfSectionTableEntry::Elf32SectionTableEntry_disk *disk) const
Encode a section table entry into the disk structure.
void set_mapped_actual_va(rose_addr_t const &)
Property: Virtual address where ROSE maps this section.
void set_data_converter(DataConverter *dc)
Property: Data converter.
Nothing is elastic; other parts of space are shifted.
void set_Name(uint32_t const &)
Property: Name.
void set_name(SgAsmGenericString *s)
Property: Non-unique name of section.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSymverEntryPtrList const & get_entries() const
Property: List of symbol version table entries.
void set_riscOperator(SgAsmRiscOperation::RiscOperator const &)
Property: Low-level semantic operation.
The BootstrapMethods attribute is a variable-length attribute in the attributes table of a ClassFile ...
void set_ImplFlags(uint32_t const &)
Property: ImplFlags.
virtual void unparse(std::ostream &) const override
Write symver table sections back to disk.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual ~SgAsmDwarfPartialUnit()
Destructor.
virtual ~SgAsmCilMethodSemantics()
Destructor.
virtual ~SgAsmElfNoteEntryList()
Destructor.
SgAsmGenericSection * get_section_by_id(int id, size_t *nfound=0) const
Find section with specified ID.
SgAsmDwarfUpcRelaxedType()
Default constructor.
SgAsmBinaryLsl()
Default constructor.
void set_handler_pc(uint16_t const &)
Property: handler_pc.
uint16_t const & get_descriptor_index() const
Property: descriptor_index.
virtual ~SgAsmElfSymverDefinedSection()
Destructor.
std::string const & get_name() const
Property: Name.
virtual ~SgAsmCilTypeRefTable()
Destructor.
virtual ~SgAsmCilAssemblyOSTable()
Destructor.
void set_frame_type(uint8_t const &)
Property: frame_type.
int const & get_stack_position() const
Property: Position of element referenced on the stack.
void set_Name(uint32_t const &)
Property: Name.
uint64_t const & get_code_alignment_factor() const
Property: Code alignment factor.
virtual void unparse(std::ostream &) const override
Write SymverNeeded section back to disk.
Direct 8 bit sign extended.
void set_version(int const &)
Property: Version number.
Value & insertMaybe(const Key &key, const Value &value)
Conditionally insert a new key/value pair.
SgAsmFunction::function_kind_enum const & get_function_kind() const
Property: Kind of function.
Base class for binary files.
Occupies memory during execution.
virtual SgAsmElfSectionTable * parse() override
Parses an ELF Section Table.
virtual ~SgAsmDwarfEntryPoint()
Destructor.
SgAsmJvmInnerClasses * parse(SgAsmJvmConstantPool *) override
Parses a JVM InnerClasses attribute.
void initializeProperties()
Initialize all properties that have explicit initial values.
Base class for binary expressions.
SgAsmExpression()
Default constructor.
DataConverter * get_data_converter() const
Property: Data converter.
Declaration-like nodes that encapsulate multiple instructions.
virtual ~SgAsmJvmModuleMainClass()
Destructor.
virtual ~SgAsmLEPageTableEntry()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Section has invalid pages.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t vn_version
version of this struct: This field shall be set to 1
Base class for vector types.
AddressIntervalSet get_referenced_extents() const
Returns a list of parts of a single section that have been referenced.
SgAsmDwarfUnspecifiedType()
Default constructor.
void set_sourcefile_index(uint16_t const &)
Property: sourcefile_index.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
CIL ManifestResource tables.
SgAsmElfSymbol::ElfSymType get_elf_type() const
Returns type as an enum constant.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmGenericSymbol()
Destructor.
virtual ~SgAsmCilNode()
Destructor.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfRelocEntry::Elf32RelaEntry_disk *) const
Convert object to on-disk format.
Base class for constants.
void set_Flags(uint16_t const &)
Property: Flags.
SgAsmDwarfWithStmt()
Default constructor.
void set_Parent(uint32_t const &)
Property: Parent.
SgAsmDwarfUnspecifiedParameters()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL Param node (II.22.33).
List of symbol version aux entries.
virtual std::string description() const override
Return a description of this instruction.
Created and assigned storage.
uint32_t const & get_Culture() const
Property: Culture.
virtual ~SgAsmCilEventMap()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_n_coff_line_nums(unsigned const &)
Property: Number of COFF line numbers.
void set_name(SgAsmGenericString *)
Property: Name.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilGenericParamConstraint()
Destructor.
X86RepeatPrefix
Intel x86 instruction repeat prefix.
void set_strtab(SgAsmGenericStrtab *const &)
Property: String table holding the string.
size_t const & get_value() const
Property: Value.
void set_Parent(uint32_t const &)
Property: Parent.
void set_ci_entries(SgAsmElfEHFrameEntryCIList *const &)
Property: CI entries.
virtual ~SgAsmPEImportItem()
Destructor.
void set_hasMoreSections(bool const &)
Property: hasMoreSections.
void set_interpretations(SgAsmInterpretationPtrList const &)
Property: Interpretation list.
virtual ~SgAsmCilAssemblyRefOSTable()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
Sawyer::Attribute::Storage const & attributes() const
Attribute storage.
List of SgAsmInstruction nodes.
Miscellaneous reasons go here.
rose_addr_t calculate_size() const
Returns the number of bytes needed to store this note.
rose_addr_t const & get_offset() const
Property: Location of string in storage table.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
virtual void unparse(std::ostream &) const override
Write line number table to a binary file.
virtual ~SgAsmCilGenericParamConstraintTable()
Destructor.
uint32_t const & get_MethodBody() const
Property: MethodBody.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfConstruct()
Destructor.
virtual ~SgAsmBinaryExpression()
Destructor.
SgAsmPEImportDirectoryList *const & get_import_directories() const
Property: List of import directories.
uint32_t const & get_Association() const
Property: Association.
SgAsmFloatValueExpression()
Default constructor.
virtual Sawyer::Optional< rose_addr_t > branchTarget() override
Obtains the virtual address for a branching instruction.
uint32_t st_value
Value: absolute value, address, etc.
uint32_t const & get_EncBaseId() const
Property: EncBaseId.
uint32_t const & get_TypeName() const
Property: TypeName.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void set_access_flags(uint16_t const &)
Property: access_flags.
Static representation of instruction semantics.
CIL AssemblyRefOS tables.
uint32_t p_paddr
0x0c physical address where supported (unused by System V)
unsigned const & get_st_num_aux_entries() const
Property: Number of auxilliary entries.
A list of PE Import Directories.
virtual ~SgAsmJvmAttribute()
Destructor.
SgAsmPEImportItemList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_vector(SgAsmPEImportItemPtrList const &)
Property: List of pointers to other nodes.
void set_Value(uint32_t const &)
Property: Value.
virtual void rebind(SgAsmStringStorage *, rose_addr_t) override
Similar to create_storage() but uses a storage object that's already been allocated.
virtual ~SgAsmNERelocEntry()
Destructor.
SgAsmDwarfNamelist()
Default constructor.
virtual ~SgAsmDwarfUnspecifiedParameters()
Destructor.
SgAsmElfSymverNeededAuxList()
Default constructor.
void set_entries(SgAsmElfNoteEntryList *const &)
Property: List of note entries.
ELF error handling frame entry, common information entry.
void set_Instantiation(uint32_t const &)
Property: Instantiation.
SgAsmGenericString *const & get_name() const
Property: Name.
SgAsmPEImportDirectory * parse(rose_addr_t va, bool isLastEntry)
Parse an import directory.
void set_class_index(uint16_t const &)
Property: class_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
SgAsmElfSymverDefinedAuxList *const & get_entries() const
Property: Entries.
void set_paddr(rose_addr_t const &)
Property: ELF paddr field.
void initializeProperties()
Initialize all properties that have explicit initial values.
ID of module containing symbol.
virtual ~SgAsmElfSegmentTableEntry()
Destructor.
void set_synthesized(bool const &)
Property: Whether section really exists.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfThrownType()
Destructor.
SgAsmNEEntryTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfUnknownConstruct()
Default constructor.
SgAsmJvmStackMapFrame()
Default constructor.
void set_MappingFlags(uint16_t const &)
Property: MappingFlags.
Tag for pushl in GD TLS code.
Generated function to hold blocks that are otherwise not part of any function.
void initializeProperties()
Initialize all properties that have explicit initial values.
unsigned const & get_n_coff_line_nums() const
Property: Number of COFF line numbers.
SgAsmJvmExceptionHandler * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.