13#include <featureTests.h>
14#if defined(ROSE_ENABLE_BINARY_ANALYSIS)
15#include "ROSETTA_macros.h"
17#include "AstNodeClass.h"
21DOCUMENTATION_should_never_be_defined;
25#define DECLARE_LEAF_CLASS(CLASS_WITHOUT_Sg)
26#define DECLARE_LEAF_CLASS2(CLASS_WITHOUT_Sg, TAG)
28#define DECLARE_LEAF_CLASS(CLASS_WITHOUT_Sg) \
29 NEW_TERMINAL_MACRO(CLASS_WITHOUT_Sg, #CLASS_WITHOUT_Sg, #CLASS_WITHOUT_Sg "Tag"); \
30 CLASS_WITHOUT_Sg.setCppCondition("!defined(DOCUMENTATION)");\
31 CLASS_WITHOUT_Sg.setAutomaticGenerationOfConstructor(false);\
32 CLASS_WITHOUT_Sg.setAutomaticGenerationOfDestructor(false)
33#define DECLARE_LEAF_CLASS2(CLASS_WITHOUT_Sg, TAG) \
34 NEW_TERMINAL_MACRO(CLASS_WITHOUT_Sg, #CLASS_WITHOUT_Sg, #TAG); \
35 CLASS_WITHOUT_Sg.setCppCondition("!defined(DOCUMENTATION)");\
36 CLASS_WITHOUT_Sg.setAutomaticGenerationOfConstructor(false);\
37 CLASS_WITHOUT_Sg.setAutomaticGenerationOfDestructor(false)
41#define DECLARE_HEADERS(CLASS_WITHOUT_Sg)
43#define DECLARE_HEADERS(CLASS_WITHOUT_Sg) \
44 CLASS_WITHOUT_Sg.setPredeclarationString("Sg" #CLASS_WITHOUT_Sg "_HEADERS", \
45 ROSE_AUTOMAKE_ABSOLUTE_PATH_TOP_SRCDIR + "/src/ROSETTA/src/binaryInstruction.C")
49#define DECLARE_OTHERS(CLASS_WITHOUT_Sg)
51#define DECLARE_OTHERS(CLASS_WITHOUT_Sg) \
52 CLASS_WITHOUT_Sg.setFunctionPrototype("Sg" #CLASS_WITHOUT_Sg "_OTHERS", \
53 ROSE_AUTOMAKE_ABSOLUTE_PATH_TOP_SRCDIR + "/src/ROSETTA/src/binaryInstruction.C")
57#define IS_SERIALIZABLE()
59#define IS_SERIALIZABLE(CLASS_WITHOUT_Sg) \
60 CLASS_WITHOUT_Sg.isBoostSerializable(true)
99void Grammar::setUpBinaryInstructions() {
107DECLARE_LEAF_CLASS(AsmX86Instruction);
108IS_SERIALIZABLE(AsmX86Instruction);
111AsmX86Instruction.useSmallHeader(
true);
114DECLARE_HEADERS(AsmX86Instruction);
115#if defined(SgAsmX86Instruction_HEADERS) || defined(DOCUMENTATION)
116#include <Rose/BinaryAnalysis/BasicTypes.h>
117#include <Rose/BinaryAnalysis/InstructionEnumsX86.h>
126 AsmX86Instruction.setDataPrototype(
127 "Rose::BinaryAnalysis::X86InstructionKind",
"kind",
"= Rose::BinaryAnalysis::x86_unknown_instruction",
128 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
132 AsmX86Instruction.setDataPrototype(
133 "Rose::BinaryAnalysis::X86InstructionSize",
"baseSize",
"= Rose::BinaryAnalysis::x86_insnsize_none",
134 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
138 AsmX86Instruction.setDataPrototype(
139 "Rose::BinaryAnalysis::X86InstructionSize",
"operandSize",
"= Rose::BinaryAnalysis::x86_insnsize_none",
140 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
144 AsmX86Instruction.setDataPrototype(
145 "Rose::BinaryAnalysis::X86InstructionSize",
"addressSize",
"= Rose::BinaryAnalysis::x86_insnsize_none",
146 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
150 AsmX86Instruction.setDataPrototype(
151 "bool",
"lockPrefix",
"= false",
152 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
156 AsmX86Instruction.setDataPrototype(
157 "Rose::BinaryAnalysis::X86RepeatPrefix",
"repeatPrefix",
"= Rose::BinaryAnalysis::x86_repeat_none",
158 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
162 AsmX86Instruction.setDataPrototype(
163 "Rose::BinaryAnalysis::X86BranchPrediction",
"branchPrediction",
"= Rose::BinaryAnalysis::x86_branch_prediction_none",
164 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
168 AsmX86Instruction.setDataPrototype(
169 "Rose::BinaryAnalysis::X86SegmentRegister",
"segmentOverride",
"= Rose::BinaryAnalysis::x86_segreg_none",
170 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
173 DECLARE_OTHERS(AsmX86Instruction);
174#if defined(SgAsmX86Instruction_OTHERS) || defined(DOCUMENTATION)
177#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
179 friend class boost::serialization::access;
182 void serialize(S &s,
const unsigned ) {
185 s & BOOST_SERIALIZATION_NVP(p_kind);
186 s & BOOST_SERIALIZATION_NVP(p_baseSize);
187 s & BOOST_SERIALIZATION_NVP(p_operandSize);
188 s & BOOST_SERIALIZATION_NVP(p_addressSize);
189 s & BOOST_SERIALIZATION_NVP(p_lockPrefix);
190 s & BOOST_SERIALIZATION_NVP(p_repeatPrefix);
191 s & BOOST_SERIALIZATION_NVP(p_branchPrediction);
192 s & BOOST_SERIALIZATION_NVP(p_segmentOverride);
304 uint8_t
const& architectureId,
306 Rose::BinaryAnalysis::X86InstructionSize
const& baseSize,
307 Rose::BinaryAnalysis::X86InstructionSize
const& operandSize,
308 Rose::BinaryAnalysis::X86InstructionSize
const& addressSize);
328DECLARE_LEAF_CLASS(AsmVoidType);
329IS_SERIALIZABLE(AsmVoidType);
332AsmVoidType.useSmallHeader(
true);
340 DECLARE_OTHERS(AsmVoidType);
341#if defined(SgAsmVoidType_OTHERS) || defined(DOCUMENTATION)
344#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
346 friend class boost::serialization::access;
349 void serialize(S &s,
const unsigned ) {
351 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmType);
386DECLARE_LEAF_CLASS(AsmVectorType);
387IS_SERIALIZABLE(AsmVectorType);
390AsmVectorType.useSmallHeader(
true);
399 AsmVectorType.setDataPrototype(
400 "size_t",
"nElmts",
"= 0",
401 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
405 AsmVectorType.setDataPrototype(
406 "SgAsmType*",
"elmtType",
"= nullptr",
407 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
410 DECLARE_OTHERS(AsmVectorType);
411#if defined(SgAsmVectorType_OTHERS) || defined(DOCUMENTATION)
414#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
416 friend class boost::serialization::access;
419 void serialize(S &s,
const unsigned ) {
421 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmType);
422 s & BOOST_SERIALIZATION_NVP(p_nElmts);
423 s & BOOST_SERIALIZATION_NVP(p_elmtType);
450 virtual void check()
const override;
479DECLARE_LEAF_CLASS(AsmUserInstruction);
480IS_SERIALIZABLE(AsmUserInstruction);
483AsmUserInstruction.useSmallHeader(
true);
496 AsmUserInstruction.setDataPrototype(
497 "unsigned",
"kind",
"= 0",
498 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
501 DECLARE_OTHERS(AsmUserInstruction);
502#if defined(SgAsmUserInstruction_OTHERS) || defined(DOCUMENTATION)
505#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
507 friend class boost::serialization::access;
510 void serialize(S &s,
const unsigned ) {
513 s & BOOST_SERIALIZATION_NVP(p_kind);
541 uint8_t
const& architectureId,
542 unsigned const& kind);
562DECLARE_LEAF_CLASS(AsmUnaryUnsignedExtend);
563IS_SERIALIZABLE(AsmUnaryUnsignedExtend);
566AsmUnaryUnsignedExtend.useSmallHeader(
true);
578 DECLARE_OTHERS(AsmUnaryUnsignedExtend);
579#if defined(SgAsmUnaryUnsignedExtend_OTHERS) || defined(DOCUMENTATION)
582#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
584 friend class boost::serialization::access;
587 void serialize(S &s,
const unsigned ) {
624DECLARE_LEAF_CLASS(AsmUnaryTruncate);
625IS_SERIALIZABLE(AsmUnaryTruncate);
628AsmUnaryTruncate.useSmallHeader(
true);
640 DECLARE_OTHERS(AsmUnaryTruncate);
641#if defined(SgAsmUnaryTruncate_OTHERS) || defined(DOCUMENTATION)
644#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
646 friend class boost::serialization::access;
649 void serialize(S &s,
const unsigned ) {
686DECLARE_LEAF_CLASS(AsmUnarySignedExtend);
687IS_SERIALIZABLE(AsmUnarySignedExtend);
690AsmUnarySignedExtend.useSmallHeader(
true);
702 DECLARE_OTHERS(AsmUnarySignedExtend);
703#if defined(SgAsmUnarySignedExtend_OTHERS) || defined(DOCUMENTATION)
706#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
708 friend class boost::serialization::access;
711 void serialize(S &s,
const unsigned ) {
748DECLARE_LEAF_CLASS(AsmUnaryRrx);
749IS_SERIALIZABLE(AsmUnaryRrx);
752AsmUnaryRrx.useSmallHeader(
true);
755DECLARE_HEADERS(AsmUnaryRrx);
756#if defined(SgAsmUnaryRrx_HEADERS) || defined(DOCUMENTATION)
764 DECLARE_OTHERS(AsmUnaryRrx);
765#if defined(SgAsmUnaryRrx_OTHERS) || defined(DOCUMENTATION)
768#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
770 friend class boost::serialization::access;
773 void serialize(S &s,
const unsigned ) {
810DECLARE_LEAF_CLASS(AsmUnaryPlus);
811IS_SERIALIZABLE(AsmUnaryPlus);
814AsmUnaryPlus.useSmallHeader(
true);
822 DECLARE_OTHERS(AsmUnaryPlus);
823#if defined(SgAsmUnaryPlus_OTHERS) || defined(DOCUMENTATION)
826#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
828 friend class boost::serialization::access;
831 void serialize(S &s,
const unsigned ) {
868DECLARE_LEAF_CLASS(AsmUnaryMinus);
869IS_SERIALIZABLE(AsmUnaryMinus);
872AsmUnaryMinus.useSmallHeader(
true);
880 DECLARE_OTHERS(AsmUnaryMinus);
881#if defined(SgAsmUnaryMinus_OTHERS) || defined(DOCUMENTATION)
884#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
886 friend class boost::serialization::access;
889 void serialize(S &s,
const unsigned ) {
927AstNodeClass& AsmUnaryExpression = nonTerminalConstructor(
928 "AsmUnaryExpression",
930 "AsmUnaryExpression",
931 "AsmUnaryExpressionTag",
932 SubclassListBuilder()
936 | AsmUnarySignedExtend
938 | AsmUnaryUnsignedExtend
940assert(AsmUnaryExpression.associatedGrammar !=
nullptr);
941AsmUnaryExpression.setCppCondition(
"!defined(DOCUMENTATION)");
942AsmUnaryExpression.isBoostSerializable(
true);
943AsmUnaryExpression.setAutomaticGenerationOfConstructor(
false);
944AsmUnaryExpression.setAutomaticGenerationOfDestructor(
false);
948AsmUnaryExpression.useSmallHeader(
true);
957 AsmUnaryExpression.setDataPrototype(
958 "SgAsmExpression*",
"operand",
"= nullptr",
959 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
962 DECLARE_OTHERS(AsmUnaryExpression);
963#if defined(SgAsmUnaryExpression_OTHERS) || defined(DOCUMENTATION)
966#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
968 friend class boost::serialization::access;
971 void serialize(S &s,
const unsigned ) {
974 s & BOOST_SERIALIZATION_NVP(p_operand);
1017DECLARE_LEAF_CLASS(AsmSynthesizedFieldDeclaration);
1018IS_SERIALIZABLE(AsmSynthesizedFieldDeclaration);
1020#ifndef DOCUMENTATION
1021AsmSynthesizedFieldDeclaration.useSmallHeader(
true);
1024DECLARE_HEADERS(AsmSynthesizedFieldDeclaration);
1025#if defined(SgAsmSynthesizedFieldDeclaration_HEADERS) || defined(DOCUMENTATION)
1033#ifndef DOCUMENTATION
1034 AsmSynthesizedFieldDeclaration.setDataPrototype(
1035 "std::string",
"name",
"",
1036 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1039#ifndef DOCUMENTATION
1040 AsmSynthesizedFieldDeclaration.setDataPrototype(
1041 "uint64_t",
"offset",
"= 0",
1042 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1045 DECLARE_OTHERS(AsmSynthesizedFieldDeclaration);
1046#if defined(SgAsmSynthesizedFieldDeclaration_OTHERS) || defined(DOCUMENTATION)
1049#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1051 friend class boost::serialization::access;
1054 void serialize(S &s,
const unsigned ) {
1057 s & BOOST_SERIALIZATION_NVP(p_name);
1058 s & BOOST_SERIALIZATION_NVP(p_offset);
1110DECLARE_LEAF_CLASS(AsmSynthesizedDataStructureDeclaration);
1111IS_SERIALIZABLE(AsmSynthesizedDataStructureDeclaration);
1113#ifndef DOCUMENTATION
1114AsmSynthesizedDataStructureDeclaration.useSmallHeader(
true);
1117DECLARE_HEADERS(AsmSynthesizedDataStructureDeclaration);
1118#if defined(SgAsmSynthesizedDataStructureDeclaration_HEADERS) || defined(DOCUMENTATION)
1119#include <sageContainer.h>
1136 DECLARE_OTHERS(AsmSynthesizedDataStructureDeclaration);
1137#if defined(SgAsmSynthesizedDataStructureDeclaration_OTHERS) || defined(DOCUMENTATION)
1140#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1142 friend class boost::serialization::access;
1145 void serialize(S &s,
const unsigned ) {
1152 SgAsmSynthesizedDeclarationPtrList p_declarationList;
1157 p_declarationList.push_back(declaration);
1195DECLARE_LEAF_CLASS(AsmStringStorage);
1196IS_SERIALIZABLE(AsmStringStorage);
1198#ifndef DOCUMENTATION
1199AsmStringStorage.useSmallHeader(
true);
1207#ifndef DOCUMENTATION
1208 AsmStringStorage.setDataPrototype(
1209 "SgAsmGenericStrtab*",
"strtab",
"= nullptr",
1210 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1213#ifndef DOCUMENTATION
1214 AsmStringStorage.setDataPrototype(
1215 "std::string",
"string",
"",
1216 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1219#ifndef DOCUMENTATION
1220 AsmStringStorage.setDataPrototype(
1221 "rose_addr_t",
"offset",
"= 0",
1222 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1225 DECLARE_OTHERS(AsmStringStorage);
1226#if defined(SgAsmStringStorage_OTHERS) || defined(DOCUMENTATION)
1229#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1231 friend class boost::serialization::access;
1234 void serialize(S &s,
const unsigned ) {
1237 s & BOOST_SERIALIZATION_NVP(p_strtab);
1238 s & BOOST_SERIALIZATION_NVP(p_string);
1239 s & BOOST_SERIALIZATION_NVP(p_offset);
1270 void dump(FILE *s,
const char *prefix, ssize_t idx)
const;
1279 friend class SgAsmStoredStrtab;
1306DECLARE_LEAF_CLASS(AsmStoredString);
1307IS_SERIALIZABLE(AsmStoredString);
1309#ifndef DOCUMENTATION
1310AsmStoredString.useSmallHeader(
true);
1318#ifndef DOCUMENTATION
1319 AsmStoredString.setDataPrototype(
1320 "SgAsmStringStorage*",
"storage",
"= nullptr",
1321 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1324 DECLARE_OTHERS(AsmStoredString);
1325#if defined(SgAsmStoredString_OTHERS) || defined(DOCUMENTATION)
1328#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1330 friend class boost::serialization::access;
1333 void serialize(S &s,
const unsigned ) {
1336 s & BOOST_SERIALIZATION_NVP(p_storage);
1359 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
1367 virtual std::string
get_string(
bool escape=
false)
const override;
1409DECLARE_LEAF_CLASS(AsmStaticData);
1410IS_SERIALIZABLE(AsmStaticData);
1412#ifndef DOCUMENTATION
1413AsmStaticData.useSmallHeader(
true);
1416DECLARE_HEADERS(AsmStaticData);
1417#if defined(SgAsmStaticData_HEADERS) || defined(DOCUMENTATION)
1418#include <sageContainer.h>
1432#ifndef DOCUMENTATION
1433 AsmStaticData.setDataPrototype(
1434 "SgUnsignedCharList",
"rawBytes",
"",
1435 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1438 DECLARE_OTHERS(AsmStaticData);
1439#if defined(SgAsmStaticData_OTHERS) || defined(DOCUMENTATION)
1442#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1444 friend class boost::serialization::access;
1447 void serialize(S &s,
const unsigned ) {
1450 s & BOOST_SERIALIZATION_NVP(p_rawBytes);
1475 const SgUnsignedCharList& get_raw_bytes() const ROSE_DEPRECATED("use
get_rawBytes");
1476 void set_raw_bytes(const SgUnsignedCharList&) ROSE_DEPRECATED("use
set_rawBytes");
1507DECLARE_LEAF_CLASS(AsmStackExpression);
1508IS_SERIALIZABLE(AsmStackExpression);
1510#ifndef DOCUMENTATION
1511AsmStackExpression.useSmallHeader(
true);
1519#ifndef DOCUMENTATION
1520 AsmStackExpression.setDataPrototype(
1521 "int",
"stackPosition",
"= 0",
1522 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1525 DECLARE_OTHERS(AsmStackExpression);
1526#if defined(SgAsmStackExpression_OTHERS) || defined(DOCUMENTATION)
1529#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1531 friend class boost::serialization::access;
1534 void serialize(S &s,
const unsigned ) {
1537 s & BOOST_SERIALIZATION_NVP(p_stackPosition);
1588DECLARE_LEAF_CLASS(AsmRiscOperation);
1589IS_SERIALIZABLE(AsmRiscOperation);
1591#ifndef DOCUMENTATION
1592AsmRiscOperation.useSmallHeader(
true);
1595DECLARE_HEADERS(AsmRiscOperation);
1596#if defined(SgAsmRiscOperation_HEADERS) || defined(DOCUMENTATION)
1597#ifdef ROSE_SgAsmRiscOperation_IMPL
1598#include <SgAsmExprListExp.h>
1614#ifndef DOCUMENTATION
1615 AsmRiscOperation.setDataPrototype(
1616 "SgAsmRiscOperation::RiscOperator",
"riscOperator",
"= OP_NONE",
1617 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1620#ifndef DOCUMENTATION
1621 AsmRiscOperation.setDataPrototype(
1622 "SgAsmExprListExp*",
"operands",
"= nullptr",
1623 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
1626 DECLARE_OTHERS(AsmRiscOperation);
1627#if defined(SgAsmRiscOperation_OTHERS) || defined(DOCUMENTATION)
1630#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1632 friend class boost::serialization::access;
1635 void serialize(S &s,
const unsigned ) {
1638 s & BOOST_SERIALIZATION_NVP(p_riscOperator);
1639 s & BOOST_SERIALIZATION_NVP(p_operands);
1657 OP_filterCallTarget,
1658 OP_filterReturnTarget,
1659 OP_filterIndirectJumpTarget,
1669 OP_leastSignificantSetBit,
1670 OP_mostSignificantSetBit,
1675 OP_shiftRightArithmetic,
1680 OP_isUnsignedLessThan,
1681 OP_isUnsignedLessThanOrEqual,
1682 OP_isUnsignedGreaterThan,
1683 OP_isUnsignedGreaterThanOrEqual,
1684 OP_isSignedLessThan,
1685 OP_isSignedLessThanOrEqual,
1686 OP_isSignedGreaterThan,
1687 OP_isSignedGreaterThanOrEqual,
1699 OP_unsignedMultiply,
1767DECLARE_LEAF_CLASS(AsmRegisterNames);
1768IS_SERIALIZABLE(AsmRegisterNames);
1770#ifndef DOCUMENTATION
1771AsmRegisterNames.useSmallHeader(
true);
1774DECLARE_HEADERS(AsmRegisterNames);
1775#if defined(SgAsmRegisterNames_HEADERS) || defined(DOCUMENTATION)
1776#include <sageContainer.h>
1784#ifndef DOCUMENTATION
1785 AsmRegisterNames.setDataPrototype(
1786 "SgAsmRegisterReferenceExpressionPtrList",
"registers",
"",
1787 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
1790#ifndef DOCUMENTATION
1791 AsmRegisterNames.setDataPrototype(
1792 "unsigned",
"mask",
"= 0",
1793 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1796 DECLARE_OTHERS(AsmRegisterNames);
1797#if defined(SgAsmRegisterNames_OTHERS) || defined(DOCUMENTATION)
1800#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1802 friend class boost::serialization::access;
1805 void serialize(S &s,
const unsigned ) {
1808 s & BOOST_SERIALIZATION_NVP(p_registers);
1809 s & BOOST_SERIALIZATION_NVP(p_mask);
1863DECLARE_LEAF_CLASS(AsmPowerpcInstruction);
1864IS_SERIALIZABLE(AsmPowerpcInstruction);
1866#ifndef DOCUMENTATION
1867AsmPowerpcInstruction.useSmallHeader(
true);
1870DECLARE_HEADERS(AsmPowerpcInstruction);
1871#if defined(SgAsmPowerpcInstruction_HEADERS) || defined(DOCUMENTATION)
1872#include <Rose/BinaryAnalysis/InstructionEnumsPowerpc.h>
1880#ifndef DOCUMENTATION
1881 AsmPowerpcInstruction.setDataPrototype(
1882 "Rose::BinaryAnalysis::PowerpcInstructionKind",
"kind",
"= Rose::BinaryAnalysis::powerpc_unknown_instruction",
1883 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1886 DECLARE_OTHERS(AsmPowerpcInstruction);
1887#if defined(SgAsmPowerpcInstruction_OTHERS) || defined(DOCUMENTATION)
1890#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1892 friend class boost::serialization::access;
1895 void serialize(S &s,
const unsigned ) {
1898 s & BOOST_SERIALIZATION_NVP(p_kind);
1910 Rose::BinaryAnalysis::PowerpcInstructionKind
const&
get_kind()
const;
1911 void set_kind(Rose::BinaryAnalysis::PowerpcInstructionKind
const&);
1940 uint8_t
const& architectureId,
1941 Rose::BinaryAnalysis::PowerpcInstructionKind
const& kind);
1961DECLARE_LEAF_CLASS(AsmPointerType);
1962IS_SERIALIZABLE(AsmPointerType);
1964#ifndef DOCUMENTATION
1965AsmPointerType.useSmallHeader(
true);
1973#ifndef DOCUMENTATION
1974 AsmPointerType.setDataPrototype(
1975 "SgAsmType *",
"subtype",
"",
1976 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
1979 DECLARE_OTHERS(AsmPointerType);
1980#if defined(SgAsmPointerType_OTHERS) || defined(DOCUMENTATION)
1983#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
1985 friend class boost::serialization::access;
1988 void serialize(S &s,
const unsigned ) {
1991 s & BOOST_SERIALIZATION_NVP(p_subtype);
2034DECLARE_LEAF_CLASS(AsmPEStringSection);
2035IS_SERIALIZABLE(AsmPEStringSection);
2037#ifndef DOCUMENTATION
2038AsmPEStringSection.useSmallHeader(
true);
2046#ifndef DOCUMENTATION
2047 AsmPEStringSection.setDataPrototype(
2048 "SgAsmCoffStrtab*",
"strtab",
"= nullptr",
2049 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2052 DECLARE_OTHERS(AsmPEStringSection);
2053#if defined(SgAsmPEStringSection_OTHERS) || defined(DOCUMENTATION)
2056#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2058 friend class boost::serialization::access;
2061 void serialize(S &s,
const unsigned ) {
2064 s & BOOST_SERIALIZATION_NVP(p_strtab);
2082 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
2084 virtual void unparse(std::ostream&)
const override;
2111DECLARE_LEAF_CLASS(AsmPESectionTable);
2112IS_SERIALIZABLE(AsmPESectionTable);
2114#ifndef DOCUMENTATION
2115AsmPESectionTable.useSmallHeader(
true);
2123 DECLARE_OTHERS(AsmPESectionTable);
2124#if defined(SgAsmPESectionTable_OTHERS) || defined(DOCUMENTATION)
2127#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2129 friend class boost::serialization::access;
2132 void serialize(S &s,
const unsigned ) {
2148 virtual void unparse(std::ostream&)
const override;
2149 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
2155 void add_section(
SgAsmPESection*) ROSE_DEPRECATED(
"use addSection");
2182DECLARE_LEAF_CLASS(AsmPESectionTableEntry);
2183IS_SERIALIZABLE(AsmPESectionTableEntry);
2185#ifndef DOCUMENTATION
2186AsmPESectionTableEntry.useSmallHeader(
true);
2194#ifndef DOCUMENTATION
2195 AsmPESectionTableEntry.setDataPrototype(
2196 "std::string",
"name",
"",
2197 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2200#ifndef DOCUMENTATION
2201 AsmPESectionTableEntry.setDataPrototype(
2202 "rose_addr_t",
"virtual_size",
"= 0",
2203 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2206#ifndef DOCUMENTATION
2207 AsmPESectionTableEntry.setDataPrototype(
2208 "rose_addr_t",
"rva",
"= 0",
2209 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2212#ifndef DOCUMENTATION
2213 AsmPESectionTableEntry.setDataPrototype(
2214 "rose_addr_t",
"physical_size",
"= 0",
2215 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2218#ifndef DOCUMENTATION
2219 AsmPESectionTableEntry.setDataPrototype(
2220 "rose_addr_t",
"physical_offset",
"= 0",
2221 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2224#ifndef DOCUMENTATION
2225 AsmPESectionTableEntry.setDataPrototype(
2226 "unsigned",
"coff_line_nums",
"= 0",
2227 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2230#ifndef DOCUMENTATION
2231 AsmPESectionTableEntry.setDataPrototype(
2232 "unsigned",
"n_relocs",
"= 0",
2233 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2236#ifndef DOCUMENTATION
2237 AsmPESectionTableEntry.setDataPrototype(
2238 "unsigned",
"n_coff_line_nums",
"= 0",
2239 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2242#ifndef DOCUMENTATION
2243 AsmPESectionTableEntry.setDataPrototype(
2244 "unsigned",
"flags",
"= 0",
2245 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2248 DECLARE_OTHERS(AsmPESectionTableEntry);
2249#if defined(SgAsmPESectionTableEntry_OTHERS) || defined(DOCUMENTATION)
2252#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2254 friend class boost::serialization::access;
2257 void serialize(S &s,
const unsigned ) {
2260 s & BOOST_SERIALIZATION_NVP(p_name);
2261 s & BOOST_SERIALIZATION_NVP(p_virtual_size);
2262 s & BOOST_SERIALIZATION_NVP(p_rva);
2263 s & BOOST_SERIALIZATION_NVP(p_physical_size);
2264 s & BOOST_SERIALIZATION_NVP(p_physical_offset);
2265 s & BOOST_SERIALIZATION_NVP(p_coff_line_nums);
2266 s & BOOST_SERIALIZATION_NVP(p_n_relocs);
2267 s & BOOST_SERIALIZATION_NVP(p_n_coff_line_nums);
2268 s & BOOST_SERIALIZATION_NVP(p_flags);
2282 uint32_t virtual_size;
2284 uint32_t physical_size;
2285 uint32_t physical_offset;
2286 uint32_t coff_line_nums;
2288 uint32_t n_coff_line_nums;
2291#if !defined(SWIG) && !defined(_MSC_VER)
2292 __attribute__((packed))
2301 enum PESectionFlags {
2302 OF_CODE = 0x00000020,
2303 OF_IDATA = 0x00000040,
2304 OF_UDATA = 0x00000080,
2305 OF_INFO = 0x00000200,
2306 OF_REMOVE = 0x00000800,
2307 OF_COMDAT = 0x00001000,
2308 OF_NO_DEFER_SPEC_EXC= 0x00004000,
2310 OF_GPREL = 0x00008000,
2311 OF_ALIGN_1 = 0x00100000,
2312 OF_ALIGN_2 = 0x00200000,
2313 OF_ALIGN_4 = 0x00300000,
2314 OF_ALIGN_8 = 0x00400000,
2315 OF_ALIGN_16 = 0x00500000,
2316 OF_ALIGN_32 = 0x00600000,
2317 OF_ALIGN_64 = 0x00700000,
2318 OF_ALIGN_128 = 0x00800000,
2319 OF_ALIGN_256 = 0x00900000,
2320 OF_ALIGN_512 = 0x00a00000,
2321 OF_ALIGN_1k = 0x00b00000,
2322 OF_ALIGN_2k = 0x00c00000,
2323 OF_ALIGN_4k = 0x00d00000,
2324 OF_ALIGN_8k = 0x00e00000,
2325 OF_ALIGN_MASK = 0x00f00000,
2326 OF_NRELOC_OVFL = 0x01000000,
2327 OF_DISCARDABLE = 0x02000000,
2328 OF_NO_CACHE = 0x04000000,
2329 OF_NO_PAGING = 0x08000000,
2330 OF_SHARED = 0x10000000,
2331 OF_EXECUTABLE = 0x20000000,
2332 OF_READABLE = 0x40000000,
2333 OF_WRITABLE = 0x80000000
2438 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
2444 void update_from_section(
SgAsmPESection*) ROSE_DEPRECATED(
"use updateFromSection");
2471DECLARE_LEAF_CLASS(AsmPERVASizePairList);
2472IS_SERIALIZABLE(AsmPERVASizePairList);
2474#ifndef DOCUMENTATION
2475AsmPERVASizePairList.useSmallHeader(
true);
2478DECLARE_HEADERS(AsmPERVASizePairList);
2479#if defined(SgAsmPERVASizePairList_HEADERS) || defined(DOCUMENTATION)
2480#include <sageContainer.h>
2491#ifndef DOCUMENTATION
2492 AsmPERVASizePairList.setDataPrototype(
2493 "SgAsmPERVASizePairPtrList",
"pairs",
"",
2494 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
2497 DECLARE_OTHERS(AsmPERVASizePairList);
2498#if defined(SgAsmPERVASizePairList_OTHERS) || defined(DOCUMENTATION)
2501#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2503 friend class boost::serialization::access;
2506 void serialize(S &s,
const unsigned ) {
2509 s & BOOST_SERIALIZATION_NVP(p_pairs);
2550DECLARE_LEAF_CLASS(AsmPERVASizePair);
2551IS_SERIALIZABLE(AsmPERVASizePair);
2553#ifndef DOCUMENTATION
2554AsmPERVASizePair.useSmallHeader(
true);
2557DECLARE_HEADERS(AsmPERVASizePair);
2558#if defined(SgAsmPERVASizePair_HEADERS) || defined(DOCUMENTATION)
2559#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
2567#ifndef DOCUMENTATION
2568 AsmPERVASizePair.setDataPrototype(
2569 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"e_rva",
"",
2570 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2573#ifndef DOCUMENTATION
2574 AsmPERVASizePair.setDataPrototype(
2575 "rose_addr_t",
"e_size",
"= 0",
2576 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2579#ifndef DOCUMENTATION
2580 AsmPERVASizePair.setDataPrototype(
2581 "SgAsmGenericSection*",
"section",
"= nullptr",
2582 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2585 DECLARE_OTHERS(AsmPERVASizePair);
2586#if defined(SgAsmPERVASizePair_OTHERS) || defined(DOCUMENTATION)
2589#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2591 friend class boost::serialization::access;
2594 void serialize(S &s,
const unsigned ) {
2597 s & BOOST_SERIALIZATION_NVP(p_e_rva);
2598 s & BOOST_SERIALIZATION_NVP(p_e_size);
2599 s & BOOST_SERIALIZATION_NVP(p_section);
2617#if !defined(SWIG) && !defined(_MSC_VER)
2618 __attribute__((packed))
2702DECLARE_LEAF_CLASS(AsmPEImportSection);
2703IS_SERIALIZABLE(AsmPEImportSection);
2705#ifndef DOCUMENTATION
2706AsmPEImportSection.useSmallHeader(
true);
2709DECLARE_HEADERS(AsmPEImportSection);
2710#if defined(SgAsmPEImportSection_HEADERS) || defined(DOCUMENTATION)
2711#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
2713#ifdef ROSE_SgAsmPEImportSection_IMPL
2714#include <SgAsmPEImportDirectoryList.h>
2864#ifndef DOCUMENTATION
2865 AsmPEImportSection.setDataPrototype(
2866 "SgAsmPEImportDirectoryList*",
"importDirectories",
"= createAndParent<SgAsmPEImportDirectoryList>(this)",
2867 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
2870 DECLARE_OTHERS(AsmPEImportSection);
2871#if defined(SgAsmPEImportSection_OTHERS) || defined(DOCUMENTATION)
2874#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2876 friend class boost::serialization::access;
2879 void serialize(S &s,
const unsigned ) {
2882 s & BOOST_SERIALIZATION_NVP(p_importDirectories);
2900 virtual void unparse(std::ostream&)
const override;
2901 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
2908 static bool showImportMessage();
2909 static void importMessageReset();
2921 static size_t mesg_nprinted;
2931 static
bool show_import_mesg() ROSE_DEPRECATED("use showImportMessage");
2932 static
void import_mesg_reset() ROSE_DEPRECATED("use importMessageReset");
2933 size_t reallocate_iats(
Rose::BinaryAnalysis::RelativeVirtualAddress) ROSE_DEPRECATED("use
reallocateIats");
2960DECLARE_LEAF_CLASS(AsmPEImportItemList);
2961IS_SERIALIZABLE(AsmPEImportItemList);
2963#ifndef DOCUMENTATION
2964AsmPEImportItemList.useSmallHeader(
true);
2967DECLARE_HEADERS(AsmPEImportItemList);
2968#if defined(SgAsmPEImportItemList_HEADERS) || defined(DOCUMENTATION)
2969#include <sageContainer.h>
2980#ifndef DOCUMENTATION
2981 AsmPEImportItemList.setDataPrototype(
2982 "SgAsmPEImportItemPtrList",
"vector",
"",
2983 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
2986 DECLARE_OTHERS(AsmPEImportItemList);
2987#if defined(SgAsmPEImportItemList_OTHERS) || defined(DOCUMENTATION)
2990#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
2992 friend class boost::serialization::access;
2995 void serialize(S &s,
const unsigned ) {
2998 s & BOOST_SERIALIZATION_NVP(p_vector);
3038DECLARE_LEAF_CLASS(AsmPEImportItem);
3039IS_SERIALIZABLE(AsmPEImportItem);
3041#ifndef DOCUMENTATION
3042AsmPEImportItem.useSmallHeader(
true);
3045DECLARE_HEADERS(AsmPEImportItem);
3046#if defined(SgAsmPEImportItem_HEADERS) || defined(DOCUMENTATION)
3047#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
3049#ifdef ROSE_SgAsmPEImportItem_IMPL
3050#include <SgAsmBasicString.h>
3065#ifndef DOCUMENTATION
3066 AsmPEImportItem.setDataPrototype(
3067 "bool",
"by_ordinal",
"= true",
3068 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3071#ifndef DOCUMENTATION
3072 AsmPEImportItem.setDataPrototype(
3073 "unsigned",
"ordinal",
"= 0",
3074 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3077#ifndef DOCUMENTATION
3078 AsmPEImportItem.setDataPrototype(
3079 "unsigned",
"hint",
"= 0",
3080 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3083#ifndef DOCUMENTATION
3084 AsmPEImportItem.setDataPrototype(
3085 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
3086 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3089#ifndef DOCUMENTATION
3090 AsmPEImportItem.setDataPrototype(
3091 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"hintname_rva",
"",
3092 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3095#ifndef DOCUMENTATION
3096 AsmPEImportItem.setDataPrototype(
3097 "size_t",
"hintname_nalloc",
"= 0",
3098 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3101#ifndef DOCUMENTATION
3102 AsmPEImportItem.setDataPrototype(
3103 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"bound_rva",
"",
3104 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3107#ifndef DOCUMENTATION
3108 AsmPEImportItem.setDataPrototype(
3109 "bool",
"iat_written",
"= false",
3110 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3113 DECLARE_OTHERS(AsmPEImportItem);
3114#if defined(SgAsmPEImportItem_OTHERS) || defined(DOCUMENTATION)
3117#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
3119 friend class boost::serialization::access;
3122 void serialize(S &s,
const unsigned ) {
3125 s & BOOST_SERIALIZATION_NVP(p_by_ordinal);
3126 s & BOOST_SERIALIZATION_NVP(p_ordinal);
3127 s & BOOST_SERIALIZATION_NVP(p_hint);
3128 s & BOOST_SERIALIZATION_NVP(p_name);
3129 s & BOOST_SERIALIZATION_NVP(p_hintname_rva);
3130 s & BOOST_SERIALIZATION_NVP(p_hintname_nalloc);
3131 s & BOOST_SERIALIZATION_NVP(p_bound_rva);
3132 s & BOOST_SERIALIZATION_NVP(p_iat_written);
3224 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
3247 rose_addr_t get_iat_entry_va() const ROSE_DEPRECATED("use
get_iatEntryVa");
3274DECLARE_LEAF_CLASS(AsmPEImportDirectoryList);
3275IS_SERIALIZABLE(AsmPEImportDirectoryList);
3277#ifndef DOCUMENTATION
3278AsmPEImportDirectoryList.useSmallHeader(
true);
3281DECLARE_HEADERS(AsmPEImportDirectoryList);
3282#if defined(SgAsmPEImportDirectoryList_HEADERS) || defined(DOCUMENTATION)
3283#include <sageContainer.h>
3294#ifndef DOCUMENTATION
3295 AsmPEImportDirectoryList.setDataPrototype(
3296 "SgAsmPEImportDirectoryPtrList",
"vector",
"",
3297 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3300 DECLARE_OTHERS(AsmPEImportDirectoryList);
3301#if defined(SgAsmPEImportDirectoryList_OTHERS) || defined(DOCUMENTATION)
3304#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
3306 friend class boost::serialization::access;
3309 void serialize(S &s,
const unsigned ) {
3312 s & BOOST_SERIALIZATION_NVP(p_vector);
3354DECLARE_LEAF_CLASS(AsmPEImportDirectory);
3355IS_SERIALIZABLE(AsmPEImportDirectory);
3357#ifndef DOCUMENTATION
3358AsmPEImportDirectory.useSmallHeader(
true);
3361DECLARE_HEADERS(AsmPEImportDirectory);
3362#if defined(SgAsmPEImportDirectory_HEADERS) || defined(DOCUMENTATION)
3363#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
3364#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
3365#include <sageContainer.h>
3367#ifdef ROSE_SgAsmPEImportDirectory_IMPL
3368#include <SgAsmGenericString.h>
3369#include <SgAsmPEImportItemList.h>
3381#ifndef DOCUMENTATION
3382 AsmPEImportDirectory.setDataPrototype(
3383 "SgAsmGenericString*",
"dllName",
"= nullptr",
3384 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3387#ifndef DOCUMENTATION
3388 AsmPEImportDirectory.setDataPrototype(
3389 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"dllNameRva",
"",
3390 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3393#ifndef DOCUMENTATION
3394 AsmPEImportDirectory.setDataPrototype(
3395 "size_t",
"dll_name_nalloc",
"= 0",
3396 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3399#ifndef DOCUMENTATION
3400 AsmPEImportDirectory.setDataPrototype(
3401 "time_t",
"time",
"= 0",
3402 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3405#ifndef DOCUMENTATION
3406 AsmPEImportDirectory.setDataPrototype(
3407 "unsigned",
"forwarder_chain",
"= 0",
3408 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3411#ifndef DOCUMENTATION
3412 AsmPEImportDirectory.setDataPrototype(
3413 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"ilt_rva",
"",
3414 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3417#ifndef DOCUMENTATION
3418 AsmPEImportDirectory.setDataPrototype(
3419 "size_t",
"ilt_nalloc",
"= 0",
3420 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3423#ifndef DOCUMENTATION
3424 AsmPEImportDirectory.setDataPrototype(
3425 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"iat_rva",
"",
3426 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3429#ifndef DOCUMENTATION
3430 AsmPEImportDirectory.setDataPrototype(
3431 "size_t",
"iat_nalloc",
"= 0",
3432 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3435#ifndef DOCUMENTATION
3436 AsmPEImportDirectory.setDataPrototype(
3437 "SgAsmPEImportItemList*",
"imports",
"= createAndParent<SgAsmPEImportItemList>(this)",
3438 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3441 DECLARE_OTHERS(AsmPEImportDirectory);
3442#if defined(SgAsmPEImportDirectory_OTHERS) || defined(DOCUMENTATION)
3445#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
3447 friend class boost::serialization::access;
3450 void serialize(S &s,
const unsigned ) {
3453 s & BOOST_SERIALIZATION_NVP(p_dllName);
3454 s & BOOST_SERIALIZATION_NVP(p_dllNameRva);
3455 s & BOOST_SERIALIZATION_NVP(p_dll_name_nalloc);
3456 s & BOOST_SERIALIZATION_NVP(p_time);
3457 s & BOOST_SERIALIZATION_NVP(p_forwarder_chain);
3458 s & BOOST_SERIALIZATION_NVP(p_ilt_rva);
3459 s & BOOST_SERIALIZATION_NVP(p_ilt_nalloc);
3460 s & BOOST_SERIALIZATION_NVP(p_iat_rva);
3461 s & BOOST_SERIALIZATION_NVP(p_iat_nalloc);
3462 s & BOOST_SERIALIZATION_NVP(p_imports);
3476 uint32_t forwarder_chain;
3477 uint32_t dll_name_rva;
3480#if !defined(SWIG) && !defined(_MSC_VER)
3481 __attribute__((packed))
3619 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
3650 size_t nalloc)
const;
3658 const
Rose::BinaryAnalysis::RelativeVirtualAddress& get_dll_name_rva() const ROSE_DEPRECATED("use
get_dllNameRva");
3659 Rose::BinaryAnalysis::RelativeVirtualAddress& get_dll_name_rva() ROSE_DEPRECATED("use
get_dllNameRva");
3660 void set_dll_name_rva(const
Rose::BinaryAnalysis::RelativeVirtualAddress&) ROSE_DEPRECATED("use
set_dllNameRva");
3661 size_t iat_required_size() const ROSE_DEPRECATED("use
iatRequiredSize");
3663 size_t hintname_table_extent(
Rose::BinaryAnalysis::AddressIntervalSet&) const ROSE_DEPRECATED("use
hintNameTableExtent");
3690DECLARE_LEAF_CLASS(AsmPEFileHeader);
3691IS_SERIALIZABLE(AsmPEFileHeader);
3693#ifndef DOCUMENTATION
3694AsmPEFileHeader.useSmallHeader(
true);
3697DECLARE_HEADERS(AsmPEFileHeader);
3698#if defined(SgAsmPEFileHeader_HEADERS) || defined(DOCUMENTATION)
3699#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
3701#ifdef ROSE_SgAsmPEFileHeader_IMPL
3702#include <SgAsmCoffSymbolTable.h>
3703#include <SgAsmPERVASizePairList.h>
3704#include <SgAsmPESectionTable.h>
3715#ifndef DOCUMENTATION
3716 AsmPEFileHeader.setDataPrototype(
3717 "unsigned",
"e_cpu_type",
"= 0",
3718 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3721#ifndef DOCUMENTATION
3722 AsmPEFileHeader.setDataPrototype(
3723 "unsigned",
"e_nsections",
"= 0",
3724 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3727#ifndef DOCUMENTATION
3728 AsmPEFileHeader.setDataPrototype(
3729 "unsigned",
"e_time",
"= 0",
3730 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3733#ifndef DOCUMENTATION
3734 AsmPEFileHeader.setDataPrototype(
3735 "rose_addr_t",
"e_coff_symtab",
"= 0",
3736 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3739#ifndef DOCUMENTATION
3740 AsmPEFileHeader.setDataPrototype(
3741 "rose_addr_t",
"e_nt_hdr_size",
"= 0",
3742 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3745#ifndef DOCUMENTATION
3746 AsmPEFileHeader.setDataPrototype(
3747 "unsigned",
"e_coff_nsyms",
"= 0",
3748 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3751#ifndef DOCUMENTATION
3752 AsmPEFileHeader.setDataPrototype(
3753 "unsigned",
"e_flags",
"= 0",
3754 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3757#ifndef DOCUMENTATION
3758 AsmPEFileHeader.setDataPrototype(
3759 "unsigned",
"e_opt_magic",
"= 0",
3760 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3763#ifndef DOCUMENTATION
3764 AsmPEFileHeader.setDataPrototype(
3765 "unsigned",
"e_lmajor",
"= 0",
3766 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3769#ifndef DOCUMENTATION
3770 AsmPEFileHeader.setDataPrototype(
3771 "unsigned",
"e_lminor",
"= 0",
3772 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3775#ifndef DOCUMENTATION
3776 AsmPEFileHeader.setDataPrototype(
3777 "unsigned",
"e_code_size",
"= 0",
3778 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3781#ifndef DOCUMENTATION
3782 AsmPEFileHeader.setDataPrototype(
3783 "unsigned",
"e_data_size",
"= 0",
3784 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3787#ifndef DOCUMENTATION
3788 AsmPEFileHeader.setDataPrototype(
3789 "unsigned",
"e_bss_size",
"= 0",
3790 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3793#ifndef DOCUMENTATION
3794 AsmPEFileHeader.setDataPrototype(
3795 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"e_code_rva",
"",
3796 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3799#ifndef DOCUMENTATION
3800 AsmPEFileHeader.setDataPrototype(
3801 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"e_data_rva",
"",
3802 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3805#ifndef DOCUMENTATION
3806 AsmPEFileHeader.setDataPrototype(
3807 "unsigned",
"e_section_align",
"= 0",
3808 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3811#ifndef DOCUMENTATION
3812 AsmPEFileHeader.setDataPrototype(
3813 "unsigned",
"e_file_align",
"= 0",
3814 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3817#ifndef DOCUMENTATION
3818 AsmPEFileHeader.setDataPrototype(
3819 "unsigned",
"e_os_major",
"= 0",
3820 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3823#ifndef DOCUMENTATION
3824 AsmPEFileHeader.setDataPrototype(
3825 "unsigned",
"e_os_minor",
"= 0",
3826 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3829#ifndef DOCUMENTATION
3830 AsmPEFileHeader.setDataPrototype(
3831 "unsigned",
"e_user_major",
"= 0",
3832 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3835#ifndef DOCUMENTATION
3836 AsmPEFileHeader.setDataPrototype(
3837 "unsigned",
"e_user_minor",
"= 0",
3838 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3841#ifndef DOCUMENTATION
3842 AsmPEFileHeader.setDataPrototype(
3843 "unsigned",
"e_subsys_major",
"= 0",
3844 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3847#ifndef DOCUMENTATION
3848 AsmPEFileHeader.setDataPrototype(
3849 "unsigned",
"e_subsys_minor",
"= 0",
3850 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3853#ifndef DOCUMENTATION
3854 AsmPEFileHeader.setDataPrototype(
3855 "unsigned",
"e_reserved9",
"= 0",
3856 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3859#ifndef DOCUMENTATION
3860 AsmPEFileHeader.setDataPrototype(
3861 "unsigned",
"e_image_size",
"= 0",
3862 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3865#ifndef DOCUMENTATION
3866 AsmPEFileHeader.setDataPrototype(
3867 "unsigned",
"e_header_size",
"= 0",
3868 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3871#ifndef DOCUMENTATION
3872 AsmPEFileHeader.setDataPrototype(
3873 "unsigned",
"e_file_checksum",
"= 0",
3874 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3877#ifndef DOCUMENTATION
3878 AsmPEFileHeader.setDataPrototype(
3879 "unsigned",
"e_subsystem",
"= 0",
3880 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3883#ifndef DOCUMENTATION
3884 AsmPEFileHeader.setDataPrototype(
3885 "unsigned",
"e_dll_flags",
"= 0",
3886 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3889#ifndef DOCUMENTATION
3890 AsmPEFileHeader.setDataPrototype(
3891 "unsigned",
"e_stack_reserve_size",
"= 0",
3892 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3895#ifndef DOCUMENTATION
3896 AsmPEFileHeader.setDataPrototype(
3897 "unsigned",
"e_stack_commit_size",
"= 0",
3898 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3901#ifndef DOCUMENTATION
3902 AsmPEFileHeader.setDataPrototype(
3903 "unsigned",
"e_heap_reserve_size",
"= 0",
3904 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3907#ifndef DOCUMENTATION
3908 AsmPEFileHeader.setDataPrototype(
3909 "unsigned",
"e_heap_commit_size",
"= 0",
3910 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3913#ifndef DOCUMENTATION
3914 AsmPEFileHeader.setDataPrototype(
3915 "unsigned",
"e_loader_flags",
"= 0",
3916 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3919#ifndef DOCUMENTATION
3920 AsmPEFileHeader.setDataPrototype(
3921 "unsigned",
"e_num_rvasize_pairs",
"= 0",
3922 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3925#ifndef DOCUMENTATION
3926 AsmPEFileHeader.setDataPrototype(
3927 "SgAsmPERVASizePairList*",
"rvaSizePairs",
"= nullptr",
3928 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3931#ifndef DOCUMENTATION
3932 AsmPEFileHeader.setDataPrototype(
3933 "SgAsmPESectionTable*",
"sectionTable",
"= nullptr",
3934 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3937#ifndef DOCUMENTATION
3938 AsmPEFileHeader.setDataPrototype(
3939 "SgAsmCoffSymbolTable*",
"coffSymbolTable",
"= nullptr",
3940 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3943 DECLARE_OTHERS(AsmPEFileHeader);
3944#if defined(SgAsmPEFileHeader_OTHERS) || defined(DOCUMENTATION)
3947#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
3949 friend class boost::serialization::access;
3952 void serialize(S &s,
const unsigned ) {
3955 s & BOOST_SERIALIZATION_NVP(p_e_cpu_type);
3956 s & BOOST_SERIALIZATION_NVP(p_e_nsections);
3957 s & BOOST_SERIALIZATION_NVP(p_e_time);
3958 s & BOOST_SERIALIZATION_NVP(p_e_coff_symtab);
3959 s & BOOST_SERIALIZATION_NVP(p_e_nt_hdr_size);
3960 s & BOOST_SERIALIZATION_NVP(p_e_coff_nsyms);
3961 s & BOOST_SERIALIZATION_NVP(p_e_flags);
3962 s & BOOST_SERIALIZATION_NVP(p_e_opt_magic);
3963 s & BOOST_SERIALIZATION_NVP(p_e_lmajor);
3964 s & BOOST_SERIALIZATION_NVP(p_e_lminor);
3965 s & BOOST_SERIALIZATION_NVP(p_e_code_size);
3966 s & BOOST_SERIALIZATION_NVP(p_e_data_size);
3967 s & BOOST_SERIALIZATION_NVP(p_e_bss_size);
3968 s & BOOST_SERIALIZATION_NVP(p_e_code_rva);
3969 s & BOOST_SERIALIZATION_NVP(p_e_data_rva);
3970 s & BOOST_SERIALIZATION_NVP(p_e_section_align);
3971 s & BOOST_SERIALIZATION_NVP(p_e_file_align);
3972 s & BOOST_SERIALIZATION_NVP(p_e_os_major);
3973 s & BOOST_SERIALIZATION_NVP(p_e_os_minor);
3974 s & BOOST_SERIALIZATION_NVP(p_e_user_major);
3975 s & BOOST_SERIALIZATION_NVP(p_e_user_minor);
3976 s & BOOST_SERIALIZATION_NVP(p_e_subsys_major);
3977 s & BOOST_SERIALIZATION_NVP(p_e_subsys_minor);
3978 s & BOOST_SERIALIZATION_NVP(p_e_reserved9);
3979 s & BOOST_SERIALIZATION_NVP(p_e_image_size);
3980 s & BOOST_SERIALIZATION_NVP(p_e_header_size);
3981 s & BOOST_SERIALIZATION_NVP(p_e_file_checksum);
3982 s & BOOST_SERIALIZATION_NVP(p_e_subsystem);
3983 s & BOOST_SERIALIZATION_NVP(p_e_dll_flags);
3984 s & BOOST_SERIALIZATION_NVP(p_e_stack_reserve_size);
3985 s & BOOST_SERIALIZATION_NVP(p_e_stack_commit_size);
3986 s & BOOST_SERIALIZATION_NVP(p_e_heap_reserve_size);
3987 s & BOOST_SERIALIZATION_NVP(p_e_heap_commit_size);
3988 s & BOOST_SERIALIZATION_NVP(p_e_loader_flags);
3989 s & BOOST_SERIALIZATION_NVP(p_e_num_rvasize_pairs);
3990 s & BOOST_SERIALIZATION_NVP(p_rvaSizePairs);
3991 s & BOOST_SERIALIZATION_NVP(p_sectionTable);
3992 s & BOOST_SERIALIZATION_NVP(p_coffSymbolTable);
4005 unsigned char e_magic[4];
4006 uint16_t e_cpu_type;
4007 uint16_t e_nsections;
4009 uint32_t e_coff_symtab;
4010 uint32_t e_coff_nsyms;
4011 uint16_t e_nt_hdr_size;
4014#if !defined(SWIG) && !defined(_MSC_VER)
4015 __attribute__((packed))
4020 uint16_t e_opt_magic;
4023 uint16_t e_code_size;
4024 uint32_t e_data_size;
4025 uint32_t e_bss_size;
4026 uint32_t e_entrypoint_rva;
4027 uint32_t e_code_rva;
4028 uint32_t e_data_rva;
4029 uint32_t e_image_base;
4030 uint32_t e_section_align;
4031 uint32_t e_file_align;
4032 uint16_t e_os_major;
4033 uint16_t e_os_minor;
4034 uint16_t e_user_major;
4035 uint16_t e_user_minor;
4036 uint16_t e_subsys_major;
4037 uint16_t e_subsys_minor;
4038 uint32_t e_reserved9;
4039 uint32_t e_image_size;
4040 uint32_t e_header_size;
4041 uint32_t e_file_checksum;
4042 uint16_t e_subsystem;
4043 uint16_t e_dll_flags;
4044 uint32_t e_stack_reserve_size;
4045 uint32_t e_stack_commit_size;
4046 uint32_t e_heap_reserve_size;
4047 uint32_t e_heap_commit_size;
4048 uint32_t e_loader_flags;
4049 uint32_t e_num_rvasize_pairs;
4051#if !defined(SWIG) && !defined(_MSC_VER)
4052 __attribute__((packed))
4057 uint16_t e_opt_magic;
4060 uint16_t e_code_size;
4061 uint32_t e_data_size;
4062 uint32_t e_bss_size;
4063 uint32_t e_entrypoint_rva;
4064 uint32_t e_code_rva;
4066 uint64_t e_image_base;
4067 uint32_t e_section_align;
4068 uint32_t e_file_align;
4069 uint16_t e_os_major;
4070 uint16_t e_os_minor;
4071 uint16_t e_user_major;
4072 uint16_t e_user_minor;
4073 uint16_t e_subsys_major;
4074 uint16_t e_subsys_minor;
4075 uint32_t e_reserved9;
4076 uint32_t e_image_size;
4077 uint32_t e_header_size;
4078 uint32_t e_file_checksum;
4079 uint16_t e_subsystem;
4080 uint16_t e_dll_flags;
4081 uint64_t e_stack_reserve_size;
4082 uint64_t e_stack_commit_size;
4083 uint64_t e_heap_reserve_size;
4084 uint64_t e_heap_commit_size;
4085 uint32_t e_loader_flags;
4086 uint32_t e_num_rvasize_pairs;
4088#if !defined(SWIG) && !defined(_MSC_VER)
4089 __attribute__((packed))
4098 HF_PROGRAM = 0x0000,
4099 HF_EXECUTABLE = 0x0002,
4101 HF_LIBRARY = 0x2000,
4102 HF_RESERVED_MASK = 0xddfd
4107 HF_SPEC_UNKNOWN = 0x0000,
4110 HF_WINCHAR = 0x0003,
4111 HF_OS2CHAR = 0x0005,
4117 DLL_PROC_INIT = 0x0001,
4118 DLL_PROC_TERM = 0x0002,
4119 DLL_THRD_INIT = 0x0004,
4120 DLL_THRD_TERM = 0x0008,
4121 DLL_RESERVED_MASK = 0xfff0
4129 PAIR_EXCEPTIONS = 3,
4130 PAIR_CERTIFICATES = 4,
4131 PAIR_BASERELOCS = 5,
4133 PAIR_ARCHITECTURE = 7,
4136 PAIR_LOADCONFIG = 10,
4137 PAIR_BOUNDIMPORT = 11,
4139 PAIR_DELAYIMPORT = 13,
4140 PAIR_CLRRUNTIME = 14,
4141 PAIR_RESERVED15 = 15
4558 void addRvaSizePairs();
4562 virtual void unparse(std::ostream&)
const override;
4563 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
4564 void createTableSections();
4586 virtual const
char *format_name() const override ROSE_DEPRECATED("use
formatName");
4591 void add_rvasize_pairs() ROSE_DEPRECATED("use addRvaSizePairs");
4592 void create_table_sections() ROSE_DEPRECATED("use createTableSections");
4593 Rose::BinaryAnalysis::MemoryMap::Ptr get_loader_map() const ROSE_DEPRECATED("use get_loaderMap");
4594 void set_loader_map(const
Rose::BinaryAnalysis::MemoryMap::Ptr&) ROSE_DEPRECATED("use set_loaderMap");
4621DECLARE_LEAF_CLASS(AsmPEExportSection);
4622IS_SERIALIZABLE(AsmPEExportSection);
4624#ifndef DOCUMENTATION
4625AsmPEExportSection.useSmallHeader(
true);
4628DECLARE_HEADERS(AsmPEExportSection);
4629#if defined(SgAsmPEExportSection_HEADERS) || defined(DOCUMENTATION)
4630#ifdef ROSE_SgAsmPEExportSection_IMPL
4631#include <SgAsmPEExportDirectory.h>
4632#include <SgAsmPEExportEntryList.h>
4641#ifndef DOCUMENTATION
4642 AsmPEExportSection.setDataPrototype(
4643 "SgAsmPEExportDirectory*",
"exportDirectory",
"= nullptr",
4644 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4647#ifndef DOCUMENTATION
4648 AsmPEExportSection.setDataPrototype(
4649 "SgAsmPEExportEntryList*",
"exports",
"= createAndParent<SgAsmPEExportEntryList>(this)",
4650 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4653 DECLARE_OTHERS(AsmPEExportSection);
4654#if defined(SgAsmPEExportSection_OTHERS) || defined(DOCUMENTATION)
4657#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4659 friend class boost::serialization::access;
4662 void serialize(S &s,
const unsigned ) {
4665 s & BOOST_SERIALIZATION_NVP(p_exportDirectory);
4666 s & BOOST_SERIALIZATION_NVP(p_exports);
4710 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
4746#ifndef DOCUMENTATION
4747AstNodeClass& AsmPESection = nonTerminalConstructor(
4752 SubclassListBuilder()
4753 | AsmPEExportSection
4754 | AsmPEImportSection
4755 | AsmPEStringSection
4757assert(AsmPESection.associatedGrammar !=
nullptr);
4758AsmPESection.setCppCondition(
"!defined(DOCUMENTATION)");
4759AsmPESection.isBoostSerializable(
true);
4760AsmPESection.setAutomaticGenerationOfConstructor(
false);
4761AsmPESection.setAutomaticGenerationOfDestructor(
false);
4764#ifndef DOCUMENTATION
4765AsmPESection.useSmallHeader(
true);
4768DECLARE_HEADERS(AsmPESection);
4769#if defined(SgAsmPESection_HEADERS) || defined(DOCUMENTATION)
4770#ifdef ROSE_SgAsmPESection_IMPL
4771#include <SgAsmPESectionTableEntry.h>
4780#ifndef DOCUMENTATION
4781 AsmPESection.setDataPrototype(
4782 "SgAsmPESectionTableEntry*",
"section_entry",
"= nullptr",
4783 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4786 DECLARE_OTHERS(AsmPESection);
4787#if defined(SgAsmPESection_OTHERS) || defined(DOCUMENTATION)
4790#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4792 friend class boost::serialization::access;
4795 void serialize(S &s,
const unsigned ) {
4798 s & BOOST_SERIALIZATION_NVP(p_section_entry);
4822 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
4855DECLARE_LEAF_CLASS(AsmPEExportEntryList);
4856IS_SERIALIZABLE(AsmPEExportEntryList);
4858#ifndef DOCUMENTATION
4859AsmPEExportEntryList.useSmallHeader(
true);
4862DECLARE_HEADERS(AsmPEExportEntryList);
4863#if defined(SgAsmPEExportEntryList_HEADERS) || defined(DOCUMENTATION)
4864#include <sageContainer.h>
4875#ifndef DOCUMENTATION
4876 AsmPEExportEntryList.setDataPrototype(
4877 "SgAsmPEExportEntryPtrList",
"exports",
"",
4878 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4881 DECLARE_OTHERS(AsmPEExportEntryList);
4882#if defined(SgAsmPEExportEntryList_OTHERS) || defined(DOCUMENTATION)
4885#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4887 friend class boost::serialization::access;
4890 void serialize(S &s,
const unsigned ) {
4893 s & BOOST_SERIALIZATION_NVP(p_exports);
4933DECLARE_LEAF_CLASS(AsmPEExportEntry);
4934IS_SERIALIZABLE(AsmPEExportEntry);
4936#ifndef DOCUMENTATION
4937AsmPEExportEntry.useSmallHeader(
true);
4940DECLARE_HEADERS(AsmPEExportEntry);
4941#if defined(SgAsmPEExportEntry_HEADERS) || defined(DOCUMENTATION)
4942#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
4943#include <Sawyer/Result.h>
4951#ifndef DOCUMENTATION
4952 AsmPEExportEntry.setDataPrototype(
4953 "SgAsmGenericString*",
"name",
"= nullptr",
4954 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4957#ifndef DOCUMENTATION
4958 AsmPEExportEntry.setDataPrototype(
4959 "unsigned",
"ordinal",
"= 0",
4960 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4963#ifndef DOCUMENTATION
4964 AsmPEExportEntry.setDataPrototype(
4965 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"exportRva",
"",
4966 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4969#ifndef DOCUMENTATION
4970 AsmPEExportEntry.setDataPrototype(
4971 "SgAsmGenericString*",
"forwarder",
"= nullptr",
4972 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4975 DECLARE_OTHERS(AsmPEExportEntry);
4976#if defined(SgAsmPEExportEntry_OTHERS) || defined(DOCUMENTATION)
4979#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
4981 friend class boost::serialization::access;
4984 void serialize(S &s,
const unsigned ) {
4987 s & BOOST_SERIALIZATION_NVP(p_name);
4988 s & BOOST_SERIALIZATION_NVP(p_ordinal);
4989 s & BOOST_SERIALIZATION_NVP(p_exportRva);
4990 s & BOOST_SERIALIZATION_NVP(p_forwarder);
5038 void dump(FILE *f,
const char *prefix,ssize_t idx)
const;
5053 void set_export_rva(const
Rose::BinaryAnalysis::RelativeVirtualAddress&) ROSE_DEPRECATED("use
set_exportRva");
5080DECLARE_LEAF_CLASS(AsmPEExportDirectory);
5081IS_SERIALIZABLE(AsmPEExportDirectory);
5083#ifndef DOCUMENTATION
5084AsmPEExportDirectory.useSmallHeader(
true);
5087DECLARE_HEADERS(AsmPEExportDirectory);
5088#if defined(SgAsmPEExportDirectory_HEADERS) || defined(DOCUMENTATION)
5089#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
5091#ifdef ROSE_SgAsmPEExportDirectory_IMPL
5092#include <SgAsmGenericString.h>
5101#ifndef DOCUMENTATION
5102 AsmPEExportDirectory.setDataPrototype(
5103 "unsigned",
"res1",
"= 0",
5104 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5107#ifndef DOCUMENTATION
5108 AsmPEExportDirectory.setDataPrototype(
5109 "time_t",
"timestamp",
"= 0",
5110 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5113#ifndef DOCUMENTATION
5114 AsmPEExportDirectory.setDataPrototype(
5115 "unsigned",
"vmajor",
"= 0",
5116 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5119#ifndef DOCUMENTATION
5120 AsmPEExportDirectory.setDataPrototype(
5121 "unsigned",
"vminor",
"= 0",
5122 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5125#ifndef DOCUMENTATION
5126 AsmPEExportDirectory.setDataPrototype(
5127 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"name_rva",
"",
5128 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5131#ifndef DOCUMENTATION
5132 AsmPEExportDirectory.setDataPrototype(
5133 "unsigned",
"ord_base",
"= 0",
5134 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5137#ifndef DOCUMENTATION
5138 AsmPEExportDirectory.setDataPrototype(
5139 "size_t",
"expaddr_n",
"= 0",
5140 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5143#ifndef DOCUMENTATION
5144 AsmPEExportDirectory.setDataPrototype(
5145 "size_t",
"nameptr_n",
"= 0",
5146 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5149#ifndef DOCUMENTATION
5150 AsmPEExportDirectory.setDataPrototype(
5151 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"expaddr_rva",
"",
5152 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5155#ifndef DOCUMENTATION
5156 AsmPEExportDirectory.setDataPrototype(
5157 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"nameptr_rva",
"",
5158 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5161#ifndef DOCUMENTATION
5162 AsmPEExportDirectory.setDataPrototype(
5163 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"ordinals_rva",
"",
5164 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5167#ifndef DOCUMENTATION
5168 AsmPEExportDirectory.setDataPrototype(
5169 "SgAsmGenericString*",
"name",
"= NULL",
5170 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5173 DECLARE_OTHERS(AsmPEExportDirectory);
5174#if defined(SgAsmPEExportDirectory_OTHERS) || defined(DOCUMENTATION)
5177#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5179 friend class boost::serialization::access;
5182 void serialize(S &s,
const unsigned ) {
5185 s & BOOST_SERIALIZATION_NVP(p_res1);
5186 s & BOOST_SERIALIZATION_NVP(p_timestamp);
5187 s & BOOST_SERIALIZATION_NVP(p_vmajor);
5188 s & BOOST_SERIALIZATION_NVP(p_vminor);
5189 s & BOOST_SERIALIZATION_NVP(p_name_rva);
5190 s & BOOST_SERIALIZATION_NVP(p_ord_base);
5191 s & BOOST_SERIALIZATION_NVP(p_expaddr_n);
5192 s & BOOST_SERIALIZATION_NVP(p_nameptr_n);
5193 s & BOOST_SERIALIZATION_NVP(p_expaddr_rva);
5194 s & BOOST_SERIALIZATION_NVP(p_nameptr_rva);
5195 s & BOOST_SERIALIZATION_NVP(p_ordinals_rva);
5196 s & BOOST_SERIALIZATION_NVP(p_name);
5217 uint32_t expaddr_rva;
5218 uint32_t nameptr_rva;
5219 uint32_t ordinals_rva;
5221#if !defined(SWIG) && !defined(_MSC_VER)
5222 __attribute__((packed))
5361 void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
5388DECLARE_LEAF_CLASS(AsmOperandList);
5389IS_SERIALIZABLE(AsmOperandList);
5391#ifndef DOCUMENTATION
5392AsmOperandList.useSmallHeader(
true);
5395DECLARE_HEADERS(AsmOperandList);
5396#if defined(SgAsmOperandList_HEADERS) || defined(DOCUMENTATION)
5397#include <sageContainer.h>
5405#ifndef DOCUMENTATION
5406 AsmOperandList.setDataPrototype(
5407 "SgAsmExpressionPtrList",
"operands",
"",
5408 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5411 DECLARE_OTHERS(AsmOperandList);
5412#if defined(SgAsmOperandList_OTHERS) || defined(DOCUMENTATION)
5415#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5417 friend class boost::serialization::access;
5420 void serialize(S &s,
const unsigned ) {
5422 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
5423 s & BOOST_SERIALIZATION_NVP(p_operands);
5447 void append_operand(
SgAsmExpression*) ROSE_DEPRECATED(
"use appendOperand");
5474DECLARE_LEAF_CLASS(AsmNullInstruction);
5475IS_SERIALIZABLE(AsmNullInstruction);
5477#ifndef DOCUMENTATION
5478AsmNullInstruction.useSmallHeader(
true);
5485 DECLARE_OTHERS(AsmNullInstruction);
5486#if defined(SgAsmNullInstruction_OTHERS) || defined(DOCUMENTATION)
5489#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5491 friend class boost::serialization::access;
5494 void serialize(S &s,
const unsigned ) {
5502 enum Kind { null_unknown };
5517 uint8_t
const& architectureId);
5537DECLARE_LEAF_CLASS(AsmNEStringTable);
5538IS_SERIALIZABLE(AsmNEStringTable);
5540#ifndef DOCUMENTATION
5541AsmNEStringTable.useSmallHeader(
true);
5548 DECLARE_OTHERS(AsmNEStringTable);
5549#if defined(SgAsmNEStringTable_OTHERS) || defined(DOCUMENTATION)
5552#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5554 friend class boost::serialization::access;
5557 void serialize(S &s,
const unsigned ) {
5565 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5566 std::string get_string(rose_addr_t offset);
5593DECLARE_LEAF_CLASS(AsmNESectionTable);
5594IS_SERIALIZABLE(AsmNESectionTable);
5596#ifndef DOCUMENTATION
5597AsmNESectionTable.useSmallHeader(
true);
5604#ifndef DOCUMENTATION
5605 AsmNESectionTable.setDataPrototype(
5606 "unsigned",
"flags",
"= 0",
5607 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5610#ifndef DOCUMENTATION
5611 AsmNESectionTable.setDataPrototype(
5612 "unsigned",
"sector",
"= 0",
5613 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5616#ifndef DOCUMENTATION
5617 AsmNESectionTable.setDataPrototype(
5618 "rose_addr_t",
"physicalSize",
"= 0",
5619 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5622#ifndef DOCUMENTATION
5623 AsmNESectionTable.setDataPrototype(
5624 "rose_addr_t",
"virtualSize",
"= 0",
5625 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5628 DECLARE_OTHERS(AsmNESectionTable);
5629#if defined(SgAsmNESectionTable_OTHERS) || defined(DOCUMENTATION)
5632#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5634 friend class boost::serialization::access;
5637 void serialize(S &s,
const unsigned ) {
5640 s & BOOST_SERIALIZATION_NVP(p_flags);
5641 s & BOOST_SERIALIZATION_NVP(p_sector);
5642 s & BOOST_SERIALIZATION_NVP(p_physicalSize);
5643 s & BOOST_SERIALIZATION_NVP(p_virtualSize);
5649 unsigned const& get_flags()
const;
5650 void set_flags(
unsigned const&);
5653 unsigned const& get_sector()
const;
5654 void set_sector(
unsigned const&);
5657 rose_addr_t
const& get_physicalSize()
const;
5658 void set_physicalSize(rose_addr_t
const&);
5661 rose_addr_t
const& get_virtualSize()
const;
5662 void set_virtualSize(rose_addr_t
const&);
5665 virtual void unparse(std::ostream&)
const override;
5666 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5672 rose_addr_t get_physical_size() const ROSE_DEPRECATED("use get_physicalSize");
5673 void set_physical_size(rose_addr_t) ROSE_DEPRECATED("use set_physicalSize");
5674 rose_addr_t get_virtual_size() const ROSE_DEPRECATED("use get_virtualSize");
5675 void set_virtual_size(rose_addr_t) ROSE_DEPRECATED("use set_virtualSize");
5702DECLARE_LEAF_CLASS(AsmNESectionTableEntry);
5703IS_SERIALIZABLE(AsmNESectionTableEntry);
5705#ifndef DOCUMENTATION
5706AsmNESectionTableEntry.useSmallHeader(
true);
5713#ifndef DOCUMENTATION
5714 AsmNESectionTableEntry.setDataPrototype(
5715 "unsigned",
"flags",
"= 0",
5716 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5719#ifndef DOCUMENTATION
5720 AsmNESectionTableEntry.setDataPrototype(
5721 "unsigned",
"sector",
"= 0",
5722 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5725#ifndef DOCUMENTATION
5726 AsmNESectionTableEntry.setDataPrototype(
5727 "rose_addr_t",
"physicalSize",
"= 0",
5728 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5731#ifndef DOCUMENTATION
5732 AsmNESectionTableEntry.setDataPrototype(
5733 "rose_addr_t",
"virtualSize",
"= 0",
5734 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5737 DECLARE_OTHERS(AsmNESectionTableEntry);
5738#if defined(SgAsmNESectionTableEntry_OTHERS) || defined(DOCUMENTATION)
5741#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5743 friend class boost::serialization::access;
5746 void serialize(S &s,
const unsigned ) {
5749 s & BOOST_SERIALIZATION_NVP(p_flags);
5750 s & BOOST_SERIALIZATION_NVP(p_sector);
5751 s & BOOST_SERIALIZATION_NVP(p_physicalSize);
5752 s & BOOST_SERIALIZATION_NVP(p_virtualSize);
5766 uint16_t physical_size;
5768 uint16_t virtual_size;
5773 __attribute__((packed))
5781 enum NESectionFlags {
5782 SF_RESERVED = 0x0e08,
5784 SF_TYPE_MASK = 0x0007,
5790 SF_MOVABLE = 0x0010,
5792 SF_PRELOAD = 0x0040,
5793 SF_NOT_WRITABLE = 0x0080,
5794 SF_RELOCINFO = 0x0100,
5795 SF_DISCARDABLE = 0x1000,
5804 unsigned const& get_flags()
const;
5805 void set_flags(
unsigned const&);
5808 unsigned const& get_sector()
const;
5809 void set_sector(
unsigned const&);
5812 rose_addr_t
const& get_physicalSize()
const;
5813 void set_physicalSize(rose_addr_t
const&);
5816 rose_addr_t
const& get_virtualSize()
const;
5817 void set_virtualSize(rose_addr_t
const&);
5824 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const {dump(f, prefix, idx, NULL);}
5825 void dump(FILE*,
const char *prefix, ssize_t idx,
SgAsmNEFileHeader *fhdr)
const;
5831 rose_addr_t get_physical_size() const ROSE_DEPRECATED("use get_physicalSize");
5832 void set_physical_size(rose_addr_t) ROSE_DEPRECATED("use set_physicalSize");
5833 rose_addr_t get_virtual_size() const ROSE_DEPRECATED("use get_virtualSize");
5834 void set_virtual_size(rose_addr_t) ROSE_DEPRECATED("use set_virtualSize");
5861DECLARE_LEAF_CLASS(AsmNESection);
5862IS_SERIALIZABLE(AsmNESection);
5864#ifndef DOCUMENTATION
5865AsmNESection.useSmallHeader(
true);
5868DECLARE_HEADERS(AsmNESection);
5869#if defined(SgAsmNESection_HEADERS) || defined(DOCUMENTATION)
5870#ifdef ROSE_SgAsmNESection_IMPL
5871#include <SgAsmNESectionTableEntry.h>
5872#include <SgAsmNERelocTable.h>
5880#ifndef DOCUMENTATION
5881 AsmNESection.setDataPrototype(
5882 "SgAsmNESectionTableEntry*",
"sectionTableEntry",
"= nullptr",
5883 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5886#ifndef DOCUMENTATION
5887 AsmNESection.setDataPrototype(
5888 "SgAsmNERelocTable*",
"relocationTable",
"= nullptr",
5889 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5892 DECLARE_OTHERS(AsmNESection);
5893#if defined(SgAsmNESection_OTHERS) || defined(DOCUMENTATION)
5896#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5898 friend class boost::serialization::access;
5901 void serialize(S &s,
const unsigned ) {
5904 s & BOOST_SERIALIZATION_NVP(p_sectionTableEntry);
5905 s & BOOST_SERIALIZATION_NVP(p_relocationTable);
5919 virtual void unparse(std::ostream&)
const override;
5920 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5928 SgAsmNERelocTable* get_reloc_table() const ROSE_DEPRECATED("use get_relocationTable");
5929 void set_reloc_table(
SgAsmNERelocTable*) ROSE_DEPRECATED("use set_relocationTable");
5956DECLARE_LEAF_CLASS(AsmNERelocTable);
5957IS_SERIALIZABLE(AsmNERelocTable);
5959#ifndef DOCUMENTATION
5960AsmNERelocTable.useSmallHeader(
true);
5967#ifndef DOCUMENTATION
5968 AsmNERelocTable.setDataPrototype(
5969 "SgAsmNERelocEntryPtrList",
"entries",
"",
5970 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5973 DECLARE_OTHERS(AsmNERelocTable);
5974#if defined(SgAsmNERelocTable_OTHERS) || defined(DOCUMENTATION)
5977#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
5979 friend class boost::serialization::access;
5982 void serialize(S &s,
const unsigned ) {
5985 s & BOOST_SERIALIZATION_NVP(p_entries);
5991 SgAsmNERelocEntryPtrList
const& get_entries()
const;
5992 SgAsmNERelocEntryPtrList& get_entries();
5993 void set_entries(SgAsmNERelocEntryPtrList
const&);
5996 virtual void unparse(std::ostream&)
const override;
5997 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
6024DECLARE_LEAF_CLASS(AsmNERelocEntry);
6025IS_SERIALIZABLE(AsmNERelocEntry);
6027#ifndef DOCUMENTATION
6028AsmNERelocEntry.useSmallHeader(
true);
6035#ifndef DOCUMENTATION
6036 AsmNERelocEntry.setDataPrototype(
6037 "SgAsmNERelocEntry::NERelocSrcType",
"src_type",
"= SgAsmNERelocEntry::RF_SRCTYPE_8OFF",
6038 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6041#ifndef DOCUMENTATION
6042 AsmNERelocEntry.setDataPrototype(
6043 "SgAsmNERelocEntry::NERelocModifiers",
"modifier",
"= SgAsmNERelocEntry::RF_MODIFIER_SINGLE",
6044 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6047#ifndef DOCUMENTATION
6048 AsmNERelocEntry.setDataPrototype(
6049 "SgAsmNERelocEntry::NERelocTgtType",
"tgt_type",
"= SgAsmNERelocEntry::RF_TGTTYPE_IREF",
6050 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6053#ifndef DOCUMENTATION
6054 AsmNERelocEntry.setDataPrototype(
6055 "SgAsmNERelocEntry::NERelocFlags",
"flags",
"= SgAsmNERelocEntry::RF_ADDITIVE",
6056 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6059#ifndef DOCUMENTATION
6060 AsmNERelocEntry.setDataPrototype(
6061 "rose_addr_t",
"src_offset",
"= 0",
6062 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6065#ifndef DOCUMENTATION
6066 AsmNERelocEntry.setDataPrototype(
6067 "SgAsmNERelocEntry::iref_type",
"iref",
"",
6068 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6071#ifndef DOCUMENTATION
6072 AsmNERelocEntry.setDataPrototype(
6073 "SgAsmNERelocEntry::iord_type",
"iord",
"",
6074 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6077#ifndef DOCUMENTATION
6078 AsmNERelocEntry.setDataPrototype(
6079 "SgAsmNERelocEntry::iname_type",
"iname",
"",
6080 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6083#ifndef DOCUMENTATION
6084 AsmNERelocEntry.setDataPrototype(
6085 "SgAsmNERelocEntry::osfixup_type",
"osfixup",
"",
6086 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6089 DECLARE_OTHERS(AsmNERelocEntry);
6090#if defined(SgAsmNERelocEntry_OTHERS) || defined(DOCUMENTATION)
6093#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6095 friend class boost::serialization::access;
6098 void serialize(S &s,
const unsigned ) {
6101 s & BOOST_SERIALIZATION_NVP(p_src_type);
6102 s & BOOST_SERIALIZATION_NVP(p_modifier);
6103 s & BOOST_SERIALIZATION_NVP(p_tgt_type);
6104 s & BOOST_SERIALIZATION_NVP(p_flags);
6105 s & BOOST_SERIALIZATION_NVP(p_src_offset);
6106 s & BOOST_SERIALIZATION_NVP(p_iref);
6107 s & BOOST_SERIALIZATION_NVP(p_iord);
6108 s & BOOST_SERIALIZATION_NVP(p_iname);
6109 s & BOOST_SERIALIZATION_NVP(p_osfixup);
6119 enum NERelocSrcType {
6120 RF_SRCTYPE_8OFF = 0,
6121 RF_SRCTYPE_WORDSEG = 2,
6122 RF_SRCTYPE_16PTR = 3,
6123 RF_SRCTYPE_16OFF = 5,
6124 RF_SRCTYPE_32PTR = 6,
6125 RF_SRCTYPE_32OFF = 7,
6126 RF_SRCTYPE_NEARCALL = 8,
6127 RF_SRCTYPE_48PTR = 11,
6128 RF_SRCTYPE_32OFF_b = 13
6131 enum NERelocTgtType {
6132 RF_TGTTYPE_IREF = 0,
6133 RF_TGTTYPE_IORD = 1,
6134 RF_TGTTYPE_INAME = 2,
6135 RF_TGTTYPE_OSFIXUP = 3
6138 enum NERelocModifiers {
6139 RF_MODIFIER_SINGLE = 1,
6140 RF_MODIFIER_MULTI = 3
6148 RF_16SECTION = 0x10,
6158 rose_addr_t tgt_offset;
6160#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6162 void serialize(S &s,
const unsigned ) {
6163 s & BOOST_SERIALIZATION_NVP(sect_idx);
6164 s & BOOST_SERIALIZATION_NVP(res1);
6165 s & BOOST_SERIALIZATION_NVP(tgt_offset);
6170 friend std::ostream & operator<< ( std::ostream & os,
const iref_type & x );
6180#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6182 void serialize(S &s,
const unsigned ) {
6183 s & BOOST_SERIALIZATION_NVP(modref);
6184 s & BOOST_SERIALIZATION_NVP(ordinal);
6185 s & BOOST_SERIALIZATION_NVP(addend);
6190 friend std::ostream & operator<< ( std::ostream & os,
const iord_type & x );
6200#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6202 void serialize(S &s,
const unsigned ) {
6203 s & BOOST_SERIALIZATION_NVP(modref);
6204 s & BOOST_SERIALIZATION_NVP(nm_off);
6205 s & BOOST_SERIALIZATION_NVP(addend);
6210 friend std::ostream & operator<< ( std::ostream & os,
const iname_type & x );
6219#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6221 void serialize(S &s,
const unsigned ) {
6222 s & BOOST_SERIALIZATION_NVP(type);
6223 s & BOOST_SERIALIZATION_NVP(res3);
6228 friend std::ostream & operator<< ( std::ostream & os,
const osfixup_type & x );
6238 SgAsmNERelocEntry::NERelocSrcType
const& get_src_type()
const;
6239 void set_src_type(SgAsmNERelocEntry::NERelocSrcType
const&);
6242 SgAsmNERelocEntry::NERelocModifiers
const& get_modifier()
const;
6243 void set_modifier(SgAsmNERelocEntry::NERelocModifiers
const&);
6246 SgAsmNERelocEntry::NERelocTgtType
const& get_tgt_type()
const;
6247 void set_tgt_type(SgAsmNERelocEntry::NERelocTgtType
const&);
6250 SgAsmNERelocEntry::NERelocFlags
const& get_flags()
const;
6251 void set_flags(SgAsmNERelocEntry::NERelocFlags
const&);
6254 rose_addr_t
const& get_src_offset()
const;
6255 void set_src_offset(rose_addr_t
const&);
6278 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
6305DECLARE_LEAF_CLASS(AsmNENameTable);
6306IS_SERIALIZABLE(AsmNENameTable);
6308#ifndef DOCUMENTATION
6309AsmNENameTable.useSmallHeader(
true);
6316#ifndef DOCUMENTATION
6317 AsmNENameTable.setDataPrototype(
6318 "SgStringList",
"names",
"",
6319 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6322#ifndef DOCUMENTATION
6323 AsmNENameTable.setDataPrototype(
6324 "SgUnsignedList",
"ordinals",
"",
6325 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6328 DECLARE_OTHERS(AsmNENameTable);
6329#if defined(SgAsmNENameTable_OTHERS) || defined(DOCUMENTATION)
6332#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6334 friend class boost::serialization::access;
6337 void serialize(S &s,
const unsigned ) {
6340 s & BOOST_SERIALIZATION_NVP(p_names);
6341 s & BOOST_SERIALIZATION_NVP(p_ordinals);
6347 SgStringList
const& get_names()
const;
6348 void set_names(SgStringList
const&);
6351 SgUnsignedList
const& get_ordinals()
const;
6352 void set_ordinals(SgUnsignedList
const&);
6355 virtual void unparse(std::ostream&)
const override;
6356 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
6357 std::vector<std::string> get_namesByOrdinal(
unsigned ordinal);
6363 std::vector<std::string> get_names_by_ordinal(
unsigned) ROSE_DEPRECATED(
"use get_namesByOrdinal");
6390DECLARE_LEAF_CLASS(AsmNEModuleTable);
6391IS_SERIALIZABLE(AsmNEModuleTable);
6393#ifndef DOCUMENTATION
6394AsmNEModuleTable.useSmallHeader(
true);
6397DECLARE_HEADERS(AsmNEModuleTable);
6398#if defined(SgAsmNEModuleTable_HEADERS) || defined(DOCUMENTATION)
6399#ifdef ROSE_SgAsmNEModuleTable_IMPL
6400#include <SgAsmNEStringTable.h>
6408#ifndef DOCUMENTATION
6409 AsmNEModuleTable.setDataPrototype(
6410 "SgAsmNEStringTable*",
"strtab",
"= nullptr",
6411 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6414#ifndef DOCUMENTATION
6415 AsmNEModuleTable.setDataPrototype(
6416 "SgAddressList",
"nameOffsets",
"",
6417 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6420#ifndef DOCUMENTATION
6421 AsmNEModuleTable.setDataPrototype(
6422 "SgStringList",
"names",
"",
6423 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6426 DECLARE_OTHERS(AsmNEModuleTable);
6427#if defined(SgAsmNEModuleTable_OTHERS) || defined(DOCUMENTATION)
6430#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6432 friend class boost::serialization::access;
6435 void serialize(S &s,
const unsigned ) {
6438 s & BOOST_SERIALIZATION_NVP(p_strtab);
6439 s & BOOST_SERIALIZATION_NVP(p_nameOffsets);
6440 s & BOOST_SERIALIZATION_NVP(p_names);
6450 SgAddressList
const& get_nameOffsets()
const;
6451 void set_nameOffsets(SgAddressList
const&);
6454 SgStringList
const& get_names()
const;
6455 void set_names(SgStringList
const&);
6458 virtual void unparse(std::ostream&)
const override;
6459 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
6465 const SgAddressList& get_name_offsets() const ROSE_DEPRECATED("use get_nameOffsets");
6466 void set_name_offsets(const SgAddressList&) ROSE_DEPRECATED("use set_nameOffsets");
6493DECLARE_LEAF_CLASS(AsmNEFileHeader);
6494IS_SERIALIZABLE(AsmNEFileHeader);
6496#ifndef DOCUMENTATION
6497AsmNEFileHeader.useSmallHeader(
true);
6500DECLARE_HEADERS(AsmNEFileHeader);
6501#if defined(SgAsmNEFileHeader_HEADERS) || defined(DOCUMENTATION)
6502#include <Rose/BinaryAnalysis/Address.h>
6504#ifdef ROSE_SgAsmNEFileHeader_IMPL
6505#include <SgAsmDOSExtendedHeader.h>
6506#include <SgAsmNEEntryTable.h>
6507#include <SgAsmNEModuleTable.h>
6508#include <SgAsmNENameTable.h>
6509#include <SgAsmNESectionTable.h>
6517#ifndef DOCUMENTATION
6518 AsmNEFileHeader.setDataPrototype(
6519 "unsigned",
"e_linker_major",
"= 0",
6520 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6523#ifndef DOCUMENTATION
6524 AsmNEFileHeader.setDataPrototype(
6525 "unsigned",
"e_linker_minor",
"= 0",
6526 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6529#ifndef DOCUMENTATION
6530 AsmNEFileHeader.setDataPrototype(
6531 "unsigned",
"e_checksum",
"= 0",
6532 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6535#ifndef DOCUMENTATION
6536 AsmNEFileHeader.setDataPrototype(
6537 "unsigned",
"e_flags1",
"= 0",
6538 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6541#ifndef DOCUMENTATION
6542 AsmNEFileHeader.setDataPrototype(
6543 "unsigned",
"e_autodata_sn",
"= 0",
6544 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6547#ifndef DOCUMENTATION
6548 AsmNEFileHeader.setDataPrototype(
6549 "unsigned",
"e_bss_size",
"= 0",
6550 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6553#ifndef DOCUMENTATION
6554 AsmNEFileHeader.setDataPrototype(
6555 "unsigned",
"e_stack_size",
"= 0",
6556 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6559#ifndef DOCUMENTATION
6560 AsmNEFileHeader.setDataPrototype(
6561 "unsigned",
"e_csip",
"= 0",
6562 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6565#ifndef DOCUMENTATION
6566 AsmNEFileHeader.setDataPrototype(
6567 "unsigned",
"e_sssp",
"= 0",
6568 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6571#ifndef DOCUMENTATION
6572 AsmNEFileHeader.setDataPrototype(
6573 "unsigned",
"e_nsections",
"= 0",
6574 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6577#ifndef DOCUMENTATION
6578 AsmNEFileHeader.setDataPrototype(
6579 "unsigned",
"e_nmodrefs",
"= 0",
6580 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6583#ifndef DOCUMENTATION
6584 AsmNEFileHeader.setDataPrototype(
6585 "unsigned",
"e_nnonresnames",
"= 0",
6586 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6589#ifndef DOCUMENTATION
6590 AsmNEFileHeader.setDataPrototype(
6591 "unsigned",
"e_nmovable_entries",
"= 0",
6592 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6595#ifndef DOCUMENTATION
6596 AsmNEFileHeader.setDataPrototype(
6597 "unsigned",
"e_sector_align",
"= 0",
6598 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6601#ifndef DOCUMENTATION
6602 AsmNEFileHeader.setDataPrototype(
6603 "unsigned",
"e_nresources",
"= 0",
6604 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6607#ifndef DOCUMENTATION
6608 AsmNEFileHeader.setDataPrototype(
6609 "unsigned",
"e_exetype",
"= 0",
6610 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6613#ifndef DOCUMENTATION
6614 AsmNEFileHeader.setDataPrototype(
6615 "unsigned",
"e_flags2",
"= 0",
6616 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6619#ifndef DOCUMENTATION
6620 AsmNEFileHeader.setDataPrototype(
6621 "unsigned",
"e_res1",
"= 0",
6622 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6625#ifndef DOCUMENTATION
6626 AsmNEFileHeader.setDataPrototype(
6627 "unsigned",
"e_winvers",
"= 0",
6628 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6631#ifndef DOCUMENTATION
6632 AsmNEFileHeader.setDataPrototype(
6633 "rose_addr_t",
"e_entrytab_rfo",
"= 0",
6634 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6637#ifndef DOCUMENTATION
6638 AsmNEFileHeader.setDataPrototype(
6639 "rose_addr_t",
"e_entrytab_size",
"= 0",
6640 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6643#ifndef DOCUMENTATION
6644 AsmNEFileHeader.setDataPrototype(
6645 "rose_addr_t",
"e_sectab_rfo",
"= 0",
6646 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6649#ifndef DOCUMENTATION
6650 AsmNEFileHeader.setDataPrototype(
6651 "rose_addr_t",
"e_rsrctab_rfo",
"= 0",
6652 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6655#ifndef DOCUMENTATION
6656 AsmNEFileHeader.setDataPrototype(
6657 "rose_addr_t",
"e_resnametab_rfo",
"= 0",
6658 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6661#ifndef DOCUMENTATION
6662 AsmNEFileHeader.setDataPrototype(
6663 "rose_addr_t",
"e_modreftab_rfo",
"= 0",
6664 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6667#ifndef DOCUMENTATION
6668 AsmNEFileHeader.setDataPrototype(
6669 "rose_addr_t",
"e_importnametab_rfo",
"= 0",
6670 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6673#ifndef DOCUMENTATION
6674 AsmNEFileHeader.setDataPrototype(
6675 "rose_addr_t",
"e_nonresnametab_offset",
"= 0",
6676 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6679#ifndef DOCUMENTATION
6680 AsmNEFileHeader.setDataPrototype(
6681 "rose_addr_t",
"e_fastload_sector",
"= 0",
6682 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6685#ifndef DOCUMENTATION
6686 AsmNEFileHeader.setDataPrototype(
6687 "rose_addr_t",
"e_fastload_nsectors",
"= 0",
6688 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6691#ifndef DOCUMENTATION
6692 AsmNEFileHeader.setDataPrototype(
6693 "SgAsmDOSExtendedHeader*",
"dos2Header",
"= nullptr",
6694 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6697#ifndef DOCUMENTATION
6698 AsmNEFileHeader.setDataPrototype(
6699 "SgAsmNESectionTable*",
"sectionTable",
"= nullptr",
6700 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6703#ifndef DOCUMENTATION
6704 AsmNEFileHeader.setDataPrototype(
6705 "SgAsmNENameTable*",
"residentNameTable",
"= nullptr",
6706 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6709#ifndef DOCUMENTATION
6710 AsmNEFileHeader.setDataPrototype(
6711 "SgAsmNENameTable*",
"nonresidentNameTable",
"= nullptr",
6712 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6715#ifndef DOCUMENTATION
6716 AsmNEFileHeader.setDataPrototype(
6717 "SgAsmNEModuleTable*",
"moduleTable",
"= nullptr",
6718 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6721#ifndef DOCUMENTATION
6722 AsmNEFileHeader.setDataPrototype(
6723 "SgAsmNEEntryTable*",
"entryTable",
"= nullptr",
6724 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6727 DECLARE_OTHERS(AsmNEFileHeader);
6728#if defined(SgAsmNEFileHeader_OTHERS) || defined(DOCUMENTATION)
6731#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
6733 friend class boost::serialization::access;
6736 void serialize(S &s,
const unsigned ) {
6739 s & BOOST_SERIALIZATION_NVP(p_e_linker_major);
6740 s & BOOST_SERIALIZATION_NVP(p_e_linker_minor);
6741 s & BOOST_SERIALIZATION_NVP(p_e_checksum);
6742 s & BOOST_SERIALIZATION_NVP(p_e_flags1);
6743 s & BOOST_SERIALIZATION_NVP(p_e_autodata_sn);
6744 s & BOOST_SERIALIZATION_NVP(p_e_bss_size);
6745 s & BOOST_SERIALIZATION_NVP(p_e_stack_size);
6746 s & BOOST_SERIALIZATION_NVP(p_e_csip);
6747 s & BOOST_SERIALIZATION_NVP(p_e_sssp);
6748 s & BOOST_SERIALIZATION_NVP(p_e_nsections);
6749 s & BOOST_SERIALIZATION_NVP(p_e_nmodrefs);
6750 s & BOOST_SERIALIZATION_NVP(p_e_nnonresnames);
6751 s & BOOST_SERIALIZATION_NVP(p_e_nmovable_entries);
6752 s & BOOST_SERIALIZATION_NVP(p_e_sector_align);
6753 s & BOOST_SERIALIZATION_NVP(p_e_nresources);
6754 s & BOOST_SERIALIZATION_NVP(p_e_exetype);
6755 s & BOOST_SERIALIZATION_NVP(p_e_flags2);
6756 s & BOOST_SERIALIZATION_NVP(p_e_res1);
6757 s & BOOST_SERIALIZATION_NVP(p_e_winvers);
6758 s & BOOST_SERIALIZATION_NVP(p_e_entrytab_rfo);
6759 s & BOOST_SERIALIZATION_NVP(p_e_entrytab_size);
6760 s & BOOST_SERIALIZATION_NVP(p_e_sectab_rfo);
6761 s & BOOST_SERIALIZATION_NVP(p_e_rsrctab_rfo);
6762 s & BOOST_SERIALIZATION_NVP(p_e_resnametab_rfo);
6763 s & BOOST_SERIALIZATION_NVP(p_e_modreftab_rfo);
6764 s & BOOST_SERIALIZATION_NVP(p_e_importnametab_rfo);
6765 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_offset);
6766 s & BOOST_SERIALIZATION_NVP(p_e_fastload_sector);
6767 s & BOOST_SERIALIZATION_NVP(p_e_fastload_nsectors);
6768 s & BOOST_SERIALIZATION_NVP(p_dos2Header);
6769 s & BOOST_SERIALIZATION_NVP(p_sectionTable);
6770 s & BOOST_SERIALIZATION_NVP(p_residentNameTable);
6771 s & BOOST_SERIALIZATION_NVP(p_nonresidentNameTable);
6772 s & BOOST_SERIALIZATION_NVP(p_moduleTable);
6773 s & BOOST_SERIALIZATION_NVP(p_entryTable);
6792 unsigned char e_magic[2];
6793 unsigned char e_linker_major;
6794 unsigned char e_linker_minor;
6795 uint16_t e_entrytab_rfo;
6796 uint16_t e_entrytab_size;
6797 uint32_t e_checksum;
6799 uint16_t e_autodata_sn;
6800 uint16_t e_bss_size;
6801 uint16_t e_stack_size;
6804 uint16_t e_nsections;
6805 uint16_t e_nmodrefs;
6806 uint16_t e_nnonresnames;
6807 uint16_t e_sectab_rfo;
6808 uint16_t e_rsrctab_rfo;
6809 uint16_t e_resnametab_rfo;
6810 uint16_t e_modreftab_rfo;
6811 uint16_t e_importnametab_rfo;
6812 uint32_t e_nonresnametab_offset;
6813 uint16_t e_nmovable_entries;
6814 uint16_t e_sector_align;
6815 uint16_t e_nresources;
6816 unsigned char e_exetype;
6817 unsigned char e_flags2;
6818 uint16_t e_fastload_sector;
6819 uint16_t e_fastload_nsectors;
6826 __attribute__((packed))
6840 HF1_RESERVED = 0x57f4,
6841 HF1_NO_DATA = 0x0000,
6842 HF1_SINGLE_DATA = 0x0001,
6843 HF1_MULTIPLE_DATA = 0x0002,
6844 HF1_LOADER_SEGMENT = 0x0800,
6845 HF1_FATAL_ERRORS = 0x2000,
6846 HF1_LIBRARY = 0x8000
6851 HF2_RESERVED = 0xf1,
6852 HF2_PROTECTED_MODE = 0x02,
6862 unsigned const& get_e_linker_major()
const;
6863 void set_e_linker_major(
unsigned const&);
6866 unsigned const& get_e_linker_minor()
const;
6867 void set_e_linker_minor(
unsigned const&);
6870 unsigned const& get_e_checksum()
const;
6871 void set_e_checksum(
unsigned const&);
6874 unsigned const& get_e_flags1()
const;
6875 void set_e_flags1(
unsigned const&);
6878 unsigned const& get_e_autodata_sn()
const;
6879 void set_e_autodata_sn(
unsigned const&);
6882 unsigned const& get_e_bss_size()
const;
6883 void set_e_bss_size(
unsigned const&);
6886 unsigned const& get_e_stack_size()
const;
6887 void set_e_stack_size(
unsigned const&);
6890 unsigned const& get_e_csip()
const;
6891 void set_e_csip(
unsigned const&);
6894 unsigned const& get_e_sssp()
const;
6895 void set_e_sssp(
unsigned const&);
6898 unsigned const& get_e_nsections()
const;
6899 void set_e_nsections(
unsigned const&);
6902 unsigned const& get_e_nmodrefs()
const;
6903 void set_e_nmodrefs(
unsigned const&);
6906 unsigned const& get_e_nnonresnames()
const;
6907 void set_e_nnonresnames(
unsigned const&);
6910 unsigned const& get_e_nmovable_entries()
const;
6911 void set_e_nmovable_entries(
unsigned const&);
6914 unsigned const& get_e_sector_align()
const;
6915 void set_e_sector_align(
unsigned const&);
6918 unsigned const& get_e_nresources()
const;
6919 void set_e_nresources(
unsigned const&);
6922 unsigned const& get_e_exetype()
const;
6923 void set_e_exetype(
unsigned const&);
6926 unsigned const& get_e_flags2()
const;
6927 void set_e_flags2(
unsigned const&);
6930 unsigned const& get_e_res1()
const;
6931 void set_e_res1(
unsigned const&);
6934 unsigned const& get_e_winvers()
const;
6935 void set_e_winvers(
unsigned const&);
6938 rose_addr_t
const& get_e_entrytab_rfo()
const;
6939 void set_e_entrytab_rfo(rose_addr_t
const&);
6942 rose_addr_t
const& get_e_entrytab_size()
const;
6943 void set_e_entrytab_size(rose_addr_t
const&);
6946 rose_addr_t
const& get_e_sectab_rfo()
const;
6947 void set_e_sectab_rfo(rose_addr_t
const&);
6950 rose_addr_t
const& get_e_rsrctab_rfo()
const;
6951 void set_e_rsrctab_rfo(rose_addr_t
const&);
6954 rose_addr_t
const& get_e_resnametab_rfo()
const;
6955 void set_e_resnametab_rfo(rose_addr_t
const&);
6958 rose_addr_t
const& get_e_modreftab_rfo()
const;
6959 void set_e_modreftab_rfo(rose_addr_t
const&);
6962 rose_addr_t
const& get_e_importnametab_rfo()
const;
6963 void set_e_importnametab_rfo(rose_addr_t
const&);
6966 rose_addr_t
const& get_e_nonresnametab_offset()
const;
6967 void set_e_nonresnametab_offset(rose_addr_t
const&);
6970 rose_addr_t
const& get_e_fastload_sector()
const;
6971 void set_e_fastload_sector(rose_addr_t
const&);
6974 rose_addr_t
const& get_e_fastload_nsectors()
const;
6975 void set_e_fastload_nsectors(rose_addr_t
const&);
7008 virtual void unparse(std::ostream&)
const override;
7010 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7023 SgAsmNENameTable* get_resname_table() const ROSE_DEPRECATED("use get_residentNameTable");
7024 void set_resname_table(
SgAsmNENameTable*) ROSE_DEPRECATED("use set_residentNameTable");
7025 SgAsmNENameTable* get_nonresname_table() const ROSE_DEPRECATED("use get_nonresidentNameTable");
7026 void set_nonresname_table(
SgAsmNENameTable*) ROSE_DEPRECATED("use set_nonresidentNameTable");
7029 SgAsmNEEntryTable* get_entry_table() const ROSE_DEPRECATED("use get_entryTable");
7032 virtual const
char *format_name() const override ROSE_DEPRECATED("use
formatName");
7059DECLARE_LEAF_CLASS(AsmNEEntryTable);
7060IS_SERIALIZABLE(AsmNEEntryTable);
7062#ifndef DOCUMENTATION
7063AsmNEEntryTable.useSmallHeader(
true);
7070#ifndef DOCUMENTATION
7071 AsmNEEntryTable.setDataPrototype(
7072 "SgSizeTList",
"bundle_sizes",
"",
7073 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7076#ifndef DOCUMENTATION
7077 AsmNEEntryTable.setDataPrototype(
7078 "SgAsmNEEntryPointPtrList",
"entries",
"",
7079 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7082 DECLARE_OTHERS(AsmNEEntryTable);
7083#if defined(SgAsmNEEntryTable_OTHERS) || defined(DOCUMENTATION)
7086#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7088 friend class boost::serialization::access;
7091 void serialize(S &s,
const unsigned ) {
7094 s & BOOST_SERIALIZATION_NVP(p_bundle_sizes);
7095 s & BOOST_SERIALIZATION_NVP(p_entries);
7101 SgSizeTList
const& get_bundle_sizes()
const;
7102 void set_bundle_sizes(SgSizeTList
const&);
7105 SgAsmNEEntryPointPtrList
const& get_entries()
const;
7106 SgAsmNEEntryPointPtrList& get_entries();
7107 void set_entries(SgAsmNEEntryPointPtrList
const&);
7110 void populate_entries();
7111 virtual void unparse(std::ostream&)
const override;
7112 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7139DECLARE_LEAF_CLASS(AsmNEEntryPoint);
7140IS_SERIALIZABLE(AsmNEEntryPoint);
7142#ifndef DOCUMENTATION
7143AsmNEEntryPoint.useSmallHeader(
true);
7150#ifndef DOCUMENTATION
7151 AsmNEEntryPoint.setDataPrototype(
7152 "SgAsmNEEntryPoint::NEEntryFlags",
"flags",
"= SgAsmNEEntryPoint::EF_ZERO",
7153 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7156#ifndef DOCUMENTATION
7157 AsmNEEntryPoint.setDataPrototype(
7158 "unsigned",
"int3f",
"= 0",
7159 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7162#ifndef DOCUMENTATION
7163 AsmNEEntryPoint.setDataPrototype(
7164 "unsigned",
"sectionIndex",
"= 0",
7165 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7168#ifndef DOCUMENTATION
7169 AsmNEEntryPoint.setDataPrototype(
7170 "unsigned",
"sectionOffset",
"= 0",
7171 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7174 DECLARE_OTHERS(AsmNEEntryPoint);
7175#if defined(SgAsmNEEntryPoint_OTHERS) || defined(DOCUMENTATION)
7178#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7180 friend class boost::serialization::access;
7183 void serialize(S &s,
const unsigned ) {
7186 s & BOOST_SERIALIZATION_NVP(p_flags);
7187 s & BOOST_SERIALIZATION_NVP(p_int3f);
7188 s & BOOST_SERIALIZATION_NVP(p_sectionIndex);
7189 s & BOOST_SERIALIZATION_NVP(p_sectionOffset);
7209 SgAsmNEEntryPoint::NEEntryFlags
const& get_flags()
const;
7210 void set_flags(SgAsmNEEntryPoint::NEEntryFlags
const&);
7213 unsigned const& get_int3f()
const;
7214 void set_int3f(
unsigned const&);
7217 unsigned const& get_sectionIndex()
const;
7218 void set_sectionIndex(
unsigned const&);
7221 unsigned const& get_sectionOffset()
const;
7222 void set_sectionOffset(
unsigned const&);
7227 SgAsmNEEntryPoint(SgAsmNEEntryPoint::NEEntryFlags flags,
unsigned int3f,
unsigned s_idx,
unsigned s_off);
7228 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
7234 unsigned get_section_idx()
const ROSE_DEPRECATED(
"use get_sectionIndex");
7235 void set_section_idx(
unsigned) ROSE_DEPRECATED(
"use set_sectionIndex");
7236 unsigned get_section_offset()
const ROSE_DEPRECATED(
"use get_sectionOffset");
7237 void set_section_offset(
unsigned) ROSE_DEPRECATED(
"use set_sectionOffset");
7264DECLARE_LEAF_CLASS(AsmMipsInstruction);
7265IS_SERIALIZABLE(AsmMipsInstruction);
7267#ifndef DOCUMENTATION
7268AsmMipsInstruction.useSmallHeader(
true);
7271DECLARE_HEADERS(AsmMipsInstruction);
7272#if defined(SgAsmMipsInstruction_HEADERS) || defined(DOCUMENTATION)
7273#include <Rose/BinaryAnalysis/InstructionEnumsMips.h>
7281#ifndef DOCUMENTATION
7282 AsmMipsInstruction.setDataPrototype(
7283 "Rose::BinaryAnalysis::MipsInstructionKind",
"kind",
"= Rose::BinaryAnalysis::mips_unknown_instruction",
7284 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7287 DECLARE_OTHERS(AsmMipsInstruction);
7288#if defined(SgAsmMipsInstruction_OTHERS) || defined(DOCUMENTATION)
7291#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7293 friend class boost::serialization::access;
7296 void serialize(S &s,
const unsigned ) {
7299 s & BOOST_SERIALIZATION_NVP(p_kind);
7311 Rose::BinaryAnalysis::MipsInstructionKind
const&
get_kind()
const;
7312 void set_kind(Rose::BinaryAnalysis::MipsInstructionKind
const&);
7328 uint8_t
const& architectureId,
7329 Rose::BinaryAnalysis::MipsInstructionKind
const& kind);
7349DECLARE_LEAF_CLASS(AsmMemoryReferenceExpression);
7350IS_SERIALIZABLE(AsmMemoryReferenceExpression);
7352#ifndef DOCUMENTATION
7353AsmMemoryReferenceExpression.useSmallHeader(
true);
7361#ifndef DOCUMENTATION
7362 AsmMemoryReferenceExpression.setDataPrototype(
7363 "SgAsmExpression*",
"address",
"= nullptr",
7364 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7367#ifndef DOCUMENTATION
7368 AsmMemoryReferenceExpression.setDataPrototype(
7369 "SgAsmExpression*",
"segment",
"= nullptr",
7370 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7373 DECLARE_OTHERS(AsmMemoryReferenceExpression);
7374#if defined(SgAsmMemoryReferenceExpression_OTHERS) || defined(DOCUMENTATION)
7377#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7379 friend class boost::serialization::access;
7382 void serialize(S &s,
const unsigned ) {
7385 s & BOOST_SERIALIZATION_NVP(p_address);
7386 s & BOOST_SERIALIZATION_NVP(p_segment);
7446DECLARE_LEAF_CLASS(AsmM68kInstruction);
7447IS_SERIALIZABLE(AsmM68kInstruction);
7449#ifndef DOCUMENTATION
7450AsmM68kInstruction.useSmallHeader(
true);
7453DECLARE_HEADERS(AsmM68kInstruction);
7454#if defined(SgAsmM68kInstruction_HEADERS) || defined(DOCUMENTATION)
7455#include <Rose/BinaryAnalysis/InstructionEnumsM68k.h>
7462#ifndef DOCUMENTATION
7463 AsmM68kInstruction.setDataPrototype(
7464 "Rose::BinaryAnalysis::M68kInstructionKind",
"kind",
"= Rose::BinaryAnalysis::m68k_unknown_instruction",
7465 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7468#ifndef DOCUMENTATION
7469 AsmM68kInstruction.setDataPrototype(
7470 "Rose::BinaryAnalysis::M68kDataFormat",
"dataFormat",
"= Rose::BinaryAnalysis::m68k_fmt_unknown",
7471 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7474 DECLARE_OTHERS(AsmM68kInstruction);
7475#if defined(SgAsmM68kInstruction_OTHERS) || defined(DOCUMENTATION)
7478#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7480 friend class boost::serialization::access;
7483 void serialize(S &s,
const unsigned ) {
7486 s & BOOST_SERIALIZATION_NVP(p_kind);
7487 s & BOOST_SERIALIZATION_NVP(p_dataFormat);
7499 Rose::BinaryAnalysis::M68kInstructionKind
const&
get_kind()
const;
7500 void set_kind(Rose::BinaryAnalysis::M68kInstructionKind
const&);
7524 uint8_t
const& architectureId,
7525 Rose::BinaryAnalysis::M68kInstructionKind
const& kind,
7526 Rose::BinaryAnalysis::M68kDataFormat
const& dataFormat);
7546DECLARE_LEAF_CLASS(AsmLESectionTable);
7547IS_SERIALIZABLE(AsmLESectionTable);
7549#ifndef DOCUMENTATION
7550AsmLESectionTable.useSmallHeader(
true);
7557 DECLARE_OTHERS(AsmLESectionTable);
7558#if defined(SgAsmLESectionTable_OTHERS) || defined(DOCUMENTATION)
7561#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7563 friend class boost::serialization::access;
7566 void serialize(S &s,
const unsigned ) {
7574 virtual void unparse(std::ostream&)
const override;
7575 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7602DECLARE_LEAF_CLASS(AsmLESectionTableEntry);
7603IS_SERIALIZABLE(AsmLESectionTableEntry);
7605#ifndef DOCUMENTATION
7606AsmLESectionTableEntry.useSmallHeader(
true);
7609DECLARE_HEADERS(AsmLESectionTableEntry);
7610#if defined(SgAsmLESectionTableEntry_HEADERS) || defined(DOCUMENTATION)
7611#include <Rose/BinaryAnalysis/ByteOrder.h>
7618#ifndef DOCUMENTATION
7619 AsmLESectionTableEntry.setDataPrototype(
7620 "unsigned",
"flags",
"= 0",
7621 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7624#ifndef DOCUMENTATION
7625 AsmLESectionTableEntry.setDataPrototype(
7626 "unsigned",
"pageMapIndex",
"= 0",
7627 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7630#ifndef DOCUMENTATION
7631 AsmLESectionTableEntry.setDataPrototype(
7632 "unsigned",
"pageMapNEntries",
"= 0",
7633 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7636#ifndef DOCUMENTATION
7637 AsmLESectionTableEntry.setDataPrototype(
7638 "unsigned",
"res1",
"= 0",
7639 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7642#ifndef DOCUMENTATION
7643 AsmLESectionTableEntry.setDataPrototype(
7644 "rose_addr_t",
"mappedSize",
"= 0",
7645 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7648#ifndef DOCUMENTATION
7649 AsmLESectionTableEntry.setDataPrototype(
7650 "rose_addr_t",
"baseAddr",
"= 0",
7651 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7654 DECLARE_OTHERS(AsmLESectionTableEntry);
7655#if defined(SgAsmLESectionTableEntry_OTHERS) || defined(DOCUMENTATION)
7658#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7660 friend class boost::serialization::access;
7663 void serialize(S &s,
const unsigned ) {
7666 s & BOOST_SERIALIZATION_NVP(p_flags);
7667 s & BOOST_SERIALIZATION_NVP(p_pageMapIndex);
7668 s & BOOST_SERIALIZATION_NVP(p_pageMapNEntries);
7669 s & BOOST_SERIALIZATION_NVP(p_res1);
7670 s & BOOST_SERIALIZATION_NVP(p_mappedSize);
7671 s & BOOST_SERIALIZATION_NVP(p_baseAddr);
7684 uint32_t mapped_size;
7687 uint32_t pagemap_index;
7688 uint32_t pagemap_nentries;
7694 __attribute__((packed))
7708 SF_RESERVED = 0xffff0800,
7720 SF_TYPE_MASK = 0x00000300,
7721 SF_TYPE_NORMAL = 0x00000000,
7738 unsigned const& get_flags()
const;
7739 void set_flags(
unsigned const&);
7742 unsigned const& get_pageMapIndex()
const;
7743 void set_pageMapIndex(
unsigned const&);
7746 unsigned const& get_pageMapNEntries()
const;
7747 void set_pageMapNEntries(
unsigned const&);
7750 unsigned const& get_res1()
const;
7751 void set_res1(
unsigned const&);
7754 rose_addr_t
const& get_mappedSize()
const;
7755 void set_mappedSize(rose_addr_t
const&);
7758 rose_addr_t
const& get_baseAddr()
const;
7759 void set_baseAddr(rose_addr_t
const&);
7767 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
7773 unsigned get_pagemap_index() const ROSE_DEPRECATED("use get pageMapIndex");
7774 void set_pagemap_index(
unsigned) ROSE_DEPRECATED("use set_pageMapIndex");
7775 unsigned get_pagemap_nentries() const ROSE_DEPRECATED("use get_pageMapNEntries");
7776 void set_pagemap_nentries(
unsigned) ROSE_DEPRECATED("use set_pageMapNEntries");
7777 rose_addr_t get_mapped_size() const ROSE_DEPRECATED("use get_mappedSize");
7778 void set_mapped_size(rose_addr_t) ROSE_DEPRECATED("use set_mappedSize");
7779 rose_addr_t get_base_addr() const ROSE_DEPRECATED("use get_baseAddr");
7780 void set_base_addr(rose_addr_t) ROSE_DEPRECATED("use set_baseAddr");
7807DECLARE_LEAF_CLASS(AsmLESection);
7808IS_SERIALIZABLE(AsmLESection);
7810#ifndef DOCUMENTATION
7811AsmLESection.useSmallHeader(
true);
7814DECLARE_HEADERS(AsmLESection);
7815#if defined(SgAsmLESection_HEADERS) || defined(DOCUMENTATION)
7816#ifdef ROSE_SgAsmLESection_IMPL
7817#include <SgAsmLESectionTableEntry.h>
7825#ifndef DOCUMENTATION
7826 AsmLESection.setDataPrototype(
7827 "SgAsmLESectionTableEntry*",
"sectionTableEntry",
"= nullptr",
7828 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7831 DECLARE_OTHERS(AsmLESection);
7832#if defined(SgAsmLESection_OTHERS) || defined(DOCUMENTATION)
7835#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7837 friend class boost::serialization::access;
7840 void serialize(S &s,
const unsigned ) {
7843 s & BOOST_SERIALIZATION_NVP(p_sectionTableEntry);
7853 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7887DECLARE_LEAF_CLASS(AsmLERelocTable);
7888IS_SERIALIZABLE(AsmLERelocTable);
7890#ifndef DOCUMENTATION
7891AsmLERelocTable.useSmallHeader(
true);
7898#ifndef DOCUMENTATION
7899 AsmLERelocTable.setDataPrototype(
7900 "SgAsmLERelocEntryPtrList",
"entries",
"",
7901 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7904 DECLARE_OTHERS(AsmLERelocTable);
7905#if defined(SgAsmLERelocTable_OTHERS) || defined(DOCUMENTATION)
7908#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7910 friend class boost::serialization::access;
7913 void serialize(S &s,
const unsigned ) {
7916 s & BOOST_SERIALIZATION_NVP(p_entries);
7922 SgAsmLERelocEntryPtrList
const& get_entries()
const;
7923 SgAsmLERelocEntryPtrList& get_entries();
7924 void set_entries(SgAsmLERelocEntryPtrList
const&);
7927 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7954DECLARE_LEAF_CLASS(AsmLEPageTable);
7955IS_SERIALIZABLE(AsmLEPageTable);
7957#ifndef DOCUMENTATION
7958AsmLEPageTable.useSmallHeader(
true);
7965#ifndef DOCUMENTATION
7966 AsmLEPageTable.setDataPrototype(
7967 "SgAsmLEPageTableEntryPtrList",
"entries",
"",
7968 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7971 DECLARE_OTHERS(AsmLEPageTable);
7972#if defined(SgAsmLEPageTable_OTHERS) || defined(DOCUMENTATION)
7975#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
7977 friend class boost::serialization::access;
7980 void serialize(S &s,
const unsigned ) {
7983 s & BOOST_SERIALIZATION_NVP(p_entries);
7989 SgAsmLEPageTableEntryPtrList
const& get_entries()
const;
7990 SgAsmLEPageTableEntryPtrList& get_entries();
7991 void set_entries(SgAsmLEPageTableEntryPtrList
const&);
7994 virtual void unparse(std::ostream&)
const override;
7995 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
8023DECLARE_LEAF_CLASS(AsmLEPageTableEntry);
8024IS_SERIALIZABLE(AsmLEPageTableEntry);
8026#ifndef DOCUMENTATION
8027AsmLEPageTableEntry.useSmallHeader(
true);
8030DECLARE_HEADERS(AsmLEPageTableEntry);
8031#if defined(SgAsmLEPageTableEntry_HEADERS) || defined(DOCUMENTATION)
8032#include <Rose/BinaryAnalysis/ByteOrder.h>
8039#ifndef DOCUMENTATION
8040 AsmLEPageTableEntry.setDataPrototype(
8041 "unsigned",
"pageno",
"= 0",
8042 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8045#ifndef DOCUMENTATION
8046 AsmLEPageTableEntry.setDataPrototype(
8047 "unsigned",
"flags",
"= 0",
8048 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8051 DECLARE_OTHERS(AsmLEPageTableEntry);
8052#if defined(SgAsmLEPageTableEntry_OTHERS) || defined(DOCUMENTATION)
8055#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
8057 friend class boost::serialization::access;
8060 void serialize(S &s,
const unsigned ) {
8063 s & BOOST_SERIALIZATION_NVP(p_pageno);
8064 s & BOOST_SERIALIZATION_NVP(p_flags);
8084 unsigned char pageno_lo;
8085 unsigned char flags;
8090 __attribute__((packed))
8103 unsigned const& get_pageno()
const;
8104 void set_pageno(
unsigned const&);
8107 unsigned const& get_flags()
const;
8108 void set_flags(
unsigned const&);
8115 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
8143DECLARE_LEAF_CLASS(AsmLENameTable);
8144IS_SERIALIZABLE(AsmLENameTable);
8146#ifndef DOCUMENTATION
8147AsmLENameTable.useSmallHeader(
true);
8154#ifndef DOCUMENTATION
8155 AsmLENameTable.setDataPrototype(
8156 "SgStringList",
"names",
"",
8157 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8160#ifndef DOCUMENTATION
8161 AsmLENameTable.setDataPrototype(
8162 "SgUnsignedList",
"ordinals",
"",
8163 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8166 DECLARE_OTHERS(AsmLENameTable);
8167#if defined(SgAsmLENameTable_OTHERS) || defined(DOCUMENTATION)
8170#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
8172 friend class boost::serialization::access;
8175 void serialize(S &s,
const unsigned ) {
8178 s & BOOST_SERIALIZATION_NVP(p_names);
8179 s & BOOST_SERIALIZATION_NVP(p_ordinals);
8185 SgStringList
const& get_names()
const;
8186 void set_names(SgStringList
const&);
8189 SgUnsignedList
const& get_ordinals()
const;
8190 void set_ordinals(SgUnsignedList
const&);
8197 virtual void unparse(std::ostream&)
const override;
8198 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
8225DECLARE_LEAF_CLASS(AsmLEFileHeader);
8226IS_SERIALIZABLE(AsmLEFileHeader);
8228#ifndef DOCUMENTATION
8229AsmLEFileHeader.useSmallHeader(
true);
8232DECLARE_HEADERS(AsmLEFileHeader);
8233#if defined(SgAsmLEFileHeader_HEADERS) || defined(DOCUMENTATION)
8234#include <Rose/BinaryAnalysis/ByteOrder.h>
8236#ifdef ROSE_SgAsmLEFileHeader_IMPL
8237#include <SgAsmDOSExtendedHeader.h>
8238#include <SgAsmLEEntryTable.h>
8239#include <SgAsmLENameTable.h>
8240#include <SgAsmLEPageTable.h>
8241#include <SgAsmLERelocTable.h>
8242#include <SgAsmLESectionTable.h>
8250#ifndef DOCUMENTATION
8251 AsmLEFileHeader.setDataPrototype(
8252 "unsigned",
"e_byte_order",
"= 0",
8253 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8256#ifndef DOCUMENTATION
8257 AsmLEFileHeader.setDataPrototype(
8258 "unsigned",
"e_word_order",
"= 0",
8259 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8262#ifndef DOCUMENTATION
8263 AsmLEFileHeader.setDataPrototype(
8264 "unsigned",
"e_format_level",
"= 0",
8265 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8268#ifndef DOCUMENTATION
8269 AsmLEFileHeader.setDataPrototype(
8270 "unsigned",
"e_cpu_type",
"= 0",
8271 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8274#ifndef DOCUMENTATION
8275 AsmLEFileHeader.setDataPrototype(
8276 "unsigned",
"e_os_type",
"= 0",
8277 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8280#ifndef DOCUMENTATION
8281 AsmLEFileHeader.setDataPrototype(
8282 "unsigned",
"e_module_version",
"= 0",
8283 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8286#ifndef DOCUMENTATION
8287 AsmLEFileHeader.setDataPrototype(
8288 "unsigned",
"e_flags",
"= 0",
8289 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8292#ifndef DOCUMENTATION
8293 AsmLEFileHeader.setDataPrototype(
8294 "unsigned",
"e_eip_section",
"= 0",
8295 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8298#ifndef DOCUMENTATION
8299 AsmLEFileHeader.setDataPrototype(
8300 "unsigned",
"e_esp_section",
"= 0",
8301 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8304#ifndef DOCUMENTATION
8305 AsmLEFileHeader.setDataPrototype(
8306 "unsigned",
"e_last_page_size",
"= 0",
8307 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8310#ifndef DOCUMENTATION
8311 AsmLEFileHeader.setDataPrototype(
8312 "unsigned",
"e_page_offset_shift",
"= 0",
8313 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8316#ifndef DOCUMENTATION
8317 AsmLEFileHeader.setDataPrototype(
8318 "unsigned",
"e_fixup_sect_cksum",
"= 0",
8319 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8322#ifndef DOCUMENTATION
8323 AsmLEFileHeader.setDataPrototype(
8324 "unsigned",
"e_loader_sect_cksum",
"= 0",
8325 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8328#ifndef DOCUMENTATION
8329 AsmLEFileHeader.setDataPrototype(
8330 "unsigned",
"e_secttab_nentries",
"= 0",
8331 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8334#ifndef DOCUMENTATION
8335 AsmLEFileHeader.setDataPrototype(
8336 "unsigned",
"e_rsrctab_nentries",
"= 0",
8337 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8340#ifndef DOCUMENTATION
8341 AsmLEFileHeader.setDataPrototype(
8342 "unsigned",
"e_fmtdirtab_nentries",
"= 0",
8343 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8346#ifndef DOCUMENTATION
8347 AsmLEFileHeader.setDataPrototype(
8348 "unsigned",
"e_import_modtab_nentries",
"= 0",
8349 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8352#ifndef DOCUMENTATION
8353 AsmLEFileHeader.setDataPrototype(
8354 "unsigned",
"e_preload_npages",
"= 0",
8355 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8358#ifndef DOCUMENTATION
8359 AsmLEFileHeader.setDataPrototype(
8360 "unsigned",
"e_nonresnametab_size",
"= 0",
8361 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8364#ifndef DOCUMENTATION
8365 AsmLEFileHeader.setDataPrototype(
8366 "unsigned",
"e_nonresnametab_cksum",
"= 0",
8367 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8370#ifndef DOCUMENTATION
8371 AsmLEFileHeader.setDataPrototype(
8372 "unsigned",
"e_auto_ds_section",
"= 0",
8373 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8376#ifndef DOCUMENTATION
8377 AsmLEFileHeader.setDataPrototype(
8378 "unsigned",
"e_debug_info_size",
"= 0",
8379 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8382#ifndef DOCUMENTATION
8383 AsmLEFileHeader.setDataPrototype(
8384 "unsigned",
"e_num_instance_preload",
"= 0",
8385 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8388#ifndef DOCUMENTATION
8389 AsmLEFileHeader.setDataPrototype(
8390 "unsigned",
"e_num_instance_demand",
"= 0",
8391 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8394#ifndef DOCUMENTATION
8395 AsmLEFileHeader.setDataPrototype(
8396 "unsigned",
"e_heap_size",
"= 0",
8397 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8400#ifndef DOCUMENTATION
8401 AsmLEFileHeader.setDataPrototype(
8402 "rose_addr_t",
"e_npages",
"= 0",
8403 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8406#ifndef DOCUMENTATION
8407 AsmLEFileHeader.setDataPrototype(
8408 "rose_addr_t",
"e_eip",
"= 0",
8409 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8412#ifndef DOCUMENTATION
8413 AsmLEFileHeader.setDataPrototype(
8414 "rose_addr_t",
"e_esp",
"= 0",
8415 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8418#ifndef DOCUMENTATION
8419 AsmLEFileHeader.setDataPrototype(
8420 "rose_addr_t",
"e_page_size",
"= 0",
8421 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8424#ifndef DOCUMENTATION
8425 AsmLEFileHeader.setDataPrototype(
8426 "rose_addr_t",
"e_fixup_sect_size",
"= 0",
8427 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8430#ifndef DOCUMENTATION
8431 AsmLEFileHeader.setDataPrototype(
8432 "rose_addr_t",
"e_loader_sect_size",
"= 0",
8433 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8436#ifndef DOCUMENTATION
8437 AsmLEFileHeader.setDataPrototype(
8438 "rose_addr_t",
"e_secttab_rfo",
"= 0",
8439 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8442#ifndef DOCUMENTATION
8443 AsmLEFileHeader.setDataPrototype(
8444 "rose_addr_t",
"e_pagetab_rfo",
"= 0",
8445 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8448#ifndef DOCUMENTATION
8449 AsmLEFileHeader.setDataPrototype(
8450 "rose_addr_t",
"e_iterpages_offset",
"= 0",
8451 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8454#ifndef DOCUMENTATION
8455 AsmLEFileHeader.setDataPrototype(
8456 "rose_addr_t",
"e_rsrctab_rfo",
"= 0",
8457 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8460#ifndef DOCUMENTATION
8461 AsmLEFileHeader.setDataPrototype(
8462 "rose_addr_t",
"e_resnametab_rfo",
"= 0",
8463 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8466#ifndef DOCUMENTATION
8467 AsmLEFileHeader.setDataPrototype(
8468 "rose_addr_t",
"e_entrytab_rfo",
"= 0",
8469 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8472#ifndef DOCUMENTATION
8473 AsmLEFileHeader.setDataPrototype(
8474 "rose_addr_t",
"e_fmtdirtab_rfo",
"= 0",
8475 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8478#ifndef DOCUMENTATION
8479 AsmLEFileHeader.setDataPrototype(
8480 "rose_addr_t",
"e_fixup_pagetab_rfo",
"= 0",
8481 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8484#ifndef DOCUMENTATION
8485 AsmLEFileHeader.setDataPrototype(
8486 "rose_addr_t",
"e_fixup_rectab_rfo",
"= 0",
8487 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8490#ifndef DOCUMENTATION
8491 AsmLEFileHeader.setDataPrototype(
8492 "rose_addr_t",
"e_import_modtab_rfo",
"= 0",
8493 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8496#ifndef DOCUMENTATION
8497 AsmLEFileHeader.setDataPrototype(
8498 "rose_addr_t",
"e_import_proctab_rfo",
"= 0",
8499 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8502#ifndef DOCUMENTATION
8503 AsmLEFileHeader.setDataPrototype(
8504 "rose_addr_t",
"e_ppcksumtab_rfo",
"= 0",
8505 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8508#ifndef DOCUMENTATION
8509 AsmLEFileHeader.setDataPrototype(
8510 "rose_addr_t",
"e_data_pages_offset",
"= 0",
8511 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8514#ifndef DOCUMENTATION
8515 AsmLEFileHeader.setDataPrototype(
8516 "rose_addr_t",
"e_nonresnametab_offset",
"= 0",
8517 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8520#ifndef DOCUMENTATION
8521 AsmLEFileHeader.setDataPrototype(
8522 "rose_addr_t",
"e_debug_info_rfo",
"= 0",
8523 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8526#ifndef DOCUMENTATION
8527 AsmLEFileHeader.setDataPrototype(
8528 "SgAsmDOSExtendedHeader*",
"dos2Header",
"= nullptr",
8529 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8532#ifndef DOCUMENTATION
8533 AsmLEFileHeader.setDataPrototype(
8534 "SgAsmLESectionTable*",
"sectionTable",
"= nullptr",
8535 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8538#ifndef DOCUMENTATION
8539 AsmLEFileHeader.setDataPrototype(
8540 "SgAsmLEPageTable*",
"pageTable",
"= nullptr",
8541 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8544#ifndef DOCUMENTATION
8545 AsmLEFileHeader.setDataPrototype(
8546 "SgAsmLENameTable*",
"residentNameTable",
"= nullptr",
8547 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8550#ifndef DOCUMENTATION
8551 AsmLEFileHeader.setDataPrototype(
8552 "SgAsmLENameTable*",
"nonresidentNameTable",
"= nullptr",
8553 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8556#ifndef DOCUMENTATION
8557 AsmLEFileHeader.setDataPrototype(
8558 "SgAsmLEEntryTable*",
"entryTable",
"= nullptr",
8559 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8562#ifndef DOCUMENTATION
8563 AsmLEFileHeader.setDataPrototype(
8564 "SgAsmLERelocTable*",
"relocationTable",
"= nullptr",
8565 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8568 DECLARE_OTHERS(AsmLEFileHeader);
8569#if defined(SgAsmLEFileHeader_OTHERS) || defined(DOCUMENTATION)
8572#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
8574 friend class boost::serialization::access;
8577 void serialize(S &s,
const unsigned ) {
8580 s & BOOST_SERIALIZATION_NVP(p_e_byte_order);
8581 s & BOOST_SERIALIZATION_NVP(p_e_word_order);
8582 s & BOOST_SERIALIZATION_NVP(p_e_format_level);
8583 s & BOOST_SERIALIZATION_NVP(p_e_cpu_type);
8584 s & BOOST_SERIALIZATION_NVP(p_e_os_type);
8585 s & BOOST_SERIALIZATION_NVP(p_e_module_version);
8586 s & BOOST_SERIALIZATION_NVP(p_e_flags);
8587 s & BOOST_SERIALIZATION_NVP(p_e_eip_section);
8588 s & BOOST_SERIALIZATION_NVP(p_e_esp_section);
8589 s & BOOST_SERIALIZATION_NVP(p_e_last_page_size);
8590 s & BOOST_SERIALIZATION_NVP(p_e_page_offset_shift);
8591 s & BOOST_SERIALIZATION_NVP(p_e_fixup_sect_cksum);
8592 s & BOOST_SERIALIZATION_NVP(p_e_loader_sect_cksum);
8593 s & BOOST_SERIALIZATION_NVP(p_e_secttab_nentries);
8594 s & BOOST_SERIALIZATION_NVP(p_e_rsrctab_nentries);
8595 s & BOOST_SERIALIZATION_NVP(p_e_fmtdirtab_nentries);
8596 s & BOOST_SERIALIZATION_NVP(p_e_import_modtab_nentries);
8597 s & BOOST_SERIALIZATION_NVP(p_e_preload_npages);
8598 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_size);
8599 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_cksum);
8600 s & BOOST_SERIALIZATION_NVP(p_e_auto_ds_section);
8601 s & BOOST_SERIALIZATION_NVP(p_e_debug_info_size);
8602 s & BOOST_SERIALIZATION_NVP(p_e_num_instance_preload);
8603 s & BOOST_SERIALIZATION_NVP(p_e_num_instance_demand);
8604 s & BOOST_SERIALIZATION_NVP(p_e_heap_size);
8605 s & BOOST_SERIALIZATION_NVP(p_e_npages);
8606 s & BOOST_SERIALIZATION_NVP(p_e_eip);
8607 s & BOOST_SERIALIZATION_NVP(p_e_esp);
8608 s & BOOST_SERIALIZATION_NVP(p_e_page_size);
8609 s & BOOST_SERIALIZATION_NVP(p_e_fixup_sect_size);
8610 s & BOOST_SERIALIZATION_NVP(p_e_loader_sect_size);
8611 s & BOOST_SERIALIZATION_NVP(p_e_secttab_rfo);
8612 s & BOOST_SERIALIZATION_NVP(p_e_pagetab_rfo);
8613 s & BOOST_SERIALIZATION_NVP(p_e_iterpages_offset);
8614 s & BOOST_SERIALIZATION_NVP(p_e_rsrctab_rfo);
8615 s & BOOST_SERIALIZATION_NVP(p_e_resnametab_rfo);
8616 s & BOOST_SERIALIZATION_NVP(p_e_entrytab_rfo);
8617 s & BOOST_SERIALIZATION_NVP(p_e_fmtdirtab_rfo);
8618 s & BOOST_SERIALIZATION_NVP(p_e_fixup_pagetab_rfo);
8619 s & BOOST_SERIALIZATION_NVP(p_e_fixup_rectab_rfo);
8620 s & BOOST_SERIALIZATION_NVP(p_e_import_modtab_rfo);
8621 s & BOOST_SERIALIZATION_NVP(p_e_import_proctab_rfo);
8622 s & BOOST_SERIALIZATION_NVP(p_e_ppcksumtab_rfo);
8623 s & BOOST_SERIALIZATION_NVP(p_e_data_pages_offset);
8624 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_offset);
8625 s & BOOST_SERIALIZATION_NVP(p_e_debug_info_rfo);
8626 s & BOOST_SERIALIZATION_NVP(p_dos2Header);
8627 s & BOOST_SERIALIZATION_NVP(p_sectionTable);
8628 s & BOOST_SERIALIZATION_NVP(p_pageTable);
8629 s & BOOST_SERIALIZATION_NVP(p_residentNameTable);
8630 s & BOOST_SERIALIZATION_NVP(p_nonresidentNameTable);
8631 s & BOOST_SERIALIZATION_NVP(p_entryTable);
8632 s & BOOST_SERIALIZATION_NVP(p_relocationTable);
8645 unsigned char e_magic[2];
8646 unsigned char e_byte_order;
8647 unsigned char e_word_order;
8648 uint32_t e_format_level;
8649 uint16_t e_cpu_type;
8651 uint32_t e_module_version;
8654 uint32_t e_eip_section;
8656 uint32_t e_esp_section;
8658 uint32_t e_page_size;
8659 uint32_t e_lps_or_shift;
8660 uint32_t e_fixup_sect_size;
8661 uint32_t e_fixup_sect_cksum;
8662 uint32_t e_loader_sect_size;
8663 uint32_t e_loader_sect_cksum;
8664 uint32_t e_secttab_rfo;
8665 uint32_t e_secttab_nentries;
8666 uint32_t e_pagetab_rfo;
8667 uint32_t e_iterpages_offset;
8668 uint32_t e_rsrctab_rfo;
8669 uint32_t e_rsrctab_nentries;
8670 uint32_t e_resnametab_rfo;
8671 uint32_t e_entrytab_rfo;
8672 uint32_t e_fmtdirtab_rfo;
8673 uint32_t e_fmtdirtab_nentries;
8674 uint32_t e_fixup_pagetab_rfo;
8675 uint32_t e_fixup_rectab_rfo;
8676 uint32_t e_import_modtab_rfo;
8677 uint32_t e_import_modtab_nentries;
8678 uint32_t e_import_proctab_rfo;
8679 uint32_t e_ppcksumtab_rfo;
8680 uint32_t e_data_pages_offset;
8681 uint32_t e_preload_npages;
8682 uint32_t e_nonresnametab_offset;
8683 uint32_t e_nonresnametab_size;
8684 uint32_t e_nonresnametab_cksum;
8685 uint32_t e_auto_ds_section;
8686 uint32_t e_debug_info_rfo;
8687 uint32_t e_debug_info_size;
8688 uint32_t e_num_instance_preload;
8689 uint32_t e_num_instance_demand;
8690 uint32_t e_heap_size;
8695 __attribute__((packed))
8703 enum LEFileHeaderFlags {
8704 HF_RESERVED = 0xbffc5ccb,
8705 HF_PROC_LIB_INIT = 0x00000004,
8706 HF_IFIXUPS_APPLIED = 0x00000010,
8707 HF_EFIXUPS_APPLIED = 0x00000020,
8708 HF_PM_WINDOW_NO = 0x00000100,
8709 HF_PM_WINDOW_OK = 0x00000200,
8710 HF_PM_WINDOW_USE = 0x00000300,
8711 HF_NOT_LOADABLE = 0x00002000,
8712 HF_PROC_LIB_TERM = 0x40000000,
8714 HF_MODTYPE_MASK = 0x00038000,
8715 HF_MODTYPE_PROG = 0x00000000,
8716 HF_MODTYPE_LIB = 0x00008000,
8717 HF_MODTYPE_PLIB = 0x00018000,
8718 HF_MODTYPE_PDEV = 0x00020000,
8719 HF_MODTYPE_VDEV = 0x00028000
8727 unsigned const& get_e_byte_order()
const;
8728 void set_e_byte_order(
unsigned const&);
8731 unsigned const& get_e_word_order()
const;
8732 void set_e_word_order(
unsigned const&);
8735 unsigned const& get_e_format_level()
const;
8736 void set_e_format_level(
unsigned const&);
8739 unsigned const& get_e_cpu_type()
const;
8740 void set_e_cpu_type(
unsigned const&);
8743 unsigned const& get_e_os_type()
const;
8744 void set_e_os_type(
unsigned const&);
8747 unsigned const& get_e_module_version()
const;
8748 void set_e_module_version(
unsigned const&);
8751 unsigned const& get_e_flags()
const;
8752 void set_e_flags(
unsigned const&);
8755 unsigned const& get_e_eip_section()
const;
8756 void set_e_eip_section(
unsigned const&);
8759 unsigned const& get_e_esp_section()
const;
8760 void set_e_esp_section(
unsigned const&);
8763 unsigned const& get_e_last_page_size()
const;
8764 void set_e_last_page_size(
unsigned const&);
8767 unsigned const& get_e_page_offset_shift()
const;
8768 void set_e_page_offset_shift(
unsigned const&);
8771 unsigned const& get_e_fixup_sect_cksum()
const;
8772 void set_e_fixup_sect_cksum(
unsigned const&);
8775 unsigned const& get_e_loader_sect_cksum()
const;
8776 void set_e_loader_sect_cksum(
unsigned const&);
8779 unsigned const& get_e_secttab_nentries()
const;
8780 void set_e_secttab_nentries(
unsigned const&);
8783 unsigned const& get_e_rsrctab_nentries()
const;
8784 void set_e_rsrctab_nentries(
unsigned const&);
8787 unsigned const& get_e_fmtdirtab_nentries()
const;
8788 void set_e_fmtdirtab_nentries(
unsigned const&);
8791 unsigned const& get_e_import_modtab_nentries()
const;
8792 void set_e_import_modtab_nentries(
unsigned const&);
8795 unsigned const& get_e_preload_npages()
const;
8796 void set_e_preload_npages(
unsigned const&);
8799 unsigned const& get_e_nonresnametab_size()
const;
8800 void set_e_nonresnametab_size(
unsigned const&);
8803 unsigned const& get_e_nonresnametab_cksum()
const;
8804 void set_e_nonresnametab_cksum(
unsigned const&);
8807 unsigned const& get_e_auto_ds_section()
const;
8808 void set_e_auto_ds_section(
unsigned const&);
8811 unsigned const& get_e_debug_info_size()
const;
8812 void set_e_debug_info_size(
unsigned const&);
8815 unsigned const& get_e_num_instance_preload()
const;
8816 void set_e_num_instance_preload(
unsigned const&);
8819 unsigned const& get_e_num_instance_demand()
const;
8820 void set_e_num_instance_demand(
unsigned const&);
8823 unsigned const& get_e_heap_size()
const;
8824 void set_e_heap_size(
unsigned const&);
8827 rose_addr_t
const& get_e_npages()
const;
8828 void set_e_npages(rose_addr_t
const&);
8831 rose_addr_t
const& get_e_eip()
const;
8832 void set_e_eip(rose_addr_t
const&);
8835 rose_addr_t
const& get_e_esp()
const;
8836 void set_e_esp(rose_addr_t
const&);
8839 rose_addr_t
const& get_e_page_size()
const;
8840 void set_e_page_size(rose_addr_t
const&);
8843 rose_addr_t
const& get_e_fixup_sect_size()
const;
8844 void set_e_fixup_sect_size(rose_addr_t
const&);
8847 rose_addr_t
const& get_e_loader_sect_size()
const;
8848 void set_e_loader_sect_size(rose_addr_t
const&);
8851 rose_addr_t
const& get_e_secttab_rfo()
const;
8852 void set_e_secttab_rfo(rose_addr_t
const&);
8855 rose_addr_t
const& get_e_pagetab_rfo()
const;
8856 void set_e_pagetab_rfo(rose_addr_t
const&);
8859 rose_addr_t
const& get_e_iterpages_offset()
const;
8860 void set_e_iterpages_offset(rose_addr_t
const&);
8863 rose_addr_t
const& get_e_rsrctab_rfo()
const;
8864 void set_e_rsrctab_rfo(rose_addr_t
const&);
8867 rose_addr_t
const& get_e_resnametab_rfo()
const;
8868 void set_e_resnametab_rfo(rose_addr_t
const&);
8871 rose_addr_t
const& get_e_entrytab_rfo()
const;
8872 void set_e_entrytab_rfo(rose_addr_t
const&);
8875 rose_addr_t
const& get_e_fmtdirtab_rfo()
const;
8876 void set_e_fmtdirtab_rfo(rose_addr_t
const&);
8879 rose_addr_t
const& get_e_fixup_pagetab_rfo()
const;
8880 void set_e_fixup_pagetab_rfo(rose_addr_t
const&);
8883 rose_addr_t
const& get_e_fixup_rectab_rfo()
const;
8884 void set_e_fixup_rectab_rfo(rose_addr_t
const&);
8887 rose_addr_t
const& get_e_import_modtab_rfo()
const;
8888 void set_e_import_modtab_rfo(rose_addr_t
const&);
8891 rose_addr_t
const& get_e_import_proctab_rfo()
const;
8892 void set_e_import_proctab_rfo(rose_addr_t
const&);
8895 rose_addr_t
const& get_e_ppcksumtab_rfo()
const;
8896 void set_e_ppcksumtab_rfo(rose_addr_t
const&);
8899 rose_addr_t
const& get_e_data_pages_offset()
const;
8900 void set_e_data_pages_offset(rose_addr_t
const&);
8903 rose_addr_t
const& get_e_nonresnametab_offset()
const;
8904 void set_e_nonresnametab_offset(rose_addr_t
const&);
8907 rose_addr_t
const& get_e_debug_info_rfo()
const;
8908 void set_e_debug_info_rfo(rose_addr_t
const&);
8942 virtual void unparse(std::ostream&)
const override;
8943 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
8962 SgAsmLEPageTable* get_page_table() const ROSE_DEPRECATED("use get_pageTable");
8963 void set_page_table(
SgAsmLEPageTable*) ROSE_DEPRECATED("use set_pageTable");
8964 SgAsmLENameTable* get_resname_table() const ROSE_DEPRECATED("use get_residentNameTable");
8965 void set_resname_table(
SgAsmLENameTable*) ROSE_DEPRECATED("use set_residentNameTable");
8966 SgAsmLENameTable* get_nonresname_table() const ROSE_DEPRECATED("use get_nonresidentNameTable");
8967 void set_nonresname_table(
SgAsmLENameTable*) ROSE_DEPRECATED("use set_nonresidentNameTable");
8968 SgAsmLEEntryTable* get_entry_table() const ROSE_DEPRECATED("use get_entryTable");
8970 SgAsmLERelocTable* get_reloc_table() const ROSE_DEPRECATED("use get_relocationTable");
8971 void set_reloc_table(
SgAsmLERelocTable*) ROSE_DEPRECATED("use set_relocationTable");
8972 const
char *format_name() const override ROSE_DEPRECATED("use
formatName");
9000DECLARE_LEAF_CLASS(AsmLEEntryTable);
9001IS_SERIALIZABLE(AsmLEEntryTable);
9003#ifndef DOCUMENTATION
9004AsmLEEntryTable.useSmallHeader(
true);
9011#ifndef DOCUMENTATION
9012 AsmLEEntryTable.setDataPrototype(
9013 "SgSizeTList",
"bundle_sizes",
"",
9014 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9017#ifndef DOCUMENTATION
9018 AsmLEEntryTable.setDataPrototype(
9019 "SgAsmLEEntryPointPtrList",
"entries",
"",
9020 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
9023 DECLARE_OTHERS(AsmLEEntryTable);
9024#if defined(SgAsmLEEntryTable_OTHERS) || defined(DOCUMENTATION)
9027#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9029 friend class boost::serialization::access;
9032 void serialize(S &s,
const unsigned ) {
9035 s & BOOST_SERIALIZATION_NVP(p_bundle_sizes);
9036 s & BOOST_SERIALIZATION_NVP(p_entries);
9042 SgSizeTList
const& get_bundle_sizes()
const;
9043 void set_bundle_sizes(SgSizeTList
const&);
9046 SgAsmLEEntryPointPtrList
const& get_entries()
const;
9047 SgAsmLEEntryPointPtrList& get_entries();
9048 void set_entries(SgAsmLEEntryPointPtrList
const&);
9051 virtual void unparse(std::ostream&)
const override;
9052 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9079DECLARE_LEAF_CLASS(AsmLEEntryPoint);
9080IS_SERIALIZABLE(AsmLEEntryPoint);
9082#ifndef DOCUMENTATION
9083AsmLEEntryPoint.useSmallHeader(
true);
9086DECLARE_HEADERS(AsmLEEntryPoint);
9087#if defined(SgAsmLEEntryPoint_HEADERS) || defined(DOCUMENTATION)
9088#include <Rose/BinaryAnalysis/ByteOrder.h>
9089#include <sageContainer.h>
9096#ifndef DOCUMENTATION
9097 AsmLEEntryPoint.setDataPrototype(
9098 "SgAsmLEEntryPointPtrList",
"entries",
"",
9099 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
9102#ifndef DOCUMENTATION
9103 AsmLEEntryPoint.setDataPrototype(
9104 "unsigned",
"flags",
"= 0",
9105 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9108#ifndef DOCUMENTATION
9109 AsmLEEntryPoint.setDataPrototype(
9110 "unsigned",
"objnum",
"= 0",
9111 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9114#ifndef DOCUMENTATION
9115 AsmLEEntryPoint.setDataPrototype(
9116 "unsigned",
"entry_type",
"= 0",
9117 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9120#ifndef DOCUMENTATION
9121 AsmLEEntryPoint.setDataPrototype(
9122 "unsigned",
"res1",
"= 0",
9123 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9126#ifndef DOCUMENTATION
9127 AsmLEEntryPoint.setDataPrototype(
9128 "rose_addr_t",
"entry_offset",
"= 0",
9129 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9132 DECLARE_OTHERS(AsmLEEntryPoint);
9133#if defined(SgAsmLEEntryPoint_OTHERS) || defined(DOCUMENTATION)
9136#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9138 friend class boost::serialization::access;
9141 void serialize(S &s,
const unsigned ) {
9144 s & BOOST_SERIALIZATION_NVP(p_entries);
9145 s & BOOST_SERIALIZATION_NVP(p_flags);
9146 s & BOOST_SERIALIZATION_NVP(p_objnum);
9147 s & BOOST_SERIALIZATION_NVP(p_entry_type);
9148 s & BOOST_SERIALIZATION_NVP(p_res1);
9149 s & BOOST_SERIALIZATION_NVP(p_entry_offset);
9166 uint32_t entry_offset;
9172 __attribute__((packed))
9185 SgAsmLEEntryPointPtrList
const& get_entries()
const;
9186 SgAsmLEEntryPointPtrList& get_entries();
9187 void set_entries(SgAsmLEEntryPointPtrList
const&);
9190 unsigned const& get_flags()
const;
9191 void set_flags(
unsigned const&);
9194 unsigned const& get_objnum()
const;
9195 void set_objnum(
unsigned const&);
9198 unsigned const& get_entry_type()
const;
9199 void set_entry_type(
unsigned const&);
9202 unsigned const& get_res1()
const;
9203 void set_res1(
unsigned const&);
9206 rose_addr_t
const& get_entry_offset()
const;
9207 void set_entry_offset(rose_addr_t
const&);
9215 rose_addr_t spos)
const;
9216 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
9243DECLARE_LEAF_CLASS(AsmJvmStackMapVerificationType);
9244IS_SERIALIZABLE(AsmJvmStackMapVerificationType);
9246#ifndef DOCUMENTATION
9247AsmJvmStackMapVerificationType.useSmallHeader(
true);
9257#ifndef DOCUMENTATION
9258 AsmJvmStackMapVerificationType.setDataPrototype(
9259 "uint8_t",
"tag",
"= 9",
9260 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9263#ifndef DOCUMENTATION
9264 AsmJvmStackMapVerificationType.setDataPrototype(
9265 "uint16_t",
"cpool_index",
"= 0",
9266 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9269#ifndef DOCUMENTATION
9270 AsmJvmStackMapVerificationType.setDataPrototype(
9271 "uint16_t",
"offset",
"= 0",
9272 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9275 DECLARE_OTHERS(AsmJvmStackMapVerificationType);
9276#if defined(SgAsmJvmStackMapVerificationType_OTHERS) || defined(DOCUMENTATION)
9279#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9281 friend class boost::serialization::access;
9284 void serialize(S &s,
const unsigned ) {
9287 s & BOOST_SERIALIZATION_NVP(p_tag);
9288 s & BOOST_SERIALIZATION_NVP(p_cpool_index);
9289 s & BOOST_SERIALIZATION_NVP(p_offset);
9298 enum verification_type_tag {
9305 ITEM_UninitializedThis = 6,
9307 ITEM_Uninitialized = 8
9317 union verification_type_info {
9319 Integer_variable_info;
9320 Float_variable_info;
9322 Double_variable_info;
9324 UninitializedThis_variable_info;
9325 Object_variable_info;
9326 Uninitialized_variable_info;
9330 struct Top_variable_info {
9333 struct Integer_variable_info {
9336 struct Float_variable_info {
9339 struct Long_variable_info {
9342 struct Double_variable_info {
9345 struct Null_variable_info {
9348 struct UnitializedThis_variable_info {
9351 struct Object_variable_info {
9353 uint16_t cpool_index;
9355 struct Unitialized_variable_info {
9407 virtual void unparse(std::ostream&)
const override;
9410 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9437DECLARE_LEAF_CLASS(AsmJvmStackMapTable);
9438IS_SERIALIZABLE(AsmJvmStackMapTable);
9440#ifndef DOCUMENTATION
9441AsmJvmStackMapTable.useSmallHeader(
true);
9444DECLARE_HEADERS(AsmJvmStackMapTable);
9445#if defined(SgAsmJvmStackMapTable_HEADERS) || defined(DOCUMENTATION)
9446#include <sageContainer.h>
9457#ifndef DOCUMENTATION
9458 AsmJvmStackMapTable.setDataPrototype(
9459 "SgAsmJvmStackMapFramePtrList",
"entries",
"",
9460 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9463 DECLARE_OTHERS(AsmJvmStackMapTable);
9464#if defined(SgAsmJvmStackMapTable_OTHERS) || defined(DOCUMENTATION)
9467#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9469 friend class boost::serialization::access;
9472 void serialize(S &s,
const unsigned ) {
9475 s & BOOST_SERIALIZATION_NVP(p_entries);
9504 virtual void unparse(std::ostream&)
const override;
9507 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9534DECLARE_LEAF_CLASS(AsmJvmStackMapFrame);
9535IS_SERIALIZABLE(AsmJvmStackMapFrame);
9537#ifndef DOCUMENTATION
9538AsmJvmStackMapFrame.useSmallHeader(
true);
9541DECLARE_HEADERS(AsmJvmStackMapFrame);
9542#if defined(SgAsmJvmStackMapFrame_HEADERS) || defined(DOCUMENTATION)
9543#include <sageContainer.h>
9553#ifndef DOCUMENTATION
9554 AsmJvmStackMapFrame.setDataPrototype(
9555 "SgAsmJvmStackMapVerificationTypePtrList",
"stack",
"",
9556 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9559#ifndef DOCUMENTATION
9560 AsmJvmStackMapFrame.setDataPrototype(
9561 "SgAsmJvmStackMapVerificationTypePtrList",
"locals",
"",
9562 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9565#ifndef DOCUMENTATION
9566 AsmJvmStackMapFrame.setDataPrototype(
9567 "uint8_t",
"frame_type",
"= 0",
9568 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9571#ifndef DOCUMENTATION
9572 AsmJvmStackMapFrame.setDataPrototype(
9573 "uint16_t",
"offset_delta",
"= 0",
9574 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9577 DECLARE_OTHERS(AsmJvmStackMapFrame);
9578#if defined(SgAsmJvmStackMapFrame_OTHERS) || defined(DOCUMENTATION)
9581#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9583 friend class boost::serialization::access;
9586 void serialize(S &s,
const unsigned ) {
9589 s & BOOST_SERIALIZATION_NVP(p_stack);
9590 s & BOOST_SERIALIZATION_NVP(p_locals);
9591 s & BOOST_SERIALIZATION_NVP(p_frame_type);
9592 s & BOOST_SERIALIZATION_NVP(p_offset_delta);
9602 SgAsmJvmStackMapVerificationTypePtrList
const&
get_stack()
const;
9604 void set_stack(SgAsmJvmStackMapVerificationTypePtrList
const&);
9611 SgAsmJvmStackMapVerificationTypePtrList
const&
get_locals()
const;
9625 same_locals_1_stack_item_frame_extended;
9637 verification_type_info stack;
9641 uint16_t offset_delta;
9642 verification_type_info stack;
9646 uint16_t offset_delta;
9650 uint16_t offset_delta;
9654 uint16_t offset_delta;
9655 verification_type_info stack;
9659 uint16_t offset_delta;
9660 uint16_t number_of_locals;
9661 verification_type_info stack[number_of_locals];
9662 uint16_t number_of_stack_items;
9663 verification_type_info stack[number_of_stack_items];
9703 virtual void unparse(std::ostream&)
const override;
9706 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9733DECLARE_LEAF_CLASS(AsmJvmSourceFile);
9734IS_SERIALIZABLE(AsmJvmSourceFile);
9736#ifndef DOCUMENTATION
9737AsmJvmSourceFile.useSmallHeader(
true);
9747#ifndef DOCUMENTATION
9748 AsmJvmSourceFile.setDataPrototype(
9749 "uint16_t",
"sourcefile_index",
"= 0",
9750 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9753 DECLARE_OTHERS(AsmJvmSourceFile);
9754#if defined(SgAsmJvmSourceFile_OTHERS) || defined(DOCUMENTATION)
9757#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9759 friend class boost::serialization::access;
9762 void serialize(S &s,
const unsigned ) {
9765 s & BOOST_SERIALIZATION_NVP(p_sourcefile_index);
9789 virtual void unparse(std::ostream&)
const override;
9792 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9819DECLARE_LEAF_CLASS(AsmJvmSignature);
9820IS_SERIALIZABLE(AsmJvmSignature);
9822#ifndef DOCUMENTATION
9823AsmJvmSignature.useSmallHeader(
true);
9834#ifndef DOCUMENTATION
9835 AsmJvmSignature.setDataPrototype(
9836 "uint16_t",
"signature_index",
"= 0",
9837 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9840 DECLARE_OTHERS(AsmJvmSignature);
9841#if defined(SgAsmJvmSignature_OTHERS) || defined(DOCUMENTATION)
9844#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9846 friend class boost::serialization::access;
9849 void serialize(S &s,
const unsigned ) {
9852 s & BOOST_SERIALIZATION_NVP(p_signature_index);
9876 virtual void unparse(std::ostream&)
const override;
9879 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9906DECLARE_LEAF_CLASS(AsmJvmNestMembers);
9907IS_SERIALIZABLE(AsmJvmNestMembers);
9909#ifndef DOCUMENTATION
9910AsmJvmNestMembers.useSmallHeader(
true);
9913DECLARE_HEADERS(AsmJvmNestMembers);
9914#if defined(SgAsmJvmNestMembers_HEADERS) || defined(DOCUMENTATION)
9915#include <sageContainer.h>
9927#ifndef DOCUMENTATION
9928 AsmJvmNestMembers.setDataPrototype(
9929 "SgUnsigned16List",
"classes",
"",
9930 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9933 DECLARE_OTHERS(AsmJvmNestMembers);
9934#if defined(SgAsmJvmNestMembers_OTHERS) || defined(DOCUMENTATION)
9937#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
9939 friend class boost::serialization::access;
9942 void serialize(S &s,
const unsigned ) {
9945 s & BOOST_SERIALIZATION_NVP(p_classes);
9972 virtual void unparse(std::ostream&)
const override;
9975 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10002DECLARE_LEAF_CLASS(AsmJvmNestHost);
10003IS_SERIALIZABLE(AsmJvmNestHost);
10005#ifndef DOCUMENTATION
10006AsmJvmNestHost.useSmallHeader(
true);
10009#ifdef DOCUMENTATION
10017#ifndef DOCUMENTATION
10018 AsmJvmNestHost.setDataPrototype(
10019 "uint16_t",
"host_class_index",
"= 0",
10020 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10023 DECLARE_OTHERS(AsmJvmNestHost);
10024#if defined(SgAsmJvmNestHost_OTHERS) || defined(DOCUMENTATION)
10027#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10029 friend class boost::serialization::access;
10032 void serialize(S &s,
const unsigned ) {
10035 s & BOOST_SERIALIZATION_NVP(p_host_class_index);
10065 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10083#ifdef DOCUMENTATION
10092DECLARE_LEAF_CLASS(AsmJvmModuleMainClass);
10093IS_SERIALIZABLE(AsmJvmModuleMainClass);
10095#ifndef DOCUMENTATION
10096AsmJvmModuleMainClass.useSmallHeader(
true);
10099#ifdef DOCUMENTATION
10107#ifndef DOCUMENTATION
10108 AsmJvmModuleMainClass.setDataPrototype(
10109 "uint16_t",
"main_class_index",
"= 0",
10110 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10113 DECLARE_OTHERS(AsmJvmModuleMainClass);
10114#if defined(SgAsmJvmModuleMainClass_OTHERS) || defined(DOCUMENTATION)
10117#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10119 friend class boost::serialization::access;
10122 void serialize(S &s,
const unsigned ) {
10125 s & BOOST_SERIALIZATION_NVP(p_main_class_index);
10152 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10170#ifdef DOCUMENTATION
10179DECLARE_LEAF_CLASS(AsmJvmMethodTable);
10180IS_SERIALIZABLE(AsmJvmMethodTable);
10182#ifndef DOCUMENTATION
10183AsmJvmMethodTable.useSmallHeader(
true);
10186#ifdef DOCUMENTATION
10195#ifndef DOCUMENTATION
10196 AsmJvmMethodTable.setDataPrototype(
10197 "SgAsmJvmMethodPtrList",
"methods",
"",
10198 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
10201 DECLARE_OTHERS(AsmJvmMethodTable);
10202#if defined(SgAsmJvmMethodTable_OTHERS) || defined(DOCUMENTATION)
10205#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10207 friend class boost::serialization::access;
10210 void serialize(S &s,
const unsigned ) {
10213 s & BOOST_SERIALIZATION_NVP(p_methods);
10242 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10260#ifdef DOCUMENTATION
10269DECLARE_LEAF_CLASS(AsmJvmMethodParameters);
10270IS_SERIALIZABLE(AsmJvmMethodParameters);
10272#ifndef DOCUMENTATION
10273AsmJvmMethodParameters.useSmallHeader(
true);
10276DECLARE_HEADERS(AsmJvmMethodParameters);
10277#if defined(SgAsmJvmMethodParameters_HEADERS) || defined(DOCUMENTATION)
10278#include <sageContainer.h>
10281#ifdef DOCUMENTATION
10290#ifndef DOCUMENTATION
10291 AsmJvmMethodParameters.setDataPrototype(
10292 "SgAsmJvmMethodParametersEntryPtrList",
"parameters",
"",
10293 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10296 DECLARE_OTHERS(AsmJvmMethodParameters);
10297#if defined(SgAsmJvmMethodParameters_OTHERS) || defined(DOCUMENTATION)
10300#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10302 friend class boost::serialization::access;
10305 void serialize(S &s,
const unsigned ) {
10308 s & BOOST_SERIALIZATION_NVP(p_parameters);
10336 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10354#ifdef DOCUMENTATION
10363DECLARE_LEAF_CLASS(AsmJvmMethodParametersEntry);
10364IS_SERIALIZABLE(AsmJvmMethodParametersEntry);
10366#ifndef DOCUMENTATION
10367AsmJvmMethodParametersEntry.useSmallHeader(
true);
10370#ifdef DOCUMENTATION
10378#ifndef DOCUMENTATION
10379 AsmJvmMethodParametersEntry.setDataPrototype(
10380 "uint16_t",
"name_index",
"= 0",
10381 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10384#ifndef DOCUMENTATION
10385 AsmJvmMethodParametersEntry.setDataPrototype(
10386 "uint16_t",
"access_flags",
"= 0",
10387 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10390 DECLARE_OTHERS(AsmJvmMethodParametersEntry);
10391#if defined(SgAsmJvmMethodParametersEntry_OTHERS) || defined(DOCUMENTATION)
10394#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10396 friend class boost::serialization::access;
10399 void serialize(S &s,
const unsigned ) {
10401 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10402 s & BOOST_SERIALIZATION_NVP(p_name_index);
10403 s & BOOST_SERIALIZATION_NVP(p_access_flags);
10441 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10459#ifdef DOCUMENTATION
10468DECLARE_LEAF_CLASS(AsmJvmMethod);
10469IS_SERIALIZABLE(AsmJvmMethod);
10471#ifndef DOCUMENTATION
10472AsmJvmMethod.useSmallHeader(
true);
10475DECLARE_HEADERS(AsmJvmMethod);
10476#if defined(SgAsmJvmMethod_HEADERS) || defined(DOCUMENTATION)
10477#ifdef ROSE_SgAsmJvmMethod_IMPL
10478#include <SgAsmInstructionList.h>
10479#include <SgAsmJvmAttributeTable.h>
10483#ifdef DOCUMENTATION
10491#ifndef DOCUMENTATION
10492 AsmJvmMethod.setDataPrototype(
10493 "uint16_t",
"access_flags",
"= 0",
10494 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10497#ifndef DOCUMENTATION
10498 AsmJvmMethod.setDataPrototype(
10499 "uint16_t",
"name_index",
"= 0",
10500 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10503#ifndef DOCUMENTATION
10504 AsmJvmMethod.setDataPrototype(
10505 "uint16_t",
"descriptor_index",
"= 0",
10506 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10509#ifndef DOCUMENTATION
10510 AsmJvmMethod.setDataPrototype(
10511 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
10512 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
10515#ifndef DOCUMENTATION
10516 AsmJvmMethod.setDataPrototype(
10517 "SgAsmInstructionList*",
"instruction_list",
"= createAndParent<SgAsmInstructionList>(this)",
10518 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10521 DECLARE_OTHERS(AsmJvmMethod);
10522#if defined(SgAsmJvmMethod_OTHERS) || defined(DOCUMENTATION)
10525#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10527 friend class boost::serialization::access;
10530 void serialize(S &s,
const unsigned ) {
10532 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10533 s & BOOST_SERIALIZATION_NVP(p_access_flags);
10534 s & BOOST_SERIALIZATION_NVP(p_name_index);
10535 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
10536 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
10537 s & BOOST_SERIALIZATION_NVP(p_instruction_list);
10603 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10621#ifdef DOCUMENTATION
10630DECLARE_LEAF_CLASS(AsmJvmLocalVariableTypeTable);
10631IS_SERIALIZABLE(AsmJvmLocalVariableTypeTable);
10633#ifndef DOCUMENTATION
10634AsmJvmLocalVariableTypeTable.useSmallHeader(
true);
10637DECLARE_HEADERS(AsmJvmLocalVariableTypeTable);
10638#if defined(SgAsmJvmLocalVariableTypeTable_HEADERS) || defined(DOCUMENTATION)
10639#include <sageContainer.h>
10642#ifdef DOCUMENTATION
10651#ifndef DOCUMENTATION
10652 AsmJvmLocalVariableTypeTable.setDataPrototype(
10653 "SgAsmJvmLocalVariableTypeEntryPtrList",
"local_variable_type_table",
"",
10654 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10657 DECLARE_OTHERS(AsmJvmLocalVariableTypeTable);
10658#if defined(SgAsmJvmLocalVariableTypeTable_OTHERS) || defined(DOCUMENTATION)
10661#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10663 friend class boost::serialization::access;
10666 void serialize(S &s,
const unsigned ) {
10669 s & BOOST_SERIALIZATION_NVP(p_local_variable_type_table);
10697 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10715#ifdef DOCUMENTATION
10724DECLARE_LEAF_CLASS(AsmJvmLocalVariableTypeEntry);
10725IS_SERIALIZABLE(AsmJvmLocalVariableTypeEntry);
10727#ifndef DOCUMENTATION
10728AsmJvmLocalVariableTypeEntry.useSmallHeader(
true);
10731#ifdef DOCUMENTATION
10738#ifndef DOCUMENTATION
10739 AsmJvmLocalVariableTypeEntry.setDataPrototype(
10740 "uint16_t",
"start_pc",
"= 0",
10741 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10744#ifndef DOCUMENTATION
10745 AsmJvmLocalVariableTypeEntry.setDataPrototype(
10746 "uint16_t",
"length",
"= 0",
10747 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10750#ifndef DOCUMENTATION
10751 AsmJvmLocalVariableTypeEntry.setDataPrototype(
10752 "uint16_t",
"name_index",
"= 0",
10753 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10756#ifndef DOCUMENTATION
10757 AsmJvmLocalVariableTypeEntry.setDataPrototype(
10758 "uint16_t",
"signature_index",
"= 0",
10759 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10762#ifndef DOCUMENTATION
10763 AsmJvmLocalVariableTypeEntry.setDataPrototype(
10764 "uint16_t",
"index",
"= 0",
10765 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10768 DECLARE_OTHERS(AsmJvmLocalVariableTypeEntry);
10769#if defined(SgAsmJvmLocalVariableTypeEntry_OTHERS) || defined(DOCUMENTATION)
10772#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10774 friend class boost::serialization::access;
10777 void serialize(S &s,
const unsigned ) {
10779 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10780 s & BOOST_SERIALIZATION_NVP(p_start_pc);
10781 s & BOOST_SERIALIZATION_NVP(p_length);
10782 s & BOOST_SERIALIZATION_NVP(p_name_index);
10783 s & BOOST_SERIALIZATION_NVP(p_signature_index);
10784 s & BOOST_SERIALIZATION_NVP(p_index);
10859 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10877#ifdef DOCUMENTATION
10886DECLARE_LEAF_CLASS(AsmJvmLocalVariableTable);
10887IS_SERIALIZABLE(AsmJvmLocalVariableTable);
10889#ifndef DOCUMENTATION
10890AsmJvmLocalVariableTable.useSmallHeader(
true);
10893DECLARE_HEADERS(AsmJvmLocalVariableTable);
10894#if defined(SgAsmJvmLocalVariableTable_HEADERS) || defined(DOCUMENTATION)
10895#include <sageContainer.h>
10898#ifdef DOCUMENTATION
10907#ifndef DOCUMENTATION
10908 AsmJvmLocalVariableTable.setDataPrototype(
10909 "SgAsmJvmLocalVariableEntryPtrList",
"local_variable_table",
"",
10910 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10913 DECLARE_OTHERS(AsmJvmLocalVariableTable);
10914#if defined(SgAsmJvmLocalVariableTable_OTHERS) || defined(DOCUMENTATION)
10917#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
10919 friend class boost::serialization::access;
10922 void serialize(S &s,
const unsigned ) {
10925 s & BOOST_SERIALIZATION_NVP(p_local_variable_table);
10953 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10971#ifdef DOCUMENTATION
10980DECLARE_LEAF_CLASS(AsmJvmLocalVariableEntry);
10981IS_SERIALIZABLE(AsmJvmLocalVariableEntry);
10983#ifndef DOCUMENTATION
10984AsmJvmLocalVariableEntry.useSmallHeader(
true);
10987#ifdef DOCUMENTATION
10994#ifndef DOCUMENTATION
10995 AsmJvmLocalVariableEntry.setDataPrototype(
10996 "uint16_t",
"start_pc",
"= 0",
10997 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11000#ifndef DOCUMENTATION
11001 AsmJvmLocalVariableEntry.setDataPrototype(
11002 "uint16_t",
"length",
"= 0",
11003 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11006#ifndef DOCUMENTATION
11007 AsmJvmLocalVariableEntry.setDataPrototype(
11008 "uint16_t",
"name_index",
"= 0",
11009 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11012#ifndef DOCUMENTATION
11013 AsmJvmLocalVariableEntry.setDataPrototype(
11014 "uint16_t",
"descriptor_index",
"= 0",
11015 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11018#ifndef DOCUMENTATION
11019 AsmJvmLocalVariableEntry.setDataPrototype(
11020 "uint16_t",
"index",
"= 0",
11021 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11024 DECLARE_OTHERS(AsmJvmLocalVariableEntry);
11025#if defined(SgAsmJvmLocalVariableEntry_OTHERS) || defined(DOCUMENTATION)
11028#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11030 friend class boost::serialization::access;
11033 void serialize(S &s,
const unsigned ) {
11035 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11036 s & BOOST_SERIALIZATION_NVP(p_start_pc);
11037 s & BOOST_SERIALIZATION_NVP(p_length);
11038 s & BOOST_SERIALIZATION_NVP(p_name_index);
11039 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
11040 s & BOOST_SERIALIZATION_NVP(p_index);
11115 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11133#ifdef DOCUMENTATION
11142DECLARE_LEAF_CLASS(AsmJvmLineNumberTable);
11143IS_SERIALIZABLE(AsmJvmLineNumberTable);
11145#ifndef DOCUMENTATION
11146AsmJvmLineNumberTable.useSmallHeader(
true);
11149DECLARE_HEADERS(AsmJvmLineNumberTable);
11150#if defined(SgAsmJvmLineNumberTable_HEADERS) || defined(DOCUMENTATION)
11151#include <sageContainer.h>
11154#ifdef DOCUMENTATION
11163#ifndef DOCUMENTATION
11164 AsmJvmLineNumberTable.setDataPrototype(
11165 "SgAsmJvmLineNumberEntryPtrList",
"line_number_table",
"",
11166 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11169 DECLARE_OTHERS(AsmJvmLineNumberTable);
11170#if defined(SgAsmJvmLineNumberTable_OTHERS) || defined(DOCUMENTATION)
11173#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11175 friend class boost::serialization::access;
11178 void serialize(S &s,
const unsigned ) {
11181 s & BOOST_SERIALIZATION_NVP(p_line_number_table);
11209 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11227#ifdef DOCUMENTATION
11236DECLARE_LEAF_CLASS(AsmJvmLineNumberEntry);
11237IS_SERIALIZABLE(AsmJvmLineNumberEntry);
11239#ifndef DOCUMENTATION
11240AsmJvmLineNumberEntry.useSmallHeader(
true);
11243#ifdef DOCUMENTATION
11250#ifndef DOCUMENTATION
11251 AsmJvmLineNumberEntry.setDataPrototype(
11252 "uint16_t",
"start_pc",
"= 0",
11253 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11256#ifndef DOCUMENTATION
11257 AsmJvmLineNumberEntry.setDataPrototype(
11258 "uint16_t",
"line_number",
"= 0",
11259 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11262 DECLARE_OTHERS(AsmJvmLineNumberEntry);
11263#if defined(SgAsmJvmLineNumberEntry_OTHERS) || defined(DOCUMENTATION)
11266#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11268 friend class boost::serialization::access;
11271 void serialize(S &s,
const unsigned ) {
11273 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11274 s & BOOST_SERIALIZATION_NVP(p_start_pc);
11275 s & BOOST_SERIALIZATION_NVP(p_line_number);
11312 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11330#ifdef DOCUMENTATION
11339DECLARE_LEAF_CLASS(AsmJvmInstruction);
11340IS_SERIALIZABLE(AsmJvmInstruction);
11342#ifndef DOCUMENTATION
11343AsmJvmInstruction.useSmallHeader(
true);
11346DECLARE_HEADERS(AsmJvmInstruction);
11347#if defined(SgAsmJvmInstruction_HEADERS) || defined(DOCUMENTATION)
11348#include <Rose/BinaryAnalysis/InstructionEnumsJvm.h>
11351#ifdef DOCUMENTATION
11356#ifndef DOCUMENTATION
11357 AsmJvmInstruction.setDataPrototype(
11358 "Rose::BinaryAnalysis::JvmInstructionKind",
"kind",
"= Rose::BinaryAnalysis::JvmInstructionKind::unknown",
11359 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11362 DECLARE_OTHERS(AsmJvmInstruction);
11363#if defined(SgAsmJvmInstruction_OTHERS) || defined(DOCUMENTATION)
11366#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11368 friend class boost::serialization::access;
11371 void serialize(S &s,
const unsigned ) {
11374 s & BOOST_SERIALIZATION_NVP(p_kind);
11386 Rose::BinaryAnalysis::JvmInstructionKind
const&
get_kind()
const;
11387 void set_kind(Rose::BinaryAnalysis::JvmInstructionKind
const&);
11403 uint8_t
const& architectureId,
11404 Rose::BinaryAnalysis::JvmInstructionKind
const& kind);
11415#ifdef DOCUMENTATION
11424DECLARE_LEAF_CLASS(AsmJvmInnerClasses);
11425IS_SERIALIZABLE(AsmJvmInnerClasses);
11427#ifndef DOCUMENTATION
11428AsmJvmInnerClasses.useSmallHeader(
true);
11431DECLARE_HEADERS(AsmJvmInnerClasses);
11432#if defined(SgAsmJvmInnerClasses_HEADERS) || defined(DOCUMENTATION)
11433#include <sageContainer.h>
11436#ifdef DOCUMENTATION
11445#ifndef DOCUMENTATION
11446 AsmJvmInnerClasses.setDataPrototype(
11447 "SgAsmJvmInnerClassesEntryPtrList",
"classes",
"",
11448 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11451 DECLARE_OTHERS(AsmJvmInnerClasses);
11452#if defined(SgAsmJvmInnerClasses_OTHERS) || defined(DOCUMENTATION)
11455#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11457 friend class boost::serialization::access;
11460 void serialize(S &s,
const unsigned ) {
11463 s & BOOST_SERIALIZATION_NVP(p_classes);
11492 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11510#ifdef DOCUMENTATION
11519DECLARE_LEAF_CLASS(AsmJvmInnerClassesEntry);
11520IS_SERIALIZABLE(AsmJvmInnerClassesEntry);
11522#ifndef DOCUMENTATION
11523AsmJvmInnerClassesEntry.useSmallHeader(
true);
11526#ifdef DOCUMENTATION
11534#ifndef DOCUMENTATION
11535 AsmJvmInnerClassesEntry.setDataPrototype(
11536 "uint16_t",
"inner_class_info_index",
"= 0",
11537 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11540#ifndef DOCUMENTATION
11541 AsmJvmInnerClassesEntry.setDataPrototype(
11542 "uint16_t",
"outer_class_info_index",
"= 0",
11543 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11546#ifndef DOCUMENTATION
11547 AsmJvmInnerClassesEntry.setDataPrototype(
11548 "uint16_t",
"inner_name_index",
"= 0",
11549 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11552#ifndef DOCUMENTATION
11553 AsmJvmInnerClassesEntry.setDataPrototype(
11554 "uint16_t",
"inner_class_access_flags",
"= 0",
11555 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11558 DECLARE_OTHERS(AsmJvmInnerClassesEntry);
11559#if defined(SgAsmJvmInnerClassesEntry_OTHERS) || defined(DOCUMENTATION)
11562#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11564 friend class boost::serialization::access;
11567 void serialize(S &s,
const unsigned ) {
11569 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11570 s & BOOST_SERIALIZATION_NVP(p_inner_class_info_index);
11571 s & BOOST_SERIALIZATION_NVP(p_outer_class_info_index);
11572 s & BOOST_SERIALIZATION_NVP(p_inner_name_index);
11573 s & BOOST_SERIALIZATION_NVP(p_inner_class_access_flags);
11635 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11653#ifdef DOCUMENTATION
11662DECLARE_LEAF_CLASS(AsmJvmFileHeader);
11663IS_SERIALIZABLE(AsmJvmFileHeader);
11665#ifndef DOCUMENTATION
11666AsmJvmFileHeader.useSmallHeader(
true);
11669#ifdef DOCUMENTATION
11679#ifndef DOCUMENTATION
11680 AsmJvmFileHeader.setDataPrototype(
11681 "uint16_t",
"minor_version",
"= 0",
11682 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11685#ifndef DOCUMENTATION
11686 AsmJvmFileHeader.setDataPrototype(
11687 "uint16_t",
"major_version",
"= 0",
11688 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11691#ifndef DOCUMENTATION
11692 AsmJvmFileHeader.setDataPrototype(
11693 "uint16_t",
"access_flags",
"= 0",
11694 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11697#ifndef DOCUMENTATION
11698 AsmJvmFileHeader.setDataPrototype(
11699 "uint16_t",
"this_class",
"= 0",
11700 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11703#ifndef DOCUMENTATION
11704 AsmJvmFileHeader.setDataPrototype(
11705 "uint16_t",
"super_class",
"= 0",
11706 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11709#ifndef DOCUMENTATION
11710 AsmJvmFileHeader.setDataPrototype(
11711 "SgAsmJvmConstantPool*",
"constant_pool",
"= nullptr",
11712 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11715#ifndef DOCUMENTATION
11716 AsmJvmFileHeader.setDataPrototype(
11717 "std::list<uint16_t>",
"interfaces",
"",
11718 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11721#ifndef DOCUMENTATION
11722 AsmJvmFileHeader.setDataPrototype(
11723 "SgAsmJvmFieldTable*",
"field_table",
"= nullptr",
11724 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11727#ifndef DOCUMENTATION
11728 AsmJvmFileHeader.setDataPrototype(
11729 "SgAsmJvmMethodTable*",
"method_table",
"= nullptr",
11730 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11733#ifndef DOCUMENTATION
11734 AsmJvmFileHeader.setDataPrototype(
11735 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
11736 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11739 DECLARE_OTHERS(AsmJvmFileHeader);
11740#if defined(SgAsmJvmFileHeader_OTHERS) || defined(DOCUMENTATION)
11743#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11745 friend class boost::serialization::access;
11748 void serialize(S &s,
const unsigned ) {
11751 s & BOOST_SERIALIZATION_NVP(p_minor_version);
11752 s & BOOST_SERIALIZATION_NVP(p_major_version);
11753 s & BOOST_SERIALIZATION_NVP(p_access_flags);
11754 s & BOOST_SERIALIZATION_NVP(p_this_class);
11755 s & BOOST_SERIALIZATION_NVP(p_super_class);
11756 s & BOOST_SERIALIZATION_NVP(p_constant_pool);
11757 s & BOOST_SERIALIZATION_NVP(p_interfaces);
11758 s & BOOST_SERIALIZATION_NVP(p_field_table);
11759 s & BOOST_SERIALIZATION_NVP(p_method_table);
11760 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
11916#ifdef DOCUMENTATION
11925DECLARE_LEAF_CLASS(AsmJvmFieldTable);
11926IS_SERIALIZABLE(AsmJvmFieldTable);
11928#ifndef DOCUMENTATION
11929AsmJvmFieldTable.useSmallHeader(
true);
11932#ifdef DOCUMENTATION
11941#ifndef DOCUMENTATION
11942 AsmJvmFieldTable.setDataPrototype(
11943 "SgAsmJvmFieldPtrList",
"fields",
"",
11944 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
11947 DECLARE_OTHERS(AsmJvmFieldTable);
11948#if defined(SgAsmJvmFieldTable_OTHERS) || defined(DOCUMENTATION)
11951#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
11953 friend class boost::serialization::access;
11956 void serialize(S &s,
const unsigned ) {
11959 s & BOOST_SERIALIZATION_NVP(p_fields);
11987 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12005#ifdef DOCUMENTATION
12014DECLARE_LEAF_CLASS(AsmJvmField);
12015IS_SERIALIZABLE(AsmJvmField);
12017#ifndef DOCUMENTATION
12018AsmJvmField.useSmallHeader(
true);
12021DECLARE_HEADERS(AsmJvmField);
12022#if defined(SgAsmJvmField_HEADERS) || defined(DOCUMENTATION)
12023#ifdef ROSE_SgAsmJvmField_IMPL
12024#include <SgAsmJvmAttributeTable.h>
12028#ifdef DOCUMENTATION
12035#ifndef DOCUMENTATION
12036 AsmJvmField.setDataPrototype(
12037 "uint16_t",
"access_flags",
"= 0",
12038 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12041#ifndef DOCUMENTATION
12042 AsmJvmField.setDataPrototype(
12043 "uint16_t",
"name_index",
"= 0",
12044 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12047#ifndef DOCUMENTATION
12048 AsmJvmField.setDataPrototype(
12049 "uint16_t",
"descriptor_index",
"= 0",
12050 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12053#ifndef DOCUMENTATION
12054 AsmJvmField.setDataPrototype(
12055 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
12056 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
12059 DECLARE_OTHERS(AsmJvmField);
12060#if defined(SgAsmJvmField_OTHERS) || defined(DOCUMENTATION)
12063#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12065 friend class boost::serialization::access;
12068 void serialize(S &s,
const unsigned ) {
12070 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
12071 s & BOOST_SERIALIZATION_NVP(p_access_flags);
12072 s & BOOST_SERIALIZATION_NVP(p_name_index);
12073 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
12074 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
12130 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12148#ifdef DOCUMENTATION
12157DECLARE_LEAF_CLASS(AsmJvmExceptionTable);
12158IS_SERIALIZABLE(AsmJvmExceptionTable);
12160#ifndef DOCUMENTATION
12161AsmJvmExceptionTable.useSmallHeader(
true);
12164DECLARE_HEADERS(AsmJvmExceptionTable);
12165#if defined(SgAsmJvmExceptionTable_HEADERS) || defined(DOCUMENTATION)
12166#include <sageContainer.h>
12169#ifdef DOCUMENTATION
12177#ifndef DOCUMENTATION
12178 AsmJvmExceptionTable.setDataPrototype(
12179 "SgAsmJvmExceptionHandlerPtrList",
"handlers",
"",
12180 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12183 DECLARE_OTHERS(AsmJvmExceptionTable);
12184#if defined(SgAsmJvmExceptionTable_OTHERS) || defined(DOCUMENTATION)
12187#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12189 friend class boost::serialization::access;
12192 void serialize(S &s,
const unsigned ) {
12194 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
12195 s & BOOST_SERIALIZATION_NVP(p_handlers);
12224 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12242#ifdef DOCUMENTATION
12251DECLARE_LEAF_CLASS(AsmJvmExceptions);
12252IS_SERIALIZABLE(AsmJvmExceptions);
12254#ifndef DOCUMENTATION
12255AsmJvmExceptions.useSmallHeader(
true);
12258DECLARE_HEADERS(AsmJvmExceptions);
12259#if defined(SgAsmJvmExceptions_HEADERS) || defined(DOCUMENTATION)
12260#include <sageContainer.h>
12263#ifdef DOCUMENTATION
12272#ifndef DOCUMENTATION
12273 AsmJvmExceptions.setDataPrototype(
12274 "SgUnsigned16List",
"exception_index_table",
"",
12275 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12278 DECLARE_OTHERS(AsmJvmExceptions);
12279#if defined(SgAsmJvmExceptions_OTHERS) || defined(DOCUMENTATION)
12282#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12284 friend class boost::serialization::access;
12287 void serialize(S &s,
const unsigned ) {
12290 s & BOOST_SERIALIZATION_NVP(p_exception_index_table);
12319 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12337#ifdef DOCUMENTATION
12346DECLARE_LEAF_CLASS(AsmJvmExceptionHandler);
12347IS_SERIALIZABLE(AsmJvmExceptionHandler);
12349#ifndef DOCUMENTATION
12350AsmJvmExceptionHandler.useSmallHeader(
true);
12353#ifdef DOCUMENTATION
12360#ifndef DOCUMENTATION
12361 AsmJvmExceptionHandler.setDataPrototype(
12362 "uint16_t",
"start_pc",
"= 0",
12363 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12366#ifndef DOCUMENTATION
12367 AsmJvmExceptionHandler.setDataPrototype(
12368 "uint16_t",
"end_pc",
"= 0",
12369 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12372#ifndef DOCUMENTATION
12373 AsmJvmExceptionHandler.setDataPrototype(
12374 "uint16_t",
"handler_pc",
"= 0",
12375 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12378#ifndef DOCUMENTATION
12379 AsmJvmExceptionHandler.setDataPrototype(
12380 "uint16_t",
"catch_type",
"= 0",
12381 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12384 DECLARE_OTHERS(AsmJvmExceptionHandler);
12385#if defined(SgAsmJvmExceptionHandler_OTHERS) || defined(DOCUMENTATION)
12388#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12390 friend class boost::serialization::access;
12393 void serialize(S &s,
const unsigned ) {
12395 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
12396 s & BOOST_SERIALIZATION_NVP(p_start_pc);
12397 s & BOOST_SERIALIZATION_NVP(p_end_pc);
12398 s & BOOST_SERIALIZATION_NVP(p_handler_pc);
12399 s & BOOST_SERIALIZATION_NVP(p_catch_type);
12460 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12478#ifdef DOCUMENTATION
12487DECLARE_LEAF_CLASS(AsmJvmEnclosingMethod);
12488IS_SERIALIZABLE(AsmJvmEnclosingMethod);
12490#ifndef DOCUMENTATION
12491AsmJvmEnclosingMethod.useSmallHeader(
true);
12494#ifdef DOCUMENTATION
12503#ifndef DOCUMENTATION
12504 AsmJvmEnclosingMethod.setDataPrototype(
12505 "uint16_t",
"class_index",
"= 0",
12506 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12509#ifndef DOCUMENTATION
12510 AsmJvmEnclosingMethod.setDataPrototype(
12511 "uint16_t",
"method_index",
"= 0",
12512 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12515 DECLARE_OTHERS(AsmJvmEnclosingMethod);
12516#if defined(SgAsmJvmEnclosingMethod_OTHERS) || defined(DOCUMENTATION)
12519#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12521 friend class boost::serialization::access;
12524 void serialize(S &s,
const unsigned ) {
12527 s & BOOST_SERIALIZATION_NVP(p_class_index);
12528 s & BOOST_SERIALIZATION_NVP(p_method_index);
12566 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12584#ifdef DOCUMENTATION
12593DECLARE_LEAF_CLASS(AsmJvmConstantValue);
12594IS_SERIALIZABLE(AsmJvmConstantValue);
12596#ifndef DOCUMENTATION
12597AsmJvmConstantValue.useSmallHeader(
true);
12600#ifdef DOCUMENTATION
12608#ifndef DOCUMENTATION
12609 AsmJvmConstantValue.setDataPrototype(
12610 "uint16_t",
"constantvalue_index",
"= 0",
12611 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12614 DECLARE_OTHERS(AsmJvmConstantValue);
12615#if defined(SgAsmJvmConstantValue_OTHERS) || defined(DOCUMENTATION)
12618#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12620 friend class boost::serialization::access;
12623 void serialize(S &s,
const unsigned ) {
12626 s & BOOST_SERIALIZATION_NVP(p_constantvalue_index);
12653 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12671#ifdef DOCUMENTATION
12680DECLARE_LEAF_CLASS(AsmJvmConstantPool);
12681IS_SERIALIZABLE(AsmJvmConstantPool);
12683#ifndef DOCUMENTATION
12684AsmJvmConstantPool.useSmallHeader(
true);
12687#ifdef DOCUMENTATION
12696#ifndef DOCUMENTATION
12697 AsmJvmConstantPool.setDataPrototype(
12698 "SgAsmJvmConstantPoolEntryPtrList",
"entries",
"",
12699 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12702 DECLARE_OTHERS(AsmJvmConstantPool);
12703#if defined(SgAsmJvmConstantPool_OTHERS) || defined(DOCUMENTATION)
12706#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12708 friend class boost::serialization::access;
12711 void serialize(S &s,
const unsigned ) {
12714 s & BOOST_SERIALIZATION_NVP(p_entries);
12756 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12778#ifdef DOCUMENTATION
12787DECLARE_LEAF_CLASS(AsmJvmConstantPoolEntry);
12788IS_SERIALIZABLE(AsmJvmConstantPoolEntry);
12790#ifndef DOCUMENTATION
12791AsmJvmConstantPoolEntry.useSmallHeader(
true);
12794#ifdef DOCUMENTATION
12802#ifndef DOCUMENTATION
12803 AsmJvmConstantPoolEntry.setDataPrototype(
12804 "SgAsmJvmConstantPoolEntry::Kind",
"tag",
"= SgAsmJvmConstantPoolEntry::EMPTY",
12805 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12808#ifndef DOCUMENTATION
12809 AsmJvmConstantPoolEntry.setDataPrototype(
12810 "uint32_t",
"bytes",
"= 0",
12811 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12814#ifndef DOCUMENTATION
12815 AsmJvmConstantPoolEntry.setDataPrototype(
12816 "uint32_t",
"hi_bytes",
"= 0",
12817 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12820#ifndef DOCUMENTATION
12821 AsmJvmConstantPoolEntry.setDataPrototype(
12822 "uint32_t",
"low_bytes",
"= 0",
12823 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12826#ifndef DOCUMENTATION
12827 AsmJvmConstantPoolEntry.setDataPrototype(
12828 "uint16_t",
"bootstrap_method_attr_index",
"= 0",
12829 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12832#ifndef DOCUMENTATION
12833 AsmJvmConstantPoolEntry.setDataPrototype(
12834 "uint16_t",
"class_index",
"= 0",
12835 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12838#ifndef DOCUMENTATION
12839 AsmJvmConstantPoolEntry.setDataPrototype(
12840 "uint16_t",
"descriptor_index",
"= 0",
12841 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12844#ifndef DOCUMENTATION
12845 AsmJvmConstantPoolEntry.setDataPrototype(
12846 "uint16_t",
"name_index",
"= 0",
12847 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12850#ifndef DOCUMENTATION
12851 AsmJvmConstantPoolEntry.setDataPrototype(
12852 "uint16_t",
"name_and_type_index",
"= 0",
12853 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12856#ifndef DOCUMENTATION
12857 AsmJvmConstantPoolEntry.setDataPrototype(
12858 "uint16_t",
"reference_index",
"= 0",
12859 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12862#ifndef DOCUMENTATION
12863 AsmJvmConstantPoolEntry.setDataPrototype(
12864 "uint8_t",
"reference_kind",
"= 0",
12865 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12868#ifndef DOCUMENTATION
12869 AsmJvmConstantPoolEntry.setDataPrototype(
12870 "uint16_t",
"string_index",
"= 0",
12871 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12874#ifndef DOCUMENTATION
12875 AsmJvmConstantPoolEntry.setDataPrototype(
12876 "uint16_t",
"length",
"= 0",
12877 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12880#ifndef DOCUMENTATION
12881 AsmJvmConstantPoolEntry.setDataPrototype(
12882 "char*",
"utf8_bytes",
"= nullptr",
12883 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12886 DECLARE_OTHERS(AsmJvmConstantPoolEntry);
12887#if defined(SgAsmJvmConstantPoolEntry_OTHERS) || defined(DOCUMENTATION)
12890#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
12892 friend class boost::serialization::access;
12895 void serialize(S &s,
const unsigned ) {
12897 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
12898 s & BOOST_SERIALIZATION_NVP(p_tag);
12899 s & BOOST_SERIALIZATION_NVP(p_bytes);
12900 s & BOOST_SERIALIZATION_NVP(p_hi_bytes);
12901 s & BOOST_SERIALIZATION_NVP(p_low_bytes);
12902 s & BOOST_SERIALIZATION_NVP(p_bootstrap_method_attr_index);
12903 s & BOOST_SERIALIZATION_NVP(p_class_index);
12904 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
12905 s & BOOST_SERIALIZATION_NVP(p_name_index);
12906 s & BOOST_SERIALIZATION_NVP(p_name_and_type_index);
12907 s & BOOST_SERIALIZATION_NVP(p_reference_index);
12908 s & BOOST_SERIALIZATION_NVP(p_reference_kind);
12909 s & BOOST_SERIALIZATION_NVP(p_string_index);
12910 s & BOOST_SERIALIZATION_NVP(p_length);
12925 CONSTANT_Integer = 3,
12926 CONSTANT_Float = 4,
12928 CONSTANT_Double = 6,
12929 CONSTANT_Class = 7,
12930 CONSTANT_String = 8,
12931 CONSTANT_Fieldref = 9,
12932 CONSTANT_Methodref = 10,
12933 CONSTANT_InterfaceMethodref = 11,
12934 CONSTANT_NameAndType = 12,
12935 CONSTANT_MethodHandle = 15,
12936 CONSTANT_MethodType = 16,
12937 CONSTANT_Dynamic = 17,
12938 CONSTANT_InvokeDynamic = 18,
12939 CONSTANT_Module = 19,
12940 CONSTANT_Package = 20
12943#ifdef DOCUMENTATION
12951 uint16_t name_index;
12958 uint16_t class_index;
12959 uint16_t name_and_type_index;
12963 uint16_t class_index;
12964 uint16_t name_and_type_index;
12968 uint16_t class_index;
12969 uint16_t name_and_type_index;
12975 uint16_t string_index;
12990 uint32_t low_bytes;
12995 uint32_t low_bytes;
13001 uint16_t name_index;
13002 uint16_t descriptor_index;
13015 uint8_t reference_kind;
13016 uint16_t reference_index;
13022 uint16_t descriptor_index;
13028 uint16_t bootstrap_method_attr_index;
13029 uint16_t name_and_type_index;
13033 uint16_t bootstrap_method_attr_index;
13034 uint16_t name_and_type_index;
13040 uint16_t name_index;
13046 uint16_t name_index;
13228 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13249#ifdef DOCUMENTATION
13258DECLARE_LEAF_CLASS(AsmJvmCodeAttribute);
13259IS_SERIALIZABLE(AsmJvmCodeAttribute);
13261#ifndef DOCUMENTATION
13262AsmJvmCodeAttribute.useSmallHeader(
true);
13265#ifdef DOCUMENTATION
13274#ifndef DOCUMENTATION
13275 AsmJvmCodeAttribute.setDataPrototype(
13276 "uint16_t",
"max_stack",
"= 0",
13277 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13280#ifndef DOCUMENTATION
13281 AsmJvmCodeAttribute.setDataPrototype(
13282 "uint16_t",
"max_locals",
"= 0",
13283 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13286#ifndef DOCUMENTATION
13287 AsmJvmCodeAttribute.setDataPrototype(
13288 "uint32_t",
"code_length",
"= 0",
13289 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13292#ifndef DOCUMENTATION
13293 AsmJvmCodeAttribute.setDataPrototype(
13294 "const char*",
"code",
"= nullptr",
13295 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13298#ifndef DOCUMENTATION
13299 AsmJvmCodeAttribute.setDataPrototype(
13300 "SgAsmJvmExceptionTable*",
"exception_table",
"= nullptr",
13301 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13304#ifndef DOCUMENTATION
13305 AsmJvmCodeAttribute.setDataPrototype(
13306 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
13307 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13310#ifndef DOCUMENTATION
13311 AsmJvmCodeAttribute.setDataPrototype(
13312 "rose_addr_t",
"code_offset",
"= 0",
13313 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13316 DECLARE_OTHERS(AsmJvmCodeAttribute);
13317#if defined(SgAsmJvmCodeAttribute_OTHERS) || defined(DOCUMENTATION)
13320#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13322 friend class boost::serialization::access;
13325 void serialize(S &s,
const unsigned ) {
13328 s & BOOST_SERIALIZATION_NVP(p_max_stack);
13329 s & BOOST_SERIALIZATION_NVP(p_max_locals);
13330 s & BOOST_SERIALIZATION_NVP(p_code_length);
13331 s & BOOST_SERIALIZATION_NVP(p_exception_table);
13332 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
13333 s & BOOST_SERIALIZATION_NVP(p_code_offset);
13424 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13442#ifdef DOCUMENTATION
13451DECLARE_LEAF_CLASS(AsmJvmClass);
13452IS_SERIALIZABLE(AsmJvmClass);
13454#ifndef DOCUMENTATION
13455AsmJvmClass.useSmallHeader(
true);
13458#ifdef DOCUMENTATION
13465 DECLARE_OTHERS(AsmJvmClass);
13466#if defined(SgAsmJvmClass_OTHERS) || defined(DOCUMENTATION)
13469#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13471 friend class boost::serialization::access;
13474 void serialize(S &s,
const unsigned ) {
13476 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
13498#ifdef DOCUMENTATION
13507DECLARE_LEAF_CLASS(AsmJvmBootstrapMethods);
13508IS_SERIALIZABLE(AsmJvmBootstrapMethods);
13510#ifndef DOCUMENTATION
13511AsmJvmBootstrapMethods.useSmallHeader(
true);
13514DECLARE_HEADERS(AsmJvmBootstrapMethods);
13515#if defined(SgAsmJvmBootstrapMethods_HEADERS) || defined(DOCUMENTATION)
13516#include <sageContainer.h>
13519#ifdef DOCUMENTATION
13527#ifndef DOCUMENTATION
13528 AsmJvmBootstrapMethods.setDataPrototype(
13529 "SgAsmJvmBootstrapMethodPtrList",
"bootstrap_methods",
"",
13530 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13533 DECLARE_OTHERS(AsmJvmBootstrapMethods);
13534#if defined(SgAsmJvmBootstrapMethods_OTHERS) || defined(DOCUMENTATION)
13537#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13539 friend class boost::serialization::access;
13542 void serialize(S &s,
const unsigned ) {
13545 s & BOOST_SERIALIZATION_NVP(p_bootstrap_methods);
13577 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13595#ifdef DOCUMENTATION
13604DECLARE_LEAF_CLASS(AsmJvmBootstrapMethod);
13605IS_SERIALIZABLE(AsmJvmBootstrapMethod);
13607#ifndef DOCUMENTATION
13608AsmJvmBootstrapMethod.useSmallHeader(
true);
13611DECLARE_HEADERS(AsmJvmBootstrapMethod);
13612#if defined(SgAsmJvmBootstrapMethod_HEADERS) || defined(DOCUMENTATION)
13613#include <sageContainer.h>
13616#ifdef DOCUMENTATION
13625#ifndef DOCUMENTATION
13626 AsmJvmBootstrapMethod.setDataPrototype(
13627 "uint16_t",
"bootstrap_method_ref",
"= 0",
13628 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13631#ifndef DOCUMENTATION
13632 AsmJvmBootstrapMethod.setDataPrototype(
13633 "SgUnsigned16List",
"bootstrap_arguments",
"",
13634 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13637 DECLARE_OTHERS(AsmJvmBootstrapMethod);
13638#if defined(SgAsmJvmBootstrapMethod_OTHERS) || defined(DOCUMENTATION)
13641#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13643 friend class boost::serialization::access;
13646 void serialize(S &s,
const unsigned ) {
13648 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
13649 s & BOOST_SERIALIZATION_NVP(p_bootstrap_method_ref);
13650 s & BOOST_SERIALIZATION_NVP(p_bootstrap_arguments);
13689 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13707#ifdef DOCUMENTATION
13716DECLARE_LEAF_CLASS(AsmJvmAttributeTable);
13717IS_SERIALIZABLE(AsmJvmAttributeTable);
13719#ifndef DOCUMENTATION
13720AsmJvmAttributeTable.useSmallHeader(
true);
13723#ifdef DOCUMENTATION
13732#ifndef DOCUMENTATION
13733 AsmJvmAttributeTable.setDataPrototype(
13734 "SgAsmJvmAttributePtrList",
"attributes",
"",
13735 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
13738 DECLARE_OTHERS(AsmJvmAttributeTable);
13739#if defined(SgAsmJvmAttributeTable_OTHERS) || defined(DOCUMENTATION)
13742#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13744 friend class boost::serialization::access;
13747 void serialize(S &s,
const unsigned ) {
13750 s & BOOST_SERIALIZATION_NVP(p_attributes);
13781 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13799#ifdef DOCUMENTATION
13808#ifndef DOCUMENTATION
13809AstNodeClass& AsmJvmAttribute = nonTerminalConstructor(
13813 "AsmJvmAttributeTag",
13814 SubclassListBuilder()
13815 | AsmJvmBootstrapMethods
13816 | AsmJvmCodeAttribute
13817 | AsmJvmConstantValue
13818 | AsmJvmEnclosingMethod
13820 | AsmJvmInnerClasses
13821 | AsmJvmLineNumberTable
13822 | AsmJvmLocalVariableTable
13823 | AsmJvmLocalVariableTypeTable
13824 | AsmJvmMethodParameters
13825 | AsmJvmModuleMainClass
13827 | AsmJvmNestMembers
13830 | AsmJvmStackMapTable
13832assert(AsmJvmAttribute.associatedGrammar !=
nullptr);
13833AsmJvmAttribute.setCppCondition(
"!defined(DOCUMENTATION)");
13834AsmJvmAttribute.isBoostSerializable(
true);
13835AsmJvmAttribute.setAutomaticGenerationOfConstructor(
false);
13836AsmJvmAttribute.setAutomaticGenerationOfDestructor(
false);
13839#ifndef DOCUMENTATION
13840AsmJvmAttribute.useSmallHeader(
true);
13843#ifdef DOCUMENTATION
13848#ifndef DOCUMENTATION
13849 AsmJvmAttribute.setDataPrototype(
13850 "uint16_t",
"attribute_name_index",
"= 0",
13851 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13854#ifndef DOCUMENTATION
13855 AsmJvmAttribute.setDataPrototype(
13856 "uint32_t",
"attribute_length",
"= 0",
13857 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13860 DECLARE_OTHERS(AsmJvmAttribute);
13861#if defined(SgAsmJvmAttribute_OTHERS) || defined(DOCUMENTATION)
13864#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13866 friend class boost::serialization::access;
13869 void serialize(S &s,
const unsigned ) {
13871 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
13872 s & BOOST_SERIALIZATION_NVP(p_attribute_name_index);
13873 s & BOOST_SERIALIZATION_NVP(p_attribute_length);
13909 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13927#ifdef DOCUMENTATION
13936#ifndef DOCUMENTATION
13937AstNodeClass& AsmJvmNode = nonTerminalConstructor(
13942 SubclassListBuilder()
13944 | AsmJvmBootstrapMethod
13946 | AsmJvmConstantPoolEntry
13947 | AsmJvmExceptionHandler
13948 | AsmJvmExceptionTable
13950 | AsmJvmInnerClassesEntry
13951 | AsmJvmLineNumberEntry
13952 | AsmJvmLocalVariableEntry
13953 | AsmJvmLocalVariableTypeEntry
13955 | AsmJvmMethodParametersEntry
13956 | AsmJvmStackMapFrame
13957 | AsmJvmStackMapVerificationType
13959assert(AsmJvmNode.associatedGrammar !=
nullptr);
13960AsmJvmNode.setCppCondition(
"!defined(DOCUMENTATION)");
13961AsmJvmNode.isBoostSerializable(
true);
13962AsmJvmNode.setAutomaticGenerationOfConstructor(
false);
13963AsmJvmNode.setAutomaticGenerationOfDestructor(
false);
13966#ifndef DOCUMENTATION
13967AsmJvmNode.useSmallHeader(
true);
13970#ifdef DOCUMENTATION
13975 DECLARE_OTHERS(AsmJvmNode);
13976#if defined(SgAsmJvmNode_OTHERS) || defined(DOCUMENTATION)
13979#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
13981 friend class boost::serialization::access;
13984 void serialize(S &s,
const unsigned ) {
13986 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
13995 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
14013#ifdef DOCUMENTATION
14022DECLARE_LEAF_CLASS(AsmInterpretationList);
14023IS_SERIALIZABLE(AsmInterpretationList);
14025#ifndef DOCUMENTATION
14026AsmInterpretationList.useSmallHeader(
true);
14029DECLARE_HEADERS(AsmInterpretationList);
14030#if defined(SgAsmInterpretationList_HEADERS) || defined(DOCUMENTATION)
14031#include <sageContainer.h>
14034#ifdef DOCUMENTATION
14038#ifndef DOCUMENTATION
14039 AsmInterpretationList.setDataPrototype(
14040 "SgAsmInterpretationPtrList",
"interpretations",
"",
14041 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
14044 DECLARE_OTHERS(AsmInterpretationList);
14045#if defined(SgAsmInterpretationList_OTHERS) || defined(DOCUMENTATION)
14048#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14050 friend class boost::serialization::access;
14053 void serialize(S &s,
const unsigned ) {
14055 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
14056 s & BOOST_SERIALIZATION_NVP(p_interpretations);
14090#ifdef DOCUMENTATION
14099DECLARE_LEAF_CLASS(AsmInterpretation);
14100IS_SERIALIZABLE(AsmInterpretation);
14102#ifndef DOCUMENTATION
14103AsmInterpretation.useSmallHeader(
true);
14106DECLARE_HEADERS(AsmInterpretation);
14107#if defined(SgAsmInterpretation_HEADERS) || defined(DOCUMENTATION)
14108#include <Rose/BinaryAnalysis/BasicTypes.h>
14109#include <Rose/BinaryAnalysis/InstructionMap.h>
14110#include <Rose/BinaryAnalysis/MemoryMap.h>
14112#ifdef ROSE_SgAsmInterpretation_IMPL
14113#include <SgAsmBlock.h>
14114#include <SgAsmGenericHeaderList.h>
14118#ifdef DOCUMENTATION
14128#ifndef DOCUMENTATION
14129 AsmInterpretation.setDataPrototype(
14130 "SgAsmGenericHeaderList*",
"headers",
"= createAndParent<SgAsmGenericHeaderList>(this)",
14131 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14134#ifndef DOCUMENTATION
14135 AsmInterpretation.setDataPrototype(
14136 "SgAsmBlock*",
"globalBlock",
"= nullptr",
14137 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
14140#ifndef DOCUMENTATION
14141 AsmInterpretation.setDataPrototype(
14142 "bool",
"coverageComputed",
"= false",
14143 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14146#ifndef DOCUMENTATION
14147 AsmInterpretation.setDataPrototype(
14148 "double",
"percentageCoverage",
"= NAN",
14149 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14152 DECLARE_OTHERS(AsmInterpretation);
14153#if defined(SgAsmInterpretation_OTHERS) || defined(DOCUMENTATION)
14156#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14158 friend class boost::serialization::access;
14161 void serialize(S &s,
const unsigned ) {
14163 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
14164 s & BOOST_SERIALIZATION_NVP(p_headers);
14165 s & BOOST_SERIALIZATION_NVP(p_globalBlock);
14166 s & BOOST_SERIALIZATION_NVP(p_map);
14167 s & BOOST_SERIALIZATION_NVP(instruction_map);
14168 s & BOOST_SERIALIZATION_NVP(p_coverageComputed);
14169 s & BOOST_SERIALIZATION_NVP(p_percentageCoverage);
14275 Rose::BinaryAnalysis::InstructionMap& get_instruction_map(
bool=false) ROSE_DEPRECATED("use
get_instructionMap");
14276 void set_instruction_map(const
Rose::BinaryAnalysis::InstructionMap&) ROSE_DEPRECATED("use
set_instructionMap");
14277 void insert_instructions(
Rose::BinaryAnalysis::InstructionMap&) ROSE_DEPRECATED("use
insertInstructions");
14278 void erase_instructions(
Rose::BinaryAnalysis::InstructionMap&) ROSE_DEPRECATED("use
eraseInstructions");
14296#ifdef DOCUMENTATION
14305DECLARE_LEAF_CLASS(AsmIntegerValueExpression);
14306IS_SERIALIZABLE(AsmIntegerValueExpression);
14308#ifndef DOCUMENTATION
14309AsmIntegerValueExpression.useSmallHeader(
true);
14312#ifdef DOCUMENTATION
14331#ifndef DOCUMENTATION
14332 AsmIntegerValueExpression.setDataPrototype(
14333 "SgNode*",
"baseNode",
"= nullptr",
14334 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14337 DECLARE_OTHERS(AsmIntegerValueExpression);
14338#if defined(SgAsmIntegerValueExpression_OTHERS) || defined(DOCUMENTATION)
14341#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14343 friend class boost::serialization::access;
14346 void serialize(S &s,
const unsigned ) {
14349 s & BOOST_SERIALIZATION_NVP(p_baseNode);
14466#ifdef DOCUMENTATION
14475DECLARE_LEAF_CLASS(AsmIntegerType);
14476IS_SERIALIZABLE(AsmIntegerType);
14478#ifndef DOCUMENTATION
14479AsmIntegerType.useSmallHeader(
true);
14482DECLARE_HEADERS(AsmIntegerType);
14483#if defined(SgAsmIntegerType_HEADERS) || defined(DOCUMENTATION)
14484#include <Rose/BinaryAnalysis/ByteOrder.h>
14487#ifdef DOCUMENTATION
14492#ifndef DOCUMENTATION
14493 AsmIntegerType.setDataPrototype(
14494 "bool",
"isSigned",
"= false",
14495 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14498 DECLARE_OTHERS(AsmIntegerType);
14499#if defined(SgAsmIntegerType_OTHERS) || defined(DOCUMENTATION)
14502#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14504 friend class boost::serialization::access;
14507 void serialize(S &s,
const unsigned ) {
14510 s & BOOST_SERIALIZATION_NVP(p_isSigned);
14556#ifdef DOCUMENTATION
14565DECLARE_LEAF_CLASS(AsmInstructionList);
14566IS_SERIALIZABLE(AsmInstructionList);
14568#ifndef DOCUMENTATION
14569AsmInstructionList.useSmallHeader(
true);
14572DECLARE_HEADERS(AsmInstructionList);
14573#if defined(SgAsmInstructionList_HEADERS) || defined(DOCUMENTATION)
14574#include <sageContainer.h>
14577#ifdef DOCUMENTATION
14582#ifndef DOCUMENTATION
14583 AsmInstructionList.setDataPrototype(
14584 "SgAsmInstructionPtrList",
"instructions",
"",
14585 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14588 DECLARE_OTHERS(AsmInstructionList);
14589#if defined(SgAsmInstructionList_OTHERS) || defined(DOCUMENTATION)
14592#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14594 friend class boost::serialization::access;
14597 void serialize(S &s,
const unsigned ) {
14599 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
14600 s & BOOST_SERIALIZATION_NVP(p_instructions);
14635#ifdef DOCUMENTATION
14644DECLARE_LEAF_CLASS(AsmIndirectRegisterExpression);
14645IS_SERIALIZABLE(AsmIndirectRegisterExpression);
14647#ifndef DOCUMENTATION
14648AsmIndirectRegisterExpression.useSmallHeader(
true);
14651#ifdef DOCUMENTATION
14670#ifndef DOCUMENTATION
14671 AsmIndirectRegisterExpression.setDataPrototype(
14672 "Rose::BinaryAnalysis::RegisterDescriptor",
"stride",
"",
14673 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14676#ifndef DOCUMENTATION
14677 AsmIndirectRegisterExpression.setDataPrototype(
14678 "Rose::BinaryAnalysis::RegisterDescriptor",
"offset",
"",
14679 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14682#ifndef DOCUMENTATION
14683 AsmIndirectRegisterExpression.setDataPrototype(
14684 "size_t",
"index",
"= 0",
14685 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14688#ifndef DOCUMENTATION
14689 AsmIndirectRegisterExpression.setDataPrototype(
14690 "size_t",
"modulus",
"= 0",
14691 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14694 DECLARE_OTHERS(AsmIndirectRegisterExpression);
14695#if defined(SgAsmIndirectRegisterExpression_OTHERS) || defined(DOCUMENTATION)
14698#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14700 friend class boost::serialization::access;
14703 void serialize(S &s,
const unsigned ) {
14706 s & BOOST_SERIALIZATION_NVP(p_stride);
14707 s & BOOST_SERIALIZATION_NVP(p_offset);
14708 s & BOOST_SERIALIZATION_NVP(p_index);
14709 s & BOOST_SERIALIZATION_NVP(p_modulus);
14767 size_t const& index,
14768 size_t const& modulus);
14779#ifdef DOCUMENTATION
14788DECLARE_LEAF_CLASS(AsmGenericSymbolList);
14789IS_SERIALIZABLE(AsmGenericSymbolList);
14791#ifndef DOCUMENTATION
14792AsmGenericSymbolList.useSmallHeader(
true);
14795DECLARE_HEADERS(AsmGenericSymbolList);
14796#if defined(SgAsmGenericSymbolList_HEADERS) || defined(DOCUMENTATION)
14797#include <sageContainer.h>
14800#ifdef DOCUMENTATION
14808#ifndef DOCUMENTATION
14809 AsmGenericSymbolList.setDataPrototype(
14810 "SgAsmGenericSymbolPtrList",
"symbols",
"",
14811 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14814 DECLARE_OTHERS(AsmGenericSymbolList);
14815#if defined(SgAsmGenericSymbolList_OTHERS) || defined(DOCUMENTATION)
14818#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14820 friend class boost::serialization::access;
14823 void serialize(S &s,
const unsigned ) {
14826 s & BOOST_SERIALIZATION_NVP(p_symbols);
14857#ifdef DOCUMENTATION
14866DECLARE_LEAF_CLASS(AsmGenericSectionList);
14867IS_SERIALIZABLE(AsmGenericSectionList);
14869#ifndef DOCUMENTATION
14870AsmGenericSectionList.useSmallHeader(
true);
14873DECLARE_HEADERS(AsmGenericSectionList);
14874#if defined(SgAsmGenericSectionList_HEADERS) || defined(DOCUMENTATION)
14875#include <sageContainer.h>
14878#ifdef DOCUMENTATION
14886#ifndef DOCUMENTATION
14887 AsmGenericSectionList.setDataPrototype(
14888 "SgAsmGenericSectionPtrList",
"sections",
"",
14889 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
14892 DECLARE_OTHERS(AsmGenericSectionList);
14893#if defined(SgAsmGenericSectionList_OTHERS) || defined(DOCUMENTATION)
14896#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14898 friend class boost::serialization::access;
14901 void serialize(S &s,
const unsigned ) {
14904 s & BOOST_SERIALIZATION_NVP(p_sections);
14935#ifdef DOCUMENTATION
14944DECLARE_LEAF_CLASS(AsmGenericHeaderList);
14945IS_SERIALIZABLE(AsmGenericHeaderList);
14947#ifndef DOCUMENTATION
14948AsmGenericHeaderList.useSmallHeader(
true);
14951DECLARE_HEADERS(AsmGenericHeaderList);
14952#if defined(SgAsmGenericHeaderList_HEADERS) || defined(DOCUMENTATION)
14953#include <sageContainer.h>
14956#ifdef DOCUMENTATION
14964#ifndef DOCUMENTATION
14965 AsmGenericHeaderList.setDataPrototype(
14966 "SgAsmGenericHeaderPtrList",
"headers",
"",
14967 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
14970 DECLARE_OTHERS(AsmGenericHeaderList);
14971#if defined(SgAsmGenericHeaderList_OTHERS) || defined(DOCUMENTATION)
14974#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
14976 friend class boost::serialization::access;
14979 void serialize(S &s,
const unsigned ) {
14982 s & BOOST_SERIALIZATION_NVP(p_headers);
15013#ifdef DOCUMENTATION
15022DECLARE_LEAF_CLASS(AsmGenericFormat);
15023IS_SERIALIZABLE(AsmGenericFormat);
15025#ifndef DOCUMENTATION
15026AsmGenericFormat.useSmallHeader(
true);
15029DECLARE_HEADERS(AsmGenericFormat);
15030#if defined(SgAsmGenericFormat_HEADERS) || defined(DOCUMENTATION)
15031#include <Rose/BinaryAnalysis/ByteOrder.h>
15034#ifdef DOCUMENTATION
15039#ifndef DOCUMENTATION
15040 AsmGenericFormat.setDataPrototype(
15041 "SgAsmGenericFormat::ExecFamily",
"family",
"= SgAsmGenericFormat::FAMILY_UNSPECIFIED",
15042 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15045#ifndef DOCUMENTATION
15046 AsmGenericFormat.setDataPrototype(
15047 "SgAsmGenericFormat::ExecPurpose",
"purpose",
"= SgAsmGenericFormat::PURPOSE_EXECUTABLE",
15048 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15051#ifndef DOCUMENTATION
15052 AsmGenericFormat.setDataPrototype(
15053 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"sex",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
15054 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15057#ifndef DOCUMENTATION
15058 AsmGenericFormat.setDataPrototype(
15059 "unsigned",
"version",
"= 0",
15060 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15063#ifndef DOCUMENTATION
15064 AsmGenericFormat.setDataPrototype(
15065 "bool",
"isCurrentVersion",
"= false",
15066 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15069#ifndef DOCUMENTATION
15070 AsmGenericFormat.setDataPrototype(
15071 "SgAsmGenericFormat::ExecABI",
"abi",
"= SgAsmGenericFormat::ABI_UNSPECIFIED",
15072 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15075#ifndef DOCUMENTATION
15076 AsmGenericFormat.setDataPrototype(
15077 "unsigned",
"abiVersion",
"= 0",
15078 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15081#ifndef DOCUMENTATION
15082 AsmGenericFormat.setDataPrototype(
15083 "size_t",
"wordSize",
"= 0",
15084 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15087 DECLARE_OTHERS(AsmGenericFormat);
15088#if defined(SgAsmGenericFormat_OTHERS) || defined(DOCUMENTATION)
15091#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15093 friend class boost::serialization::access;
15096 void serialize(S &s,
const unsigned ) {
15099 s & BOOST_SERIALIZATION_NVP(p_family);
15100 s & BOOST_SERIALIZATION_NVP(p_purpose);
15101 s & BOOST_SERIALIZATION_NVP(p_sex);
15102 s & BOOST_SERIALIZATION_NVP(p_version);
15103 s & BOOST_SERIALIZATION_NVP(p_isCurrentVersion);
15104 s & BOOST_SERIALIZATION_NVP(p_abi);
15105 s & BOOST_SERIALIZATION_NVP(p_abiVersion);
15106 s & BOOST_SERIALIZATION_NVP(p_wordSize);
15179 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
15187 unsigned get_abi_version() const ROSE_DEPRECATED("use
get_abiVersion");
15188 void set_abi_version(
unsigned) ROSE_DEPRECATED("use
set_abiVersion");
15189 size_t get_word_size() const ROSE_DEPRECATED("use
get_wordSize");
15190 void set_word_size(
size_t) ROSE_DEPRECATED("use
set_wordSize");
15208#ifdef DOCUMENTATION
15217DECLARE_LEAF_CLASS(AsmGenericFileList);
15218IS_SERIALIZABLE(AsmGenericFileList);
15220#ifndef DOCUMENTATION
15221AsmGenericFileList.useSmallHeader(
true);
15224DECLARE_HEADERS(AsmGenericFileList);
15225#if defined(SgAsmGenericFileList_HEADERS) || defined(DOCUMENTATION)
15226#include <sageContainer.h>
15229#ifdef DOCUMENTATION
15237#ifndef DOCUMENTATION
15238 AsmGenericFileList.setDataPrototype(
15239 "SgAsmGenericFilePtrList",
"files",
"",
15240 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15243 DECLARE_OTHERS(AsmGenericFileList);
15244#if defined(SgAsmGenericFileList_OTHERS) || defined(DOCUMENTATION)
15247#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15249 friend class boost::serialization::access;
15252 void serialize(S &s,
const unsigned ) {
15254 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
15255 s & BOOST_SERIALIZATION_NVP(p_files);
15286#ifdef DOCUMENTATION
15295DECLARE_LEAF_CLASS(AsmGenericFile);
15296IS_SERIALIZABLE(AsmGenericFile);
15298#ifndef DOCUMENTATION
15299AsmGenericFile.useSmallHeader(
true);
15302DECLARE_HEADERS(AsmGenericFile);
15303#if defined(SgAsmGenericFile_HEADERS) || defined(DOCUMENTATION)
15304#include <Rose/BinaryAnalysis/MemoryMap.h>
15305#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
15307#include "DataConversion.h"
15308#include "StatSerializer.h"
15310#ifdef ROSE_SgAsmGenericFile_IMPL
15311#include <SgAsmDwarfCompilationUnitList.h>
15312#include <SgAsmGenericSectionList.h>
15313#include <SgAsmGenericHeaderList.h>
15317#ifdef DOCUMENTATION
15322#ifndef DOCUMENTATION
15323 AsmGenericFile.setDataPrototype(
15324 "SgAsmDwarfCompilationUnitList*",
"dwarfInfo",
"= nullptr",
15325 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15328#ifndef DOCUMENTATION
15329 AsmGenericFile.setDataPrototype(
15330 "std::string",
"name",
"",
15331 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15334#ifndef DOCUMENTATION
15335 AsmGenericFile.setDataPrototype(
15336 "int",
"fd",
"= -1",
15337 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15340#ifndef DOCUMENTATION
15341 AsmGenericFile.setDataPrototype(
15342 "struct stat",
"sb",
"",
15343 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15346#ifndef DOCUMENTATION
15347 AsmGenericFile.setDataPrototype(
15348 "SgFileContentList",
"data",
"",
15349 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15352#ifndef DOCUMENTATION
15353 AsmGenericFile.setDataPrototype(
15354 "SgAsmGenericHeaderList*",
"headers",
"= createAndParent<SgAsmGenericHeaderList>(this)",
15355 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15358#ifndef DOCUMENTATION
15359 AsmGenericFile.setDataPrototype(
15360 "SgAsmGenericSectionList*",
"holes",
"= createAndParent<SgAsmGenericSectionList>(this)",
15361 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15364#ifndef DOCUMENTATION
15365 AsmGenericFile.setDataPrototype(
15366 "bool",
"truncateZeros",
"= false",
15367 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15370#ifndef DOCUMENTATION
15371 AsmGenericFile.setDataPrototype(
15372 "bool",
"trackingReferences",
"= true",
15373 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15376#ifndef DOCUMENTATION
15377 AsmGenericFile.setDataPrototype(
15378 "Rose::BinaryAnalysis::AddressIntervalSet",
"referencedExtents",
"",
15379 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15382#ifndef DOCUMENTATION
15383 AsmGenericFile.setDataPrototype(
15384 "bool",
"neuter",
"= false",
15385 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15388 DECLARE_OTHERS(AsmGenericFile);
15389#if defined(SgAsmGenericFile_OTHERS) || defined(DOCUMENTATION)
15392#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15394 friend class boost::serialization::access;
15397 void serialize(S &s,
const unsigned ) {
15400 s & BOOST_SERIALIZATION_NVP(p_dwarfInfo);
15401 s & BOOST_SERIALIZATION_NVP(p_name);
15402 s & BOOST_SERIALIZATION_NVP(p_sb);
15403 s & BOOST_SERIALIZATION_NVP(p_data);
15404 s & BOOST_SERIALIZATION_NVP(p_headers);
15405 s & BOOST_SERIALIZATION_NVP(p_holes);
15406 s & BOOST_SERIALIZATION_NVP(p_truncateZeros);
15407 s & BOOST_SERIALIZATION_NVP(p_trackingReferences);
15408 s & BOOST_SERIALIZATION_NVP(p_referencedExtents);
15409 s & BOOST_SERIALIZATION_NVP(p_neuter);
15419 ADDRSP_MEMORY = 0x0001,
15420 ADDRSP_FILE = 0x0002,
15421 ADDRSP_ALL = 0x0003
15462 struct stat const& get_sb()
const;
15593 size_t readContent(rose_addr_t offset,
void *dst_buf, rose_addr_t size,
bool strict=
true);
15602 rose_addr_t size,
bool strict=
true);
15813 const
Rose::BinaryAnalysis::AddressIntervalSet& get_referenced_extents() const ROSE_DEPRECATED("use
get_referencedExtents");
15814 void set_referenced_extents(const
Rose::BinaryAnalysis::AddressIntervalSet&) ROSE_DEPRECATED("use
set_referencedExtents");
15815 void extend_to_eof(std::ostream&) const ROSE_DEPRECATED("use
extendToEof");
15816 void dump_all(
bool in_cwd=true, const
char *ext=NULL) ROSE_DEPRECATED("use
dumpAll");
15817 void dump_all(const std::
string& dumpname) ROSE_DEPRECATED("use
dumpAll");
15819 void mark_referenced_extent(rose_addr_t, rose_addr_t) ROSE_DEPRECATED("use
markReferencedExtent");
15822 rose_addr_t get_current_size() const ROSE_DEPRECATED("use
get_currentSize");
15823 rose_addr_t get_orig_size() const ROSE_DEPRECATED("use
get_originalSize");
15824 size_t read_content(rose_addr_t,
void*, rose_addr_t,
bool=true) ROSE_DEPRECATED("use
readContent");
15825 size_t read_content(const
Rose::BinaryAnalysis::MemoryMap::Ptr&, rose_addr_t,
void*, rose_addr_t,
bool=true)
15827 std::
string read_content_str(const
Rose::BinaryAnalysis::MemoryMap::Ptr&, rose_addr_t,
bool=true)
15829 std::
string read_content_str(rose_addr_t,
bool=true) ROSE_DEPRECATED("use
readContentString");
15830 SgAsmGenericSectionPtrList get_mapped_sections() const ROSE_DEPRECATED("use
get_mappedSections");
15831 SgAsmGenericSectionPtrList get_sections_by_id(
int id) const ROSE_DEPRECATED("use
get_sectionById");
15832 SgAsmGenericSectionPtrList get_sections_by_name(std::
string,
char='\0') const ROSE_DEPRECATED("use
get_sectionsByName");
15833 SgAsmGenericSectionPtrList get_sections_by_offset(rose_addr_t, rose_addr_t) const ROSE_DEPRECATED("use
get_sectionsByOffset");
15834 SgAsmGenericSectionPtrList get_sections_by_rva(rose_addr_t) const ROSE_DEPRECATED("use
get_sectionsByRva");
15835 SgAsmGenericSectionPtrList get_sections_by_va(rose_addr_t) const ROSE_DEPRECATED("use
get_sectionsByVa");
15837 SgAsmGenericSection *get_section_by_name(const std::
string&,
char=0,
size_t* =
nullptr) const
15839 SgAsmGenericSection *get_section_by_offset(rose_addr_t, rose_addr_t,
size_t* =
nullptr) const
15844 static
SgAsmGenericSection *best_section_by_va(const SgAsmGenericSectionPtrList&, rose_addr_t)
15851 void fill_holes() ROSE_DEPRECATED("use
fillHoles");
15852 void unfill_holes() ROSE_DEPRECATED("use
unfillHoles");
15855 const
char *format_name() const ROSE_DEPRECATED("use
formatName");
15873#ifdef DOCUMENTATION
15882DECLARE_LEAF_CLASS(AsmGenericDLLList);
15883IS_SERIALIZABLE(AsmGenericDLLList);
15885#ifndef DOCUMENTATION
15886AsmGenericDLLList.useSmallHeader(
true);
15889DECLARE_HEADERS(AsmGenericDLLList);
15890#if defined(SgAsmGenericDLLList_HEADERS) || defined(DOCUMENTATION)
15891#include <sageContainer.h>
15894#ifdef DOCUMENTATION
15902#ifndef DOCUMENTATION
15903 AsmGenericDLLList.setDataPrototype(
15904 "SgAsmGenericDLLPtrList",
"dlls",
"",
15905 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15908 DECLARE_OTHERS(AsmGenericDLLList);
15909#if defined(SgAsmGenericDLLList_OTHERS) || defined(DOCUMENTATION)
15912#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15914 friend class boost::serialization::access;
15917 void serialize(S &s,
const unsigned ) {
15920 s & BOOST_SERIALIZATION_NVP(p_dlls);
15951#ifdef DOCUMENTATION
15960DECLARE_LEAF_CLASS(AsmGenericDLL);
15961IS_SERIALIZABLE(AsmGenericDLL);
15963#ifndef DOCUMENTATION
15964AsmGenericDLL.useSmallHeader(
true);
15967DECLARE_HEADERS(AsmGenericDLL);
15968#if defined(SgAsmGenericDLL_HEADERS) || defined(DOCUMENTATION)
15969#include <sageContainer.h>
15971#ifdef ROSE_SgAsmGenericDLL_IMPL
15972#include <SgAsmBasicString.h>
15976#ifdef DOCUMENTATION
15981#ifndef DOCUMENTATION
15982 AsmGenericDLL.setDataPrototype(
15983 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
15984 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15987#ifndef DOCUMENTATION
15988 AsmGenericDLL.setDataPrototype(
15989 "SgStringList",
"symbols",
"",
15990 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15993 DECLARE_OTHERS(AsmGenericDLL);
15994#if defined(SgAsmGenericDLL_OTHERS) || defined(DOCUMENTATION)
15997#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
15999 friend class boost::serialization::access;
16002 void serialize(S &s,
const unsigned ) {
16005 s & BOOST_SERIALIZATION_NVP(p_name);
16006 s & BOOST_SERIALIZATION_NVP(p_symbols);
16030 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
16039 void add_symbol(
const std::string&) ROSE_DEPRECATED(
"use addSymbol");
16057#ifdef DOCUMENTATION
16066DECLARE_LEAF_CLASS(AsmFunction);
16067IS_SERIALIZABLE(AsmFunction);
16069#ifndef DOCUMENTATION
16070AsmFunction.useSmallHeader(
true);
16073DECLARE_HEADERS(AsmFunction);
16074#if defined(SgAsmFunction_HEADERS) || defined(DOCUMENTATION)
16075#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
16076#include <sageContainer.h>
16078#ifdef ROSE_SgAsmFunction_IMPL
16079#include <SgAsmInstruction.h>
16083#ifdef DOCUMENTATION
16102#ifndef DOCUMENTATION
16103 AsmFunction.setDataPrototype(
16104 "std::string",
"name",
"",
16105 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16108#ifndef DOCUMENTATION
16109 AsmFunction.setDataPrototype(
16110 "unsigned",
"reason",
"= SgAsmFunction::FUNC_NONE",
16111 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16114#ifndef DOCUMENTATION
16115 AsmFunction.setDataPrototype(
16116 "std::string",
"reasonComment",
"",
16117 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16120#ifndef DOCUMENTATION
16121 AsmFunction.setDataPrototype(
16122 "SgAsmFunction::function_kind_enum",
"functionKind",
"= SgAsmFunction::e_unknown",
16123 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16126#ifndef DOCUMENTATION
16127 AsmFunction.setDataPrototype(
16128 "SgAsmFunction::MayReturn",
"mayReturn",
"= SgAsmFunction::RET_UNKNOWN",
16129 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16132#ifndef DOCUMENTATION
16133 AsmFunction.setDataPrototype(
16134 "std::string",
"nameMd5",
"",
16135 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16138#ifndef DOCUMENTATION
16139 AsmFunction.setDataPrototype(
16140 "SgAsmStatementPtrList",
"statementList",
"",
16141 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16144#ifndef DOCUMENTATION
16145 AsmFunction.setDataPrototype(
16146 "SgAsmStatementPtrList",
"dest",
"",
16147 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16150#ifndef DOCUMENTATION
16151 AsmFunction.setDataPrototype(
16152 "rose_addr_t",
"entryVa",
"= 0",
16153 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16156#ifndef DOCUMENTATION
16157 AsmFunction.setDataPrototype(
16158 "SgSymbolTable*",
"symbolTable",
"= nullptr",
16159 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16162#ifndef DOCUMENTATION
16163 AsmFunction.setDataPrototype(
16164 "size_t",
"cachedVertex",
"= (size_t)(-1)",
16165 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16168#ifndef DOCUMENTATION
16169 AsmFunction.setDataPrototype(
16170 "int64_t",
"stackDelta",
"= SgAsmInstruction::INVALID_STACK_DELTA",
16171 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16174#ifndef DOCUMENTATION
16175 AsmFunction.setDataPrototype(
16176 "std::string",
"callingConvention",
"",
16177 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16180 DECLARE_OTHERS(AsmFunction);
16181#if defined(SgAsmFunction_OTHERS) || defined(DOCUMENTATION)
16184#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16186 friend class boost::serialization::access;
16189 void serialize(S &s,
const unsigned ) {
16192 s & BOOST_SERIALIZATION_NVP(p_name);
16193 s & BOOST_SERIALIZATION_NVP(p_reason);
16194 s & BOOST_SERIALIZATION_NVP(p_reasonComment);
16195 s & BOOST_SERIALIZATION_NVP(p_functionKind);
16196 s & BOOST_SERIALIZATION_NVP(p_mayReturn);
16197 s & BOOST_SERIALIZATION_NVP(p_nameMd5);
16198 s & BOOST_SERIALIZATION_NVP(p_statementList);
16199 s & BOOST_SERIALIZATION_NVP(p_dest);
16200 s & BOOST_SERIALIZATION_NVP(p_entryVa);
16201 s & BOOST_SERIALIZATION_NVP(p_cachedVertex);
16202 s & BOOST_SERIALIZATION_NVP(p_stackDelta);
16203 s & BOOST_SERIALIZATION_NVP(p_callingConvention);
16395 SgAsmStatementPtrList
const& get_dest()
const;
16396 void set_dest(SgAsmStatementPtrList
const&);
16421 size_t const& get_cachedVertex()
const;
16422 void set_cachedVertex(
size_t const&);
16485 virtual bool operator()(
SgNode*) = 0;
16545 const std::
string& get_name_md5() const ROSE_DEPRECATED("use
get_nameMd5");
16546 void set_name_md5(const std::
string&) ROSE_DEPRECATED("use
set_nameMd5");
16547 rose_addr_t get_entry_va() const ROSE_DEPRECATED("use
get_entryVa");
16548 void set_entry_va(rose_addr_t) ROSE_DEPRECATED("use
set_entryVa");
16551 size_t get_cached_vertex() const ROSE_DEPRECATED("use get_cachedVertex");
16552 void set_cached_vertex(
size_t) ROSE_DEPRECATED("use set_cachedVertex");
16556 static std::
string reason_key(const std::
string &prefix="") ROSE_DEPRECATED("use
reasonKey");
16557 std::
string reason_str(
bool) const ROSE_DEPRECATED("use
reasonString");
16558 static std::
string reason_str(
bool,
unsigned) ROSE_DEPRECATED("use
reasonString");
16570 std::
string const& name,
16571 unsigned const& reason,
16583#ifdef DOCUMENTATION
16592#ifndef DOCUMENTATION
16593AstNodeClass& AsmSynthesizedDeclaration = nonTerminalConstructor(
16594 "AsmSynthesizedDeclaration",
16596 "AsmSynthesizedDeclaration",
16597 "AsmSynthesizedDeclarationTag",
16598 SubclassListBuilder()
16600 | AsmSynthesizedDataStructureDeclaration
16601 | AsmSynthesizedFieldDeclaration
16603assert(AsmSynthesizedDeclaration.associatedGrammar !=
nullptr);
16604AsmSynthesizedDeclaration.setCppCondition(
"!defined(DOCUMENTATION)");
16605AsmSynthesizedDeclaration.isBoostSerializable(
true);
16606AsmSynthesizedDeclaration.setAutomaticGenerationOfConstructor(
false);
16607AsmSynthesizedDeclaration.setAutomaticGenerationOfDestructor(
false);
16610#ifndef DOCUMENTATION
16611AsmSynthesizedDeclaration.useSmallHeader(
true);
16614#ifdef DOCUMENTATION
16624 DECLARE_OTHERS(AsmSynthesizedDeclaration);
16625#if defined(SgAsmSynthesizedDeclaration_OTHERS) || defined(DOCUMENTATION)
16628#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16630 friend class boost::serialization::access;
16633 void serialize(S &s,
const unsigned ) {
16661#ifdef DOCUMENTATION
16670DECLARE_LEAF_CLASS(AsmFloatValueExpression);
16671IS_SERIALIZABLE(AsmFloatValueExpression);
16673#ifndef DOCUMENTATION
16674AsmFloatValueExpression.useSmallHeader(
true);
16677#ifdef DOCUMENTATION
16685 DECLARE_OTHERS(AsmFloatValueExpression);
16686#if defined(SgAsmFloatValueExpression_OTHERS) || defined(DOCUMENTATION)
16689#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16691 friend class boost::serialization::access;
16694 void serialize(S &s,
const unsigned ) {
16697 s & BOOST_SERIALIZATION_NVP(p_nativeValue);
16698 s & BOOST_SERIALIZATION_NVP(p_nativeValueIsValid);
16711 mutable double p_nativeValue;
16716 mutable bool p_nativeValueIsValid;
16771#ifdef DOCUMENTATION
16780DECLARE_LEAF_CLASS(AsmFloatType);
16781IS_SERIALIZABLE(AsmFloatType);
16783#ifndef DOCUMENTATION
16784AsmFloatType.useSmallHeader(
true);
16787DECLARE_HEADERS(AsmFloatType);
16788#if defined(SgAsmFloatType_HEADERS) || defined(DOCUMENTATION)
16789#include <Sawyer/BitVector.h>
16790#include <Rose/BitFlags.h>
16791#include <Rose/BinaryAnalysis/ByteOrder.h>
16794#ifdef DOCUMENTATION
16799#ifndef DOCUMENTATION
16800 AsmFloatType.setDataPrototype(
16801 "size_t",
"significandOffset",
"= (size_t)(-1)",
16802 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16805#ifndef DOCUMENTATION
16806 AsmFloatType.setDataPrototype(
16807 "size_t",
"significandNBits",
"= (size_t)(-1)",
16808 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16811#ifndef DOCUMENTATION
16812 AsmFloatType.setDataPrototype(
16813 "size_t",
"signBitOffset",
"= (size_t)(-1)",
16814 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16817#ifndef DOCUMENTATION
16818 AsmFloatType.setDataPrototype(
16819 "size_t",
"exponentOffset",
"= (size_t)(-1)",
16820 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16823#ifndef DOCUMENTATION
16824 AsmFloatType.setDataPrototype(
16825 "size_t",
"exponentNBits",
"= (size_t)(-1)",
16826 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16829#ifndef DOCUMENTATION
16830 AsmFloatType.setDataPrototype(
16831 "uint64_t",
"exponentBias",
"= 0",
16832 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16835#ifndef DOCUMENTATION
16836 AsmFloatType.setDataPrototype(
16837 "unsigned",
"flags",
"= 0",
16838 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16841 DECLARE_OTHERS(AsmFloatType);
16842#if defined(SgAsmFloatType_OTHERS) || defined(DOCUMENTATION)
16845#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
16847 friend class boost::serialization::access;
16850 void serialize(S &s,
const unsigned ) {
16853 s & BOOST_SERIALIZATION_NVP(p_significandOffset);
16854 s & BOOST_SERIALIZATION_NVP(p_significandNBits);
16855 s & BOOST_SERIALIZATION_NVP(p_signBitOffset);
16856 s & BOOST_SERIALIZATION_NVP(p_exponentOffset);
16857 s & BOOST_SERIALIZATION_NVP(p_exponentNBits);
16858 s & BOOST_SERIALIZATION_NVP(p_exponentBias);
16859 s & BOOST_SERIALIZATION_NVP(p_flags);
16958#ifdef DOCUMENTATION
16967#ifndef DOCUMENTATION
16968AstNodeClass& AsmScalarType = nonTerminalConstructor(
16972 "AsmScalarTypeTag",
16973 SubclassListBuilder()
16978assert(AsmScalarType.associatedGrammar !=
nullptr);
16979AsmScalarType.setCppCondition(
"!defined(DOCUMENTATION)");
16980AsmScalarType.isBoostSerializable(
true);
16981AsmScalarType.setAutomaticGenerationOfConstructor(
false);
16982AsmScalarType.setAutomaticGenerationOfDestructor(
false);
16985#ifndef DOCUMENTATION
16986AsmScalarType.useSmallHeader(
true);
16989DECLARE_HEADERS(AsmScalarType);
16990#if defined(SgAsmScalarType_HEADERS) || defined(DOCUMENTATION)
16991#include <Rose/BinaryAnalysis/ByteOrder.h>
16994#ifdef DOCUMENTATION
16999#ifndef DOCUMENTATION
17000 AsmScalarType.setDataPrototype(
17001 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"minorOrder",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
17002 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17005#ifndef DOCUMENTATION
17006 AsmScalarType.setDataPrototype(
17007 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"majorOrder",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
17008 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17011#ifndef DOCUMENTATION
17012 AsmScalarType.setDataPrototype(
17013 "size_t",
"majorNBytes",
"= 0",
17014 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17017#ifndef DOCUMENTATION
17018 AsmScalarType.setDataPrototype(
17019 "size_t",
"nBits",
"= 0",
17020 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17023 DECLARE_OTHERS(AsmScalarType);
17024#if defined(SgAsmScalarType_OTHERS) || defined(DOCUMENTATION)
17027#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17029 friend class boost::serialization::access;
17032 void serialize(S &s,
const unsigned ) {
17034 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmType);
17035 s & BOOST_SERIALIZATION_NVP(p_minorOrder);
17036 s & BOOST_SERIALIZATION_NVP(p_majorOrder);
17037 s & BOOST_SERIALIZATION_NVP(p_majorNBytes);
17038 s & BOOST_SERIALIZATION_NVP(p_nBits);
17102#ifdef DOCUMENTATION
17111#ifndef DOCUMENTATION
17112AstNodeClass& AsmType = nonTerminalConstructor(
17117 SubclassListBuilder()
17122assert(AsmType.associatedGrammar !=
nullptr);
17123AsmType.setCppCondition(
"!defined(DOCUMENTATION)");
17124AsmType.isBoostSerializable(
true);
17125AsmType.setAutomaticGenerationOfConstructor(
false);
17126AsmType.setAutomaticGenerationOfDestructor(
false);
17129#ifndef DOCUMENTATION
17130AsmType.useSmallHeader(
true);
17133#ifdef DOCUMENTATION
17138 DECLARE_OTHERS(AsmType);
17139#if defined(SgAsmType_OTHERS) || defined(DOCUMENTATION)
17142#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17144 friend class boost::serialization::access;
17147 void serialize(S &s,
const unsigned ) {
17149 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
17190 template<
class Type>
17192 ASSERT_not_null(toInsert);
17193 std::string key = toInsert->toString();
17194 Type *retval =
dynamic_cast<Type*
>(p_typeRegistry.
insertMaybe(key, toInsert));
17195 ASSERT_not_null(retval);
17196 if (retval!=toInsert)
17217#ifdef DOCUMENTATION
17226DECLARE_LEAF_CLASS(AsmExprListExp);
17227IS_SERIALIZABLE(AsmExprListExp);
17229#ifndef DOCUMENTATION
17230AsmExprListExp.useSmallHeader(
true);
17233DECLARE_HEADERS(AsmExprListExp);
17234#if defined(SgAsmExprListExp_HEADERS) || defined(DOCUMENTATION)
17235#include <sageContainer.h>
17238#ifdef DOCUMENTATION
17243#ifndef DOCUMENTATION
17244 AsmExprListExp.setDataPrototype(
17245 "SgAsmExpressionPtrList",
"expressions",
"",
17246 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17249 DECLARE_OTHERS(AsmExprListExp);
17250#if defined(SgAsmExprListExp_OTHERS) || defined(DOCUMENTATION)
17253#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17255 friend class boost::serialization::access;
17258 void serialize(S &s,
const unsigned ) {
17261 s & BOOST_SERIALIZATION_NVP(p_expressions);
17295#ifdef DOCUMENTATION
17304DECLARE_LEAF_CLASS(AsmElfSymverSection);
17305IS_SERIALIZABLE(AsmElfSymverSection);
17307#ifndef DOCUMENTATION
17308AsmElfSymverSection.useSmallHeader(
true);
17311DECLARE_HEADERS(AsmElfSymverSection);
17312#if defined(SgAsmElfSymverSection_HEADERS) || defined(DOCUMENTATION)
17313#ifdef ROSE_SgAsmElfSymverSection_IMPL
17314#include <SgAsmElfSymverEntryList.h>
17318#ifdef DOCUMENTATION
17326#ifndef DOCUMENTATION
17327 AsmElfSymverSection.setDataPrototype(
17328 "SgAsmElfSymverEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverEntryList>(this)",
17329 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17332 DECLARE_OTHERS(AsmElfSymverSection);
17333#if defined(SgAsmElfSymverSection_OTHERS) || defined(DOCUMENTATION)
17336#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17338 friend class boost::serialization::access;
17341 void serialize(S &s,
const unsigned ) {
17344 s & BOOST_SERIALIZATION_NVP(p_entries);
17370 virtual rose_addr_t
calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
17376 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
17382 using SgAsmElfSection::calculate_sizes;
17383 virtual rose_addr_t calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*)
const override ROSE_DEPRECATED(
"use calculateSizes");
17401#ifdef DOCUMENTATION
17410DECLARE_LEAF_CLASS(AsmElfSymverNeededSection);
17411IS_SERIALIZABLE(AsmElfSymverNeededSection);
17413#ifndef DOCUMENTATION
17414AsmElfSymverNeededSection.useSmallHeader(
true);
17417DECLARE_HEADERS(AsmElfSymverNeededSection);
17418#if defined(SgAsmElfSymverNeededSection_HEADERS) || defined(DOCUMENTATION)
17419#ifdef ROSE_SgAsmElfSymverNeededSection_IMPL
17420#include <SgAsmElfSymverNeededEntryList.h>
17424#ifdef DOCUMENTATION
17433#ifndef DOCUMENTATION
17434 AsmElfSymverNeededSection.setDataPrototype(
17435 "SgAsmElfSymverNeededEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverNeededEntryList>(this)",
17436 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17439 DECLARE_OTHERS(AsmElfSymverNeededSection);
17440#if defined(SgAsmElfSymverNeededSection_OTHERS) || defined(DOCUMENTATION)
17443#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17445 friend class boost::serialization::access;
17448 void serialize(S &s,
const unsigned ) {
17451 s & BOOST_SERIALIZATION_NVP(p_entries);
17483 using SgAsmElfSection::calculate_sizes;
17487 virtual rose_addr_t
calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
17495 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
17501 virtual rose_addr_t calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*)
const override ROSE_DEPRECATED(
"use calculateSizes");
17519#ifdef DOCUMENTATION
17528DECLARE_LEAF_CLASS(AsmElfSymverNeededEntryList);
17529IS_SERIALIZABLE(AsmElfSymverNeededEntryList);
17531#ifndef DOCUMENTATION
17532AsmElfSymverNeededEntryList.useSmallHeader(
true);
17535DECLARE_HEADERS(AsmElfSymverNeededEntryList);
17536#if defined(SgAsmElfSymverNeededEntryList_HEADERS) || defined(DOCUMENTATION)
17537#include <sageContainer.h>
17540#ifdef DOCUMENTATION
17548#ifndef DOCUMENTATION
17549 AsmElfSymverNeededEntryList.setDataPrototype(
17550 "SgAsmElfSymverNeededEntryPtrList",
"entries",
"",
17551 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17554 DECLARE_OTHERS(AsmElfSymverNeededEntryList);
17555#if defined(SgAsmElfSymverNeededEntryList_OTHERS) || defined(DOCUMENTATION)
17558#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17560 friend class boost::serialization::access;
17563 void serialize(S &s,
const unsigned ) {
17566 s & BOOST_SERIALIZATION_NVP(p_entries);
17597#ifdef DOCUMENTATION
17606DECLARE_LEAF_CLASS(AsmElfSymverNeededEntry);
17607IS_SERIALIZABLE(AsmElfSymverNeededEntry);
17609#ifndef DOCUMENTATION
17610AsmElfSymverNeededEntry.useSmallHeader(
true);
17613DECLARE_HEADERS(AsmElfSymverNeededEntry);
17614#if defined(SgAsmElfSymverNeededEntry_HEADERS) || defined(DOCUMENTATION)
17615#include <Rose/BinaryAnalysis/ByteOrder.h>
17617#ifdef ROSE_SgAsmElfSymverNeededEntry_IMPL
17618#include <SgAsmElfSymverNeededAuxList.h>
17619#include <SgAsmGenericString.h>
17623#ifdef DOCUMENTATION
17628#ifndef DOCUMENTATION
17629 AsmElfSymverNeededEntry.setDataPrototype(
17630 "size_t",
"version",
"= 0",
17631 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17634#ifndef DOCUMENTATION
17635 AsmElfSymverNeededEntry.setDataPrototype(
17636 "SgAsmGenericString*",
"fileName",
"= nullptr",
17637 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17640#ifndef DOCUMENTATION
17641 AsmElfSymverNeededEntry.setDataPrototype(
17642 "SgAsmElfSymverNeededAuxList*",
"entries",
"= createAndParent<SgAsmElfSymverNeededAuxList>(this)",
17643 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17646 DECLARE_OTHERS(AsmElfSymverNeededEntry);
17647#if defined(SgAsmElfSymverNeededEntry_OTHERS) || defined(DOCUMENTATION)
17650#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17652 friend class boost::serialization::access;
17655 void serialize(S &s,
const unsigned ) {
17658 s & BOOST_SERIALIZATION_NVP(p_version);
17659 s & BOOST_SERIALIZATION_NVP(p_fileName);
17660 s & BOOST_SERIALIZATION_NVP(p_entries);
17680#if !defined(SWIG) && !defined(_MSC_VER)
17681 __attribute__((packed))
17735 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
17760#ifdef DOCUMENTATION
17769DECLARE_LEAF_CLASS(AsmElfSymverNeededAuxList);
17770IS_SERIALIZABLE(AsmElfSymverNeededAuxList);
17772#ifndef DOCUMENTATION
17773AsmElfSymverNeededAuxList.useSmallHeader(
true);
17776DECLARE_HEADERS(AsmElfSymverNeededAuxList);
17777#if defined(SgAsmElfSymverNeededAuxList_HEADERS) || defined(DOCUMENTATION)
17778#include <sageContainer.h>
17781#ifdef DOCUMENTATION
17789#ifndef DOCUMENTATION
17790 AsmElfSymverNeededAuxList.setDataPrototype(
17791 "SgAsmElfSymverNeededAuxPtrList",
"entries",
"",
17792 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17795 DECLARE_OTHERS(AsmElfSymverNeededAuxList);
17796#if defined(SgAsmElfSymverNeededAuxList_OTHERS) || defined(DOCUMENTATION)
17799#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17801 friend class boost::serialization::access;
17804 void serialize(S &s,
const unsigned ) {
17807 s & BOOST_SERIALIZATION_NVP(p_entries);
17838#ifdef DOCUMENTATION
17847DECLARE_LEAF_CLASS(AsmElfSymverNeededAux);
17848IS_SERIALIZABLE(AsmElfSymverNeededAux);
17850#ifndef DOCUMENTATION
17851AsmElfSymverNeededAux.useSmallHeader(
true);
17854DECLARE_HEADERS(AsmElfSymverNeededAux);
17855#if defined(SgAsmElfSymverNeededAux_HEADERS) || defined(DOCUMENTATION)
17856#include <Rose/BinaryAnalysis/ByteOrder.h>
17858#ifdef ROSE_SgAsmElfSymverNeededAux_IMPL
17859#include <SgAsmGenericString.h>
17863#ifdef DOCUMENTATION
17868#ifndef DOCUMENTATION
17869 AsmElfSymverNeededAux.setDataPrototype(
17870 "uint32_t",
"hash",
"= 0",
17871 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17874#ifndef DOCUMENTATION
17875 AsmElfSymverNeededAux.setDataPrototype(
17876 "int",
"flags",
"= 0",
17877 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17880#ifndef DOCUMENTATION
17881 AsmElfSymverNeededAux.setDataPrototype(
17882 "size_t",
"other",
"= 0",
17883 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17886#ifndef DOCUMENTATION
17887 AsmElfSymverNeededAux.setDataPrototype(
17888 "SgAsmGenericString*",
"name",
"= 0",
17889 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17892 DECLARE_OTHERS(AsmElfSymverNeededAux);
17893#if defined(SgAsmElfSymverNeededAux_OTHERS) || defined(DOCUMENTATION)
17896#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
17898 friend class boost::serialization::access;
17901 void serialize(S &s,
const unsigned ) {
17904 s & BOOST_SERIALIZATION_NVP(p_hash);
17905 s & BOOST_SERIALIZATION_NVP(p_flags);
17906 s & BOOST_SERIALIZATION_NVP(p_other);
17907 s & BOOST_SERIALIZATION_NVP(p_name);
17927#if !defined(SWIG) && !defined(_MSC_VER)
17928 __attribute__((packed))
17998 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
18016#ifdef DOCUMENTATION
18025DECLARE_LEAF_CLASS(AsmElfSymverEntryList);
18026IS_SERIALIZABLE(AsmElfSymverEntryList);
18028#ifndef DOCUMENTATION
18029AsmElfSymverEntryList.useSmallHeader(
true);
18032DECLARE_HEADERS(AsmElfSymverEntryList);
18033#if defined(SgAsmElfSymverEntryList_HEADERS) || defined(DOCUMENTATION)
18034#include <sageContainer.h>
18037#ifdef DOCUMENTATION
18045#ifndef DOCUMENTATION
18046 AsmElfSymverEntryList.setDataPrototype(
18047 "SgAsmElfSymverEntryPtrList",
"entries",
"",
18048 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18051 DECLARE_OTHERS(AsmElfSymverEntryList);
18052#if defined(SgAsmElfSymverEntryList_OTHERS) || defined(DOCUMENTATION)
18055#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18057 friend class boost::serialization::access;
18060 void serialize(S &s,
const unsigned ) {
18063 s & BOOST_SERIALIZATION_NVP(p_entries);
18094#ifdef DOCUMENTATION
18103DECLARE_LEAF_CLASS(AsmElfSymverEntry);
18104IS_SERIALIZABLE(AsmElfSymverEntry);
18106#ifndef DOCUMENTATION
18107AsmElfSymverEntry.useSmallHeader(
true);
18110#ifdef DOCUMENTATION
18115#ifndef DOCUMENTATION
18116 AsmElfSymverEntry.setDataPrototype(
18117 "size_t",
"value",
"= 0",
18118 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18121 DECLARE_OTHERS(AsmElfSymverEntry);
18122#if defined(SgAsmElfSymverEntry_OTHERS) || defined(DOCUMENTATION)
18125#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18127 friend class boost::serialization::access;
18130 void serialize(S &s,
const unsigned ) {
18133 s & BOOST_SERIALIZATION_NVP(p_value);
18152 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
18170#ifdef DOCUMENTATION
18179DECLARE_LEAF_CLASS(AsmElfSymverDefinedSection);
18180IS_SERIALIZABLE(AsmElfSymverDefinedSection);
18182#ifndef DOCUMENTATION
18183AsmElfSymverDefinedSection.useSmallHeader(
true);
18186DECLARE_HEADERS(AsmElfSymverDefinedSection);
18187#if defined(SgAsmElfSymverDefinedSection_HEADERS) || defined(DOCUMENTATION)
18188#ifdef ROSE_SgAsmElfSymverDefinedSection_IMPL
18189#include <SgAsmElfSymverDefinedEntryList.h>
18193#ifdef DOCUMENTATION
18202#ifndef DOCUMENTATION
18203 AsmElfSymverDefinedSection.setDataPrototype(
18204 "SgAsmElfSymverDefinedEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverDefinedEntryList>(this)",
18205 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18208 DECLARE_OTHERS(AsmElfSymverDefinedSection);
18209#if defined(SgAsmElfSymverDefinedSection_OTHERS) || defined(DOCUMENTATION)
18212#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18214 friend class boost::serialization::access;
18217 void serialize(S &s,
const unsigned ) {
18220 s & BOOST_SERIALIZATION_NVP(p_entries);
18311 virtual rose_addr_t
calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
18319 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
18325 using SgAsmElfSection::calculate_sizes;
18326 virtual rose_addr_t calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*)
const override ROSE_DEPRECATED(
"use calculateSizes");
18344#ifdef DOCUMENTATION
18353DECLARE_LEAF_CLASS(AsmElfSymverDefinedEntryList);
18354IS_SERIALIZABLE(AsmElfSymverDefinedEntryList);
18356#ifndef DOCUMENTATION
18357AsmElfSymverDefinedEntryList.useSmallHeader(
true);
18360DECLARE_HEADERS(AsmElfSymverDefinedEntryList);
18361#if defined(SgAsmElfSymverDefinedEntryList_HEADERS) || defined(DOCUMENTATION)
18362#include <sageContainer.h>
18365#ifdef DOCUMENTATION
18373#ifndef DOCUMENTATION
18374 AsmElfSymverDefinedEntryList.setDataPrototype(
18375 "SgAsmElfSymverDefinedEntryPtrList",
"entries",
"",
18376 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18379 DECLARE_OTHERS(AsmElfSymverDefinedEntryList);
18380#if defined(SgAsmElfSymverDefinedEntryList_OTHERS) || defined(DOCUMENTATION)
18383#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18385 friend class boost::serialization::access;
18388 void serialize(S &s,
const unsigned ) {
18391 s & BOOST_SERIALIZATION_NVP(p_entries);
18422#ifdef DOCUMENTATION
18431DECLARE_LEAF_CLASS(AsmElfSymverDefinedEntry);
18432IS_SERIALIZABLE(AsmElfSymverDefinedEntry);
18434#ifndef DOCUMENTATION
18435AsmElfSymverDefinedEntry.useSmallHeader(
true);
18438DECLARE_HEADERS(AsmElfSymverDefinedEntry);
18439#if defined(SgAsmElfSymverDefinedEntry_HEADERS) || defined(DOCUMENTATION)
18440#include <Rose/BinaryAnalysis/ByteOrder.h>
18442#ifdef ROSE_SgAsmElfSymverDefinedEntry_IMPL
18443#include <SgAsmElfSymverDefinedAuxList.h>
18447#ifdef DOCUMENTATION
18452#ifndef DOCUMENTATION
18453 AsmElfSymverDefinedEntry.setDataPrototype(
18454 "size_t",
"version",
"= 0",
18455 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18458#ifndef DOCUMENTATION
18459 AsmElfSymverDefinedEntry.setDataPrototype(
18460 "int",
"flags",
"= 0",
18461 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18464#ifndef DOCUMENTATION
18465 AsmElfSymverDefinedEntry.setDataPrototype(
18466 "size_t",
"index",
"= 0",
18467 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18470#ifndef DOCUMENTATION
18471 AsmElfSymverDefinedEntry.setDataPrototype(
18472 "uint32_t",
"hash",
"= 0",
18473 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18476#ifndef DOCUMENTATION
18477 AsmElfSymverDefinedEntry.setDataPrototype(
18478 "SgAsmElfSymverDefinedAuxList*",
"entries",
"= createAndParent<SgAsmElfSymverDefinedAuxList>(this)",
18479 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18482 DECLARE_OTHERS(AsmElfSymverDefinedEntry);
18483#if defined(SgAsmElfSymverDefinedEntry_OTHERS) || defined(DOCUMENTATION)
18486#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18488 friend class boost::serialization::access;
18491 void serialize(S &s,
const unsigned ) {
18494 s & BOOST_SERIALIZATION_NVP(p_version);
18495 s & BOOST_SERIALIZATION_NVP(p_flags);
18496 s & BOOST_SERIALIZATION_NVP(p_index);
18497 s & BOOST_SERIALIZATION_NVP(p_hash);
18498 s & BOOST_SERIALIZATION_NVP(p_entries);
18519#if !defined(SWIG) && !defined(_MSC_VER)
18520 __attribute__((packed))
18596 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
18614#ifdef DOCUMENTATION
18623DECLARE_LEAF_CLASS(AsmElfSymverDefinedAuxList);
18624IS_SERIALIZABLE(AsmElfSymverDefinedAuxList);
18626#ifndef DOCUMENTATION
18627AsmElfSymverDefinedAuxList.useSmallHeader(
true);
18630DECLARE_HEADERS(AsmElfSymverDefinedAuxList);
18631#if defined(SgAsmElfSymverDefinedAuxList_HEADERS) || defined(DOCUMENTATION)
18632#include <sageContainer.h>
18635#ifdef DOCUMENTATION
18643#ifndef DOCUMENTATION
18644 AsmElfSymverDefinedAuxList.setDataPrototype(
18645 "SgAsmElfSymverDefinedAuxPtrList",
"entries",
"",
18646 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18649 DECLARE_OTHERS(AsmElfSymverDefinedAuxList);
18650#if defined(SgAsmElfSymverDefinedAuxList_OTHERS) || defined(DOCUMENTATION)
18653#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18655 friend class boost::serialization::access;
18658 void serialize(S &s,
const unsigned ) {
18661 s & BOOST_SERIALIZATION_NVP(p_entries);
18692#ifdef DOCUMENTATION
18701DECLARE_LEAF_CLASS(AsmElfSymverDefinedAux);
18702IS_SERIALIZABLE(AsmElfSymverDefinedAux);
18704#ifndef DOCUMENTATION
18705AsmElfSymverDefinedAux.useSmallHeader(
true);
18708DECLARE_HEADERS(AsmElfSymverDefinedAux);
18709#if defined(SgAsmElfSymverDefinedAux_HEADERS) || defined(DOCUMENTATION)
18710#include <Rose/BinaryAnalysis/ByteOrder.h>
18712#ifdef ROSE_SgAsmElfSymverDefinedAux_IMPL
18713#include <SgAsmGenericString.h>
18717#ifdef DOCUMENTATION
18722#ifndef DOCUMENTATION
18723 AsmElfSymverDefinedAux.setDataPrototype(
18724 "SgAsmGenericString*",
"name",
"= 0",
18725 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18728 DECLARE_OTHERS(AsmElfSymverDefinedAux);
18729#if defined(SgAsmElfSymverDefinedAux_OTHERS) || defined(DOCUMENTATION)
18732#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18734 friend class boost::serialization::access;
18737 void serialize(S &s,
const unsigned ) {
18740 s & BOOST_SERIALIZATION_NVP(p_name);
18757#if !defined(SWIG) && !defined(_MSC_VER)
18758 __attribute__((packed))
18797 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
18815#ifdef DOCUMENTATION
18824DECLARE_LEAF_CLASS(AsmElfSymbolSection);
18825IS_SERIALIZABLE(AsmElfSymbolSection);
18827#ifndef DOCUMENTATION
18828AsmElfSymbolSection.useSmallHeader(
true);
18831DECLARE_HEADERS(AsmElfSymbolSection);
18832#if defined(SgAsmElfSymbolSection_HEADERS) || defined(DOCUMENTATION)
18833#ifdef ROSE_SgAsmElfSymbolSection_IMPL
18834#include <SgAsmElfSymbolList.h>
18838#ifdef DOCUMENTATION
18843#ifndef DOCUMENTATION
18844 AsmElfSymbolSection.setDataPrototype(
18845 "bool",
"isDynamic",
"= false",
18846 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18849#ifndef DOCUMENTATION
18850 AsmElfSymbolSection.setDataPrototype(
18851 "SgAsmElfSymbolList*",
"symbols",
"= createAndParent<SgAsmElfSymbolList>(this)",
18852 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18855 DECLARE_OTHERS(AsmElfSymbolSection);
18856#if defined(SgAsmElfSymbolSection_OTHERS) || defined(DOCUMENTATION)
18859#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18861 friend class boost::serialization::access;
18864 void serialize(S &s,
const unsigned ) {
18867 s & BOOST_SERIALIZATION_NVP(p_isDynamic);
18868 s & BOOST_SERIALIZATION_NVP(p_symbols);
18919 virtual rose_addr_t
calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
18930 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
18936 bool get_is_dynamic() const ROSE_DEPRECATED("use
get_isDynamic");
18937 void set_is_dynamic(
bool) ROSE_DEPRECATED("use
set_isDynamic");
18938 virtual
void finish_parsing() override ROSE_DEPRECATED("use
finishParsing");
18941 virtual rose_addr_t calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const override ROSE_DEPRECATED("use
calculateSizes");
18959#ifdef DOCUMENTATION
18968DECLARE_LEAF_CLASS(AsmElfSymbolList);
18969IS_SERIALIZABLE(AsmElfSymbolList);
18971#ifndef DOCUMENTATION
18972AsmElfSymbolList.useSmallHeader(
true);
18975DECLARE_HEADERS(AsmElfSymbolList);
18976#if defined(SgAsmElfSymbolList_HEADERS) || defined(DOCUMENTATION)
18977#include <sageContainer.h>
18980#ifdef DOCUMENTATION
18984#ifndef DOCUMENTATION
18985 AsmElfSymbolList.setDataPrototype(
18986 "SgAsmElfSymbolPtrList",
"symbols",
"",
18987 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18990 DECLARE_OTHERS(AsmElfSymbolList);
18991#if defined(SgAsmElfSymbolList_OTHERS) || defined(DOCUMENTATION)
18994#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
18996 friend class boost::serialization::access;
18999 void serialize(S &s,
const unsigned ) {
19002 s & BOOST_SERIALIZATION_NVP(p_symbols);
19036#ifdef DOCUMENTATION
19045DECLARE_LEAF_CLASS(AsmElfSymbol);
19046IS_SERIALIZABLE(AsmElfSymbol);
19048#ifndef DOCUMENTATION
19049AsmElfSymbol.useSmallHeader(
true);
19052DECLARE_HEADERS(AsmElfSymbol);
19053#if defined(SgAsmElfSymbol_HEADERS) || defined(DOCUMENTATION)
19054#include <Rose/BinaryAnalysis/ByteOrder.h>
19055#include <sageContainer.h>
19058#ifdef DOCUMENTATION
19066#ifndef DOCUMENTATION
19067 AsmElfSymbol.setDataPrototype(
19068 "unsigned char",
"st_info",
"= 0",
19069 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19072#ifndef DOCUMENTATION
19073 AsmElfSymbol.setDataPrototype(
19074 "unsigned char",
"st_res1",
"= 0",
19075 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19078#ifndef DOCUMENTATION
19079 AsmElfSymbol.setDataPrototype(
19080 "unsigned",
"st_shndx",
"= 0",
19081 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19084#ifndef DOCUMENTATION
19085 AsmElfSymbol.setDataPrototype(
19086 "rose_addr_t",
"st_size",
"= 0",
19087 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19090#ifndef DOCUMENTATION
19091 AsmElfSymbol.setDataPrototype(
19092 "SgUnsignedCharList",
"extra",
"",
19093 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19096 DECLARE_OTHERS(AsmElfSymbol);
19097#if defined(SgAsmElfSymbol_OTHERS) || defined(DOCUMENTATION)
19100#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19102 friend class boost::serialization::access;
19105 void serialize(S &s,
const unsigned ) {
19108 s & BOOST_SERIALIZATION_NVP(p_st_info);
19109 s & BOOST_SERIALIZATION_NVP(p_st_res1);
19110 s & BOOST_SERIALIZATION_NVP(p_st_shndx);
19111 s & BOOST_SERIALIZATION_NVP(p_st_size);
19112 s & BOOST_SERIALIZATION_NVP(p_extra);
19120 enum ElfSymBinding {
19150#if !defined(SWIG) && !defined(_MSC_VER)
19151 __attribute__((packed))
19157 unsigned char st_info;
19158 unsigned char st_res1;
19163#if !defined(SWIG) && !defined(_MSC_VER)
19164 __attribute__((packed))
19255 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const override;
19266 static std::string
toString(SgAsmElfSymbol::ElfSymBinding);
19272 void parse_common();
19278 SgAsmElfSymbol::ElfSymBinding get_elf_binding() const ROSE_DEPRECATED("use
get_elfBinding");
19299#ifdef DOCUMENTATION
19308DECLARE_LEAF_CLASS(AsmElfStrtab);
19309IS_SERIALIZABLE(AsmElfStrtab);
19311#ifndef DOCUMENTATION
19312AsmElfStrtab.useSmallHeader(
true);
19315#ifdef DOCUMENTATION
19320 DECLARE_OTHERS(AsmElfStrtab);
19321#if defined(SgAsmElfStrtab_OTHERS) || defined(DOCUMENTATION)
19324#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19326 friend class boost::serialization::access;
19329 void serialize(S &s,
const unsigned ) {
19389 virtual SgAsmStringStorage *create_storage(rose_addr_t,
bool)
override ROSE_DEPRECATED(
"use createStorage");
19390 virtual rose_addr_t get_storage_size(
const SgAsmStringStorage*)
override ROSE_DEPRECATED(
"use get_storageSize");
19391 virtual void allocate_overlap(
SgAsmStringStorage*)
override ROSE_DEPRECATED(
"use allocateOverlap");
19409#ifdef DOCUMENTATION
19418DECLARE_LEAF_CLASS(AsmElfStringSection);
19419IS_SERIALIZABLE(AsmElfStringSection);
19421#ifndef DOCUMENTATION
19422AsmElfStringSection.useSmallHeader(
true);
19425#ifdef DOCUMENTATION
19432#ifndef DOCUMENTATION
19433 AsmElfStringSection.setDataPrototype(
19434 "SgAsmElfStrtab*",
"strtab",
"= nullptr",
19435 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19438 DECLARE_OTHERS(AsmElfStringSection);
19439#if defined(SgAsmElfStringSection_OTHERS) || defined(DOCUMENTATION)
19442#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19444 friend class boost::serialization::access;
19447 void serialize(S &s,
const unsigned ) {
19450 s & BOOST_SERIALIZATION_NVP(p_strtab);
19472 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
19507#ifdef DOCUMENTATION
19516DECLARE_LEAF_CLASS(AsmElfSegmentTable);
19517IS_SERIALIZABLE(AsmElfSegmentTable);
19519#ifndef DOCUMENTATION
19520AsmElfSegmentTable.useSmallHeader(
true);
19523#ifdef DOCUMENTATION
19533 DECLARE_OTHERS(AsmElfSegmentTable);
19534#if defined(SgAsmElfSegmentTable_OTHERS) || defined(DOCUMENTATION)
19537#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19539 friend class boost::serialization::access;
19542 void serialize(S &s,
const unsigned ) {
19576 rose_addr_t
calculateSizes(
size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
19584 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
19591 rose_addr_t calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*)
const ROSE_DEPRECATED(
"use calculateSizes");
19609#ifdef DOCUMENTATION
19618DECLARE_LEAF_CLASS(AsmElfSegmentTableEntryList);
19619IS_SERIALIZABLE(AsmElfSegmentTableEntryList);
19621#ifndef DOCUMENTATION
19622AsmElfSegmentTableEntryList.useSmallHeader(
true);
19625DECLARE_HEADERS(AsmElfSegmentTableEntryList);
19626#if defined(SgAsmElfSegmentTableEntryList_HEADERS) || defined(DOCUMENTATION)
19627#include <sageContainer.h>
19630#ifdef DOCUMENTATION
19634#ifndef DOCUMENTATION
19635 AsmElfSegmentTableEntryList.setDataPrototype(
19636 "SgAsmElfSegmentTableEntryPtrList",
"entries",
"",
19637 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19640 DECLARE_OTHERS(AsmElfSegmentTableEntryList);
19641#if defined(SgAsmElfSegmentTableEntryList_OTHERS) || defined(DOCUMENTATION)
19644#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19646 friend class boost::serialization::access;
19649 void serialize(S &s,
const unsigned ) {
19652 s & BOOST_SERIALIZATION_NVP(p_entries);
19686#ifdef DOCUMENTATION
19695DECLARE_LEAF_CLASS(AsmElfSegmentTableEntry);
19696IS_SERIALIZABLE(AsmElfSegmentTableEntry);
19698#ifndef DOCUMENTATION
19699AsmElfSegmentTableEntry.useSmallHeader(
true);
19702DECLARE_HEADERS(AsmElfSegmentTableEntry);
19703#if defined(SgAsmElfSegmentTableEntry_HEADERS) || defined(DOCUMENTATION)
19704#include <Rose/BinaryAnalysis/ByteOrder.h>
19705#include <sageContainer.h>
19708#ifdef DOCUMENTATION
19713#ifndef DOCUMENTATION
19714 AsmElfSegmentTableEntry.setDataPrototype(
19715 "size_t",
"index",
"= 0",
19716 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19719#ifndef DOCUMENTATION
19720 AsmElfSegmentTableEntry.setDataPrototype(
19721 "SgAsmElfSegmentTableEntry::SegmentType",
"type",
"= SgAsmElfSegmentTableEntry::PT_LOAD",
19722 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19725#ifndef DOCUMENTATION
19726 AsmElfSegmentTableEntry.setDataPrototype(
19727 "SgAsmElfSegmentTableEntry::SegmentFlags",
"flags",
"= SgAsmElfSegmentTableEntry::PF_NONE",
19728 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19731#ifndef DOCUMENTATION
19732 AsmElfSegmentTableEntry.setDataPrototype(
19733 "rose_addr_t",
"offset",
"= 0",
19734 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19737#ifndef DOCUMENTATION
19738 AsmElfSegmentTableEntry.setDataPrototype(
19739 "rose_addr_t",
"vaddr",
"= 0",
19740 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19743#ifndef DOCUMENTATION
19744 AsmElfSegmentTableEntry.setDataPrototype(
19745 "rose_addr_t",
"paddr",
"= 0",
19746 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19749#ifndef DOCUMENTATION
19750 AsmElfSegmentTableEntry.setDataPrototype(
19751 "rose_addr_t",
"filesz",
"= 0",
19752 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19755#ifndef DOCUMENTATION
19756 AsmElfSegmentTableEntry.setDataPrototype(
19757 "rose_addr_t",
"memsz",
"= 0",
19758 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19761#ifndef DOCUMENTATION
19762 AsmElfSegmentTableEntry.setDataPrototype(
19763 "rose_addr_t",
"align",
"= 0",
19764 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19767#ifndef DOCUMENTATION
19768 AsmElfSegmentTableEntry.setDataPrototype(
19769 "SgUnsignedCharList",
"extra",
"",
19770 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19773 DECLARE_OTHERS(AsmElfSegmentTableEntry);
19774#if defined(SgAsmElfSegmentTableEntry_OTHERS) || defined(DOCUMENTATION)
19777#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
19779 friend class boost::serialization::access;
19782 void serialize(S &s,
const unsigned ) {
19785 s & BOOST_SERIALIZATION_NVP(p_index);
19786 s & BOOST_SERIALIZATION_NVP(p_type);
19787 s & BOOST_SERIALIZATION_NVP(p_flags);
19788 s & BOOST_SERIALIZATION_NVP(p_offset);
19789 s & BOOST_SERIALIZATION_NVP(p_vaddr);
19790 s & BOOST_SERIALIZATION_NVP(p_paddr);
19791 s & BOOST_SERIALIZATION_NVP(p_filesz);
19792 s & BOOST_SERIALIZATION_NVP(p_memsz);
19793 s & BOOST_SERIALIZATION_NVP(p_align);
19794 s & BOOST_SERIALIZATION_NVP(p_extra);
19815 PT_HIOS = 0x6fffffff,
19817 PT_HIPROC = 0x7fffffff,
19861#if !defined(SWIG) && !defined(_MSC_VER)
19862 __attribute__((packed))
19876#if !defined(SWIG) && !defined(_MSC_VER)
19877 __attribute__((packed))
20008 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
20020 void update_from_section(
SgAsmElfSection*) ROSE_DEPRECATED(
"use updateFromSection");
20040#ifdef DOCUMENTATION
20049DECLARE_LEAF_CLASS(AsmElfSectionTable);
20050IS_SERIALIZABLE(AsmElfSectionTable);
20052#ifndef DOCUMENTATION
20053AsmElfSectionTable.useSmallHeader(
true);
20056#ifdef DOCUMENTATION
20065 DECLARE_OTHERS(AsmElfSectionTable);
20066#if defined(SgAsmElfSectionTable_OTHERS) || defined(DOCUMENTATION)
20069#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20071 friend class boost::serialization::access;
20074 void serialize(S &s,
const unsigned ) {
20106 rose_addr_t
calculateSizes(
size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
20114 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
20121 rose_addr_t calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*)
const ROSE_DEPRECATED(
"use calculateSizes");
20139#ifdef DOCUMENTATION
20148DECLARE_LEAF_CLASS(AsmElfSectionTableEntry);
20149IS_SERIALIZABLE(AsmElfSectionTableEntry);
20151#ifndef DOCUMENTATION
20152AsmElfSectionTableEntry.useSmallHeader(
true);
20155DECLARE_HEADERS(AsmElfSectionTableEntry);
20156#if defined(SgAsmElfSectionTableEntry_HEADERS) || defined(DOCUMENTATION)
20157#include <Rose/BinaryAnalysis/ByteOrder.h>
20158#include <sageContainer.h>
20161#ifdef DOCUMENTATION
20166#ifndef DOCUMENTATION
20167 AsmElfSectionTableEntry.setDataPrototype(
20168 "unsigned",
"sh_name",
"= 0",
20169 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20172#ifndef DOCUMENTATION
20173 AsmElfSectionTableEntry.setDataPrototype(
20174 "SgAsmElfSectionTableEntry::SectionType",
"sh_type",
"= SHT_PROGBITS",
20175 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20178#ifndef DOCUMENTATION
20179 AsmElfSectionTableEntry.setDataPrototype(
20180 "unsigned long",
"sh_link",
"= 0",
20181 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20184#ifndef DOCUMENTATION
20185 AsmElfSectionTableEntry.setDataPrototype(
20186 "unsigned long",
"sh_info",
"= 0",
20187 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20190#ifndef DOCUMENTATION
20191 AsmElfSectionTableEntry.setDataPrototype(
20192 "uint64_t",
"sh_flags",
"= 0",
20193 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20196#ifndef DOCUMENTATION
20197 AsmElfSectionTableEntry.setDataPrototype(
20198 "rose_addr_t",
"sh_addr",
"= 0",
20199 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20202#ifndef DOCUMENTATION
20203 AsmElfSectionTableEntry.setDataPrototype(
20204 "rose_addr_t",
"sh_offset",
"= 0",
20205 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20208#ifndef DOCUMENTATION
20209 AsmElfSectionTableEntry.setDataPrototype(
20210 "rose_addr_t",
"sh_size",
"= 0",
20211 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20214#ifndef DOCUMENTATION
20215 AsmElfSectionTableEntry.setDataPrototype(
20216 "rose_addr_t",
"sh_addralign",
"= 0",
20217 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20220#ifndef DOCUMENTATION
20221 AsmElfSectionTableEntry.setDataPrototype(
20222 "rose_addr_t",
"sh_entsize",
"= 0",
20223 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20226#ifndef DOCUMENTATION
20227 AsmElfSectionTableEntry.setDataPrototype(
20228 "SgUnsignedCharList",
"extra",
"",
20229 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20232 DECLARE_OTHERS(AsmElfSectionTableEntry);
20233#if defined(SgAsmElfSectionTableEntry_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_sh_name);
20245 s & BOOST_SERIALIZATION_NVP(p_sh_type);
20246 s & BOOST_SERIALIZATION_NVP(p_sh_link);
20247 s & BOOST_SERIALIZATION_NVP(p_sh_info);
20248 s & BOOST_SERIALIZATION_NVP(p_sh_flags);
20249 s & BOOST_SERIALIZATION_NVP(p_sh_addr);
20250 s & BOOST_SERIALIZATION_NVP(p_sh_offset);
20251 s & BOOST_SERIALIZATION_NVP(p_sh_size);
20252 s & BOOST_SERIALIZATION_NVP(p_sh_addralign);
20253 s & BOOST_SERIALIZATION_NVP(p_sh_entsize);
20254 s & BOOST_SERIALIZATION_NVP(p_extra);
20283 SHT_LOPROC = 0x70000000,
20284 SHT_HIPROC = 0x7fffffff,
20285 SHT_LOUSER = 0x80000000,
20286 SHT_HIUSER = 0xffffffff
20320 uint32_t sh_offset;
20324 uint32_t sh_addralign;
20325 uint32_t sh_entsize;
20327#if !defined(SWIG) && !defined(_MSC_VER)
20328 __attribute__((packed))
20337 uint64_t sh_offset;
20341 uint64_t sh_addralign;
20342 uint64_t sh_entsize;
20344#if !defined(SWIG) && !defined(_MSC_VER)
20345 __attribute__((packed))
20491 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
20501 void update_from_section(
SgAsmElfSection*) ROSE_DEPRECATED(
"use updateFromSection");
20521#ifdef DOCUMENTATION
20530DECLARE_LEAF_CLASS(AsmElfRelocSection);
20531IS_SERIALIZABLE(AsmElfRelocSection);
20533#ifndef DOCUMENTATION
20534AsmElfRelocSection.useSmallHeader(
true);
20537DECLARE_HEADERS(AsmElfRelocSection);
20538#if defined(SgAsmElfRelocSection_HEADERS) || defined(DOCUMENTATION)
20539#ifdef ROSE_SgAsmElfRelocSection_IMPL
20540#include <SgAsmElfRelocEntryList.h>
20544#ifdef DOCUMENTATION
20549#ifndef DOCUMENTATION
20550 AsmElfRelocSection.setDataPrototype(
20551 "bool",
"usesAddend",
"= true",
20552 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20555#ifndef DOCUMENTATION
20556 AsmElfRelocSection.setDataPrototype(
20557 "SgAsmElfSection*",
"targetSection",
"= nullptr",
20558 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20561#ifndef DOCUMENTATION
20562 AsmElfRelocSection.setDataPrototype(
20563 "SgAsmElfRelocEntryList*",
"entries",
"= createAndParent<SgAsmElfRelocEntryList>(this)",
20564 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
20567 DECLARE_OTHERS(AsmElfRelocSection);
20568#if defined(SgAsmElfRelocSection_OTHERS) || defined(DOCUMENTATION)
20571#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20573 friend class boost::serialization::access;
20576 void serialize(S &s,
const unsigned ) {
20579 s & BOOST_SERIALIZATION_NVP(p_usesAddend);
20580 s & BOOST_SERIALIZATION_NVP(p_targetSection);
20581 s & BOOST_SERIALIZATION_NVP(p_entries);
20619 virtual rose_addr_t
calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
20627 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
20633 bool get_uses_addend() const ROSE_DEPRECATED("use
get_usesAddend");
20634 void set_uses_addend(
bool) ROSE_DEPRECATED("use
set_usesAddend");
20638 virtual rose_addr_t calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const override ROSE_DEPRECATED("use
calculateSizes");
20656#ifdef DOCUMENTATION
20665DECLARE_LEAF_CLASS(AsmElfRelocEntryList);
20666IS_SERIALIZABLE(AsmElfRelocEntryList);
20668#ifndef DOCUMENTATION
20669AsmElfRelocEntryList.useSmallHeader(
true);
20672DECLARE_HEADERS(AsmElfRelocEntryList);
20673#if defined(SgAsmElfRelocEntryList_HEADERS) || defined(DOCUMENTATION)
20674#include <sageContainer.h>
20677#ifdef DOCUMENTATION
20685#ifndef DOCUMENTATION
20686 AsmElfRelocEntryList.setDataPrototype(
20687 "SgAsmElfRelocEntryPtrList",
"entries",
"",
20688 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
20691 DECLARE_OTHERS(AsmElfRelocEntryList);
20692#if defined(SgAsmElfRelocEntryList_OTHERS) || defined(DOCUMENTATION)
20695#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20697 friend class boost::serialization::access;
20700 void serialize(S &s,
const unsigned ) {
20703 s & BOOST_SERIALIZATION_NVP(p_entries);
20734#ifdef DOCUMENTATION
20743DECLARE_LEAF_CLASS(AsmElfRelocEntry);
20744IS_SERIALIZABLE(AsmElfRelocEntry);
20746#ifndef DOCUMENTATION
20747AsmElfRelocEntry.useSmallHeader(
true);
20750DECLARE_HEADERS(AsmElfRelocEntry);
20751#if defined(SgAsmElfRelocEntry_HEADERS) || defined(DOCUMENTATION)
20752#include <Rose/BinaryAnalysis/ByteOrder.h>
20753#include <sageContainer.h>
20756#ifdef DOCUMENTATION
20761#ifndef DOCUMENTATION
20762 AsmElfRelocEntry.setDataPrototype(
20763 "rose_addr_t",
"r_offset",
"= 0",
20764 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20767#ifndef DOCUMENTATION
20768 AsmElfRelocEntry.setDataPrototype(
20769 "rose_addr_t",
"r_addend",
"= 0",
20770 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20773#ifndef DOCUMENTATION
20774 AsmElfRelocEntry.setDataPrototype(
20775 "unsigned long",
"sym",
"= 0",
20776 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20779#ifndef DOCUMENTATION
20780 AsmElfRelocEntry.setDataPrototype(
20781 "SgAsmElfRelocEntry::RelocType",
"type",
"= R_386_NONE",
20782 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20785#ifndef DOCUMENTATION
20786 AsmElfRelocEntry.setDataPrototype(
20787 "SgUnsignedCharList",
"extra",
"",
20788 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20791 DECLARE_OTHERS(AsmElfRelocEntry);
20792#if defined(SgAsmElfRelocEntry_OTHERS) || defined(DOCUMENTATION)
20795#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
20797 friend class boost::serialization::access;
20800 void serialize(S &s,
const unsigned ) {
20803 s & BOOST_SERIALIZATION_NVP(p_r_offset);
20804 s & BOOST_SERIALIZATION_NVP(p_r_addend);
20805 s & BOOST_SERIALIZATION_NVP(p_sym);
20806 s & BOOST_SERIALIZATION_NVP(p_type);
20807 s & BOOST_SERIALIZATION_NVP(p_extra);
20891#if !defined(SWIG) && !defined(_MSC_VER)
20892 __attribute__((packed))
20901#if !defined(SWIG) && !defined(_MSC_VER)
20902 __attribute__((packed))
20910#if !defined(SWIG) && !defined(_MSC_VER)
20911 __attribute__((packed))
20919#if !defined(SWIG) && !defined(_MSC_VER)
20920 __attribute__((packed))
21009 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const {
21010 dump(f, prefix, idx, NULL);
21021 std::string reloc_name() const ROSE_DEPRECATED("use
toString");
21039#ifdef DOCUMENTATION
21048DECLARE_LEAF_CLASS(AsmElfNoteSection);
21049IS_SERIALIZABLE(AsmElfNoteSection);
21051#ifndef DOCUMENTATION
21052AsmElfNoteSection.useSmallHeader(
true);
21055DECLARE_HEADERS(AsmElfNoteSection);
21056#if defined(SgAsmElfNoteSection_HEADERS) || defined(DOCUMENTATION)
21057#ifdef ROSE_SgAsmElfNoteSection_IMPL
21058#include <SgAsmElfNoteEntryList.h>
21062#ifdef DOCUMENTATION
21066#ifndef DOCUMENTATION
21067 AsmElfNoteSection.setDataPrototype(
21068 "SgAsmElfNoteEntryList*",
"entries",
"= createAndParent<SgAsmElfNoteEntryList>(this)",
21069 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21072 DECLARE_OTHERS(AsmElfNoteSection);
21073#if defined(SgAsmElfNoteSection_OTHERS) || defined(DOCUMENTATION)
21076#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21078 friend class boost::serialization::access;
21081 void serialize(S &s,
const unsigned ) {
21084 s & BOOST_SERIALIZATION_NVP(p_entries);
21111 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
21129#ifdef DOCUMENTATION
21138DECLARE_LEAF_CLASS(AsmElfNoteEntryList);
21139IS_SERIALIZABLE(AsmElfNoteEntryList);
21141#ifndef DOCUMENTATION
21142AsmElfNoteEntryList.useSmallHeader(
true);
21145DECLARE_HEADERS(AsmElfNoteEntryList);
21146#if defined(SgAsmElfNoteEntryList_HEADERS) || defined(DOCUMENTATION)
21147#include <sageContainer.h>
21150#ifdef DOCUMENTATION
21158#ifndef DOCUMENTATION
21159 AsmElfNoteEntryList.setDataPrototype(
21160 "SgAsmElfNoteEntryPtrList",
"entries",
"",
21161 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21164 DECLARE_OTHERS(AsmElfNoteEntryList);
21165#if defined(SgAsmElfNoteEntryList_OTHERS) || defined(DOCUMENTATION)
21168#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21170 friend class boost::serialization::access;
21173 void serialize(S &s,
const unsigned ) {
21176 s & BOOST_SERIALIZATION_NVP(p_entries);
21207#ifdef DOCUMENTATION
21216DECLARE_LEAF_CLASS(AsmElfNoteEntry);
21217IS_SERIALIZABLE(AsmElfNoteEntry);
21219#ifndef DOCUMENTATION
21220AsmElfNoteEntry.useSmallHeader(
true);
21223DECLARE_HEADERS(AsmElfNoteEntry);
21224#if defined(SgAsmElfNoteEntry_HEADERS) || defined(DOCUMENTATION)
21225#include <sageContainer.h>
21227#ifdef ROSE_SgAsmElfNoteEntry_IMPL
21228#include <SgAsmBasicString.h>
21232#ifdef DOCUMENTATION
21237#ifndef DOCUMENTATION
21238 AsmElfNoteEntry.setDataPrototype(
21239 "unsigned",
"type",
"= 0",
21240 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21243#ifndef DOCUMENTATION
21244 AsmElfNoteEntry.setDataPrototype(
21245 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
21246 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21249#ifndef DOCUMENTATION
21250 AsmElfNoteEntry.setDataPrototype(
21251 "SgUnsignedCharList",
"payload",
"",
21252 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21255 DECLARE_OTHERS(AsmElfNoteEntry);
21256#if defined(SgAsmElfNoteEntry_OTHERS) || defined(DOCUMENTATION)
21259#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21261 friend class boost::serialization::access;
21264 void serialize(S &s,
const unsigned ) {
21267 s & BOOST_SERIALIZATION_NVP(p_type);
21268 s & BOOST_SERIALIZATION_NVP(p_name);
21269 s & BOOST_SERIALIZATION_NVP(p_payload);
21320 rose_addr_t
parse(rose_addr_t starting_offset);
21325 rose_addr_t
unparse(std::ostream &f, rose_addr_t starting_offset);
21328 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
21342 rose_addr_t calculate_size() const ROSE_DEPRECATED("use
calculateSize");
21360#ifdef DOCUMENTATION
21369DECLARE_LEAF_CLASS(AsmElfFileHeader);
21370IS_SERIALIZABLE(AsmElfFileHeader);
21372#ifndef DOCUMENTATION
21373AsmElfFileHeader.useSmallHeader(
true);
21376DECLARE_HEADERS(AsmElfFileHeader);
21377#if defined(SgAsmElfFileHeader_HEADERS) || defined(DOCUMENTATION)
21378#include <Rose/BinaryAnalysis/ByteOrder.h>
21381#ifdef DOCUMENTATION
21393#ifndef DOCUMENTATION
21394 AsmElfFileHeader.setDataPrototype(
21395 "unsigned char",
"e_ident_file_class",
"= 0",
21396 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21399#ifndef DOCUMENTATION
21400 AsmElfFileHeader.setDataPrototype(
21401 "unsigned char",
"e_ident_data_encoding",
"= 0",
21402 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21405#ifndef DOCUMENTATION
21406 AsmElfFileHeader.setDataPrototype(
21407 "unsigned char",
"e_ident_file_version",
"= 0",
21408 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21411#ifndef DOCUMENTATION
21412 AsmElfFileHeader.setDataPrototype(
21413 "SgUnsignedCharList",
"e_ident_padding",
"",
21414 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21417#ifndef DOCUMENTATION
21418 AsmElfFileHeader.setDataPrototype(
21419 "unsigned long",
"e_type",
"= 0",
21420 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21423#ifndef DOCUMENTATION
21424 AsmElfFileHeader.setDataPrototype(
21425 "unsigned long",
"e_machine",
"= 0",
21426 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21429#ifndef DOCUMENTATION
21430 AsmElfFileHeader.setDataPrototype(
21431 "unsigned long",
"e_flags",
"= 0",
21432 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21435#ifndef DOCUMENTATION
21436 AsmElfFileHeader.setDataPrototype(
21437 "unsigned long",
"e_ehsize",
"= 0",
21438 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21441#ifndef DOCUMENTATION
21442 AsmElfFileHeader.setDataPrototype(
21443 "unsigned long",
"phextrasz",
"= 0",
21444 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21447#ifndef DOCUMENTATION
21448 AsmElfFileHeader.setDataPrototype(
21449 "unsigned long",
"e_phnum",
"= 0",
21450 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21453#ifndef DOCUMENTATION
21454 AsmElfFileHeader.setDataPrototype(
21455 "unsigned long",
"shextrasz",
"= 0",
21456 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21459#ifndef DOCUMENTATION
21460 AsmElfFileHeader.setDataPrototype(
21461 "unsigned long",
"e_shnum",
"= 0",
21462 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21465#ifndef DOCUMENTATION
21466 AsmElfFileHeader.setDataPrototype(
21467 "unsigned long",
"e_shstrndx",
"= 0",
21468 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21471#ifndef DOCUMENTATION
21472 AsmElfFileHeader.setDataPrototype(
21473 "SgAsmElfSectionTable*",
"sectionTable",
"= nullptr",
21474 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21477#ifndef DOCUMENTATION
21478 AsmElfFileHeader.setDataPrototype(
21479 "SgAsmElfSegmentTable*",
"segmentTable",
"= nullptr",
21480 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21483 DECLARE_OTHERS(AsmElfFileHeader);
21484#if defined(SgAsmElfFileHeader_OTHERS) || defined(DOCUMENTATION)
21487#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21489 friend class boost::serialization::access;
21492 void serialize(S &s,
const unsigned ) {
21495 s & BOOST_SERIALIZATION_NVP(p_e_ident_file_class);
21496 s & BOOST_SERIALIZATION_NVP(p_e_ident_data_encoding);
21497 s & BOOST_SERIALIZATION_NVP(p_e_ident_file_version);
21498 s & BOOST_SERIALIZATION_NVP(p_e_ident_padding);
21499 s & BOOST_SERIALIZATION_NVP(p_e_type);
21500 s & BOOST_SERIALIZATION_NVP(p_e_machine);
21501 s & BOOST_SERIALIZATION_NVP(p_e_flags);
21502 s & BOOST_SERIALIZATION_NVP(p_e_ehsize);
21503 s & BOOST_SERIALIZATION_NVP(p_phextrasz);
21504 s & BOOST_SERIALIZATION_NVP(p_e_phnum);
21505 s & BOOST_SERIALIZATION_NVP(p_shextrasz);
21506 s & BOOST_SERIALIZATION_NVP(p_e_shnum);
21507 s & BOOST_SERIALIZATION_NVP(p_e_shstrndx);
21508 s & BOOST_SERIALIZATION_NVP(p_sectionTable);
21509 s & BOOST_SERIALIZATION_NVP(p_segmentTable);
21565#if !defined(SWIG) && !defined(_MSC_VER)
21566 __attribute__((packed))
21571 unsigned char e_ident_magic[4];
21572 unsigned char e_ident_file_class;
21573 unsigned char e_ident_data_encoding;
21574 unsigned char e_ident_file_version;
21575 unsigned char e_ident_padding[9];
21577 uint16_t e_machine;
21578 uint32_t e_version;
21584 uint16_t e_phentsize;
21586 uint16_t e_shentsize;
21588 uint16_t e_shstrndx;
21590#if !defined(SWIG) && !defined(_MSC_VER)
21591 __attribute__((packed))
21793 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
21825 virtual const
char *format_name() const override ROSE_DEPRECATED("use
formatName");
21843#ifdef DOCUMENTATION
21852DECLARE_LEAF_CLASS(AsmElfEHFrameSection);
21853IS_SERIALIZABLE(AsmElfEHFrameSection);
21855#ifndef DOCUMENTATION
21856AsmElfEHFrameSection.useSmallHeader(
true);
21859DECLARE_HEADERS(AsmElfEHFrameSection);
21860#if defined(SgAsmElfEHFrameSection_HEADERS) || defined(DOCUMENTATION)
21861#ifdef ROSE_SgAsmElfEHFrameSection_IMPL
21862#include <SgAsmElfEHFrameEntryCIList.h>
21866#ifdef DOCUMENTATION
21871#ifndef DOCUMENTATION
21872 AsmElfEHFrameSection.setDataPrototype(
21873 "SgAsmElfEHFrameEntryCIList*",
"ci_entries",
"= createAndParent<SgAsmElfEHFrameEntryCIList>(this)",
21874 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21877 DECLARE_OTHERS(AsmElfEHFrameSection);
21878#if defined(SgAsmElfEHFrameSection_OTHERS) || defined(DOCUMENTATION)
21881#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21883 friend class boost::serialization::access;
21886 void serialize(S &s,
const unsigned ) {
21889 s & BOOST_SERIALIZATION_NVP(p_ci_entries);
21915 virtual rose_addr_t
calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
21927 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
21933 virtual rose_addr_t calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*)
const override ROSE_DEPRECATED(
"use calculateSizes");
21951#ifdef DOCUMENTATION
21960DECLARE_LEAF_CLASS(AsmElfEHFrameEntryFDList);
21961IS_SERIALIZABLE(AsmElfEHFrameEntryFDList);
21963#ifndef DOCUMENTATION
21964AsmElfEHFrameEntryFDList.useSmallHeader(
true);
21967DECLARE_HEADERS(AsmElfEHFrameEntryFDList);
21968#if defined(SgAsmElfEHFrameEntryFDList_HEADERS) || defined(DOCUMENTATION)
21969#include <sageContainer.h>
21972#ifdef DOCUMENTATION
21980#ifndef DOCUMENTATION
21981 AsmElfEHFrameEntryFDList.setDataPrototype(
21982 "SgAsmElfEHFrameEntryFDPtrList",
"entries",
"",
21983 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21986 DECLARE_OTHERS(AsmElfEHFrameEntryFDList);
21987#if defined(SgAsmElfEHFrameEntryFDList_OTHERS) || defined(DOCUMENTATION)
21990#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21992 friend class boost::serialization::access;
21995 void serialize(S &s,
const unsigned ) {
21998 s & BOOST_SERIALIZATION_NVP(p_entries);
22029#ifdef DOCUMENTATION
22038DECLARE_LEAF_CLASS(AsmElfEHFrameEntryFD);
22039IS_SERIALIZABLE(AsmElfEHFrameEntryFD);
22041#ifndef DOCUMENTATION
22042AsmElfEHFrameEntryFD.useSmallHeader(
true);
22045DECLARE_HEADERS(AsmElfEHFrameEntryFD);
22046#if defined(SgAsmElfEHFrameEntryFD_HEADERS) || defined(DOCUMENTATION)
22047#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
22048#include <sageContainer.h>
22051#ifdef DOCUMENTATION
22056#ifndef DOCUMENTATION
22057 AsmElfEHFrameEntryFD.setDataPrototype(
22058 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"begin_rva",
"",
22059 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22062#ifndef DOCUMENTATION
22063 AsmElfEHFrameEntryFD.setDataPrototype(
22064 "rose_addr_t",
"size",
"= 0",
22065 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22068#ifndef DOCUMENTATION
22069 AsmElfEHFrameEntryFD.setDataPrototype(
22070 "SgUnsignedCharList",
"augmentation_data",
"",
22071 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22074#ifndef DOCUMENTATION
22075 AsmElfEHFrameEntryFD.setDataPrototype(
22076 "SgUnsignedCharList",
"instructions",
"",
22077 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22080 DECLARE_OTHERS(AsmElfEHFrameEntryFD);
22081#if defined(SgAsmElfEHFrameEntryFD_OTHERS) || defined(DOCUMENTATION)
22084#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22086 friend class boost::serialization::access;
22089 void serialize(S &s,
const unsigned ) {
22092 s & BOOST_SERIALIZATION_NVP(p_begin_rva);
22093 s & BOOST_SERIALIZATION_NVP(p_size);
22094 s & BOOST_SERIALIZATION_NVP(p_augmentation_data);
22095 s & BOOST_SERIALIZATION_NVP(p_instructions);
22147 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
22171#ifdef DOCUMENTATION
22180DECLARE_LEAF_CLASS(AsmElfEHFrameEntryCIList);
22181IS_SERIALIZABLE(AsmElfEHFrameEntryCIList);
22183#ifndef DOCUMENTATION
22184AsmElfEHFrameEntryCIList.useSmallHeader(
true);
22187DECLARE_HEADERS(AsmElfEHFrameEntryCIList);
22188#if defined(SgAsmElfEHFrameEntryCIList_HEADERS) || defined(DOCUMENTATION)
22189#include <sageContainer.h>
22192#ifdef DOCUMENTATION
22200#ifndef DOCUMENTATION
22201 AsmElfEHFrameEntryCIList.setDataPrototype(
22202 "SgAsmElfEHFrameEntryCIPtrList",
"entries",
"",
22203 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22206 DECLARE_OTHERS(AsmElfEHFrameEntryCIList);
22207#if defined(SgAsmElfEHFrameEntryCIList_OTHERS) || defined(DOCUMENTATION)
22210#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22212 friend class boost::serialization::access;
22215 void serialize(S &s,
const unsigned ) {
22218 s & BOOST_SERIALIZATION_NVP(p_entries);
22249#ifdef DOCUMENTATION
22258DECLARE_LEAF_CLASS(AsmElfEHFrameEntryCI);
22259IS_SERIALIZABLE(AsmElfEHFrameEntryCI);
22261#ifndef DOCUMENTATION
22262AsmElfEHFrameEntryCI.useSmallHeader(
true);
22265DECLARE_HEADERS(AsmElfEHFrameEntryCI);
22266#if defined(SgAsmElfEHFrameEntryCI_HEADERS) || defined(DOCUMENTATION)
22267#include <sageContainer.h>
22269#ifdef ROSE_SgAsmElfEHFrameEntryCI_IMPL
22270#include <SgAsmElfEHFrameEntryFDList.h>
22274#ifdef DOCUMENTATION
22281#ifndef DOCUMENTATION
22282 AsmElfEHFrameEntryCI.setDataPrototype(
22283 "int",
"version",
"= 0",
22284 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22287#ifndef DOCUMENTATION
22288 AsmElfEHFrameEntryCI.setDataPrototype(
22289 "std::string",
"augmentation_string",
"",
22290 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22293#ifndef DOCUMENTATION
22294 AsmElfEHFrameEntryCI.setDataPrototype(
22295 "uint64_t",
"eh_data",
"= 0",
22296 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22299#ifndef DOCUMENTATION
22300 AsmElfEHFrameEntryCI.setDataPrototype(
22301 "uint64_t",
"code_alignment_factor",
"= 0",
22302 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22305#ifndef DOCUMENTATION
22306 AsmElfEHFrameEntryCI.setDataPrototype(
22307 "int64_t",
"data_alignment_factor",
"= 0",
22308 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22311#ifndef DOCUMENTATION
22312 AsmElfEHFrameEntryCI.setDataPrototype(
22313 "uint64_t",
"augmentation_data_length",
"= 0",
22314 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22317#ifndef DOCUMENTATION
22318 AsmElfEHFrameEntryCI.setDataPrototype(
22319 "int",
"lsda_encoding",
"= -1",
22320 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22323#ifndef DOCUMENTATION
22324 AsmElfEHFrameEntryCI.setDataPrototype(
22325 "int",
"prh_encoding",
"= -1",
22326 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22329#ifndef DOCUMENTATION
22330 AsmElfEHFrameEntryCI.setDataPrototype(
22331 "unsigned",
"prh_arg",
"= 0",
22332 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22335#ifndef DOCUMENTATION
22336 AsmElfEHFrameEntryCI.setDataPrototype(
22337 "rose_addr_t",
"prh_addr",
"= 0",
22338 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22341#ifndef DOCUMENTATION
22342 AsmElfEHFrameEntryCI.setDataPrototype(
22343 "int",
"addr_encoding",
"= -1",
22344 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22347#ifndef DOCUMENTATION
22348 AsmElfEHFrameEntryCI.setDataPrototype(
22349 "bool",
"sig_frame",
"= false",
22350 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22353#ifndef DOCUMENTATION
22354 AsmElfEHFrameEntryCI.setDataPrototype(
22355 "SgUnsignedCharList",
"instructions",
"",
22356 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22359#ifndef DOCUMENTATION
22360 AsmElfEHFrameEntryCI.setDataPrototype(
22361 "SgAsmElfEHFrameEntryFDList*",
"fd_entries",
"= createAndParent<SgAsmElfEHFrameEntryFDList>(this)",
22362 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22365 DECLARE_OTHERS(AsmElfEHFrameEntryCI);
22366#if defined(SgAsmElfEHFrameEntryCI_OTHERS) || defined(DOCUMENTATION)
22369#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22371 friend class boost::serialization::access;
22374 void serialize(S &s,
const unsigned ) {
22377 s & BOOST_SERIALIZATION_NVP(p_version);
22378 s & BOOST_SERIALIZATION_NVP(p_augmentation_string);
22379 s & BOOST_SERIALIZATION_NVP(p_eh_data);
22380 s & BOOST_SERIALIZATION_NVP(p_code_alignment_factor);
22381 s & BOOST_SERIALIZATION_NVP(p_data_alignment_factor);
22382 s & BOOST_SERIALIZATION_NVP(p_augmentation_data_length);
22383 s & BOOST_SERIALIZATION_NVP(p_lsda_encoding);
22384 s & BOOST_SERIALIZATION_NVP(p_prh_encoding);
22385 s & BOOST_SERIALIZATION_NVP(p_prh_arg);
22386 s & BOOST_SERIALIZATION_NVP(p_prh_addr);
22387 s & BOOST_SERIALIZATION_NVP(p_addr_encoding);
22388 s & BOOST_SERIALIZATION_NVP(p_sig_frame);
22389 s & BOOST_SERIALIZATION_NVP(p_instructions);
22390 s & BOOST_SERIALIZATION_NVP(p_fd_entries);
22541 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
22565#ifdef DOCUMENTATION
22574DECLARE_LEAF_CLASS(AsmElfDynamicSection);
22575IS_SERIALIZABLE(AsmElfDynamicSection);
22577#ifndef DOCUMENTATION
22578AsmElfDynamicSection.useSmallHeader(
true);
22581DECLARE_HEADERS(AsmElfDynamicSection);
22582#if defined(SgAsmElfDynamicSection_HEADERS) || defined(DOCUMENTATION)
22583#ifdef ROSE_SgAsmElfDynamicSection_IMPL
22584#include <SgAsmElfDynamicEntryList.h>
22588#ifdef DOCUMENTATION
22593#ifndef DOCUMENTATION
22594 AsmElfDynamicSection.setDataPrototype(
22595 "SgAsmElfDynamicEntryList*",
"entries",
"= createAndParent<SgAsmElfDynamicEntryList>(this)",
22596 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22599 DECLARE_OTHERS(AsmElfDynamicSection);
22600#if defined(SgAsmElfDynamicSection_OTHERS) || defined(DOCUMENTATION)
22603#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22605 friend class boost::serialization::access;
22608 void serialize(S &s,
const unsigned ) {
22611 s & BOOST_SERIALIZATION_NVP(p_entries);
22638 virtual rose_addr_t
calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
22646 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
22654 virtual rose_addr_t calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const override ROSE_DEPRECATED("use
calculateSizes");
22672#ifdef DOCUMENTATION
22681#ifndef DOCUMENTATION
22682AstNodeClass& AsmElfSection = nonTerminalConstructor(
22686 "AsmElfSectionTag",
22687 SubclassListBuilder()
22688 | AsmElfDynamicSection
22689 | AsmElfEHFrameSection
22690 | AsmElfNoteSection
22691 | AsmElfRelocSection
22692 | AsmElfStringSection
22693 | AsmElfSymbolSection
22694 | AsmElfSymverDefinedSection
22695 | AsmElfSymverNeededSection
22696 | AsmElfSymverSection
22698assert(AsmElfSection.associatedGrammar !=
nullptr);
22699AsmElfSection.setCppCondition(
"!defined(DOCUMENTATION)");
22700AsmElfSection.isBoostSerializable(
true);
22701AsmElfSection.setAutomaticGenerationOfConstructor(
false);
22702AsmElfSection.setAutomaticGenerationOfDestructor(
false);
22705#ifndef DOCUMENTATION
22706AsmElfSection.useSmallHeader(
true);
22709DECLARE_HEADERS(AsmElfSection);
22710#if defined(SgAsmElfSection_HEADERS) || defined(DOCUMENTATION)
22711#ifdef ROSE_SgAsmElfSection_IMPL
22712#include <SgAsmElfSectionTableEntry.h>
22713#include <SgAsmElfSegmentTableEntry.h>
22717#ifdef DOCUMENTATION
22722#ifndef DOCUMENTATION
22723 AsmElfSection.setDataPrototype(
22724 "SgAsmElfSection*",
"linkedSection",
"= nullptr",
22725 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22728#ifndef DOCUMENTATION
22729 AsmElfSection.setDataPrototype(
22730 "SgAsmElfSectionTableEntry*",
"sectionEntry",
"= nullptr",
22731 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22734#ifndef DOCUMENTATION
22735 AsmElfSection.setDataPrototype(
22736 "SgAsmElfSegmentTableEntry*",
"segmentEntry",
"= nullptr",
22737 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22740 DECLARE_OTHERS(AsmElfSection);
22741#if defined(SgAsmElfSection_OTHERS) || defined(DOCUMENTATION)
22744#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22746 friend class boost::serialization::access;
22749 void serialize(S &s,
const unsigned ) {
22752 s & BOOST_SERIALIZATION_NVP(p_linkedSection);
22753 s & BOOST_SERIALIZATION_NVP(p_sectionEntry);
22754 s & BOOST_SERIALIZATION_NVP(p_segmentEntry);
22822 rose_addr_t
calculateSizes(
size_t r32size,
size_t r64size,
const std::vector<size_t> &optsizes,
22823 size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
22825 virtual void finishParsing();
22843 virtual rose_addr_t
calculateSizes(
size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
22848 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
22863 virtual
void set_linked_section(
SgAsmElfSection*) ROSE_DEPRECATED("use set_linkSection");
22872 rose_addr_t calculate_sizes(
size_t,
size_t, const std::vector<
size_t>&,
size_t*,
size_t*,
size_t*,
size_t*) const
22874 virtual
void finish_parsing() ROSE_DEPRECATED("use finishParsing");
22875 virtual rose_addr_t calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const ROSE_DEPRECATED("use
calculateSizes");
22895#ifdef DOCUMENTATION
22904DECLARE_LEAF_CLASS(AsmElfDynamicEntryList);
22905IS_SERIALIZABLE(AsmElfDynamicEntryList);
22907#ifndef DOCUMENTATION
22908AsmElfDynamicEntryList.useSmallHeader(
true);
22911DECLARE_HEADERS(AsmElfDynamicEntryList);
22912#if defined(SgAsmElfDynamicEntryList_HEADERS) || defined(DOCUMENTATION)
22913#include <sageContainer.h>
22916#ifdef DOCUMENTATION
22924#ifndef DOCUMENTATION
22925 AsmElfDynamicEntryList.setDataPrototype(
22926 "SgAsmElfDynamicEntryPtrList",
"entries",
"",
22927 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22930 DECLARE_OTHERS(AsmElfDynamicEntryList);
22931#if defined(SgAsmElfDynamicEntryList_OTHERS) || defined(DOCUMENTATION)
22934#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
22936 friend class boost::serialization::access;
22939 void serialize(S &s,
const unsigned ) {
22942 s & BOOST_SERIALIZATION_NVP(p_entries);
22973#ifdef DOCUMENTATION
22982DECLARE_LEAF_CLASS(AsmElfDynamicEntry);
22983IS_SERIALIZABLE(AsmElfDynamicEntry);
22985#ifndef DOCUMENTATION
22986AsmElfDynamicEntry.useSmallHeader(
true);
22989DECLARE_HEADERS(AsmElfDynamicEntry);
22990#if defined(SgAsmElfDynamicEntry_HEADERS) || defined(DOCUMENTATION)
22991#include <Rose/BinaryAnalysis/ByteOrder.h>
22992#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
22993#include <sageContainer.h>
22996#ifdef DOCUMENTATION
23001#ifndef DOCUMENTATION
23002 AsmElfDynamicEntry.setDataPrototype(
23003 "SgAsmElfDynamicEntry::EntryType",
"d_tag",
"= SgAsmElfDynamicEntry::DT_NULL",
23004 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23007#ifndef DOCUMENTATION
23008 AsmElfDynamicEntry.setDataPrototype(
23009 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"d_val",
"",
23010 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23013#ifndef DOCUMENTATION
23014 AsmElfDynamicEntry.setDataPrototype(
23015 "SgAsmGenericString*",
"name",
"= nullptr",
23016 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23019#ifndef DOCUMENTATION
23020 AsmElfDynamicEntry.setDataPrototype(
23021 "SgUnsignedCharList",
"extra",
"",
23022 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23025 DECLARE_OTHERS(AsmElfDynamicEntry);
23026#if defined(SgAsmElfDynamicEntry_OTHERS) || defined(DOCUMENTATION)
23029#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23031 friend class boost::serialization::access;
23034 void serialize(S &s,
const unsigned ) {
23037 s & BOOST_SERIALIZATION_NVP(p_d_tag);
23038 s & BOOST_SERIALIZATION_NVP(p_d_val);
23039 s & BOOST_SERIALIZATION_NVP(p_name);
23040 s & BOOST_SERIALIZATION_NVP(p_extra);
23074 DT_INIT_ARRAY = 25,
23075 DT_FINI_ARRAY = 26,
23076 DT_INIT_ARRAYSZ = 27,
23077 DT_FINI_ARRAYSZ = 28,
23080 DT_PREINIT_ARRAY = 32,
23081 DT_PREINIT_ARRAYSZ = 33,
23084 DT_GNU_PRELINKED =0x6ffffdf5,
23085 DT_GNU_CONFLICTSZ=0x6ffffdf6,
23086 DT_GNU_LIBLISTSZ=0x6ffffdf7,
23087 DT_CHECKSUM = 0x6ffffdf8,
23088 DT_PLTPADSZ = 0x6ffffdf9,
23089 DT_MOVEENT = 0x6ffffdfa,
23090 DT_MOVESZ = 0x6ffffdfb,
23091 DT_FEATURE_1= 0x6ffffdfc,
23092 DT_POSFLAG_1= 0x6ffffdfd,
23093 DT_SYMINSZ = 0x6ffffdfe,
23094 DT_SYMINENT = 0x6ffffdff,
23096 DT_GNU_HASH = 0x6ffffef5,
23097 DT_TLSDESC_PLT=0x6ffffef6,
23098 DT_TLSDESC_GOT=0x6ffffef7,
23099 DT_GNU_CONFLICT=0x6ffffef8,
23100 DT_GNU_LIBLIST=0x6ffffef9,
23101 DT_CONFIG = 0x6ffffefa,
23102 DT_DEPAUDIT = 0x6ffffefb,
23103 DT_AUDIT = 0x6ffffefc,
23104 DT_PLTPAD = 0x6ffffefd,
23105 DT_MOVETAB = 0x6ffffefe,
23106 DT_SYMINFO = 0x6ffffeff,
23108 DT_VERSYM = 0x6ffffff0,
23109 DT_RELACOUNT= 0x6ffffff9,
23110 DT_RELCOUNT = 0x6ffffffa,
23111 DT_FLAGS_1 = 0x6ffffffb,
23112 DT_VERDEF = 0x6ffffffc,
23113 DT_VERDEFNUM= 0x6ffffffd,
23114 DT_VERNEED = 0x6ffffffe,
23115 DT_VERNEEDNUM=0x6fffffff,
23117 DT_AUXILIARY= 0x7ffffffd,
23118 DT_FILTER = 0x7fffffff
23130#if !defined(SWIG) && !defined(_MSC_VER)
23131 __attribute__((packed))
23139#if !defined(SWIG) && !defined(_MSC_VER)
23140 __attribute__((packed))
23210 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
23213 static std::string
toString(SgAsmElfDynamicEntry::EntryType);
23219 static std::string to_string(SgAsmElfDynamicEntry::EntryType) ROSE_DEPRECATED(
"use toString");
23237#ifdef DOCUMENTATION
23246DECLARE_LEAF_CLASS(AsmDwarfWithStmt);
23247IS_SERIALIZABLE(AsmDwarfWithStmt);
23249#ifndef DOCUMENTATION
23250AsmDwarfWithStmt.useSmallHeader(
true);
23253#ifdef DOCUMENTATION
23257 DECLARE_OTHERS(AsmDwarfWithStmt);
23258#if defined(SgAsmDwarfWithStmt_OTHERS) || defined(DOCUMENTATION)
23261#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23263 friend class boost::serialization::access;
23266 void serialize(S &s,
const unsigned ) {
23284 uint64_t
const& offset,
23285 uint64_t
const& overall_offset);
23296#ifdef DOCUMENTATION
23305DECLARE_LEAF_CLASS(AsmDwarfVolatileType);
23306IS_SERIALIZABLE(AsmDwarfVolatileType);
23308#ifndef DOCUMENTATION
23309AsmDwarfVolatileType.useSmallHeader(
true);
23312#ifdef DOCUMENTATION
23316 DECLARE_OTHERS(AsmDwarfVolatileType);
23317#if defined(SgAsmDwarfVolatileType_OTHERS) || defined(DOCUMENTATION)
23320#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23322 friend class boost::serialization::access;
23325 void serialize(S &s,
const unsigned ) {
23343 uint64_t
const& offset,
23344 uint64_t
const& overall_offset);
23355#ifdef DOCUMENTATION
23364DECLARE_LEAF_CLASS(AsmDwarfVariantPart);
23365IS_SERIALIZABLE(AsmDwarfVariantPart);
23367#ifndef DOCUMENTATION
23368AsmDwarfVariantPart.useSmallHeader(
true);
23371#ifdef DOCUMENTATION
23375 DECLARE_OTHERS(AsmDwarfVariantPart);
23376#if defined(SgAsmDwarfVariantPart_OTHERS) || defined(DOCUMENTATION)
23379#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23381 friend class boost::serialization::access;
23384 void serialize(S &s,
const unsigned ) {
23402 uint64_t
const& offset,
23403 uint64_t
const& overall_offset);
23414#ifdef DOCUMENTATION
23423DECLARE_LEAF_CLASS(AsmDwarfVariant);
23424IS_SERIALIZABLE(AsmDwarfVariant);
23426#ifndef DOCUMENTATION
23427AsmDwarfVariant.useSmallHeader(
true);
23430#ifdef DOCUMENTATION
23434 DECLARE_OTHERS(AsmDwarfVariant);
23435#if defined(SgAsmDwarfVariant_OTHERS) || defined(DOCUMENTATION)
23438#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23440 friend class boost::serialization::access;
23443 void serialize(S &s,
const unsigned ) {
23461 uint64_t
const& offset,
23462 uint64_t
const& overall_offset);
23473#ifdef DOCUMENTATION
23482DECLARE_LEAF_CLASS(AsmDwarfVariable);
23483IS_SERIALIZABLE(AsmDwarfVariable);
23485#ifndef DOCUMENTATION
23486AsmDwarfVariable.useSmallHeader(
true);
23489#ifdef DOCUMENTATION
23493 DECLARE_OTHERS(AsmDwarfVariable);
23494#if defined(SgAsmDwarfVariable_OTHERS) || defined(DOCUMENTATION)
23497#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23499 friend class boost::serialization::access;
23502 void serialize(S &s,
const unsigned ) {
23520 uint64_t
const& offset,
23521 uint64_t
const& overall_offset);
23532#ifdef DOCUMENTATION
23541DECLARE_LEAF_CLASS(AsmDwarfUpcStrictType);
23542IS_SERIALIZABLE(AsmDwarfUpcStrictType);
23544#ifndef DOCUMENTATION
23545AsmDwarfUpcStrictType.useSmallHeader(
true);
23548#ifdef DOCUMENTATION
23552 DECLARE_OTHERS(AsmDwarfUpcStrictType);
23553#if defined(SgAsmDwarfUpcStrictType_OTHERS) || defined(DOCUMENTATION)
23556#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23558 friend class boost::serialization::access;
23561 void serialize(S &s,
const unsigned ) {
23579 uint64_t
const& offset,
23580 uint64_t
const& overall_offset);
23591#ifdef DOCUMENTATION
23600DECLARE_LEAF_CLASS(AsmDwarfUpcSharedType);
23601IS_SERIALIZABLE(AsmDwarfUpcSharedType);
23603#ifndef DOCUMENTATION
23604AsmDwarfUpcSharedType.useSmallHeader(
true);
23607#ifdef DOCUMENTATION
23611 DECLARE_OTHERS(AsmDwarfUpcSharedType);
23612#if defined(SgAsmDwarfUpcSharedType_OTHERS) || defined(DOCUMENTATION)
23615#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23617 friend class boost::serialization::access;
23620 void serialize(S &s,
const unsigned ) {
23638 uint64_t
const& offset,
23639 uint64_t
const& overall_offset);
23650#ifdef DOCUMENTATION
23659DECLARE_LEAF_CLASS(AsmDwarfUpcRelaxedType);
23660IS_SERIALIZABLE(AsmDwarfUpcRelaxedType);
23662#ifndef DOCUMENTATION
23663AsmDwarfUpcRelaxedType.useSmallHeader(
true);
23666#ifdef DOCUMENTATION
23670 DECLARE_OTHERS(AsmDwarfUpcRelaxedType);
23671#if defined(SgAsmDwarfUpcRelaxedType_OTHERS) || defined(DOCUMENTATION)
23674#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23676 friend class boost::serialization::access;
23679 void serialize(S &s,
const unsigned ) {
23697 uint64_t
const& offset,
23698 uint64_t
const& overall_offset);
23709#ifdef DOCUMENTATION
23718DECLARE_LEAF_CLASS(AsmDwarfUnspecifiedType);
23719IS_SERIALIZABLE(AsmDwarfUnspecifiedType);
23721#ifndef DOCUMENTATION
23722AsmDwarfUnspecifiedType.useSmallHeader(
true);
23725#ifdef DOCUMENTATION
23729 DECLARE_OTHERS(AsmDwarfUnspecifiedType);
23730#if defined(SgAsmDwarfUnspecifiedType_OTHERS) || defined(DOCUMENTATION)
23733#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23735 friend class boost::serialization::access;
23738 void serialize(S &s,
const unsigned ) {
23756 uint64_t
const& offset,
23757 uint64_t
const& overall_offset);
23768#ifdef DOCUMENTATION
23777DECLARE_LEAF_CLASS(AsmDwarfUnspecifiedParameters);
23778IS_SERIALIZABLE(AsmDwarfUnspecifiedParameters);
23780#ifndef DOCUMENTATION
23781AsmDwarfUnspecifiedParameters.useSmallHeader(
true);
23784#ifdef DOCUMENTATION
23788 DECLARE_OTHERS(AsmDwarfUnspecifiedParameters);
23789#if defined(SgAsmDwarfUnspecifiedParameters_OTHERS) || defined(DOCUMENTATION)
23792#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23794 friend class boost::serialization::access;
23797 void serialize(S &s,
const unsigned ) {
23815 uint64_t
const& offset,
23816 uint64_t
const& overall_offset);
23827#ifdef DOCUMENTATION
23836DECLARE_LEAF_CLASS(AsmDwarfUnknownConstruct);
23837IS_SERIALIZABLE(AsmDwarfUnknownConstruct);
23839#ifndef DOCUMENTATION
23840AsmDwarfUnknownConstruct.useSmallHeader(
true);
23843#ifdef DOCUMENTATION
23847 DECLARE_OTHERS(AsmDwarfUnknownConstruct);
23848#if defined(SgAsmDwarfUnknownConstruct_OTHERS) || defined(DOCUMENTATION)
23851#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23853 friend class boost::serialization::access;
23856 void serialize(S &s,
const unsigned ) {
23874 uint64_t
const& offset,
23875 uint64_t
const& overall_offset);
23886#ifdef DOCUMENTATION
23895DECLARE_LEAF_CLASS(AsmDwarfUnionType);
23896IS_SERIALIZABLE(AsmDwarfUnionType);
23898#ifndef DOCUMENTATION
23899AsmDwarfUnionType.useSmallHeader(
true);
23902DECLARE_HEADERS(AsmDwarfUnionType);
23903#if defined(SgAsmDwarfUnionType_HEADERS) || defined(DOCUMENTATION)
23904#ifdef ROSE_SgAsmDwarfUnionType_IMPL
23905#include <SgAsmDwarfConstructList.h>
23909#ifdef DOCUMENTATION
23913#ifndef DOCUMENTATION
23914 AsmDwarfUnionType.setDataPrototype(
23915 "SgAsmDwarfConstructList*",
"body",
"= NULL",
23916 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23919 DECLARE_OTHERS(AsmDwarfUnionType);
23920#if defined(SgAsmDwarfUnionType_OTHERS) || defined(DOCUMENTATION)
23923#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23925 friend class boost::serialization::access;
23928 void serialize(S &s,
const unsigned ) {
23931 s & BOOST_SERIALIZATION_NVP(p_body);
23952 uint64_t
const& offset,
23953 uint64_t
const& overall_offset);
23964#ifdef DOCUMENTATION
23973DECLARE_LEAF_CLASS(AsmDwarfTypedef);
23974IS_SERIALIZABLE(AsmDwarfTypedef);
23976#ifndef DOCUMENTATION
23977AsmDwarfTypedef.useSmallHeader(
true);
23980#ifdef DOCUMENTATION
23984 DECLARE_OTHERS(AsmDwarfTypedef);
23985#if defined(SgAsmDwarfTypedef_OTHERS) || defined(DOCUMENTATION)
23988#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
23990 friend class boost::serialization::access;
23993 void serialize(S &s,
const unsigned ) {
24011 uint64_t
const& offset,
24012 uint64_t
const& overall_offset);
24023#ifdef DOCUMENTATION
24032DECLARE_LEAF_CLASS(AsmDwarfTryBlock);
24033IS_SERIALIZABLE(AsmDwarfTryBlock);
24035#ifndef DOCUMENTATION
24036AsmDwarfTryBlock.useSmallHeader(
true);
24039#ifdef DOCUMENTATION
24043 DECLARE_OTHERS(AsmDwarfTryBlock);
24044#if defined(SgAsmDwarfTryBlock_OTHERS) || defined(DOCUMENTATION)
24047#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24049 friend class boost::serialization::access;
24052 void serialize(S &s,
const unsigned ) {
24070 uint64_t
const& offset,
24071 uint64_t
const& overall_offset);
24082#ifdef DOCUMENTATION
24091DECLARE_LEAF_CLASS(AsmDwarfThrownType);
24092IS_SERIALIZABLE(AsmDwarfThrownType);
24094#ifndef DOCUMENTATION
24095AsmDwarfThrownType.useSmallHeader(
true);
24098#ifdef DOCUMENTATION
24102 DECLARE_OTHERS(AsmDwarfThrownType);
24103#if defined(SgAsmDwarfThrownType_OTHERS) || defined(DOCUMENTATION)
24106#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24108 friend class boost::serialization::access;
24111 void serialize(S &s,
const unsigned ) {
24129 uint64_t
const& offset,
24130 uint64_t
const& overall_offset);
24141#ifdef DOCUMENTATION
24150DECLARE_LEAF_CLASS(AsmDwarfTemplateValueParameter);
24151IS_SERIALIZABLE(AsmDwarfTemplateValueParameter);
24153#ifndef DOCUMENTATION
24154AsmDwarfTemplateValueParameter.useSmallHeader(
true);
24157#ifdef DOCUMENTATION
24161 DECLARE_OTHERS(AsmDwarfTemplateValueParameter);
24162#if defined(SgAsmDwarfTemplateValueParameter_OTHERS) || defined(DOCUMENTATION)
24165#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24167 friend class boost::serialization::access;
24170 void serialize(S &s,
const unsigned ) {
24188 uint64_t
const& offset,
24189 uint64_t
const& overall_offset);
24200#ifdef DOCUMENTATION
24209DECLARE_LEAF_CLASS(AsmDwarfTemplateTypeParameter);
24210IS_SERIALIZABLE(AsmDwarfTemplateTypeParameter);
24212#ifndef DOCUMENTATION
24213AsmDwarfTemplateTypeParameter.useSmallHeader(
true);
24216#ifdef DOCUMENTATION
24220 DECLARE_OTHERS(AsmDwarfTemplateTypeParameter);
24221#if defined(SgAsmDwarfTemplateTypeParameter_OTHERS) || defined(DOCUMENTATION)
24224#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24226 friend class boost::serialization::access;
24229 void serialize(S &s,
const unsigned ) {
24247 uint64_t
const& offset,
24248 uint64_t
const& overall_offset);
24259#ifdef DOCUMENTATION
24268DECLARE_LEAF_CLASS(AsmDwarfSubroutineType);
24269IS_SERIALIZABLE(AsmDwarfSubroutineType);
24271#ifndef DOCUMENTATION
24272AsmDwarfSubroutineType.useSmallHeader(
true);
24275DECLARE_HEADERS(AsmDwarfSubroutineType);
24276#if defined(SgAsmDwarfSubroutineType_HEADERS) || defined(DOCUMENTATION)
24277#ifdef ROSE_SgAsmDwarfSubroutineType_IMPL
24278#include <SgAsmDwarfConstructList.h>
24282#ifdef DOCUMENTATION
24286#ifndef DOCUMENTATION
24287 AsmDwarfSubroutineType.setDataPrototype(
24288 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
24289 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24292 DECLARE_OTHERS(AsmDwarfSubroutineType);
24293#if defined(SgAsmDwarfSubroutineType_OTHERS) || defined(DOCUMENTATION)
24296#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24298 friend class boost::serialization::access;
24301 void serialize(S &s,
const unsigned ) {
24304 s & BOOST_SERIALIZATION_NVP(p_body);
24325 uint64_t
const& offset,
24326 uint64_t
const& overall_offset);
24337#ifdef DOCUMENTATION
24346DECLARE_LEAF_CLASS(AsmDwarfSubrangeType);
24347IS_SERIALIZABLE(AsmDwarfSubrangeType);
24349#ifndef DOCUMENTATION
24350AsmDwarfSubrangeType.useSmallHeader(
true);
24353#ifdef DOCUMENTATION
24357 DECLARE_OTHERS(AsmDwarfSubrangeType);
24358#if defined(SgAsmDwarfSubrangeType_OTHERS) || defined(DOCUMENTATION)
24361#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24363 friend class boost::serialization::access;
24366 void serialize(S &s,
const unsigned ) {
24384 uint64_t
const& offset,
24385 uint64_t
const& overall_offset);
24396#ifdef DOCUMENTATION
24405DECLARE_LEAF_CLASS(AsmDwarfSubprogram);
24406IS_SERIALIZABLE(AsmDwarfSubprogram);
24408#ifndef DOCUMENTATION
24409AsmDwarfSubprogram.useSmallHeader(
true);
24412DECLARE_HEADERS(AsmDwarfSubprogram);
24413#if defined(SgAsmDwarfSubprogram_HEADERS) || defined(DOCUMENTATION)
24414#ifdef ROSE_SgAsmDwarfSubprogram_IMPL
24415#include <SgAsmDwarfConstructList.h>
24419#ifdef DOCUMENTATION
24423#ifndef DOCUMENTATION
24424 AsmDwarfSubprogram.setDataPrototype(
24425 "SgAsmDwarfConstructList*",
"body",
"= NULL",
24426 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24429 DECLARE_OTHERS(AsmDwarfSubprogram);
24430#if defined(SgAsmDwarfSubprogram_OTHERS) || defined(DOCUMENTATION)
24433#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24435 friend class boost::serialization::access;
24438 void serialize(S &s,
const unsigned ) {
24441 s & BOOST_SERIALIZATION_NVP(p_body);
24462 uint64_t
const& offset,
24463 uint64_t
const& overall_offset);
24474#ifdef DOCUMENTATION
24483DECLARE_LEAF_CLASS(AsmDwarfStructureType);
24484IS_SERIALIZABLE(AsmDwarfStructureType);
24486#ifndef DOCUMENTATION
24487AsmDwarfStructureType.useSmallHeader(
true);
24490DECLARE_HEADERS(AsmDwarfStructureType);
24491#if defined(SgAsmDwarfStructureType_HEADERS) || defined(DOCUMENTATION)
24492#ifdef ROSE_SgAsmDwarfStructureType_IMPL
24493#include <SgAsmDwarfConstructList.h>
24497#ifdef DOCUMENTATION
24501#ifndef DOCUMENTATION
24502 AsmDwarfStructureType.setDataPrototype(
24503 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
24504 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24507 DECLARE_OTHERS(AsmDwarfStructureType);
24508#if defined(SgAsmDwarfStructureType_OTHERS) || defined(DOCUMENTATION)
24511#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24513 friend class boost::serialization::access;
24516 void serialize(S &s,
const unsigned ) {
24519 s & BOOST_SERIALIZATION_NVP(p_body);
24540 uint64_t
const& offset,
24541 uint64_t
const& overall_offset);
24552#ifdef DOCUMENTATION
24561DECLARE_LEAF_CLASS(AsmDwarfStringType);
24562IS_SERIALIZABLE(AsmDwarfStringType);
24564#ifndef DOCUMENTATION
24565AsmDwarfStringType.useSmallHeader(
true);
24568#ifdef DOCUMENTATION
24572 DECLARE_OTHERS(AsmDwarfStringType);
24573#if defined(SgAsmDwarfStringType_OTHERS) || defined(DOCUMENTATION)
24576#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24578 friend class boost::serialization::access;
24581 void serialize(S &s,
const unsigned ) {
24599 uint64_t
const& offset,
24600 uint64_t
const& overall_offset);
24611#ifdef DOCUMENTATION
24620DECLARE_LEAF_CLASS(AsmDwarfSharedType);
24621IS_SERIALIZABLE(AsmDwarfSharedType);
24623#ifndef DOCUMENTATION
24624AsmDwarfSharedType.useSmallHeader(
true);
24627#ifdef DOCUMENTATION
24631 DECLARE_OTHERS(AsmDwarfSharedType);
24632#if defined(SgAsmDwarfSharedType_OTHERS) || defined(DOCUMENTATION)
24635#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24637 friend class boost::serialization::access;
24640 void serialize(S &s,
const unsigned ) {
24658 uint64_t
const& offset,
24659 uint64_t
const& overall_offset);
24670#ifdef DOCUMENTATION
24679DECLARE_LEAF_CLASS(AsmDwarfSetType);
24680IS_SERIALIZABLE(AsmDwarfSetType);
24682#ifndef DOCUMENTATION
24683AsmDwarfSetType.useSmallHeader(
true);
24686#ifdef DOCUMENTATION
24690 DECLARE_OTHERS(AsmDwarfSetType);
24691#if defined(SgAsmDwarfSetType_OTHERS) || defined(DOCUMENTATION)
24694#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24696 friend class boost::serialization::access;
24699 void serialize(S &s,
const unsigned ) {
24717 uint64_t
const& offset,
24718 uint64_t
const& overall_offset);
24729#ifdef DOCUMENTATION
24738DECLARE_LEAF_CLASS(AsmDwarfRestrictType);
24739IS_SERIALIZABLE(AsmDwarfRestrictType);
24741#ifndef DOCUMENTATION
24742AsmDwarfRestrictType.useSmallHeader(
true);
24745#ifdef DOCUMENTATION
24749 DECLARE_OTHERS(AsmDwarfRestrictType);
24750#if defined(SgAsmDwarfRestrictType_OTHERS) || defined(DOCUMENTATION)
24753#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24755 friend class boost::serialization::access;
24758 void serialize(S &s,
const unsigned ) {
24776 uint64_t
const& offset,
24777 uint64_t
const& overall_offset);
24788#ifdef DOCUMENTATION
24797DECLARE_LEAF_CLASS(AsmDwarfReferenceType);
24798IS_SERIALIZABLE(AsmDwarfReferenceType);
24800#ifndef DOCUMENTATION
24801AsmDwarfReferenceType.useSmallHeader(
true);
24804#ifdef DOCUMENTATION
24808 DECLARE_OTHERS(AsmDwarfReferenceType);
24809#if defined(SgAsmDwarfReferenceType_OTHERS) || defined(DOCUMENTATION)
24812#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24814 friend class boost::serialization::access;
24817 void serialize(S &s,
const unsigned ) {
24835 uint64_t
const& offset,
24836 uint64_t
const& overall_offset);
24847#ifdef DOCUMENTATION
24856DECLARE_LEAF_CLASS(AsmDwarfPtrToMemberType);
24857IS_SERIALIZABLE(AsmDwarfPtrToMemberType);
24859#ifndef DOCUMENTATION
24860AsmDwarfPtrToMemberType.useSmallHeader(
true);
24863#ifdef DOCUMENTATION
24867 DECLARE_OTHERS(AsmDwarfPtrToMemberType);
24868#if defined(SgAsmDwarfPtrToMemberType_OTHERS) || defined(DOCUMENTATION)
24871#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24873 friend class boost::serialization::access;
24876 void serialize(S &s,
const unsigned ) {
24894 uint64_t
const& offset,
24895 uint64_t
const& overall_offset);
24906#ifdef DOCUMENTATION
24915DECLARE_LEAF_CLASS(AsmDwarfPointerType);
24916IS_SERIALIZABLE(AsmDwarfPointerType);
24918#ifndef DOCUMENTATION
24919AsmDwarfPointerType.useSmallHeader(
true);
24922#ifdef DOCUMENTATION
24926 DECLARE_OTHERS(AsmDwarfPointerType);
24927#if defined(SgAsmDwarfPointerType_OTHERS) || defined(DOCUMENTATION)
24930#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24932 friend class boost::serialization::access;
24935 void serialize(S &s,
const unsigned ) {
24953 uint64_t
const& offset,
24954 uint64_t
const& overall_offset);
24965#ifdef DOCUMENTATION
24974DECLARE_LEAF_CLASS(AsmDwarfPartialUnit);
24975IS_SERIALIZABLE(AsmDwarfPartialUnit);
24977#ifndef DOCUMENTATION
24978AsmDwarfPartialUnit.useSmallHeader(
true);
24981#ifdef DOCUMENTATION
24985 DECLARE_OTHERS(AsmDwarfPartialUnit);
24986#if defined(SgAsmDwarfPartialUnit_OTHERS) || defined(DOCUMENTATION)
24989#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
24991 friend class boost::serialization::access;
24994 void serialize(S &s,
const unsigned ) {
25012 uint64_t
const& offset,
25013 uint64_t
const& overall_offset);
25024#ifdef DOCUMENTATION
25033DECLARE_LEAF_CLASS(AsmDwarfPackedType);
25034IS_SERIALIZABLE(AsmDwarfPackedType);
25036#ifndef DOCUMENTATION
25037AsmDwarfPackedType.useSmallHeader(
true);
25040#ifdef DOCUMENTATION
25044 DECLARE_OTHERS(AsmDwarfPackedType);
25045#if defined(SgAsmDwarfPackedType_OTHERS) || defined(DOCUMENTATION)
25048#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25050 friend class boost::serialization::access;
25053 void serialize(S &s,
const unsigned ) {
25071 uint64_t
const& offset,
25072 uint64_t
const& overall_offset);
25083#ifdef DOCUMENTATION
25092DECLARE_LEAF_CLASS(AsmDwarfNamespace);
25093IS_SERIALIZABLE(AsmDwarfNamespace);
25095#ifndef DOCUMENTATION
25096AsmDwarfNamespace.useSmallHeader(
true);
25099DECLARE_HEADERS(AsmDwarfNamespace);
25100#if defined(SgAsmDwarfNamespace_HEADERS) || defined(DOCUMENTATION)
25101#ifdef ROSE_SgAsmDwarfNamespace_IMPL
25102#include <SgAsmDwarfConstructList.h>
25106#ifdef DOCUMENTATION
25110#ifndef DOCUMENTATION
25111 AsmDwarfNamespace.setDataPrototype(
25112 "SgAsmDwarfConstructList*",
"body",
"= NULL",
25113 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25116 DECLARE_OTHERS(AsmDwarfNamespace);
25117#if defined(SgAsmDwarfNamespace_OTHERS) || defined(DOCUMENTATION)
25120#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25122 friend class boost::serialization::access;
25125 void serialize(S &s,
const unsigned ) {
25128 s & BOOST_SERIALIZATION_NVP(p_body);
25149 uint64_t
const& offset,
25150 uint64_t
const& overall_offset);
25161#ifdef DOCUMENTATION
25170DECLARE_LEAF_CLASS(AsmDwarfNamelistItem);
25171IS_SERIALIZABLE(AsmDwarfNamelistItem);
25173#ifndef DOCUMENTATION
25174AsmDwarfNamelistItem.useSmallHeader(
true);
25177#ifdef DOCUMENTATION
25181 DECLARE_OTHERS(AsmDwarfNamelistItem);
25182#if defined(SgAsmDwarfNamelistItem_OTHERS) || defined(DOCUMENTATION)
25185#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25187 friend class boost::serialization::access;
25190 void serialize(S &s,
const unsigned ) {
25208 uint64_t
const& offset,
25209 uint64_t
const& overall_offset);
25220#ifdef DOCUMENTATION
25229DECLARE_LEAF_CLASS(AsmDwarfNamelist);
25230IS_SERIALIZABLE(AsmDwarfNamelist);
25232#ifndef DOCUMENTATION
25233AsmDwarfNamelist.useSmallHeader(
true);
25236#ifdef DOCUMENTATION
25240 DECLARE_OTHERS(AsmDwarfNamelist);
25241#if defined(SgAsmDwarfNamelist_OTHERS) || defined(DOCUMENTATION)
25244#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25246 friend class boost::serialization::access;
25249 void serialize(S &s,
const unsigned ) {
25267 uint64_t
const& offset,
25268 uint64_t
const& overall_offset);
25279#ifdef DOCUMENTATION
25288DECLARE_LEAF_CLASS(AsmDwarfMutableType);
25289IS_SERIALIZABLE(AsmDwarfMutableType);
25291#ifndef DOCUMENTATION
25292AsmDwarfMutableType.useSmallHeader(
true);
25295#ifdef DOCUMENTATION
25299 DECLARE_OTHERS(AsmDwarfMutableType);
25300#if defined(SgAsmDwarfMutableType_OTHERS) || defined(DOCUMENTATION)
25303#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25305 friend class boost::serialization::access;
25308 void serialize(S &s,
const unsigned ) {
25326 uint64_t
const& offset,
25327 uint64_t
const& overall_offset);
25338#ifdef DOCUMENTATION
25347DECLARE_LEAF_CLASS(AsmDwarfModule);
25348IS_SERIALIZABLE(AsmDwarfModule);
25350#ifndef DOCUMENTATION
25351AsmDwarfModule.useSmallHeader(
true);
25354#ifdef DOCUMENTATION
25358 DECLARE_OTHERS(AsmDwarfModule);
25359#if defined(SgAsmDwarfModule_OTHERS) || defined(DOCUMENTATION)
25362#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25364 friend class boost::serialization::access;
25367 void serialize(S &s,
const unsigned ) {
25385 uint64_t
const& offset,
25386 uint64_t
const& overall_offset);
25397#ifdef DOCUMENTATION
25406DECLARE_LEAF_CLASS(AsmDwarfMember);
25407IS_SERIALIZABLE(AsmDwarfMember);
25409#ifndef DOCUMENTATION
25410AsmDwarfMember.useSmallHeader(
true);
25413#ifdef DOCUMENTATION
25417 DECLARE_OTHERS(AsmDwarfMember);
25418#if defined(SgAsmDwarfMember_OTHERS) || defined(DOCUMENTATION)
25421#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25423 friend class boost::serialization::access;
25426 void serialize(S &s,
const unsigned ) {
25444 uint64_t
const& offset,
25445 uint64_t
const& overall_offset);
25456#ifdef DOCUMENTATION
25465DECLARE_LEAF_CLASS(AsmDwarfMacroList);
25466IS_SERIALIZABLE(AsmDwarfMacroList);
25468#ifndef DOCUMENTATION
25469AsmDwarfMacroList.useSmallHeader(
true);
25472DECLARE_HEADERS(AsmDwarfMacroList);
25473#if defined(SgAsmDwarfMacroList_HEADERS) || defined(DOCUMENTATION)
25474#include <sageContainer.h>
25477#ifdef DOCUMENTATION
25481#ifndef DOCUMENTATION
25482 AsmDwarfMacroList.setDataPrototype(
25483 "SgAsmDwarfMacroPtrList",
"macro_list",
"",
25484 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25487 DECLARE_OTHERS(AsmDwarfMacroList);
25488#if defined(SgAsmDwarfMacroList_OTHERS) || defined(DOCUMENTATION)
25491#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25493 friend class boost::serialization::access;
25496 void serialize(S &s,
const unsigned ) {
25499 s & BOOST_SERIALIZATION_NVP(p_macro_list);
25505 SgAsmDwarfMacroPtrList
const& get_macro_list()
const;
25506 void set_macro_list(SgAsmDwarfMacroPtrList
const&);
25525#ifdef DOCUMENTATION
25534DECLARE_LEAF_CLASS(AsmDwarfMacro);
25535IS_SERIALIZABLE(AsmDwarfMacro);
25537#ifndef DOCUMENTATION
25538AsmDwarfMacro.useSmallHeader(
true);
25541#ifdef DOCUMENTATION
25545#ifndef DOCUMENTATION
25546 AsmDwarfMacro.setDataPrototype(
25547 "std::string",
"macro_string",
"",
25548 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25551 DECLARE_OTHERS(AsmDwarfMacro);
25552#if defined(SgAsmDwarfMacro_OTHERS) || defined(DOCUMENTATION)
25555#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25557 friend class boost::serialization::access;
25560 void serialize(S &s,
const unsigned ) {
25563 s & BOOST_SERIALIZATION_NVP(p_macro_string);
25569 std::string
const& get_macro_string()
const;
25570 void set_macro_string(std::string
const&);
25589#ifdef DOCUMENTATION
25598DECLARE_LEAF_CLASS(AsmDwarfLineList);
25599IS_SERIALIZABLE(AsmDwarfLineList);
25601#ifndef DOCUMENTATION
25602AsmDwarfLineList.useSmallHeader(
true);
25605DECLARE_HEADERS(AsmDwarfLineList);
25606#if defined(SgAsmDwarfLineList_HEADERS) || defined(DOCUMENTATION)
25607#include <sageContainer.h>
25610#ifdef DOCUMENTATION
25614#ifndef DOCUMENTATION
25615 AsmDwarfLineList.setDataPrototype(
25616 "SgAsmDwarfLinePtrList",
"line_list",
"",
25617 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25620 DECLARE_OTHERS(AsmDwarfLineList);
25621#if defined(SgAsmDwarfLineList_OTHERS) || defined(DOCUMENTATION)
25624#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25626 friend class boost::serialization::access;
25629 void serialize(S &s,
const unsigned ) {
25632 s & BOOST_SERIALIZATION_NVP(p_line_list);
25638 SgAsmDwarfLinePtrList
const& get_line_list()
const;
25639 SgAsmDwarfLinePtrList& get_line_list();
25640 void set_line_list(SgAsmDwarfLinePtrList
const&);
25644 AsmDwarfLineList.setDataPrototype(
"SgInstructionAddressSourcePositionMapPtrList",
"instructionToSourceMap",
"",
25645 NO_CONSTRUCTOR_PARAMETER, BUILD_LIST_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE);
25646 AsmDwarfLineList.setDataPrototype(
"SgSourcePositionInstructionAddressMapPtrList",
"sourceToInstructionMap",
"",
25647 NO_CONSTRUCTOR_PARAMETER, BUILD_LIST_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE);
25658 static std::pair<uint64_t,uint64_t> instructionRange();
25659 static std::pair<LineColumnFilePosition,LineColumnFilePosition> sourceCodeRange(
int file_id );
25661 static uint64_t sourceCodeToAddress ( FileIdLineColumnFilePosition sourcePosition );
25662 static FileIdLineColumnFilePosition addressToSourceCode ( uint64_t address );
25680#ifdef DOCUMENTATION
25689DECLARE_LEAF_CLASS(AsmDwarfLine);
25690IS_SERIALIZABLE(AsmDwarfLine);
25692#ifndef DOCUMENTATION
25693AsmDwarfLine.useSmallHeader(
true);
25696#ifdef DOCUMENTATION
25700#ifndef DOCUMENTATION
25701 AsmDwarfLine.setDataPrototype(
25702 "uint64_t",
"address",
"= 0",
25703 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25706#ifndef DOCUMENTATION
25707 AsmDwarfLine.setDataPrototype(
25708 "int",
"file_id",
"= -2",
25709 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25712#ifndef DOCUMENTATION
25713 AsmDwarfLine.setDataPrototype(
25714 "int",
"line",
"= 0",
25715 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25718#ifndef DOCUMENTATION
25719 AsmDwarfLine.setDataPrototype(
25720 "int",
"column",
"= 0",
25721 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25724 DECLARE_OTHERS(AsmDwarfLine);
25725#if defined(SgAsmDwarfLine_OTHERS) || defined(DOCUMENTATION)
25728#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25730 friend class boost::serialization::access;
25733 void serialize(S &s,
const unsigned ) {
25736 s & BOOST_SERIALIZATION_NVP(p_address);
25737 s & BOOST_SERIALIZATION_NVP(p_file_id);
25738 s & BOOST_SERIALIZATION_NVP(p_line);
25739 s & BOOST_SERIALIZATION_NVP(p_column);
25745 uint64_t
const& get_address()
const;
25746 void set_address(uint64_t
const&);
25750 int const& get_file_id()
const;
25751 void set_file_id(
int const&);
25754 int const& get_line()
const;
25755 void set_line(
int const&);
25758 int const& get_column()
const;
25759 void set_column(
int const&);
25772 int const& file_id,
25774 int const& column);
25785#ifdef DOCUMENTATION
25794DECLARE_LEAF_CLASS(AsmDwarfLexicalBlock);
25795IS_SERIALIZABLE(AsmDwarfLexicalBlock);
25797#ifndef DOCUMENTATION
25798AsmDwarfLexicalBlock.useSmallHeader(
true);
25801DECLARE_HEADERS(AsmDwarfLexicalBlock);
25802#if defined(SgAsmDwarfLexicalBlock_HEADERS) || defined(DOCUMENTATION)
25803#ifdef ROSE_SgAsmDwarfLexicalBlock_IMPL
25804#include <SgAsmDwarfConstructList.h>
25808#ifdef DOCUMENTATION
25812#ifndef DOCUMENTATION
25813 AsmDwarfLexicalBlock.setDataPrototype(
25814 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
25815 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25818 DECLARE_OTHERS(AsmDwarfLexicalBlock);
25819#if defined(SgAsmDwarfLexicalBlock_OTHERS) || defined(DOCUMENTATION)
25822#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25824 friend class boost::serialization::access;
25827 void serialize(S &s,
const unsigned ) {
25830 s & BOOST_SERIALIZATION_NVP(p_body);
25851 uint64_t
const& offset,
25852 uint64_t
const& overall_offset);
25863#ifdef DOCUMENTATION
25872DECLARE_LEAF_CLASS(AsmDwarfLabel);
25873IS_SERIALIZABLE(AsmDwarfLabel);
25875#ifndef DOCUMENTATION
25876AsmDwarfLabel.useSmallHeader(
true);
25879#ifdef DOCUMENTATION
25883 DECLARE_OTHERS(AsmDwarfLabel);
25884#if defined(SgAsmDwarfLabel_OTHERS) || defined(DOCUMENTATION)
25887#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25889 friend class boost::serialization::access;
25892 void serialize(S &s,
const unsigned ) {
25910 uint64_t
const& offset,
25911 uint64_t
const& overall_offset);
25922#ifdef DOCUMENTATION
25931DECLARE_LEAF_CLASS(AsmDwarfInterfaceType);
25932IS_SERIALIZABLE(AsmDwarfInterfaceType);
25934#ifndef DOCUMENTATION
25935AsmDwarfInterfaceType.useSmallHeader(
true);
25938#ifdef DOCUMENTATION
25942 DECLARE_OTHERS(AsmDwarfInterfaceType);
25943#if defined(SgAsmDwarfInterfaceType_OTHERS) || defined(DOCUMENTATION)
25946#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
25948 friend class boost::serialization::access;
25951 void serialize(S &s,
const unsigned ) {
25969 uint64_t
const& offset,
25970 uint64_t
const& overall_offset);
25981#ifdef DOCUMENTATION
25990DECLARE_LEAF_CLASS(AsmDwarfInlinedSubroutine);
25991IS_SERIALIZABLE(AsmDwarfInlinedSubroutine);
25993#ifndef DOCUMENTATION
25994AsmDwarfInlinedSubroutine.useSmallHeader(
true);
25997DECLARE_HEADERS(AsmDwarfInlinedSubroutine);
25998#if defined(SgAsmDwarfInlinedSubroutine_HEADERS) || defined(DOCUMENTATION)
25999#ifdef ROSE_SgAsmDwarfInlinedSubroutine_IMPL
26000#include <SgAsmDwarfConstructList.h>
26004#ifdef DOCUMENTATION
26008#ifndef DOCUMENTATION
26009 AsmDwarfInlinedSubroutine.setDataPrototype(
26010 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
26011 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26014 DECLARE_OTHERS(AsmDwarfInlinedSubroutine);
26015#if defined(SgAsmDwarfInlinedSubroutine_OTHERS) || defined(DOCUMENTATION)
26018#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26020 friend class boost::serialization::access;
26023 void serialize(S &s,
const unsigned ) {
26026 s & BOOST_SERIALIZATION_NVP(p_body);
26047 uint64_t
const& offset,
26048 uint64_t
const& overall_offset);
26059#ifdef DOCUMENTATION
26068DECLARE_LEAF_CLASS(AsmDwarfInheritance);
26069IS_SERIALIZABLE(AsmDwarfInheritance);
26071#ifndef DOCUMENTATION
26072AsmDwarfInheritance.useSmallHeader(
true);
26075#ifdef DOCUMENTATION
26079 DECLARE_OTHERS(AsmDwarfInheritance);
26080#if defined(SgAsmDwarfInheritance_OTHERS) || defined(DOCUMENTATION)
26083#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26085 friend class boost::serialization::access;
26088 void serialize(S &s,
const unsigned ) {
26106 uint64_t
const& offset,
26107 uint64_t
const& overall_offset);
26118#ifdef DOCUMENTATION
26127DECLARE_LEAF_CLASS(AsmDwarfImportedUnit);
26128IS_SERIALIZABLE(AsmDwarfImportedUnit);
26130#ifndef DOCUMENTATION
26131AsmDwarfImportedUnit.useSmallHeader(
true);
26134#ifdef DOCUMENTATION
26138 DECLARE_OTHERS(AsmDwarfImportedUnit);
26139#if defined(SgAsmDwarfImportedUnit_OTHERS) || defined(DOCUMENTATION)
26142#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26144 friend class boost::serialization::access;
26147 void serialize(S &s,
const unsigned ) {
26165 uint64_t
const& offset,
26166 uint64_t
const& overall_offset);
26177#ifdef DOCUMENTATION
26186DECLARE_LEAF_CLASS(AsmDwarfImportedModule);
26187IS_SERIALIZABLE(AsmDwarfImportedModule);
26189#ifndef DOCUMENTATION
26190AsmDwarfImportedModule.useSmallHeader(
true);
26193#ifdef DOCUMENTATION
26197 DECLARE_OTHERS(AsmDwarfImportedModule);
26198#if defined(SgAsmDwarfImportedModule_OTHERS) || defined(DOCUMENTATION)
26201#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26203 friend class boost::serialization::access;
26206 void serialize(S &s,
const unsigned ) {
26224 uint64_t
const& offset,
26225 uint64_t
const& overall_offset);
26236#ifdef DOCUMENTATION
26245DECLARE_LEAF_CLASS(AsmDwarfImportedDeclaration);
26246IS_SERIALIZABLE(AsmDwarfImportedDeclaration);
26248#ifndef DOCUMENTATION
26249AsmDwarfImportedDeclaration.useSmallHeader(
true);
26252#ifdef DOCUMENTATION
26256 DECLARE_OTHERS(AsmDwarfImportedDeclaration);
26257#if defined(SgAsmDwarfImportedDeclaration_OTHERS) || defined(DOCUMENTATION)
26260#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26262 friend class boost::serialization::access;
26265 void serialize(S &s,
const unsigned ) {
26283 uint64_t
const& offset,
26284 uint64_t
const& overall_offset);
26295#ifdef DOCUMENTATION
26304DECLARE_LEAF_CLASS(AsmDwarfFunctionTemplate);
26305IS_SERIALIZABLE(AsmDwarfFunctionTemplate);
26307#ifndef DOCUMENTATION
26308AsmDwarfFunctionTemplate.useSmallHeader(
true);
26311#ifdef DOCUMENTATION
26315 DECLARE_OTHERS(AsmDwarfFunctionTemplate);
26316#if defined(SgAsmDwarfFunctionTemplate_OTHERS) || defined(DOCUMENTATION)
26319#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26321 friend class boost::serialization::access;
26324 void serialize(S &s,
const unsigned ) {
26342 uint64_t
const& offset,
26343 uint64_t
const& overall_offset);
26354#ifdef DOCUMENTATION
26363DECLARE_LEAF_CLASS(AsmDwarfFriend);
26364IS_SERIALIZABLE(AsmDwarfFriend);
26366#ifndef DOCUMENTATION
26367AsmDwarfFriend.useSmallHeader(
true);
26370#ifdef DOCUMENTATION
26374 DECLARE_OTHERS(AsmDwarfFriend);
26375#if defined(SgAsmDwarfFriend_OTHERS) || defined(DOCUMENTATION)
26378#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26380 friend class boost::serialization::access;
26383 void serialize(S &s,
const unsigned ) {
26401 uint64_t
const& offset,
26402 uint64_t
const& overall_offset);
26413#ifdef DOCUMENTATION
26422DECLARE_LEAF_CLASS(AsmDwarfFormatLabel);
26423IS_SERIALIZABLE(AsmDwarfFormatLabel);
26425#ifndef DOCUMENTATION
26426AsmDwarfFormatLabel.useSmallHeader(
true);
26429#ifdef DOCUMENTATION
26433 DECLARE_OTHERS(AsmDwarfFormatLabel);
26434#if defined(SgAsmDwarfFormatLabel_OTHERS) || defined(DOCUMENTATION)
26437#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26439 friend class boost::serialization::access;
26442 void serialize(S &s,
const unsigned ) {
26460 uint64_t
const& offset,
26461 uint64_t
const& overall_offset);
26472#ifdef DOCUMENTATION
26481DECLARE_LEAF_CLASS(AsmDwarfFormalParameter);
26482IS_SERIALIZABLE(AsmDwarfFormalParameter);
26484#ifndef DOCUMENTATION
26485AsmDwarfFormalParameter.useSmallHeader(
true);
26488#ifdef DOCUMENTATION
26492 DECLARE_OTHERS(AsmDwarfFormalParameter);
26493#if defined(SgAsmDwarfFormalParameter_OTHERS) || defined(DOCUMENTATION)
26496#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26498 friend class boost::serialization::access;
26501 void serialize(S &s,
const unsigned ) {
26519 uint64_t
const& offset,
26520 uint64_t
const& overall_offset);
26531#ifdef DOCUMENTATION
26540DECLARE_LEAF_CLASS(AsmDwarfFileType);
26541IS_SERIALIZABLE(AsmDwarfFileType);
26543#ifndef DOCUMENTATION
26544AsmDwarfFileType.useSmallHeader(
true);
26547#ifdef DOCUMENTATION
26551 DECLARE_OTHERS(AsmDwarfFileType);
26552#if defined(SgAsmDwarfFileType_OTHERS) || defined(DOCUMENTATION)
26555#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26557 friend class boost::serialization::access;
26560 void serialize(S &s,
const unsigned ) {
26578 uint64_t
const& offset,
26579 uint64_t
const& overall_offset);
26590#ifdef DOCUMENTATION
26599DECLARE_LEAF_CLASS(AsmDwarfEnumerator);
26600IS_SERIALIZABLE(AsmDwarfEnumerator);
26602#ifndef DOCUMENTATION
26603AsmDwarfEnumerator.useSmallHeader(
true);
26606#ifdef DOCUMENTATION
26610 DECLARE_OTHERS(AsmDwarfEnumerator);
26611#if defined(SgAsmDwarfEnumerator_OTHERS) || defined(DOCUMENTATION)
26614#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26616 friend class boost::serialization::access;
26619 void serialize(S &s,
const unsigned ) {
26637 uint64_t
const& offset,
26638 uint64_t
const& overall_offset);
26649#ifdef DOCUMENTATION
26658DECLARE_LEAF_CLASS(AsmDwarfEnumerationType);
26659IS_SERIALIZABLE(AsmDwarfEnumerationType);
26661#ifndef DOCUMENTATION
26662AsmDwarfEnumerationType.useSmallHeader(
true);
26665DECLARE_HEADERS(AsmDwarfEnumerationType);
26666#if defined(SgAsmDwarfEnumerationType_HEADERS) || defined(DOCUMENTATION)
26667#ifdef ROSE_SgAsmDwarfEnumerationType_IMPL
26668#include <SgAsmDwarfConstructList.h>
26672#ifdef DOCUMENTATION
26676#ifndef DOCUMENTATION
26677 AsmDwarfEnumerationType.setDataPrototype(
26678 "SgAsmDwarfConstructList*",
"body",
"= NULL",
26679 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26682 DECLARE_OTHERS(AsmDwarfEnumerationType);
26683#if defined(SgAsmDwarfEnumerationType_OTHERS) || defined(DOCUMENTATION)
26686#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26688 friend class boost::serialization::access;
26691 void serialize(S &s,
const unsigned ) {
26694 s & BOOST_SERIALIZATION_NVP(p_body);
26715 uint64_t
const& offset,
26716 uint64_t
const& overall_offset);
26727#ifdef DOCUMENTATION
26736DECLARE_LEAF_CLASS(AsmDwarfEntryPoint);
26737IS_SERIALIZABLE(AsmDwarfEntryPoint);
26739#ifndef DOCUMENTATION
26740AsmDwarfEntryPoint.useSmallHeader(
true);
26743#ifdef DOCUMENTATION
26747 DECLARE_OTHERS(AsmDwarfEntryPoint);
26748#if defined(SgAsmDwarfEntryPoint_OTHERS) || defined(DOCUMENTATION)
26751#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26753 friend class boost::serialization::access;
26756 void serialize(S &s,
const unsigned ) {
26774 uint64_t
const& offset,
26775 uint64_t
const& overall_offset);
26786#ifdef DOCUMENTATION
26795DECLARE_LEAF_CLASS(AsmDwarfDwarfProcedure);
26796IS_SERIALIZABLE(AsmDwarfDwarfProcedure);
26798#ifndef DOCUMENTATION
26799AsmDwarfDwarfProcedure.useSmallHeader(
true);
26802#ifdef DOCUMENTATION
26806 DECLARE_OTHERS(AsmDwarfDwarfProcedure);
26807#if defined(SgAsmDwarfDwarfProcedure_OTHERS) || defined(DOCUMENTATION)
26810#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26812 friend class boost::serialization::access;
26815 void serialize(S &s,
const unsigned ) {
26833 uint64_t
const& offset,
26834 uint64_t
const& overall_offset);
26845#ifdef DOCUMENTATION
26854DECLARE_LEAF_CLASS(AsmDwarfConstType);
26855IS_SERIALIZABLE(AsmDwarfConstType);
26857#ifndef DOCUMENTATION
26858AsmDwarfConstType.useSmallHeader(
true);
26861#ifdef DOCUMENTATION
26865 DECLARE_OTHERS(AsmDwarfConstType);
26866#if defined(SgAsmDwarfConstType_OTHERS) || defined(DOCUMENTATION)
26869#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26871 friend class boost::serialization::access;
26874 void serialize(S &s,
const unsigned ) {
26892 uint64_t
const& offset,
26893 uint64_t
const& overall_offset);
26904#ifdef DOCUMENTATION
26913DECLARE_LEAF_CLASS(AsmDwarfConstructList);
26914IS_SERIALIZABLE(AsmDwarfConstructList);
26916#ifndef DOCUMENTATION
26917AsmDwarfConstructList.useSmallHeader(
true);
26920DECLARE_HEADERS(AsmDwarfConstructList);
26921#if defined(SgAsmDwarfConstructList_HEADERS) || defined(DOCUMENTATION)
26922#include <sageContainer.h>
26925#ifdef DOCUMENTATION
26929#ifndef DOCUMENTATION
26930 AsmDwarfConstructList.setDataPrototype(
26931 "SgAsmDwarfConstructPtrList",
"list",
"",
26932 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26935 DECLARE_OTHERS(AsmDwarfConstructList);
26936#if defined(SgAsmDwarfConstructList_OTHERS) || defined(DOCUMENTATION)
26939#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
26941 friend class boost::serialization::access;
26944 void serialize(S &s,
const unsigned ) {
26947 s & BOOST_SERIALIZATION_NVP(p_list);
26953 SgAsmDwarfConstructPtrList
const& get_list()
const;
26954 SgAsmDwarfConstructPtrList& get_list();
26955 void set_list(SgAsmDwarfConstructPtrList
const&);
26974#ifdef DOCUMENTATION
26983DECLARE_LEAF_CLASS(AsmDwarfConstant);
26984IS_SERIALIZABLE(AsmDwarfConstant);
26986#ifndef DOCUMENTATION
26987AsmDwarfConstant.useSmallHeader(
true);
26990#ifdef DOCUMENTATION
26994 DECLARE_OTHERS(AsmDwarfConstant);
26995#if defined(SgAsmDwarfConstant_OTHERS) || defined(DOCUMENTATION)
26998#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27000 friend class boost::serialization::access;
27003 void serialize(S &s,
const unsigned ) {
27021 uint64_t
const& offset,
27022 uint64_t
const& overall_offset);
27033#ifdef DOCUMENTATION
27042DECLARE_LEAF_CLASS(AsmDwarfCondition);
27043IS_SERIALIZABLE(AsmDwarfCondition);
27045#ifndef DOCUMENTATION
27046AsmDwarfCondition.useSmallHeader(
true);
27049#ifdef DOCUMENTATION
27053 DECLARE_OTHERS(AsmDwarfCondition);
27054#if defined(SgAsmDwarfCondition_OTHERS) || defined(DOCUMENTATION)
27057#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27059 friend class boost::serialization::access;
27062 void serialize(S &s,
const unsigned ) {
27080 uint64_t
const& offset,
27081 uint64_t
const& overall_offset);
27092#ifdef DOCUMENTATION
27101DECLARE_LEAF_CLASS(AsmDwarfCompilationUnitList);
27102IS_SERIALIZABLE(AsmDwarfCompilationUnitList);
27104#ifndef DOCUMENTATION
27105AsmDwarfCompilationUnitList.useSmallHeader(
true);
27108DECLARE_HEADERS(AsmDwarfCompilationUnitList);
27109#if defined(SgAsmDwarfCompilationUnitList_HEADERS) || defined(DOCUMENTATION)
27110#include <sageContainer.h>
27113#ifdef DOCUMENTATION
27117#ifndef DOCUMENTATION
27118 AsmDwarfCompilationUnitList.setDataPrototype(
27119 "SgAsmDwarfCompilationUnitPtrList",
"cu_list",
"",
27120 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27123 DECLARE_OTHERS(AsmDwarfCompilationUnitList);
27124#if defined(SgAsmDwarfCompilationUnitList_OTHERS) || defined(DOCUMENTATION)
27127#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27129 friend class boost::serialization::access;
27132 void serialize(S &s,
const unsigned ) {
27135 s & BOOST_SERIALIZATION_NVP(p_cu_list);
27141 SgAsmDwarfCompilationUnitPtrList
const& get_cu_list()
const;
27142 SgAsmDwarfCompilationUnitPtrList& get_cu_list();
27143 void set_cu_list(SgAsmDwarfCompilationUnitPtrList
const&);
27162#ifdef DOCUMENTATION
27171DECLARE_LEAF_CLASS(AsmDwarfCompilationUnit);
27172IS_SERIALIZABLE(AsmDwarfCompilationUnit);
27174#ifndef DOCUMENTATION
27175AsmDwarfCompilationUnit.useSmallHeader(
true);
27178DECLARE_HEADERS(AsmDwarfCompilationUnit);
27179#if defined(SgAsmDwarfCompilationUnit_HEADERS) || defined(DOCUMENTATION)
27180#ifdef ROSE_SgAsmDwarfCompilationUnit_IMPL
27181#include <SgAsmDwarfConstructList.h>
27182#include <SgAsmDwarfLineList.h>
27183#include <SgAsmDwarfMacroList.h>
27187#ifdef DOCUMENTATION
27191#ifndef DOCUMENTATION
27192 AsmDwarfCompilationUnit.setDataPrototype(
27193 "std::string",
"producer",
"",
27194 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27197#ifndef DOCUMENTATION
27198 AsmDwarfCompilationUnit.setDataPrototype(
27199 "std::string",
"language",
"",
27200 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27203#ifndef DOCUMENTATION
27204 AsmDwarfCompilationUnit.setDataPrototype(
27205 "uint64_t",
"low_pc",
"= 0",
27206 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27209#ifndef DOCUMENTATION
27210 AsmDwarfCompilationUnit.setDataPrototype(
27211 "uint64_t",
"hi_pc",
"= 0",
27212 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27215#ifndef DOCUMENTATION
27216 AsmDwarfCompilationUnit.setDataPrototype(
27217 "int",
"version_stamp",
"= 0",
27218 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27221#ifndef DOCUMENTATION
27222 AsmDwarfCompilationUnit.setDataPrototype(
27223 "uint64_t",
"abbrev_offset",
"= 0",
27224 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27227#ifndef DOCUMENTATION
27228 AsmDwarfCompilationUnit.setDataPrototype(
27229 "uint64_t",
"address_size",
"= 0",
27230 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27233#ifndef DOCUMENTATION
27234 AsmDwarfCompilationUnit.setDataPrototype(
27235 "uint64_t",
"offset_length",
"= 0",
27236 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27239#ifndef DOCUMENTATION
27240 AsmDwarfCompilationUnit.setDataPrototype(
27241 "SgAsmDwarfLineList*",
"line_info",
"= nullptr",
27242 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27245#ifndef DOCUMENTATION
27246 AsmDwarfCompilationUnit.setDataPrototype(
27247 "SgAsmDwarfConstructList*",
"language_constructs",
"= nullptr",
27248 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27251#ifndef DOCUMENTATION
27252 AsmDwarfCompilationUnit.setDataPrototype(
27253 "SgAsmDwarfMacroList*",
"macro_info",
"= nullptr",
27254 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27257 DECLARE_OTHERS(AsmDwarfCompilationUnit);
27258#if defined(SgAsmDwarfCompilationUnit_OTHERS) || defined(DOCUMENTATION)
27261#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27263 friend class boost::serialization::access;
27266 void serialize(S &s,
const unsigned ) {
27269 s & BOOST_SERIALIZATION_NVP(p_producer);
27270 s & BOOST_SERIALIZATION_NVP(p_language);
27271 s & BOOST_SERIALIZATION_NVP(p_low_pc);
27272 s & BOOST_SERIALIZATION_NVP(p_hi_pc);
27273 s & BOOST_SERIALIZATION_NVP(p_version_stamp);
27274 s & BOOST_SERIALIZATION_NVP(p_abbrev_offset);
27275 s & BOOST_SERIALIZATION_NVP(p_address_size);
27276 s & BOOST_SERIALIZATION_NVP(p_offset_length);
27277 s & BOOST_SERIALIZATION_NVP(p_line_info);
27278 s & BOOST_SERIALIZATION_NVP(p_language_constructs);
27279 s & BOOST_SERIALIZATION_NVP(p_macro_info);
27285 std::string
const& get_producer()
const;
27286 void set_producer(std::string
const&);
27289 std::string
const& get_language()
const;
27290 void set_language(std::string
const&);
27293 uint64_t
const& get_low_pc()
const;
27294 void set_low_pc(uint64_t
const&);
27297 uint64_t
const& get_hi_pc()
const;
27298 void set_hi_pc(uint64_t
const&);
27301 int const& get_version_stamp()
const;
27302 void set_version_stamp(
int const&);
27305 uint64_t
const& get_abbrev_offset()
const;
27306 void set_abbrev_offset(uint64_t
const&);
27309 uint64_t
const& get_address_size()
const;
27310 void set_address_size(uint64_t
const&);
27313 uint64_t
const& get_offset_length()
const;
27314 void set_offset_length(uint64_t
const&);
27340 uint64_t
const& offset,
27341 uint64_t
const& overall_offset);
27352#ifdef DOCUMENTATION
27361DECLARE_LEAF_CLASS(AsmDwarfCommonInclusion);
27362IS_SERIALIZABLE(AsmDwarfCommonInclusion);
27364#ifndef DOCUMENTATION
27365AsmDwarfCommonInclusion.useSmallHeader(
true);
27368#ifdef DOCUMENTATION
27372 DECLARE_OTHERS(AsmDwarfCommonInclusion);
27373#if defined(SgAsmDwarfCommonInclusion_OTHERS) || defined(DOCUMENTATION)
27376#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27378 friend class boost::serialization::access;
27381 void serialize(S &s,
const unsigned ) {
27399 uint64_t
const& offset,
27400 uint64_t
const& overall_offset);
27411#ifdef DOCUMENTATION
27420DECLARE_LEAF_CLASS(AsmDwarfCommonBlock);
27421IS_SERIALIZABLE(AsmDwarfCommonBlock);
27423#ifndef DOCUMENTATION
27424AsmDwarfCommonBlock.useSmallHeader(
true);
27427DECLARE_HEADERS(AsmDwarfCommonBlock);
27428#if defined(SgAsmDwarfCommonBlock_HEADERS) || defined(DOCUMENTATION)
27429#ifdef ROSE_SgAsmDwarfCommonBlock_IMPL
27430#include <SgAsmDwarfConstructList.h>
27434#ifdef DOCUMENTATION
27438#ifndef DOCUMENTATION
27439 AsmDwarfCommonBlock.setDataPrototype(
27440 "SgAsmDwarfConstructList*",
"body",
"= NULL",
27441 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27444 DECLARE_OTHERS(AsmDwarfCommonBlock);
27445#if defined(SgAsmDwarfCommonBlock_OTHERS) || defined(DOCUMENTATION)
27448#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27450 friend class boost::serialization::access;
27453 void serialize(S &s,
const unsigned ) {
27456 s & BOOST_SERIALIZATION_NVP(p_body);
27477 uint64_t
const& offset,
27478 uint64_t
const& overall_offset);
27489#ifdef DOCUMENTATION
27498DECLARE_LEAF_CLASS(AsmDwarfClassType);
27499IS_SERIALIZABLE(AsmDwarfClassType);
27501#ifndef DOCUMENTATION
27502AsmDwarfClassType.useSmallHeader(
true);
27505DECLARE_HEADERS(AsmDwarfClassType);
27506#if defined(SgAsmDwarfClassType_HEADERS) || defined(DOCUMENTATION)
27507#ifdef ROSE_SgAsmDwarfClassType_IMPL
27508#include <SgAsmDwarfConstructList.h>
27512#ifdef DOCUMENTATION
27516#ifndef DOCUMENTATION
27517 AsmDwarfClassType.setDataPrototype(
27518 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
27519 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27522 DECLARE_OTHERS(AsmDwarfClassType);
27523#if defined(SgAsmDwarfClassType_OTHERS) || defined(DOCUMENTATION)
27526#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27528 friend class boost::serialization::access;
27531 void serialize(S &s,
const unsigned ) {
27534 s & BOOST_SERIALIZATION_NVP(p_body);
27555 uint64_t
const& offset,
27556 uint64_t
const& overall_offset);
27567#ifdef DOCUMENTATION
27576DECLARE_LEAF_CLASS(AsmDwarfClassTemplate);
27577IS_SERIALIZABLE(AsmDwarfClassTemplate);
27579#ifndef DOCUMENTATION
27580AsmDwarfClassTemplate.useSmallHeader(
true);
27583#ifdef DOCUMENTATION
27587 DECLARE_OTHERS(AsmDwarfClassTemplate);
27588#if defined(SgAsmDwarfClassTemplate_OTHERS) || defined(DOCUMENTATION)
27591#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27593 friend class boost::serialization::access;
27596 void serialize(S &s,
const unsigned ) {
27614 uint64_t
const& offset,
27615 uint64_t
const& overall_offset);
27626#ifdef DOCUMENTATION
27635DECLARE_LEAF_CLASS(AsmDwarfCatchBlock);
27636IS_SERIALIZABLE(AsmDwarfCatchBlock);
27638#ifndef DOCUMENTATION
27639AsmDwarfCatchBlock.useSmallHeader(
true);
27642#ifdef DOCUMENTATION
27646 DECLARE_OTHERS(AsmDwarfCatchBlock);
27647#if defined(SgAsmDwarfCatchBlock_OTHERS) || defined(DOCUMENTATION)
27650#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27652 friend class boost::serialization::access;
27655 void serialize(S &s,
const unsigned ) {
27673 uint64_t
const& offset,
27674 uint64_t
const& overall_offset);
27685#ifdef DOCUMENTATION
27694DECLARE_LEAF_CLASS(AsmDwarfBaseType);
27695IS_SERIALIZABLE(AsmDwarfBaseType);
27697#ifndef DOCUMENTATION
27698AsmDwarfBaseType.useSmallHeader(
true);
27701#ifdef DOCUMENTATION
27705 DECLARE_OTHERS(AsmDwarfBaseType);
27706#if defined(SgAsmDwarfBaseType_OTHERS) || defined(DOCUMENTATION)
27709#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27711 friend class boost::serialization::access;
27714 void serialize(S &s,
const unsigned ) {
27732 uint64_t
const& offset,
27733 uint64_t
const& overall_offset);
27744#ifdef DOCUMENTATION
27753DECLARE_LEAF_CLASS(AsmDwarfArrayType);
27754IS_SERIALIZABLE(AsmDwarfArrayType);
27756#ifndef DOCUMENTATION
27757AsmDwarfArrayType.useSmallHeader(
true);
27760DECLARE_HEADERS(AsmDwarfArrayType);
27761#if defined(SgAsmDwarfArrayType_HEADERS) || defined(DOCUMENTATION)
27762#ifdef ROSE_SgAsmDwarfArrayType_IMPL
27763#include <SgAsmDwarfConstructList.h>
27767#ifdef DOCUMENTATION
27771#ifndef DOCUMENTATION
27772 AsmDwarfArrayType.setDataPrototype(
27773 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
27774 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27777 DECLARE_OTHERS(AsmDwarfArrayType);
27778#if defined(SgAsmDwarfArrayType_OTHERS) || defined(DOCUMENTATION)
27781#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27783 friend class boost::serialization::access;
27786 void serialize(S &s,
const unsigned ) {
27789 s & BOOST_SERIALIZATION_NVP(p_body);
27810 uint64_t
const& offset,
27811 uint64_t
const& overall_offset);
27822#ifdef DOCUMENTATION
27831DECLARE_LEAF_CLASS(AsmDwarfAccessDeclaration);
27832IS_SERIALIZABLE(AsmDwarfAccessDeclaration);
27834#ifndef DOCUMENTATION
27835AsmDwarfAccessDeclaration.useSmallHeader(
true);
27838#ifdef DOCUMENTATION
27842 DECLARE_OTHERS(AsmDwarfAccessDeclaration);
27843#if defined(SgAsmDwarfAccessDeclaration_OTHERS) || defined(DOCUMENTATION)
27846#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
27848 friend class boost::serialization::access;
27851 void serialize(S &s,
const unsigned ) {
27869 uint64_t
const& offset,
27870 uint64_t
const& overall_offset);
27881#ifdef DOCUMENTATION
27890#ifndef DOCUMENTATION
27891AstNodeClass& AsmDwarfConstruct = nonTerminalConstructor(
27892 "AsmDwarfConstruct",
27894 "AsmDwarfConstruct",
27895 "AsmDwarfConstructTag",
27896 SubclassListBuilder()
27897 | AsmDwarfAccessDeclaration
27898 | AsmDwarfArrayType
27900 | AsmDwarfCatchBlock
27901 | AsmDwarfClassTemplate
27902 | AsmDwarfClassType
27903 | AsmDwarfCommonBlock
27904 | AsmDwarfCommonInclusion
27905 | AsmDwarfCompilationUnit
27906 | AsmDwarfCondition
27908 | AsmDwarfConstType
27909 | AsmDwarfDwarfProcedure
27910 | AsmDwarfEntryPoint
27911 | AsmDwarfEnumerationType
27912 | AsmDwarfEnumerator
27914 | AsmDwarfFormalParameter
27915 | AsmDwarfFormatLabel
27917 | AsmDwarfFunctionTemplate
27918 | AsmDwarfImportedDeclaration
27919 | AsmDwarfImportedModule
27920 | AsmDwarfImportedUnit
27921 | AsmDwarfInheritance
27922 | AsmDwarfInlinedSubroutine
27923 | AsmDwarfInterfaceType
27925 | AsmDwarfLexicalBlock
27928 | AsmDwarfMutableType
27930 | AsmDwarfNamelistItem
27931 | AsmDwarfNamespace
27932 | AsmDwarfPackedType
27933 | AsmDwarfPartialUnit
27934 | AsmDwarfPointerType
27935 | AsmDwarfPtrToMemberType
27936 | AsmDwarfReferenceType
27937 | AsmDwarfRestrictType
27939 | AsmDwarfSharedType
27940 | AsmDwarfStringType
27941 | AsmDwarfStructureType
27942 | AsmDwarfSubprogram
27943 | AsmDwarfSubrangeType
27944 | AsmDwarfSubroutineType
27945 | AsmDwarfTemplateTypeParameter
27946 | AsmDwarfTemplateValueParameter
27947 | AsmDwarfThrownType
27950 | AsmDwarfUnionType
27951 | AsmDwarfUnknownConstruct
27952 | AsmDwarfUnspecifiedParameters
27953 | AsmDwarfUnspecifiedType
27954 | AsmDwarfUpcRelaxedType
27955 | AsmDwarfUpcSharedType
27956 | AsmDwarfUpcStrictType
27959 | AsmDwarfVariantPart
27960 | AsmDwarfVolatileType
27963assert(AsmDwarfConstruct.associatedGrammar !=
nullptr);
27964AsmDwarfConstruct.setCppCondition(
"!defined(DOCUMENTATION)");
27965AsmDwarfConstruct.isBoostSerializable(
true);
27966AsmDwarfConstruct.setAutomaticGenerationOfConstructor(
false);
27967AsmDwarfConstruct.setAutomaticGenerationOfDestructor(
false);
27970#ifndef DOCUMENTATION
27971AsmDwarfConstruct.useSmallHeader(
true);
27974#ifdef DOCUMENTATION
27978#ifndef DOCUMENTATION
27979 AsmDwarfConstruct.setDataPrototype(
27980 "int",
"nesting_level",
"= 0",
27981 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27984#ifndef DOCUMENTATION
27985 AsmDwarfConstruct.setDataPrototype(
27986 "uint64_t",
"offset",
"= 0",
27987 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27990#ifndef DOCUMENTATION
27991 AsmDwarfConstruct.setDataPrototype(
27992 "uint64_t",
"overall_offset",
"= 0",
27993 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27996#ifndef DOCUMENTATION
27997 AsmDwarfConstruct.setDataPrototype(
27998 "std::string",
"name",
"",
27999 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28002#ifndef DOCUMENTATION
28003 AsmDwarfConstruct.setDataPrototype(
28004 "SgAsmDwarfLine*",
"source_position",
"= nullptr",
28005 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28008 DECLARE_OTHERS(AsmDwarfConstruct);
28009#if defined(SgAsmDwarfConstruct_OTHERS) || defined(DOCUMENTATION)
28012#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28014 friend class boost::serialization::access;
28017 void serialize(S &s,
const unsigned ) {
28020 s & BOOST_SERIALIZATION_NVP(p_nesting_level);
28021 s & BOOST_SERIALIZATION_NVP(p_offset);
28022 s & BOOST_SERIALIZATION_NVP(p_overall_offset);
28023 s & BOOST_SERIALIZATION_NVP(p_name);
28024 s & BOOST_SERIALIZATION_NVP(p_source_position);
28031 int const& get_nesting_level()
const;
28032 void set_nesting_level(
int const&);
28035 uint64_t
const& get_offset()
const;
28036 void set_offset(uint64_t
const&);
28039 uint64_t
const& get_overall_offset()
const;
28040 void set_overall_offset(uint64_t
const&);
28043 std::string
const& get_name()
const;
28044 void set_name(std::string
const&);
28070 uint64_t
const& offset,
28071 uint64_t
const& overall_offset);
28082#ifdef DOCUMENTATION
28091#ifndef DOCUMENTATION
28092AstNodeClass& AsmDwarfInformation = nonTerminalConstructor(
28093 "AsmDwarfInformation",
28095 "AsmDwarfInformation",
28096 "AsmDwarfInformationTag",
28097 SubclassListBuilder()
28098 | AsmDwarfCompilationUnitList
28099 | AsmDwarfConstruct
28100 | AsmDwarfConstructList
28104 | AsmDwarfMacroList
28106assert(AsmDwarfInformation.associatedGrammar !=
nullptr);
28107AsmDwarfInformation.setCppCondition(
"!defined(DOCUMENTATION)");
28108AsmDwarfInformation.isBoostSerializable(
true);
28109AsmDwarfInformation.setAutomaticGenerationOfConstructor(
false);
28110AsmDwarfInformation.setAutomaticGenerationOfDestructor(
false);
28113#ifndef DOCUMENTATION
28114AsmDwarfInformation.useSmallHeader(
true);
28117#ifdef DOCUMENTATION
28121 DECLARE_OTHERS(AsmDwarfInformation);
28122#if defined(SgAsmDwarfInformation_OTHERS) || defined(DOCUMENTATION)
28125#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28127 friend class boost::serialization::access;
28130 void serialize(S &s,
const unsigned ) {
28154#ifdef DOCUMENTATION
28163DECLARE_LEAF_CLASS(AsmDOSFileHeader);
28164IS_SERIALIZABLE(AsmDOSFileHeader);
28166#ifndef DOCUMENTATION
28167AsmDOSFileHeader.useSmallHeader(
true);
28170#ifdef DOCUMENTATION
28178#ifndef DOCUMENTATION
28179 AsmDOSFileHeader.setDataPrototype(
28180 "uint16_t",
"e_last_page_size",
"= 0",
28181 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28184#ifndef DOCUMENTATION
28185 AsmDOSFileHeader.setDataPrototype(
28186 "uint16_t",
"e_total_pages",
"= 0",
28187 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28190#ifndef DOCUMENTATION
28191 AsmDOSFileHeader.setDataPrototype(
28192 "uint16_t",
"e_nrelocs",
"= 0",
28193 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28196#ifndef DOCUMENTATION
28197 AsmDOSFileHeader.setDataPrototype(
28198 "uint16_t",
"e_header_paragraphs",
"= 0",
28199 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28202#ifndef DOCUMENTATION
28203 AsmDOSFileHeader.setDataPrototype(
28204 "uint16_t",
"e_minalloc",
"= 0",
28205 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28208#ifndef DOCUMENTATION
28209 AsmDOSFileHeader.setDataPrototype(
28210 "uint16_t",
"e_maxalloc",
"= 0",
28211 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28214#ifndef DOCUMENTATION
28215 AsmDOSFileHeader.setDataPrototype(
28216 "uint16_t",
"e_ss",
"= 0",
28217 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28220#ifndef DOCUMENTATION
28221 AsmDOSFileHeader.setDataPrototype(
28222 "uint16_t",
"e_sp",
"= 0",
28223 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28226#ifndef DOCUMENTATION
28227 AsmDOSFileHeader.setDataPrototype(
28228 "uint16_t",
"e_cksum",
"= 0",
28229 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28232#ifndef DOCUMENTATION
28233 AsmDOSFileHeader.setDataPrototype(
28234 "uint16_t",
"e_ip",
"= 0",
28235 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28238#ifndef DOCUMENTATION
28239 AsmDOSFileHeader.setDataPrototype(
28240 "uint16_t",
"e_cs",
"= 0",
28241 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28244#ifndef DOCUMENTATION
28245 AsmDOSFileHeader.setDataPrototype(
28246 "uint16_t",
"e_overlay",
"= 0",
28247 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28250#ifndef DOCUMENTATION
28251 AsmDOSFileHeader.setDataPrototype(
28252 "rose_addr_t",
"e_relocs_offset",
"= 0",
28253 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28256#ifndef DOCUMENTATION
28257 AsmDOSFileHeader.setDataPrototype(
28258 "unsigned",
"e_res1",
"= 0",
28259 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28262#ifndef DOCUMENTATION
28263 AsmDOSFileHeader.setDataPrototype(
28264 "SgAsmGenericSection*",
"relocs",
"= nullptr",
28265 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28268#ifndef DOCUMENTATION
28269 AsmDOSFileHeader.setDataPrototype(
28270 "SgAsmGenericSection*",
"rm_section",
"= nullptr",
28271 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28274 DECLARE_OTHERS(AsmDOSFileHeader);
28275#if defined(SgAsmDOSFileHeader_OTHERS) || defined(DOCUMENTATION)
28278#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28280 friend class boost::serialization::access;
28283 void serialize(S &s,
const unsigned ) {
28286 s & BOOST_SERIALIZATION_NVP(p_e_last_page_size);
28287 s & BOOST_SERIALIZATION_NVP(p_e_total_pages);
28288 s & BOOST_SERIALIZATION_NVP(p_e_nrelocs);
28289 s & BOOST_SERIALIZATION_NVP(p_e_header_paragraphs);
28290 s & BOOST_SERIALIZATION_NVP(p_e_minalloc);
28291 s & BOOST_SERIALIZATION_NVP(p_e_maxalloc);
28292 s & BOOST_SERIALIZATION_NVP(p_e_ss);
28293 s & BOOST_SERIALIZATION_NVP(p_e_sp);
28294 s & BOOST_SERIALIZATION_NVP(p_e_cksum);
28295 s & BOOST_SERIALIZATION_NVP(p_e_ip);
28296 s & BOOST_SERIALIZATION_NVP(p_e_cs);
28297 s & BOOST_SERIALIZATION_NVP(p_e_overlay);
28298 s & BOOST_SERIALIZATION_NVP(p_e_relocs_offset);
28299 s & BOOST_SERIALIZATION_NVP(p_e_res1);
28300 s & BOOST_SERIALIZATION_NVP(p_relocs);
28301 s & BOOST_SERIALIZATION_NVP(p_rm_section);
28332#if !defined(SWIG) && !defined(_MSC_VER)
28333 __attribute__((packed))
28341#if !defined(SWIG) && !defined(_MSC_VER)
28342 __attribute__((packed))
28518 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
28545 virtual const char* format_name() const override ROSE_DEPRECATED("use
formatName");
28566#ifdef DOCUMENTATION
28575#ifndef DOCUMENTATION
28576AstNodeClass& AsmGenericHeader = nonTerminalConstructor(
28577 "AsmGenericHeader",
28579 "AsmGenericHeader",
28580 "AsmGenericHeaderTag",
28581 SubclassListBuilder()
28589assert(AsmGenericHeader.associatedGrammar !=
nullptr);
28590AsmGenericHeader.setCppCondition(
"!defined(DOCUMENTATION)");
28591AsmGenericHeader.isBoostSerializable(
true);
28592AsmGenericHeader.setAutomaticGenerationOfConstructor(
false);
28593AsmGenericHeader.setAutomaticGenerationOfDestructor(
false);
28596#ifndef DOCUMENTATION
28597AsmGenericHeader.useSmallHeader(
true);
28600DECLARE_HEADERS(AsmGenericHeader);
28601#if defined(SgAsmGenericHeader_HEADERS) || defined(DOCUMENTATION)
28602#include <Rose/BinaryAnalysis/ByteOrder.h>
28603#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
28604#include <sageContainer.h>
28605#include <SgAsmGenericFormat.h>
28607#ifdef ROSE_SgAsmGenericHeader_IMPL
28608#include <SgAsmGenericDLLList.h>
28609#include <SgAsmGenericSectionList.h>
28616#ifdef DOCUMENTATION
28621#ifndef DOCUMENTATION
28622 AsmGenericHeader.setDataPrototype(
28623 "SgAsmGenericFormat*",
"executableFormat",
"= createAndParent<SgAsmGenericFormat>(this)",
28624 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28627#ifndef DOCUMENTATION
28628 AsmGenericHeader.setDataPrototype(
28629 "SgCharList",
"magic",
"",
28630 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28633#ifndef DOCUMENTATION
28634 AsmGenericHeader.setDataPrototype(
28635 "SgAsmGenericFormat::InsSetArchitecture",
"isa",
"= SgAsmGenericFormat::ISA_UNSPECIFIED",
28636 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28639#ifndef DOCUMENTATION
28640 AsmGenericHeader.setDataPrototype(
28641 "rose_addr_t",
"baseVa",
"= 0",
28642 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28645#ifndef DOCUMENTATION
28646 AsmGenericHeader.setDataPrototype(
28647 "SgRVAList",
"entryRvas",
"",
28648 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28651#ifndef DOCUMENTATION
28652 AsmGenericHeader.setDataPrototype(
28653 "SgAsmGenericDLLList*",
"dlls",
"= createAndParent<SgAsmGenericDLLList>(this)",
28654 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28657#ifndef DOCUMENTATION
28658 AsmGenericHeader.setDataPrototype(
28659 "SgAsmGenericSectionList*",
"sections",
"= createAndParent<SgAsmGenericSectionList>(this)",
28660 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28663 DECLARE_OTHERS(AsmGenericHeader);
28664#if defined(SgAsmGenericHeader_OTHERS) || defined(DOCUMENTATION)
28667#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28669 friend class boost::serialization::access;
28672 void serialize(S &s,
const unsigned ) {
28675 s & BOOST_SERIALIZATION_NVP(p_executableFormat);
28676 s & BOOST_SERIALIZATION_NVP(p_magic);
28677 s & BOOST_SERIALIZATION_NVP(p_isa);
28678 s & BOOST_SERIALIZATION_NVP(p_baseVa);
28679 s & BOOST_SERIALIZATION_NVP(p_entryRvas);
28680 s & BOOST_SERIALIZATION_NVP(p_dlls);
28681 s & BOOST_SERIALIZATION_NVP(p_sections);
28759 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
28781 size_t get_wordSize()
const;
28847 rose_addr_t get_base_va() const ROSE_DEPRECATED("use
get_baseVa");
28848 void set_base_va(rose_addr_t) ROSE_DEPRECATED("use
set_baseVa");
28849 SgRVAList& get_entry_rvas() ROSE_DEPRECATED("use
get_entryRvas");
28850 const SgRVAList& get_entry_rvas() const ROSE_DEPRECATED("use
get_entryRvas");
28851 void set_entry_rvas(const SgRVAList&) ROSE_DEPRECATED("use
set_entryRvas");
28852 virtual const
char *format_name() const ROSE_DEPRECATED("use
formatName");
28854 rose_addr_t get_entry_rva() const ROSE_DEPRECATED("use
get_entryRva");
28855 void add_entry_rva(const
Rose::BinaryAnalysis::RelativeVirtualAddress&) ROSE_DEPRECATED("use
addEntryRva");
28856 size_t get_word_size() const ROSE_DEPRECATED("use get_wordSize");
28859 SgAsmGenericSectionPtrList get_mapped_sections() const ROSE_DEPRECATED("use
get_mappedSections");
28860 SgAsmGenericSectionPtrList get_sections_by_id(
int) const ROSE_DEPRECATED("use
get_sectionsById");
28861 SgAsmGenericSectionPtrList get_sections_by_name(std::
string,
char=0) const ROSE_DEPRECATED("use
get_sectionsByName");
28862 SgAsmGenericSectionPtrList get_sections_by_offset(rose_addr_t, rose_addr_t) const ROSE_DEPRECATED("use
get_sectionsByOffset");
28863 SgAsmGenericSectionPtrList get_sections_by_rva(rose_addr_t) const ROSE_DEPRECATED("use
get_sectionsByRva");
28864 SgAsmGenericSectionPtrList get_sections_by_va(rose_addr_t,
bool) const ROSE_DEPRECATED("use
get_sectionsByVa");
28866 SgAsmGenericSection *get_section_by_name(const std::
string&,
char=0,
size_t* =
nullptr) const
28868 SgAsmGenericSection *get_section_by_offset(rose_addr_t, rose_addr_t,
size_t* =
nullptr) const
28890#ifdef DOCUMENTATION
28899DECLARE_LEAF_CLASS(AsmDOSExtendedHeader);
28900IS_SERIALIZABLE(AsmDOSExtendedHeader);
28902#ifndef DOCUMENTATION
28903AsmDOSExtendedHeader.useSmallHeader(
true);
28906#ifdef DOCUMENTATION
28913#ifndef DOCUMENTATION
28914 AsmDOSExtendedHeader.setDataPrototype(
28915 "unsigned",
"e_res1",
"= 0",
28916 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28919#ifndef DOCUMENTATION
28920 AsmDOSExtendedHeader.setDataPrototype(
28921 "unsigned",
"e_oemid",
"= 0",
28922 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28925#ifndef DOCUMENTATION
28926 AsmDOSExtendedHeader.setDataPrototype(
28927 "unsigned",
"e_oeminfo",
"= 0",
28928 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28931#ifndef DOCUMENTATION
28932 AsmDOSExtendedHeader.setDataPrototype(
28933 "unsigned",
"e_res2",
"= 0",
28934 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28937#ifndef DOCUMENTATION
28938 AsmDOSExtendedHeader.setDataPrototype(
28939 "unsigned",
"e_res3",
"= 0",
28940 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28943#ifndef DOCUMENTATION
28944 AsmDOSExtendedHeader.setDataPrototype(
28945 "unsigned",
"e_res4",
"= 0",
28946 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28949#ifndef DOCUMENTATION
28950 AsmDOSExtendedHeader.setDataPrototype(
28951 "unsigned",
"e_res5",
"= 0",
28952 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28955#ifndef DOCUMENTATION
28956 AsmDOSExtendedHeader.setDataPrototype(
28957 "unsigned",
"e_res6",
"= 0",
28958 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28961#ifndef DOCUMENTATION
28962 AsmDOSExtendedHeader.setDataPrototype(
28963 "rose_addr_t",
"e_lfanew",
"= 0",
28964 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28967 DECLARE_OTHERS(AsmDOSExtendedHeader);
28968#if defined(SgAsmDOSExtendedHeader_OTHERS) || defined(DOCUMENTATION)
28971#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
28973 friend class boost::serialization::access;
28976 void serialize(S &s,
const unsigned ) {
28979 s & BOOST_SERIALIZATION_NVP(p_e_res1);
28980 s & BOOST_SERIALIZATION_NVP(p_e_oemid);
28981 s & BOOST_SERIALIZATION_NVP(p_e_oeminfo);
28982 s & BOOST_SERIALIZATION_NVP(p_e_res2);
28983 s & BOOST_SERIALIZATION_NVP(p_e_res3);
28984 s & BOOST_SERIALIZATION_NVP(p_e_res4);
28985 s & BOOST_SERIALIZATION_NVP(p_e_res5);
28986 s & BOOST_SERIALIZATION_NVP(p_e_res6);
28987 s & BOOST_SERIALIZATION_NVP(p_e_lfanew);
29001 uint16_t e_oeminfo;
29009#if !defined(SWIG) && !defined(_MSC_VER)
29010 __attribute__((packed))
29118 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
29136#ifdef DOCUMENTATION
29145DECLARE_LEAF_CLASS(AsmDirectRegisterExpression);
29146IS_SERIALIZABLE(AsmDirectRegisterExpression);
29148#ifndef DOCUMENTATION
29149AsmDirectRegisterExpression.useSmallHeader(
true);
29152#ifdef DOCUMENTATION
29157 DECLARE_OTHERS(AsmDirectRegisterExpression);
29158#if defined(SgAsmDirectRegisterExpression_OTHERS) || defined(DOCUMENTATION)
29161#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29163 friend class boost::serialization::access;
29166 void serialize(S &s,
const unsigned ) {
29194#ifdef DOCUMENTATION
29203#ifndef DOCUMENTATION
29204AstNodeClass& AsmRegisterReferenceExpression = nonTerminalConstructor(
29205 "AsmRegisterReferenceExpression",
29207 "AsmRegisterReferenceExpression",
29208 "AsmRegisterReferenceExpressionTag",
29209 SubclassListBuilder()
29210 | AsmDirectRegisterExpression
29211 | AsmIndirectRegisterExpression
29213assert(AsmRegisterReferenceExpression.associatedGrammar !=
nullptr);
29214AsmRegisterReferenceExpression.setCppCondition(
"!defined(DOCUMENTATION)");
29215AsmRegisterReferenceExpression.isBoostSerializable(
true);
29216AsmRegisterReferenceExpression.setAutomaticGenerationOfConstructor(
false);
29217AsmRegisterReferenceExpression.setAutomaticGenerationOfDestructor(
false);
29220#ifndef DOCUMENTATION
29221AsmRegisterReferenceExpression.useSmallHeader(
true);
29224#ifdef DOCUMENTATION
29229#ifndef DOCUMENTATION
29230 AsmRegisterReferenceExpression.setDataPrototype(
29231 "Rose::BinaryAnalysis::RegisterDescriptor",
"descriptor",
"",
29232 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29235#ifndef DOCUMENTATION
29236 AsmRegisterReferenceExpression.setDataPrototype(
29237 "int",
"adjustment",
"= 0",
29238 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29241 DECLARE_OTHERS(AsmRegisterReferenceExpression);
29242#if defined(SgAsmRegisterReferenceExpression_OTHERS) || defined(DOCUMENTATION)
29245#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29247 friend class boost::serialization::access;
29250 void serialize(S &s,
const unsigned ) {
29253 s & BOOST_SERIALIZATION_NVP(p_descriptor);
29254 s & BOOST_SERIALIZATION_NVP(p_adjustment);
29298#ifdef DOCUMENTATION
29307DECLARE_LEAF_CLASS(AsmControlFlagsExpression);
29308IS_SERIALIZABLE(AsmControlFlagsExpression);
29310#ifndef DOCUMENTATION
29311AsmControlFlagsExpression.useSmallHeader(
true);
29314DECLARE_HEADERS(AsmControlFlagsExpression);
29315#if defined(SgAsmControlFlagsExpression_HEADERS) || defined(DOCUMENTATION)
29319#ifdef DOCUMENTATION
29323#ifndef DOCUMENTATION
29324 AsmControlFlagsExpression.setDataPrototype(
29325 "unsigned long",
"bitFlags",
"= 0",
29326 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29329 DECLARE_OTHERS(AsmControlFlagsExpression);
29330#if defined(SgAsmControlFlagsExpression_OTHERS) || defined(DOCUMENTATION)
29333#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29335 friend class boost::serialization::access;
29338 void serialize(S &s,
const unsigned ) {
29341 s & BOOST_SERIALIZATION_NVP(p_bitFlags);
29347 unsigned long const& get_bitFlags()
const;
29348 void set_bitFlags(
unsigned long const&);
29350 unsigned long get_bit_flags()
const ROSE_DEPRECATED(
"use get_bitFlags");
29351 void set_bit_flags(
unsigned long) ROSE_DEPRECATED(
"use set_bitFlags");
29369#ifdef DOCUMENTATION
29378#ifndef DOCUMENTATION
29379AstNodeClass& AsmConstantExpression = nonTerminalConstructor(
29380 "AsmConstantExpression",
29382 "AsmConstantExpression",
29383 "AsmConstantExpressionTag",
29384 SubclassListBuilder()
29385 | AsmFloatValueExpression
29386 | AsmIntegerValueExpression
29388assert(AsmConstantExpression.associatedGrammar !=
nullptr);
29389AsmConstantExpression.setCppCondition(
"!defined(DOCUMENTATION)");
29390AsmConstantExpression.isBoostSerializable(
true);
29391AsmConstantExpression.setAutomaticGenerationOfConstructor(
false);
29392AsmConstantExpression.setAutomaticGenerationOfDestructor(
false);
29395#ifndef DOCUMENTATION
29396AsmConstantExpression.useSmallHeader(
true);
29399DECLARE_HEADERS(AsmConstantExpression);
29400#if defined(SgAsmConstantExpression_HEADERS) || defined(DOCUMENTATION)
29401#include <Sawyer/BitVector.h>
29404#ifdef DOCUMENTATION
29412#ifndef DOCUMENTATION
29413 AsmConstantExpression.setDataPrototype(
29414 "Sawyer::Container::BitVector",
"bitVector",
"",
29415 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29418 DECLARE_OTHERS(AsmConstantExpression);
29419#if defined(SgAsmConstantExpression_OTHERS) || defined(DOCUMENTATION)
29422#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29424 friend class boost::serialization::access;
29427 void serialize(S &s,
const unsigned ) {
29430 s & BOOST_SERIALIZATION_NVP(p_bitVector);
29463#ifdef DOCUMENTATION
29472#ifndef DOCUMENTATION
29473AstNodeClass& AsmValueExpression = nonTerminalConstructor(
29474 "AsmValueExpression",
29476 "AsmValueExpression",
29477 "AsmValueExpressionTag",
29478 SubclassListBuilder()
29479 | AsmConstantExpression
29481assert(AsmValueExpression.associatedGrammar !=
nullptr);
29482AsmValueExpression.setCppCondition(
"!defined(DOCUMENTATION)");
29483AsmValueExpression.isBoostSerializable(
true);
29484AsmValueExpression.setAutomaticGenerationOfConstructor(
false);
29485AsmValueExpression.setAutomaticGenerationOfDestructor(
false);
29488#ifndef DOCUMENTATION
29489AsmValueExpression.useSmallHeader(
true);
29492#ifdef DOCUMENTATION
29503#ifndef DOCUMENTATION
29504 AsmValueExpression.setDataPrototype(
29505 "SgAsmValueExpression*",
"unfoldedExpression",
"= nullptr",
29506 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29509#ifndef DOCUMENTATION
29510 AsmValueExpression.setDataPrototype(
29511 "unsigned short",
"bitOffset",
"= 0",
29512 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29515#ifndef DOCUMENTATION
29516 AsmValueExpression.setDataPrototype(
29517 "unsigned short",
"bitSize",
"= 0",
29518 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29521#ifndef DOCUMENTATION
29522 AsmValueExpression.setDataPrototype(
29523 "SgSymbol*",
"symbol",
"= nullptr",
29524 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29527 DECLARE_OTHERS(AsmValueExpression);
29528#if defined(SgAsmValueExpression_OTHERS) || defined(DOCUMENTATION)
29531#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29533 friend class boost::serialization::access;
29536 void serialize(S &s,
const unsigned ) {
29539 s & BOOST_SERIALIZATION_NVP(p_unfoldedExpression);
29540 s & BOOST_SERIALIZATION_NVP(p_bitOffset);
29541 s & BOOST_SERIALIZATION_NVP(p_bitSize);
29598 unsigned short get_bit_offset() const ROSE_DEPRECATED("use
get_bitOffset");
29599 void set_bit_offset(
unsigned short) ROSE_DEPRECATED("use
set_bitOffset");
29600 unsigned short get_bit_size() const ROSE_DEPRECATED("use
get_bitSize");
29601 void set_bit_size(
unsigned short) ROSE_DEPRECATED("use
set_bitSize");
29619#ifdef DOCUMENTATION
29628DECLARE_LEAF_CLASS(AsmCommonSubExpression);
29629IS_SERIALIZABLE(AsmCommonSubExpression);
29631#ifndef DOCUMENTATION
29632AsmCommonSubExpression.useSmallHeader(
true);
29635DECLARE_HEADERS(AsmCommonSubExpression);
29636#if defined(SgAsmCommonSubExpression_HEADERS) || defined(DOCUMENTATION)
29640#ifdef DOCUMENTATION
29644#ifndef DOCUMENTATION
29645 AsmCommonSubExpression.setDataPrototype(
29646 "SgAsmExpression*",
"subexpression",
"= nullptr",
29647 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29650 DECLARE_OTHERS(AsmCommonSubExpression);
29651#if defined(SgAsmCommonSubExpression_OTHERS) || defined(DOCUMENTATION)
29654#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29656 friend class boost::serialization::access;
29659 void serialize(S &s,
const unsigned ) {
29662 s & BOOST_SERIALIZATION_NVP(p_subexpression);
29688#ifdef DOCUMENTATION
29697DECLARE_LEAF_CLASS(AsmCoffSymbolTable);
29698IS_SERIALIZABLE(AsmCoffSymbolTable);
29700#ifndef DOCUMENTATION
29701AsmCoffSymbolTable.useSmallHeader(
true);
29704DECLARE_HEADERS(AsmCoffSymbolTable);
29705#if defined(SgAsmCoffSymbolTable_HEADERS) || defined(DOCUMENTATION)
29706#ifdef ROSE_SgAsmCoffSymbolTable_IMPL
29707#include <SgAsmCoffSymbolList.h>
29711#ifdef DOCUMENTATION
29718#ifndef DOCUMENTATION
29719 AsmCoffSymbolTable.setDataPrototype(
29720 "SgAsmGenericSection*",
"strtab",
"= nullptr",
29721 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29724#ifndef DOCUMENTATION
29725 AsmCoffSymbolTable.setDataPrototype(
29726 "SgAsmCoffSymbolList*",
"symbols",
"= createAndParent<SgAsmCoffSymbolList>(this)",
29727 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29730 DECLARE_OTHERS(AsmCoffSymbolTable);
29731#if defined(SgAsmCoffSymbolTable_OTHERS) || defined(DOCUMENTATION)
29734#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29736 friend class boost::serialization::access;
29739 void serialize(S &s,
const unsigned ) {
29742 s & BOOST_SERIALIZATION_NVP(p_strtab);
29743 s & BOOST_SERIALIZATION_NVP(p_symbols);
29767 size_t get_nslots()
const;
29770 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
29788#ifdef DOCUMENTATION
29797DECLARE_LEAF_CLASS(AsmCoffSymbolList);
29798IS_SERIALIZABLE(AsmCoffSymbolList);
29800#ifndef DOCUMENTATION
29801AsmCoffSymbolList.useSmallHeader(
true);
29804DECLARE_HEADERS(AsmCoffSymbolList);
29805#if defined(SgAsmCoffSymbolList_HEADERS) || defined(DOCUMENTATION)
29806#include <sageContainer.h>
29809#ifdef DOCUMENTATION
29814#ifndef DOCUMENTATION
29815 AsmCoffSymbolList.setDataPrototype(
29816 "SgAsmCoffSymbolPtrList",
"symbols",
"",
29817 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29820 DECLARE_OTHERS(AsmCoffSymbolList);
29821#if defined(SgAsmCoffSymbolList_OTHERS) || defined(DOCUMENTATION)
29824#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29826 friend class boost::serialization::access;
29829 void serialize(S &s,
const unsigned ) {
29832 s & BOOST_SERIALIZATION_NVP(p_symbols);
29863#ifdef DOCUMENTATION
29872DECLARE_LEAF_CLASS(AsmCoffSymbol);
29873IS_SERIALIZABLE(AsmCoffSymbol);
29875#ifndef DOCUMENTATION
29876AsmCoffSymbol.useSmallHeader(
true);
29879DECLARE_HEADERS(AsmCoffSymbol);
29880#if defined(SgAsmCoffSymbol_HEADERS) || defined(DOCUMENTATION)
29881#include <sageContainer.h>
29884#ifdef DOCUMENTATION
29889#ifndef DOCUMENTATION
29890 AsmCoffSymbol.setDataPrototype(
29891 "std::string",
"st_name",
"",
29892 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29895#ifndef DOCUMENTATION
29896 AsmCoffSymbol.setDataPrototype(
29897 "rose_addr_t",
"st_name_offset",
"= 0",
29898 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29901#ifndef DOCUMENTATION
29902 AsmCoffSymbol.setDataPrototype(
29903 "int",
"st_section_num",
"= 0",
29904 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29907#ifndef DOCUMENTATION
29908 AsmCoffSymbol.setDataPrototype(
29909 "unsigned",
"st_type",
"= 0",
29910 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29913#ifndef DOCUMENTATION
29914 AsmCoffSymbol.setDataPrototype(
29915 "unsigned",
"st_storage_class",
"= 0",
29916 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29919#ifndef DOCUMENTATION
29920 AsmCoffSymbol.setDataPrototype(
29921 "unsigned",
"st_num_aux_entries",
"= 0",
29922 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29925#ifndef DOCUMENTATION
29926 AsmCoffSymbol.setDataPrototype(
29927 "SgUnsignedCharList",
"auxiliaryData",
"",
29928 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29931 DECLARE_OTHERS(AsmCoffSymbol);
29932#if defined(SgAsmCoffSymbol_OTHERS) || defined(DOCUMENTATION)
29935#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
29937 friend class boost::serialization::access;
29940 void serialize(S &s,
const unsigned ) {
29943 s & BOOST_SERIALIZATION_NVP(p_st_name);
29944 s & BOOST_SERIALIZATION_NVP(p_st_name_offset);
29945 s & BOOST_SERIALIZATION_NVP(p_st_section_num);
29946 s & BOOST_SERIALIZATION_NVP(p_st_type);
29947 s & BOOST_SERIALIZATION_NVP(p_st_storage_class);
29948 s & BOOST_SERIALIZATION_NVP(p_st_num_aux_entries);
29949 s & BOOST_SERIALIZATION_NVP(p_auxiliaryData);
29965 uint32_t st_offset;
29969 int16_t st_section_num;
29971 unsigned char st_storage_class;
29972 unsigned char st_num_aux_entries;
29975#if !defined(SWIG) && !defined(_MSC_VER)
29976 __attribute__((packed))
30044 static const unsigned int COFFSymbol_disk_size = 18;
30052 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const override;
30058 const SgUnsignedCharList& get_aux_data() const ROSE_DEPRECATED("use
get_auxiliaryData");
30059 void set_aux_data(const SgUnsignedCharList&) ROSE_DEPRECATED("use
set_auxiliaryData");
30077#ifdef DOCUMENTATION
30086#ifndef DOCUMENTATION
30087AstNodeClass& AsmGenericSymbol = nonTerminalConstructor(
30088 "AsmGenericSymbol",
30090 "AsmGenericSymbol",
30091 "AsmGenericSymbolTag",
30092 SubclassListBuilder()
30096assert(AsmGenericSymbol.associatedGrammar !=
nullptr);
30097AsmGenericSymbol.setCppCondition(
"!defined(DOCUMENTATION)");
30098AsmGenericSymbol.isBoostSerializable(
true);
30099AsmGenericSymbol.setAutomaticGenerationOfConstructor(
false);
30100AsmGenericSymbol.setAutomaticGenerationOfDestructor(
false);
30103#ifndef DOCUMENTATION
30104AsmGenericSymbol.useSmallHeader(
true);
30107DECLARE_HEADERS(AsmGenericSymbol);
30108#if defined(SgAsmGenericSymbol_HEADERS) || defined(DOCUMENTATION)
30112#ifdef DOCUMENTATION
30116#ifndef DOCUMENTATION
30117 AsmGenericSymbol.setDataPrototype(
30118 "SgAsmGenericSymbol::SymbolDefState",
"definitionState",
"= SgAsmGenericSymbol::SYM_UNDEFINED",
30119 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30122#ifndef DOCUMENTATION
30123 AsmGenericSymbol.setDataPrototype(
30124 "SgAsmGenericSymbol::SymbolBinding",
"binding",
"= SgAsmGenericSymbol::SYM_NO_BINDING",
30125 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30128#ifndef DOCUMENTATION
30129 AsmGenericSymbol.setDataPrototype(
30130 "SgAsmGenericSymbol::SymbolType",
"type",
"= SgAsmGenericSymbol::SYM_NO_TYPE",
30131 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30134#ifndef DOCUMENTATION
30135 AsmGenericSymbol.setDataPrototype(
30136 "rose_addr_t",
"value",
"= 0",
30137 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30140#ifndef DOCUMENTATION
30141 AsmGenericSymbol.setDataPrototype(
30142 "rose_addr_t",
"size",
"= 0",
30143 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30146#ifndef DOCUMENTATION
30147 AsmGenericSymbol.setDataPrototype(
30148 "SgAsmGenericSection*",
"bound",
"= nullptr",
30149 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30152#ifndef DOCUMENTATION
30153 AsmGenericSymbol.setDataPrototype(
30154 "SgAsmGenericString*",
"name",
"= nullptr",
30155 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30158 DECLARE_OTHERS(AsmGenericSymbol);
30159#if defined(SgAsmGenericSymbol_OTHERS) || defined(DOCUMENTATION)
30162#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30164 friend class boost::serialization::access;
30167 void serialize(S &s,
const unsigned ) {
30170 s & BOOST_SERIALIZATION_NVP(p_definitionState);
30171 s & BOOST_SERIALIZATION_NVP(p_binding);
30172 s & BOOST_SERIALIZATION_NVP(p_type);
30173 s & BOOST_SERIALIZATION_NVP(p_value);
30174 s & BOOST_SERIALIZATION_NVP(p_size);
30175 s & BOOST_SERIALIZATION_NVP(p_bound);
30176 s & BOOST_SERIALIZATION_NVP(p_name);
30278 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
30303#ifdef DOCUMENTATION
30312DECLARE_LEAF_CLASS(AsmCoffStrtab);
30313IS_SERIALIZABLE(AsmCoffStrtab);
30315#ifndef DOCUMENTATION
30316AsmCoffStrtab.useSmallHeader(
true);
30319#ifdef DOCUMENTATION
30324 DECLARE_OTHERS(AsmCoffStrtab);
30325#if defined(SgAsmCoffStrtab_OTHERS) || defined(DOCUMENTATION)
30328#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30330 friend class boost::serialization::access;
30333 void serialize(S &s,
const unsigned ) {
30342 virtual void unparse(std::ostream&)
const;
30343 virtual SgAsmStringStorage *createStorage(rose_addr_t offset,
bool shared)
override;
30349 virtual SgAsmStringStorage *create_storage(rose_addr_t,
bool)
override ROSE_DEPRECATED(
"use createStorage");
30350 virtual rose_addr_t get_storage_size(
const SgAsmStringStorage*)
override ROSE_DEPRECATED(
"use get_storageSize");
30368#ifdef DOCUMENTATION
30377#ifndef DOCUMENTATION
30378AstNodeClass& AsmGenericStrtab = nonTerminalConstructor(
30379 "AsmGenericStrtab",
30381 "AsmGenericStrtab",
30382 "AsmGenericStrtabTag",
30383 SubclassListBuilder()
30387assert(AsmGenericStrtab.associatedGrammar !=
nullptr);
30388AsmGenericStrtab.setCppCondition(
"!defined(DOCUMENTATION)");
30389AsmGenericStrtab.isBoostSerializable(
true);
30390AsmGenericStrtab.setAutomaticGenerationOfConstructor(
false);
30391AsmGenericStrtab.setAutomaticGenerationOfDestructor(
false);
30394#ifndef DOCUMENTATION
30395AsmGenericStrtab.useSmallHeader(
true);
30398DECLARE_HEADERS(AsmGenericStrtab);
30399#if defined(SgAsmGenericStrtab_HEADERS) || defined(DOCUMENTATION)
30400#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
30403#ifdef DOCUMENTATION
30408#ifndef DOCUMENTATION
30409 AsmGenericStrtab.setDataPrototype(
30410 "SgAsmGenericSection*",
"container",
"= nullptr",
30411 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30414#ifndef DOCUMENTATION
30415 AsmGenericStrtab.setDataPrototype(
30416 "SgAsmGenericStrtab::referenced_t",
"storageList",
"",
30417 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30420#ifndef DOCUMENTATION
30421 AsmGenericStrtab.setDataPrototype(
30422 "Rose::BinaryAnalysis::AddressIntervalSet",
"freeList",
"",
30423 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30426#ifndef DOCUMENTATION
30427 AsmGenericStrtab.setDataPrototype(
30428 "SgAsmStringStorage*",
"dontFree",
"= nullptr",
30429 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30432#ifndef DOCUMENTATION
30433 AsmGenericStrtab.setDataPrototype(
30434 "size_t",
"numberFreed",
"= 0",
30435 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30438 DECLARE_OTHERS(AsmGenericStrtab);
30439#if defined(SgAsmGenericStrtab_OTHERS) || defined(DOCUMENTATION)
30442#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30444 friend class boost::serialization::access;
30447 void serialize(S &s,
const unsigned ) {
30450 s & BOOST_SERIALIZATION_NVP(p_container);
30451 s & BOOST_SERIALIZATION_NVP(p_storageList);
30452 s & BOOST_SERIALIZATION_NVP(p_freeList);
30453 s & BOOST_SERIALIZATION_NVP(p_dontFree);
30454 s & BOOST_SERIALIZATION_NVP(p_numberFreed);
30462 typedef std::vector<class SgAsmStringStorage*> referenced_t;
30519 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
30533 void free(rose_addr_t offset, rose_addr_t size);
30559 const referenced_t& get_storage_list() const ROSE_DEPRECATED("use
get_storageList");
30560 void set_storage_list(const referenced_t&) ROSE_DEPRECATED("use
set_storageList");
30561 const
Rose::BinaryAnalysis::AddressIntervalSet& get_freelist() const ROSE_DEPRECATED("use
get_freeList");
30562 Rose::BinaryAnalysis::AddressIntervalSet& get_freelist() ROSE_DEPRECATED("use set_freeList");
30568 void free_all_strings(
bool=false) ROSE_DEPRECATED("use
freeAllStrings");
30569 virtual
void allocate_overlap(
SgAsmStringStorage*) ROSE_DEPRECATED("use allocateOverlap");
30570 virtual
SgAsmStringStorage *create_storage(rose_addr_t,
bool) ROSE_DEPRECATED("use createStorage");
30571 virtual rose_addr_t get_storage_size(const
SgAsmStringStorage*) ROSE_DEPRECATED("use get_storageSize");
30589#ifdef DOCUMENTATION
30598DECLARE_LEAF_CLASS(AsmCliHeader);
30599IS_SERIALIZABLE(AsmCliHeader);
30601#ifndef DOCUMENTATION
30602AsmCliHeader.useSmallHeader(
true);
30605DECLARE_HEADERS(AsmCliHeader);
30606#if defined(SgAsmCliHeader_HEADERS) || defined(DOCUMENTATION)
30607#ifdef ROSE_SgAsmCliHeader_IMPL
30608#include <SgAsmCilMetadataRoot.h>
30612#ifdef DOCUMENTATION
30619#ifndef DOCUMENTATION
30620 AsmCliHeader.setDataPrototype(
30621 "uint32_t",
"cb",
"= 0",
30622 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30625#ifndef DOCUMENTATION
30626 AsmCliHeader.setDataPrototype(
30627 "uint16_t",
"majorRuntimeVersion",
"= 0",
30628 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30631#ifndef DOCUMENTATION
30632 AsmCliHeader.setDataPrototype(
30633 "uint16_t",
"minorRuntimeVersion",
"= 0",
30634 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30637#ifndef DOCUMENTATION
30638 AsmCliHeader.setDataPrototype(
30639 "uint64_t",
"metaData",
"= 0",
30640 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30643#ifndef DOCUMENTATION
30644 AsmCliHeader.setDataPrototype(
30645 "uint32_t",
"flags",
"= 0",
30646 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30649#ifndef DOCUMENTATION
30650 AsmCliHeader.setDataPrototype(
30651 "uint32_t",
"entryPointToken",
"= 0",
30652 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30655#ifndef DOCUMENTATION
30656 AsmCliHeader.setDataPrototype(
30657 "uint64_t",
"resources",
"= 0",
30658 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30661#ifndef DOCUMENTATION
30662 AsmCliHeader.setDataPrototype(
30663 "uint64_t",
"strongNameSignature",
"= 0",
30664 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30667#ifndef DOCUMENTATION
30668 AsmCliHeader.setDataPrototype(
30669 "uint64_t",
"codeManagerTable",
"= 0",
30670 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30673#ifndef DOCUMENTATION
30674 AsmCliHeader.setDataPrototype(
30675 "uint64_t",
"vTableFixups",
"= 0",
30676 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30679#ifndef DOCUMENTATION
30680 AsmCliHeader.setDataPrototype(
30681 "uint64_t",
"exportAddressTableJumps",
"= 0",
30682 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30685#ifndef DOCUMENTATION
30686 AsmCliHeader.setDataPrototype(
30687 "uint64_t",
"managedNativeHeader",
"= 0",
30688 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30691#ifndef DOCUMENTATION
30692 AsmCliHeader.setDataPrototype(
30693 "SgAsmCilMetadataRoot*",
"metadataRoot",
"= nullptr",
30694 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30697 DECLARE_OTHERS(AsmCliHeader);
30698#if defined(SgAsmCliHeader_OTHERS) || defined(DOCUMENTATION)
30701#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
30703 friend class boost::serialization::access;
30706 void serialize(S &s,
const unsigned ) {
30709 s & BOOST_SERIALIZATION_NVP(p_cb);
30710 s & BOOST_SERIALIZATION_NVP(p_majorRuntimeVersion);
30711 s & BOOST_SERIALIZATION_NVP(p_minorRuntimeVersion);
30712 s & BOOST_SERIALIZATION_NVP(p_metaData);
30713 s & BOOST_SERIALIZATION_NVP(p_flags);
30714 s & BOOST_SERIALIZATION_NVP(p_entryPointToken);
30715 s & BOOST_SERIALIZATION_NVP(p_resources);
30716 s & BOOST_SERIALIZATION_NVP(p_strongNameSignature);
30717 s & BOOST_SERIALIZATION_NVP(p_codeManagerTable);
30718 s & BOOST_SERIALIZATION_NVP(p_vTableFixups);
30719 s & BOOST_SERIALIZATION_NVP(p_exportAddressTableJumps);
30720 s & BOOST_SERIALIZATION_NVP(p_managedNativeHeader);
30862 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
30880#ifdef DOCUMENTATION
30889#ifndef DOCUMENTATION
30890AstNodeClass& AsmGenericSection = nonTerminalConstructor(
30891 "AsmGenericSection",
30893 "AsmGenericSection",
30894 "AsmGenericSectionTag",
30895 SubclassListBuilder()
30897 | AsmCoffSymbolTable
30898 | AsmDOSExtendedHeader
30900 | AsmElfSectionTable
30901 | AsmElfSegmentTable
30903 | AsmJvmAttributeTable
30904 | AsmJvmConstantPool
30906 | AsmJvmMethodTable
30912 | AsmLESectionTable
30918 | AsmNESectionTable
30921 | AsmPESectionTable
30923assert(AsmGenericSection.associatedGrammar !=
nullptr);
30924AsmGenericSection.setCppCondition(
"!defined(DOCUMENTATION)");
30925AsmGenericSection.isBoostSerializable(
true);
30926AsmGenericSection.setAutomaticGenerationOfConstructor(
false);
30927AsmGenericSection.setAutomaticGenerationOfDestructor(
false);
30930#ifndef DOCUMENTATION
30931AsmGenericSection.useSmallHeader(
true);
30934DECLARE_HEADERS(AsmGenericSection);
30935#if defined(SgAsmGenericSection_HEADERS) || defined(DOCUMENTATION)
30936#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
30937#include <Rose/BinaryAnalysis/MemoryMap.h>
30938#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
30939#include <sageContainer.h>
30941#ifdef ROSE_SgAsmGenericSection_IMPL
30942#include <SgAsmBasicString.h>
30946#ifdef DOCUMENTATION
30954#ifndef DOCUMENTATION
30955 AsmGenericSection.setDataPrototype(
30956 "SgAsmGenericFile*",
"file",
"= nullptr",
30957 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30960#ifndef DOCUMENTATION
30961 AsmGenericSection.setDataPrototype(
30962 "SgAsmGenericHeader*",
"header",
"= nullptr",
30963 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30966#ifndef DOCUMENTATION
30967 AsmGenericSection.setDataPrototype(
30968 "rose_addr_t",
"size",
"= 0",
30969 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30972#ifndef DOCUMENTATION
30973 AsmGenericSection.setDataPrototype(
30974 "rose_addr_t",
"offset",
"= 0",
30975 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30978#ifndef DOCUMENTATION
30979 AsmGenericSection.setDataPrototype(
30980 "rose_addr_t",
"fileAlignment",
"= 0",
30981 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30984#ifndef DOCUMENTATION
30985 AsmGenericSection.setDataPrototype(
30986 "SgFileContentList",
"data",
"",
30987 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30990#ifndef DOCUMENTATION
30991 AsmGenericSection.setDataPrototype(
30992 "SgAsmGenericSection::SectionPurpose",
"purpose",
"= SgAsmGenericSection::SP_UNSPECIFIED",
30993 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30996#ifndef DOCUMENTATION
30997 AsmGenericSection.setDataPrototype(
30998 "bool",
"synthesized",
"= false",
30999 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31002#ifndef DOCUMENTATION
31003 AsmGenericSection.setDataPrototype(
31004 "int",
"id",
"= -1",
31005 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31008#ifndef DOCUMENTATION
31009 AsmGenericSection.setDataPrototype(
31010 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
31011 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31014#ifndef DOCUMENTATION
31015 AsmGenericSection.setDataPrototype(
31016 "std::string",
"shortName",
"",
31017 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31020#ifndef DOCUMENTATION
31021 AsmGenericSection.setDataPrototype(
31022 "rose_addr_t",
"mappedPreferredRva",
"= 0",
31023 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31026#ifndef DOCUMENTATION
31027 AsmGenericSection.setDataPrototype(
31028 "rose_addr_t",
"mappedSize",
"= 0",
31029 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31032#ifndef DOCUMENTATION
31033 AsmGenericSection.setDataPrototype(
31034 "rose_addr_t",
"mappedAlignment",
"= 0",
31035 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31038#ifndef DOCUMENTATION
31039 AsmGenericSection.setDataPrototype(
31040 "bool",
"mappedReadPermission",
"= false",
31041 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31044#ifndef DOCUMENTATION
31045 AsmGenericSection.setDataPrototype(
31046 "bool",
"mappedWritePermission",
"= false",
31047 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31050#ifndef DOCUMENTATION
31051 AsmGenericSection.setDataPrototype(
31052 "bool",
"mappedExecutePermission",
"= false",
31053 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31056#ifndef DOCUMENTATION
31057 AsmGenericSection.setDataPrototype(
31058 "bool",
"containsCode",
"= false",
31059 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31062#ifndef DOCUMENTATION
31063 AsmGenericSection.setDataPrototype(
31064 "rose_addr_t",
"mappedActualVa",
"= 0",
31065 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31068 DECLARE_OTHERS(AsmGenericSection);
31069#if defined(SgAsmGenericSection_OTHERS) || defined(DOCUMENTATION)
31072#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
31074 friend class boost::serialization::access;
31077 void serialize(S &s,
const unsigned ) {
31080 s & BOOST_SERIALIZATION_NVP(p_file);
31081 s & BOOST_SERIALIZATION_NVP(p_header);
31082 s & BOOST_SERIALIZATION_NVP(p_size);
31083 s & BOOST_SERIALIZATION_NVP(p_offset);
31084 s & BOOST_SERIALIZATION_NVP(p_fileAlignment);
31085 s & BOOST_SERIALIZATION_NVP(p_data);
31086 s & BOOST_SERIALIZATION_NVP(p_purpose);
31087 s & BOOST_SERIALIZATION_NVP(p_synthesized);
31088 s & BOOST_SERIALIZATION_NVP(p_id);
31089 s & BOOST_SERIALIZATION_NVP(p_name);
31090 s & BOOST_SERIALIZATION_NVP(p_shortName);
31091 s & BOOST_SERIALIZATION_NVP(p_mappedPreferredRva);
31092 s & BOOST_SERIALIZATION_NVP(p_mappedSize);
31093 s & BOOST_SERIALIZATION_NVP(p_mappedAlignment);
31094 s & BOOST_SERIALIZATION_NVP(p_mappedReadPermission);
31095 s & BOOST_SERIALIZATION_NVP(p_mappedWritePermission);
31096 s & BOOST_SERIALIZATION_NVP(p_mappedExecutePermission);
31097 s & BOOST_SERIALIZATION_NVP(p_containsCode);
31098 s & BOOST_SERIALIZATION_NVP(p_mappedActualVa);
31331 unsigned char *local_data_pool;
31347 const SgAsmGenericSectionPtrList&);
31361 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
31407 rose_addr_t
write(std::ostream &f, rose_addr_t offset,
size_t bufsize,
const void *buf)
const;
31408 rose_addr_t
write(std::ostream &f, rose_addr_t offset,
const std::string &str)
const;
31409 rose_addr_t
write(std::ostream &f, rose_addr_t offset,
char c)
const;
31411 rose_addr_t
write(std::ostream &f, rose_addr_t offset,
const SgUnsignedCharList &buf)
const;
31431 size_t readContent(rose_addr_t abs_offset,
void *dst_buf, rose_addr_t size,
bool strict=
true);
31445 rose_addr_t size,
bool strict=
true);
31447 void *dst_buf, rose_addr_t size,
bool strict=
true);
31456 size_t readContentLocal(rose_addr_t rel_offset,
void *dst_buf, rose_addr_t size,
bool strict=
true);
31594 rose_addr_t get_file_alignment() const ROSE_DEPRECATED("use
get_fileAlignment");
31596 std::
string get_short_name() const ROSE_DEPRECATED("use
get_shortName");
31597 void set_short_name(const std::
string&) ROSE_DEPRECATED("use
set_shortName");
31600 rose_addr_t get_mapped_size() const ROSE_DEPRECATED("use
get_mappedSize");
31601 void set_mapped_size(rose_addr_t) ROSE_DEPRECATED("use
set_mappedSize");
31614 static
void dump_containing_sections(FILE*, const std::
string&,
Rose::BinaryAnalysis::RelativeVirtualAddress,
31615 const SgAsmGenericSectionPtrList&)
31617 void grab_content() ROSE_DEPRECATED("use
grabContent");
31618 void unparse_holes(std::ostream&) const ROSE_DEPRECATED("use
unparseHoles");
31620 rose_addr_t get_end_offset() const ROSE_DEPRECATED("use
get_endOffset");
31621 rose_addr_t write_uleb128(
unsigned char*, rose_addr_t, uint64_t) const ROSE_DEPRECATED("use
writeUleb128");
31622 rose_addr_t write_sleb128(
unsigned char*, rose_addr_t, int64_t) const ROSE_DEPRECATED("use
writeSleb128");
31623 size_t read_content(rose_addr_t,
void*, rose_addr_t,
bool=true) ROSE_DEPRECATED("use
readContent");
31624 size_t read_content(const
Rose::BinaryAnalysis::MemoryMap::Ptr&, rose_addr_t,
void*, rose_addr_t,
bool=true)
31626 size_t read_content(const
Rose::BinaryAnalysis::MemoryMap::Ptr&, const
Rose::BinaryAnalysis::RelativeVirtualAddress&,
void*,
31627 rose_addr_t,
bool=true)
31629 size_t read_content_local(rose_addr_t,
void*, rose_addr_t,
bool=true) ROSE_DEPRECATED("use
readContentLocal");
31630 std::
string read_content_str(const
Rose::BinaryAnalysis::MemoryMap::Ptr&, rose_addr_t,
bool=true)
31632 std::
string read_content_str(rose_addr_t,
bool=true) ROSE_DEPRECATED("use
readContentString");
31633 std::
string read_content_str(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::RelativeVirtualAddress,
31636 std::
string read_content_local_str(rose_addr_t,
bool=true) ROSE_DEPRECATED("use
readContentLocalString");
31637 SgUnsignedCharList read_content_local_ucl(rose_addr_t, rose_addr_t) ROSE_DEPRECATED("use
readContentLocalUcl");
31640 unsigned char *writable_content(
size_t) ROSE_DEPRECATED("use
writableContent");
31643 bool is_mapped() const ROSE_DEPRECATED("use
isMapped");
31644 void clear_mapped() ROSE_DEPRECATED("use
clearMapped");
31645 rose_addr_t get_base_va() const ROSE_DEPRECATED("use
get_baseVa");
31647 rose_addr_t get_va_offset(rose_addr_t) const ROSE_DEPRECATED("use
get_vaOffset");
31648 rose_addr_t get_rva_offset(rose_addr_t) const ROSE_DEPRECATED("use
get_rvaOffset");
31668#ifdef DOCUMENTATION
31677DECLARE_LEAF_CLASS(AsmCilUint8Heap);
31678IS_SERIALIZABLE(AsmCilUint8Heap);
31680#ifndef DOCUMENTATION
31681AsmCilUint8Heap.useSmallHeader(
true);
31684#ifdef DOCUMENTATION
31689#ifndef DOCUMENTATION
31690 AsmCilUint8Heap.setDataPrototype(
31691 "std::vector<uint8_t>",
"Stream",
"",
31692 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31695 DECLARE_OTHERS(AsmCilUint8Heap);
31696#if defined(SgAsmCilUint8Heap_OTHERS) || defined(DOCUMENTATION)
31699#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
31701 friend class boost::serialization::access;
31704 void serialize(S &s,
const unsigned ) {
31707 s & BOOST_SERIALIZATION_NVP(p_Stream);
31713 std::vector<uint8_t>
const& get_Stream()
const;
31714 std::vector<uint8_t>& get_Stream();
31716 void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
31717 void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const override;
31718 void dump(std::ostream& os)
const override;
31730 uint32_t
const& Size,
31731 std::string
const& Name,
31732 uint32_t
const& NamePadding);
31743#ifdef DOCUMENTATION
31752DECLARE_LEAF_CLASS(AsmCilUint32Heap);
31753IS_SERIALIZABLE(AsmCilUint32Heap);
31755#ifndef DOCUMENTATION
31756AsmCilUint32Heap.useSmallHeader(
true);
31759#ifdef DOCUMENTATION
31764#ifndef DOCUMENTATION
31765 AsmCilUint32Heap.setDataPrototype(
31766 "std::vector<uint32_t>",
"Stream",
"",
31767 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31770 DECLARE_OTHERS(AsmCilUint32Heap);
31771#if defined(SgAsmCilUint32Heap_OTHERS) || defined(DOCUMENTATION)
31774#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
31776 friend class boost::serialization::access;
31779 void serialize(S &s,
const unsigned ) {
31782 s & BOOST_SERIALIZATION_NVP(p_Stream);
31788 std::vector<uint32_t>
const& get_Stream()
const;
31789 std::vector<uint32_t>& get_Stream();
31791 void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
31792 void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const override;
31793 void dump(std::ostream& os)
const override;
31805 uint32_t
const& Size,
31806 std::string
const& Name,
31807 uint32_t
const& NamePadding);
31818#ifdef DOCUMENTATION
31827DECLARE_LEAF_CLASS(AsmCilTypeSpecTable);
31828IS_SERIALIZABLE(AsmCilTypeSpecTable);
31830#ifndef DOCUMENTATION
31831AsmCilTypeSpecTable.useSmallHeader(
true);
31834#ifdef DOCUMENTATION
31839#ifndef DOCUMENTATION
31840 AsmCilTypeSpecTable.setDataPrototype(
31841 "std::vector<SgAsmCilTypeSpec*>",
"elements",
"",
31842 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31845 DECLARE_OTHERS(AsmCilTypeSpecTable);
31846#if defined(SgAsmCilTypeSpecTable_OTHERS) || defined(DOCUMENTATION)
31849#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
31851 friend class boost::serialization::access;
31854 void serialize(S &s,
const unsigned ) {
31857 s & BOOST_SERIALIZATION_NVP(p_elements);
31863 std::vector<SgAsmCilTypeSpec*>
const& get_elements()
const;
31864 std::vector<SgAsmCilTypeSpec*>& get_elements();
31884#ifdef DOCUMENTATION
31893DECLARE_LEAF_CLASS(AsmCilTypeSpec);
31894IS_SERIALIZABLE(AsmCilTypeSpec);
31896#ifndef DOCUMENTATION
31897AsmCilTypeSpec.useSmallHeader(
true);
31900#ifdef DOCUMENTATION
31905#ifndef DOCUMENTATION
31906 AsmCilTypeSpec.setDataPrototype(
31907 "uint32_t",
"Signature",
"= 0",
31908 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31911 DECLARE_OTHERS(AsmCilTypeSpec);
31912#if defined(SgAsmCilTypeSpec_OTHERS) || defined(DOCUMENTATION)
31915#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
31917 friend class boost::serialization::access;
31920 void serialize(S &s,
const unsigned ) {
31923 s & BOOST_SERIALIZATION_NVP(p_Signature);
31938 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
31939 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
31940 void dump(std::ostream&)
const;
31942 const std::uint8_t* get_Signature_blob()
const;
31960#ifdef DOCUMENTATION
31969DECLARE_LEAF_CLASS(AsmCilTypeRefTable);
31970IS_SERIALIZABLE(AsmCilTypeRefTable);
31972#ifndef DOCUMENTATION
31973AsmCilTypeRefTable.useSmallHeader(
true);
31976#ifdef DOCUMENTATION
31981#ifndef DOCUMENTATION
31982 AsmCilTypeRefTable.setDataPrototype(
31983 "std::vector<SgAsmCilTypeRef*>",
"elements",
"",
31984 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31987 DECLARE_OTHERS(AsmCilTypeRefTable);
31988#if defined(SgAsmCilTypeRefTable_OTHERS) || defined(DOCUMENTATION)
31991#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
31993 friend class boost::serialization::access;
31996 void serialize(S &s,
const unsigned ) {
31999 s & BOOST_SERIALIZATION_NVP(p_elements);
32005 std::vector<SgAsmCilTypeRef*>
const& get_elements()
const;
32006 std::vector<SgAsmCilTypeRef*>& get_elements();
32026#ifdef DOCUMENTATION
32035DECLARE_LEAF_CLASS(AsmCilTypeRef);
32036IS_SERIALIZABLE(AsmCilTypeRef);
32038#ifndef DOCUMENTATION
32039AsmCilTypeRef.useSmallHeader(
true);
32042#ifdef DOCUMENTATION
32047#ifndef DOCUMENTATION
32048 AsmCilTypeRef.setDataPrototype(
32049 "uint16_t",
"ResolutionScope",
"= 0",
32050 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32053#ifndef DOCUMENTATION
32054 AsmCilTypeRef.setDataPrototype(
32055 "uint32_t",
"TypeName",
"= 0",
32056 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32059#ifndef DOCUMENTATION
32060 AsmCilTypeRef.setDataPrototype(
32061 "uint32_t",
"TypeNamespace",
"= 0",
32062 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32065 DECLARE_OTHERS(AsmCilTypeRef);
32066#if defined(SgAsmCilTypeRef_OTHERS) || defined(DOCUMENTATION)
32069#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32071 friend class boost::serialization::access;
32074 void serialize(S &s,
const unsigned ) {
32077 s & BOOST_SERIALIZATION_NVP(p_ResolutionScope);
32078 s & BOOST_SERIALIZATION_NVP(p_TypeName);
32079 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
32114 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32115 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
32116 void dump(std::ostream&)
const;
32119 const std::uint8_t* get_TypeName_string()
const;
32120 const std::uint8_t* get_TypeNamespace_string()
const;
32138#ifdef DOCUMENTATION
32147DECLARE_LEAF_CLASS(AsmCilTypeDefTable);
32148IS_SERIALIZABLE(AsmCilTypeDefTable);
32150#ifndef DOCUMENTATION
32151AsmCilTypeDefTable.useSmallHeader(
true);
32154#ifdef DOCUMENTATION
32159#ifndef DOCUMENTATION
32160 AsmCilTypeDefTable.setDataPrototype(
32161 "std::vector<SgAsmCilTypeDef*>",
"elements",
"",
32162 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32165 DECLARE_OTHERS(AsmCilTypeDefTable);
32166#if defined(SgAsmCilTypeDefTable_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);
32183 std::vector<SgAsmCilTypeDef*>
const& get_elements()
const;
32184 std::vector<SgAsmCilTypeDef*>& get_elements();
32204#ifdef DOCUMENTATION
32213DECLARE_LEAF_CLASS(AsmCilTypeDef);
32214IS_SERIALIZABLE(AsmCilTypeDef);
32216#ifndef DOCUMENTATION
32217AsmCilTypeDef.useSmallHeader(
true);
32220#ifdef DOCUMENTATION
32225#ifndef DOCUMENTATION
32226 AsmCilTypeDef.setDataPrototype(
32227 "uint32_t",
"Flags",
"= 0",
32228 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32231#ifndef DOCUMENTATION
32232 AsmCilTypeDef.setDataPrototype(
32233 "uint32_t",
"TypeName",
"= 0",
32234 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32237#ifndef DOCUMENTATION
32238 AsmCilTypeDef.setDataPrototype(
32239 "uint32_t",
"TypeNamespace",
"= 0",
32240 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32243#ifndef DOCUMENTATION
32244 AsmCilTypeDef.setDataPrototype(
32245 "uint32_t",
"Extends",
"= 0",
32246 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32249#ifndef DOCUMENTATION
32250 AsmCilTypeDef.setDataPrototype(
32251 "uint32_t",
"FieldList",
"= 0",
32252 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32255#ifndef DOCUMENTATION
32256 AsmCilTypeDef.setDataPrototype(
32257 "uint32_t",
"MethodList",
"= 0",
32258 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32261 DECLARE_OTHERS(AsmCilTypeDef);
32262#if defined(SgAsmCilTypeDef_OTHERS) || defined(DOCUMENTATION)
32265#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32267 friend class boost::serialization::access;
32270 void serialize(S &s,
const unsigned ) {
32273 s & BOOST_SERIALIZATION_NVP(p_Flags);
32274 s & BOOST_SERIALIZATION_NVP(p_TypeName);
32275 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
32276 s & BOOST_SERIALIZATION_NVP(p_Extends);
32277 s & BOOST_SERIALIZATION_NVP(p_FieldList);
32278 s & BOOST_SERIALIZATION_NVP(p_MethodList);
32343 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32344 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
32345 void dump(std::ostream&)
const;
32347 const std::uint8_t* get_TypeName_string()
const;
32348 const std::uint8_t* get_TypeNamespace_string()
const;
32370#ifdef DOCUMENTATION
32379DECLARE_LEAF_CLASS(AsmCilStandAloneSigTable);
32380IS_SERIALIZABLE(AsmCilStandAloneSigTable);
32382#ifndef DOCUMENTATION
32383AsmCilStandAloneSigTable.useSmallHeader(
true);
32386#ifdef DOCUMENTATION
32391#ifndef DOCUMENTATION
32392 AsmCilStandAloneSigTable.setDataPrototype(
32393 "std::vector<SgAsmCilStandAloneSig*>",
"elements",
"",
32394 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32397 DECLARE_OTHERS(AsmCilStandAloneSigTable);
32398#if defined(SgAsmCilStandAloneSigTable_OTHERS) || defined(DOCUMENTATION)
32401#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32403 friend class boost::serialization::access;
32406 void serialize(S &s,
const unsigned ) {
32409 s & BOOST_SERIALIZATION_NVP(p_elements);
32415 std::vector<SgAsmCilStandAloneSig*>
const& get_elements()
const;
32416 std::vector<SgAsmCilStandAloneSig*>& get_elements();
32436#ifdef DOCUMENTATION
32445DECLARE_LEAF_CLASS(AsmCilStandAloneSig);
32446IS_SERIALIZABLE(AsmCilStandAloneSig);
32448#ifndef DOCUMENTATION
32449AsmCilStandAloneSig.useSmallHeader(
true);
32452#ifdef DOCUMENTATION
32457#ifndef DOCUMENTATION
32458 AsmCilStandAloneSig.setDataPrototype(
32459 "uint32_t",
"Signature",
"= 0",
32460 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32463 DECLARE_OTHERS(AsmCilStandAloneSig);
32464#if defined(SgAsmCilStandAloneSig_OTHERS) || defined(DOCUMENTATION)
32467#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32469 friend class boost::serialization::access;
32472 void serialize(S &s,
const unsigned ) {
32475 s & BOOST_SERIALIZATION_NVP(p_Signature);
32490 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32491 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
32492 void dump(std::ostream&)
const;
32494 const std::uint8_t* get_Signature_blob()
const;
32512#ifdef DOCUMENTATION
32521DECLARE_LEAF_CLASS(AsmCilPropertyTable);
32522IS_SERIALIZABLE(AsmCilPropertyTable);
32524#ifndef DOCUMENTATION
32525AsmCilPropertyTable.useSmallHeader(
true);
32528#ifdef DOCUMENTATION
32533#ifndef DOCUMENTATION
32534 AsmCilPropertyTable.setDataPrototype(
32535 "std::vector<SgAsmCilProperty*>",
"elements",
"",
32536 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32539 DECLARE_OTHERS(AsmCilPropertyTable);
32540#if defined(SgAsmCilPropertyTable_OTHERS) || defined(DOCUMENTATION)
32543#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32545 friend class boost::serialization::access;
32548 void serialize(S &s,
const unsigned ) {
32551 s & BOOST_SERIALIZATION_NVP(p_elements);
32557 std::vector<SgAsmCilProperty*>
const& get_elements()
const;
32558 std::vector<SgAsmCilProperty*>& get_elements();
32578#ifdef DOCUMENTATION
32587DECLARE_LEAF_CLASS(AsmCilPropertyMapTable);
32588IS_SERIALIZABLE(AsmCilPropertyMapTable);
32590#ifndef DOCUMENTATION
32591AsmCilPropertyMapTable.useSmallHeader(
true);
32594#ifdef DOCUMENTATION
32599#ifndef DOCUMENTATION
32600 AsmCilPropertyMapTable.setDataPrototype(
32601 "std::vector<SgAsmCilPropertyMap*>",
"elements",
"",
32602 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32605 DECLARE_OTHERS(AsmCilPropertyMapTable);
32606#if defined(SgAsmCilPropertyMapTable_OTHERS) || defined(DOCUMENTATION)
32609#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32611 friend class boost::serialization::access;
32614 void serialize(S &s,
const unsigned ) {
32617 s & BOOST_SERIALIZATION_NVP(p_elements);
32623 std::vector<SgAsmCilPropertyMap*>
const& get_elements()
const;
32624 std::vector<SgAsmCilPropertyMap*>& get_elements();
32644#ifdef DOCUMENTATION
32653DECLARE_LEAF_CLASS(AsmCilPropertyMap);
32654IS_SERIALIZABLE(AsmCilPropertyMap);
32656#ifndef DOCUMENTATION
32657AsmCilPropertyMap.useSmallHeader(
true);
32660#ifdef DOCUMENTATION
32665#ifndef DOCUMENTATION
32666 AsmCilPropertyMap.setDataPrototype(
32667 "uint32_t",
"Parent",
"= 0",
32668 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32671#ifndef DOCUMENTATION
32672 AsmCilPropertyMap.setDataPrototype(
32673 "uint32_t",
"PropertyList",
"= 0",
32674 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32677 DECLARE_OTHERS(AsmCilPropertyMap);
32678#if defined(SgAsmCilPropertyMap_OTHERS) || defined(DOCUMENTATION)
32681#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32683 friend class boost::serialization::access;
32686 void serialize(S &s,
const unsigned ) {
32689 s & BOOST_SERIALIZATION_NVP(p_Parent);
32690 s & BOOST_SERIALIZATION_NVP(p_PropertyList);
32715 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32716 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
32717 void dump(std::ostream&)
const;
32738#ifdef DOCUMENTATION
32747DECLARE_LEAF_CLASS(AsmCilProperty);
32748IS_SERIALIZABLE(AsmCilProperty);
32750#ifndef DOCUMENTATION
32751AsmCilProperty.useSmallHeader(
true);
32754#ifdef DOCUMENTATION
32759#ifndef DOCUMENTATION
32760 AsmCilProperty.setDataPrototype(
32761 "uint16_t",
"Flags",
"= 0",
32762 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32765#ifndef DOCUMENTATION
32766 AsmCilProperty.setDataPrototype(
32767 "uint32_t",
"Name",
"= 0",
32768 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32771#ifndef DOCUMENTATION
32772 AsmCilProperty.setDataPrototype(
32773 "uint32_t",
"Type",
"= 0",
32774 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32777 DECLARE_OTHERS(AsmCilProperty);
32778#if defined(SgAsmCilProperty_OTHERS) || defined(DOCUMENTATION)
32781#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32783 friend class boost::serialization::access;
32786 void serialize(S &s,
const unsigned ) {
32789 s & BOOST_SERIALIZATION_NVP(p_Flags);
32790 s & BOOST_SERIALIZATION_NVP(p_Name);
32791 s & BOOST_SERIALIZATION_NVP(p_Type);
32826 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32827 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
32828 void dump(std::ostream&)
const;
32830 const std::uint8_t* get_Name_string()
const;
32831 const std::uint8_t* get_Type_blob()
const;
32849#ifdef DOCUMENTATION
32858DECLARE_LEAF_CLASS(AsmCilParamTable);
32859IS_SERIALIZABLE(AsmCilParamTable);
32861#ifndef DOCUMENTATION
32862AsmCilParamTable.useSmallHeader(
true);
32865#ifdef DOCUMENTATION
32870#ifndef DOCUMENTATION
32871 AsmCilParamTable.setDataPrototype(
32872 "std::vector<SgAsmCilParam*>",
"elements",
"",
32873 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32876 DECLARE_OTHERS(AsmCilParamTable);
32877#if defined(SgAsmCilParamTable_OTHERS) || defined(DOCUMENTATION)
32880#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32882 friend class boost::serialization::access;
32885 void serialize(S &s,
const unsigned ) {
32888 s & BOOST_SERIALIZATION_NVP(p_elements);
32894 std::vector<SgAsmCilParam*>
const& get_elements()
const;
32895 std::vector<SgAsmCilParam*>& get_elements();
32915#ifdef DOCUMENTATION
32924DECLARE_LEAF_CLASS(AsmCilParam);
32925IS_SERIALIZABLE(AsmCilParam);
32927#ifndef DOCUMENTATION
32928AsmCilParam.useSmallHeader(
true);
32931#ifdef DOCUMENTATION
32936#ifndef DOCUMENTATION
32937 AsmCilParam.setDataPrototype(
32938 "uint16_t",
"Flags",
"= 0",
32939 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32942#ifndef DOCUMENTATION
32943 AsmCilParam.setDataPrototype(
32944 "uint16_t",
"Sequence",
"= 0",
32945 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32948#ifndef DOCUMENTATION
32949 AsmCilParam.setDataPrototype(
32950 "uint32_t",
"Name",
"= 0",
32951 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32954 DECLARE_OTHERS(AsmCilParam);
32955#if defined(SgAsmCilParam_OTHERS) || defined(DOCUMENTATION)
32958#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
32960 friend class boost::serialization::access;
32963 void serialize(S &s,
const unsigned ) {
32966 s & BOOST_SERIALIZATION_NVP(p_Flags);
32967 s & BOOST_SERIALIZATION_NVP(p_Sequence);
32968 s & BOOST_SERIALIZATION_NVP(p_Name);
33003 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33004 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33005 void dump(std::ostream&)
const;
33007 const std::uint8_t* get_Name_blob()
const;
33025#ifdef DOCUMENTATION
33034DECLARE_LEAF_CLASS(AsmCilNestedClassTable);
33035IS_SERIALIZABLE(AsmCilNestedClassTable);
33037#ifndef DOCUMENTATION
33038AsmCilNestedClassTable.useSmallHeader(
true);
33041#ifdef DOCUMENTATION
33046#ifndef DOCUMENTATION
33047 AsmCilNestedClassTable.setDataPrototype(
33048 "std::vector<SgAsmCilNestedClass*>",
"elements",
"",
33049 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33052 DECLARE_OTHERS(AsmCilNestedClassTable);
33053#if defined(SgAsmCilNestedClassTable_OTHERS) || defined(DOCUMENTATION)
33056#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33058 friend class boost::serialization::access;
33061 void serialize(S &s,
const unsigned ) {
33064 s & BOOST_SERIALIZATION_NVP(p_elements);
33070 std::vector<SgAsmCilNestedClass*>
const& get_elements()
const;
33071 std::vector<SgAsmCilNestedClass*>& get_elements();
33091#ifdef DOCUMENTATION
33100DECLARE_LEAF_CLASS(AsmCilNestedClass);
33101IS_SERIALIZABLE(AsmCilNestedClass);
33103#ifndef DOCUMENTATION
33104AsmCilNestedClass.useSmallHeader(
true);
33107#ifdef DOCUMENTATION
33112#ifndef DOCUMENTATION
33113 AsmCilNestedClass.setDataPrototype(
33114 "uint32_t",
"NestedClass",
"= 0",
33115 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33118#ifndef DOCUMENTATION
33119 AsmCilNestedClass.setDataPrototype(
33120 "uint32_t",
"EnclosingClass",
"= 0",
33121 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33124 DECLARE_OTHERS(AsmCilNestedClass);
33125#if defined(SgAsmCilNestedClass_OTHERS) || defined(DOCUMENTATION)
33128#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33130 friend class boost::serialization::access;
33133 void serialize(S &s,
const unsigned ) {
33136 s & BOOST_SERIALIZATION_NVP(p_NestedClass);
33137 s & BOOST_SERIALIZATION_NVP(p_EnclosingClass);
33162 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33163 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33164 void dump(std::ostream&)
const;
33185#ifdef DOCUMENTATION
33194DECLARE_LEAF_CLASS(AsmCilModuleTable);
33195IS_SERIALIZABLE(AsmCilModuleTable);
33197#ifndef DOCUMENTATION
33198AsmCilModuleTable.useSmallHeader(
true);
33201#ifdef DOCUMENTATION
33206#ifndef DOCUMENTATION
33207 AsmCilModuleTable.setDataPrototype(
33208 "std::vector<SgAsmCilModule*>",
"elements",
"",
33209 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33212 DECLARE_OTHERS(AsmCilModuleTable);
33213#if defined(SgAsmCilModuleTable_OTHERS) || defined(DOCUMENTATION)
33216#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33218 friend class boost::serialization::access;
33221 void serialize(S &s,
const unsigned ) {
33224 s & BOOST_SERIALIZATION_NVP(p_elements);
33230 std::vector<SgAsmCilModule*>
const& get_elements()
const;
33231 std::vector<SgAsmCilModule*>& get_elements();
33251#ifdef DOCUMENTATION
33260DECLARE_LEAF_CLASS(AsmCilModuleRefTable);
33261IS_SERIALIZABLE(AsmCilModuleRefTable);
33263#ifndef DOCUMENTATION
33264AsmCilModuleRefTable.useSmallHeader(
true);
33267#ifdef DOCUMENTATION
33272#ifndef DOCUMENTATION
33273 AsmCilModuleRefTable.setDataPrototype(
33274 "std::vector<SgAsmCilModuleRef*>",
"elements",
"",
33275 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33278 DECLARE_OTHERS(AsmCilModuleRefTable);
33279#if defined(SgAsmCilModuleRefTable_OTHERS) || defined(DOCUMENTATION)
33282#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33284 friend class boost::serialization::access;
33287 void serialize(S &s,
const unsigned ) {
33290 s & BOOST_SERIALIZATION_NVP(p_elements);
33296 std::vector<SgAsmCilModuleRef*>
const& get_elements()
const;
33297 std::vector<SgAsmCilModuleRef*>& get_elements();
33317#ifdef DOCUMENTATION
33326DECLARE_LEAF_CLASS(AsmCilModuleRef);
33327IS_SERIALIZABLE(AsmCilModuleRef);
33329#ifndef DOCUMENTATION
33330AsmCilModuleRef.useSmallHeader(
true);
33333#ifdef DOCUMENTATION
33338#ifndef DOCUMENTATION
33339 AsmCilModuleRef.setDataPrototype(
33340 "uint32_t",
"Name",
"= 0",
33341 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33344 DECLARE_OTHERS(AsmCilModuleRef);
33345#if defined(SgAsmCilModuleRef_OTHERS) || defined(DOCUMENTATION)
33348#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33350 friend class boost::serialization::access;
33353 void serialize(S &s,
const unsigned ) {
33356 s & BOOST_SERIALIZATION_NVP(p_Name);
33371 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33372 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33373 void dump(std::ostream&)
const;
33375 const std::uint8_t* get_Name_string()
const;
33393#ifdef DOCUMENTATION
33402DECLARE_LEAF_CLASS(AsmCilModule);
33403IS_SERIALIZABLE(AsmCilModule);
33405#ifndef DOCUMENTATION
33406AsmCilModule.useSmallHeader(
true);
33409#ifdef DOCUMENTATION
33414#ifndef DOCUMENTATION
33415 AsmCilModule.setDataPrototype(
33416 "uint16_t",
"Generation",
"= 0",
33417 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33420#ifndef DOCUMENTATION
33421 AsmCilModule.setDataPrototype(
33422 "uint32_t",
"Name",
"= 0",
33423 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33426#ifndef DOCUMENTATION
33427 AsmCilModule.setDataPrototype(
33428 "uint32_t",
"Mvid",
"= 0",
33429 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33432#ifndef DOCUMENTATION
33433 AsmCilModule.setDataPrototype(
33434 "uint32_t",
"Encld",
"= 0",
33435 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33438#ifndef DOCUMENTATION
33439 AsmCilModule.setDataPrototype(
33440 "uint32_t",
"EncBaseId",
"= 0",
33441 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33444 DECLARE_OTHERS(AsmCilModule);
33445#if defined(SgAsmCilModule_OTHERS) || defined(DOCUMENTATION)
33448#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33450 friend class boost::serialization::access;
33453 void serialize(S &s,
const unsigned ) {
33456 s & BOOST_SERIALIZATION_NVP(p_Generation);
33457 s & BOOST_SERIALIZATION_NVP(p_Name);
33458 s & BOOST_SERIALIZATION_NVP(p_Mvid);
33459 s & BOOST_SERIALIZATION_NVP(p_Encld);
33460 s & BOOST_SERIALIZATION_NVP(p_EncBaseId);
33515 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33516 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33517 void dump(std::ostream&)
const;
33519 const std::uint8_t* get_Name_string()
const;
33520 const std::uint32_t* get_Mvid_guid()
const;
33521 const std::uint32_t* get_Encld_guid()
const;
33522 const std::uint32_t* get_EncBaseId_guid()
const;
33540#ifdef DOCUMENTATION
33549DECLARE_LEAF_CLASS(AsmCilMethodSpecTable);
33550IS_SERIALIZABLE(AsmCilMethodSpecTable);
33552#ifndef DOCUMENTATION
33553AsmCilMethodSpecTable.useSmallHeader(
true);
33556#ifdef DOCUMENTATION
33561#ifndef DOCUMENTATION
33562 AsmCilMethodSpecTable.setDataPrototype(
33563 "std::vector<SgAsmCilMethodSpec*>",
"elements",
"",
33564 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33567 DECLARE_OTHERS(AsmCilMethodSpecTable);
33568#if defined(SgAsmCilMethodSpecTable_OTHERS) || defined(DOCUMENTATION)
33571#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33573 friend class boost::serialization::access;
33576 void serialize(S &s,
const unsigned ) {
33579 s & BOOST_SERIALIZATION_NVP(p_elements);
33585 std::vector<SgAsmCilMethodSpec*>
const& get_elements()
const;
33586 std::vector<SgAsmCilMethodSpec*>& get_elements();
33606#ifdef DOCUMENTATION
33615DECLARE_LEAF_CLASS(AsmCilMethodSpec);
33616IS_SERIALIZABLE(AsmCilMethodSpec);
33618#ifndef DOCUMENTATION
33619AsmCilMethodSpec.useSmallHeader(
true);
33622#ifdef DOCUMENTATION
33627#ifndef DOCUMENTATION
33628 AsmCilMethodSpec.setDataPrototype(
33629 "uint32_t",
"Method",
"= 0",
33630 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33633#ifndef DOCUMENTATION
33634 AsmCilMethodSpec.setDataPrototype(
33635 "uint32_t",
"Instantiation",
"= 0",
33636 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33639 DECLARE_OTHERS(AsmCilMethodSpec);
33640#if defined(SgAsmCilMethodSpec_OTHERS) || defined(DOCUMENTATION)
33643#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33645 friend class boost::serialization::access;
33648 void serialize(S &s,
const unsigned ) {
33651 s & BOOST_SERIALIZATION_NVP(p_Method);
33652 s & BOOST_SERIALIZATION_NVP(p_Instantiation);
33677 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33678 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33679 void dump(std::ostream&)
const;
33682 const std::uint8_t* get_Instantiation_blob()
const;
33700#ifdef DOCUMENTATION
33709DECLARE_LEAF_CLASS(AsmCilMethodSemanticsTable);
33710IS_SERIALIZABLE(AsmCilMethodSemanticsTable);
33712#ifndef DOCUMENTATION
33713AsmCilMethodSemanticsTable.useSmallHeader(
true);
33716#ifdef DOCUMENTATION
33721#ifndef DOCUMENTATION
33722 AsmCilMethodSemanticsTable.setDataPrototype(
33723 "std::vector<SgAsmCilMethodSemantics*>",
"elements",
"",
33724 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33727 DECLARE_OTHERS(AsmCilMethodSemanticsTable);
33728#if defined(SgAsmCilMethodSemanticsTable_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_elements);
33745 std::vector<SgAsmCilMethodSemantics*>
const& get_elements()
const;
33746 std::vector<SgAsmCilMethodSemantics*>& get_elements();
33766#ifdef DOCUMENTATION
33775DECLARE_LEAF_CLASS(AsmCilMethodSemantics);
33776IS_SERIALIZABLE(AsmCilMethodSemantics);
33778#ifndef DOCUMENTATION
33779AsmCilMethodSemantics.useSmallHeader(
true);
33782#ifdef DOCUMENTATION
33787#ifndef DOCUMENTATION
33788 AsmCilMethodSemantics.setDataPrototype(
33789 "uint16_t",
"Semantics",
"= 0",
33790 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33793#ifndef DOCUMENTATION
33794 AsmCilMethodSemantics.setDataPrototype(
33795 "uint32_t",
"Method",
"= 0",
33796 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33799#ifndef DOCUMENTATION
33800 AsmCilMethodSemantics.setDataPrototype(
33801 "uint32_t",
"Association",
"= 0",
33802 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33805 DECLARE_OTHERS(AsmCilMethodSemantics);
33806#if defined(SgAsmCilMethodSemantics_OTHERS) || defined(DOCUMENTATION)
33809#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33811 friend class boost::serialization::access;
33814 void serialize(S &s,
const unsigned ) {
33817 s & BOOST_SERIALIZATION_NVP(p_Semantics);
33818 s & BOOST_SERIALIZATION_NVP(p_Method);
33819 s & BOOST_SERIALIZATION_NVP(p_Association);
33854 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33855 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33856 void dump(std::ostream&)
const;
33877#ifdef DOCUMENTATION
33886DECLARE_LEAF_CLASS(AsmCilMethodImplTable);
33887IS_SERIALIZABLE(AsmCilMethodImplTable);
33889#ifndef DOCUMENTATION
33890AsmCilMethodImplTable.useSmallHeader(
true);
33893#ifdef DOCUMENTATION
33898#ifndef DOCUMENTATION
33899 AsmCilMethodImplTable.setDataPrototype(
33900 "std::vector<SgAsmCilMethodImpl*>",
"elements",
"",
33901 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33904 DECLARE_OTHERS(AsmCilMethodImplTable);
33905#if defined(SgAsmCilMethodImplTable_OTHERS) || defined(DOCUMENTATION)
33908#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33910 friend class boost::serialization::access;
33913 void serialize(S &s,
const unsigned ) {
33916 s & BOOST_SERIALIZATION_NVP(p_elements);
33922 std::vector<SgAsmCilMethodImpl*>
const& get_elements()
const;
33923 std::vector<SgAsmCilMethodImpl*>& get_elements();
33943#ifdef DOCUMENTATION
33952DECLARE_LEAF_CLASS(AsmCilMethodImpl);
33953IS_SERIALIZABLE(AsmCilMethodImpl);
33955#ifndef DOCUMENTATION
33956AsmCilMethodImpl.useSmallHeader(
true);
33959#ifdef DOCUMENTATION
33964#ifndef DOCUMENTATION
33965 AsmCilMethodImpl.setDataPrototype(
33966 "uint32_t",
"Class",
"= 0",
33967 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33970#ifndef DOCUMENTATION
33971 AsmCilMethodImpl.setDataPrototype(
33972 "uint32_t",
"MethodBody",
"= 0",
33973 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33976#ifndef DOCUMENTATION
33977 AsmCilMethodImpl.setDataPrototype(
33978 "uint32_t",
"MethodDeclaration",
"= 0",
33979 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33982 DECLARE_OTHERS(AsmCilMethodImpl);
33983#if defined(SgAsmCilMethodImpl_OTHERS) || defined(DOCUMENTATION)
33986#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
33988 friend class boost::serialization::access;
33991 void serialize(S &s,
const unsigned ) {
33994 s & BOOST_SERIALIZATION_NVP(p_Class);
33995 s & BOOST_SERIALIZATION_NVP(p_MethodBody);
33996 s & BOOST_SERIALIZATION_NVP(p_MethodDeclaration);
34031 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34032 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34033 void dump(std::ostream&)
const;
34055#ifdef DOCUMENTATION
34064DECLARE_LEAF_CLASS(AsmCilMethodDefTable);
34065IS_SERIALIZABLE(AsmCilMethodDefTable);
34067#ifndef DOCUMENTATION
34068AsmCilMethodDefTable.useSmallHeader(
true);
34071#ifdef DOCUMENTATION
34076#ifndef DOCUMENTATION
34077 AsmCilMethodDefTable.setDataPrototype(
34078 "std::vector<SgAsmCilMethodDef*>",
"elements",
"",
34079 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34082 DECLARE_OTHERS(AsmCilMethodDefTable);
34083#if defined(SgAsmCilMethodDefTable_OTHERS) || defined(DOCUMENTATION)
34086#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34088 friend class boost::serialization::access;
34091 void serialize(S &s,
const unsigned ) {
34094 s & BOOST_SERIALIZATION_NVP(p_elements);
34100 std::vector<SgAsmCilMethodDef*>
const& get_elements()
const;
34101 std::vector<SgAsmCilMethodDef*>& get_elements();
34121#ifdef DOCUMENTATION
34130DECLARE_LEAF_CLASS(AsmCilMethodDef);
34131IS_SERIALIZABLE(AsmCilMethodDef);
34133#ifndef DOCUMENTATION
34134AsmCilMethodDef.useSmallHeader(
true);
34137#ifdef DOCUMENTATION
34142#ifndef DOCUMENTATION
34143 AsmCilMethodDef.setDataPrototype(
34144 "uint32_t",
"RVA",
"= 0",
34145 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34148#ifndef DOCUMENTATION
34149 AsmCilMethodDef.setDataPrototype(
34150 "uint32_t",
"ImplFlags",
"= 0",
34151 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34154#ifndef DOCUMENTATION
34155 AsmCilMethodDef.setDataPrototype(
34156 "uint16_t",
"Flags",
"= 0",
34157 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34160#ifndef DOCUMENTATION
34161 AsmCilMethodDef.setDataPrototype(
34162 "uint32_t",
"Name",
"= 0",
34163 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34166#ifndef DOCUMENTATION
34167 AsmCilMethodDef.setDataPrototype(
34168 "uint32_t",
"Signature",
"= 0",
34169 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34172#ifndef DOCUMENTATION
34173 AsmCilMethodDef.setDataPrototype(
34174 "uint32_t",
"ParamList",
"= 0",
34175 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34178#ifndef DOCUMENTATION
34179 AsmCilMethodDef.setDataPrototype(
34180 "SgAsmBlock*",
"body",
"= 0",
34181 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34184#ifndef DOCUMENTATION
34185 AsmCilMethodDef.setDataPrototype(
34186 "bool",
"initLocals",
"= 0",
34187 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34190#ifndef DOCUMENTATION
34191 AsmCilMethodDef.setDataPrototype(
34192 "uint32_t",
"stackSize",
"= 0",
34193 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34196#ifndef DOCUMENTATION
34197 AsmCilMethodDef.setDataPrototype(
34198 "bool",
"hasMoreSections",
"= 0",
34199 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34202 DECLARE_OTHERS(AsmCilMethodDef);
34203#if defined(SgAsmCilMethodDef_OTHERS) || defined(DOCUMENTATION)
34206#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34208 friend class boost::serialization::access;
34211 void serialize(S &s,
const unsigned ) {
34214 s & BOOST_SERIALIZATION_NVP(p_RVA);
34215 s & BOOST_SERIALIZATION_NVP(p_ImplFlags);
34216 s & BOOST_SERIALIZATION_NVP(p_Flags);
34217 s & BOOST_SERIALIZATION_NVP(p_Name);
34218 s & BOOST_SERIALIZATION_NVP(p_Signature);
34219 s & BOOST_SERIALIZATION_NVP(p_ParamList);
34220 s & BOOST_SERIALIZATION_NVP(p_body);
34221 s & BOOST_SERIALIZATION_NVP(p_initLocals);
34222 s & BOOST_SERIALIZATION_NVP(p_stackSize);
34223 s & BOOST_SERIALIZATION_NVP(p_hasMoreSections);
34328 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34329 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34330 void dump(std::ostream&)
const;
34332 const std::uint8_t* get_Name_string()
const;
34333 const std::uint8_t* get_Signature_blob()
const;
34352#ifdef DOCUMENTATION
34361DECLARE_LEAF_CLASS(AsmCilMetadataRoot);
34362IS_SERIALIZABLE(AsmCilMetadataRoot);
34364#ifndef DOCUMENTATION
34365AsmCilMetadataRoot.useSmallHeader(
true);
34368#ifdef DOCUMENTATION
34373#ifndef DOCUMENTATION
34374 AsmCilMetadataRoot.setDataPrototype(
34375 "uint32_t",
"Signature",
"= 0",
34376 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34379#ifndef DOCUMENTATION
34380 AsmCilMetadataRoot.setDataPrototype(
34381 "uint16_t",
"MajorVersion",
"= 0",
34382 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34385#ifndef DOCUMENTATION
34386 AsmCilMetadataRoot.setDataPrototype(
34387 "uint16_t",
"MinorVersion",
"= 0",
34388 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34391#ifndef DOCUMENTATION
34392 AsmCilMetadataRoot.setDataPrototype(
34393 "uint32_t",
"Reserved0",
"= 0",
34394 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34397#ifndef DOCUMENTATION
34398 AsmCilMetadataRoot.setDataPrototype(
34399 "uint32_t",
"Length",
"= 0",
34400 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34403#ifndef DOCUMENTATION
34404 AsmCilMetadataRoot.setDataPrototype(
34405 "std::string",
"Version",
"",
34406 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34409#ifndef DOCUMENTATION
34410 AsmCilMetadataRoot.setDataPrototype(
34411 "uint32_t",
"VersionPadding",
"= 0",
34412 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34415#ifndef DOCUMENTATION
34416 AsmCilMetadataRoot.setDataPrototype(
34417 "uint16_t",
"Flags",
"= 0",
34418 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34421#ifndef DOCUMENTATION
34422 AsmCilMetadataRoot.setDataPrototype(
34423 "uint16_t",
"NumberOfStreams",
"= 0",
34424 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34427#ifndef DOCUMENTATION
34428 AsmCilMetadataRoot.setDataPrototype(
34429 "std::vector<SgAsmCilDataStream*>",
"Streams",
"",
34430 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34433 DECLARE_OTHERS(AsmCilMetadataRoot);
34434#if defined(SgAsmCilMetadataRoot_OTHERS) || defined(DOCUMENTATION)
34437#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34439 friend class boost::serialization::access;
34442 void serialize(S &s,
const unsigned ) {
34444 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
34445 s & BOOST_SERIALIZATION_NVP(p_Signature);
34446 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
34447 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
34448 s & BOOST_SERIALIZATION_NVP(p_Reserved0);
34449 s & BOOST_SERIALIZATION_NVP(p_Length);
34450 s & BOOST_SERIALIZATION_NVP(p_Version);
34451 s & BOOST_SERIALIZATION_NVP(p_VersionPadding);
34452 s & BOOST_SERIALIZATION_NVP(p_Flags);
34453 s & BOOST_SERIALIZATION_NVP(p_NumberOfStreams);
34454 s & BOOST_SERIALIZATION_NVP(p_Streams);
34543 mutable int8_t idxStringHeap = -1;
34544 mutable int8_t idxBlobHeap = -1;
34545 mutable int8_t idxUsHeap = -1;
34546 mutable int8_t idxGuidHeap = -1;
34547 mutable int8_t idxMetadataHeap = -1;
34565 void parse(
const std::vector<uint8_t>& buf,
size_t index);
34571 void unparse(std::vector<uint8_t>&, std::size_t)
const;
34602#ifdef DOCUMENTATION
34611DECLARE_LEAF_CLASS(AsmCilMetadataHeap);
34612IS_SERIALIZABLE(AsmCilMetadataHeap);
34614#ifndef DOCUMENTATION
34615AsmCilMetadataHeap.useSmallHeader(
true);
34618DECLARE_HEADERS(AsmCilMetadataHeap);
34619#if defined(SgAsmCilMetadataHeap_HEADERS) || defined(DOCUMENTATION)
34620#ifdef ROSE_SgAsmCilMetadataHeap_IMPL
34621#include <SgAsmCilAssemblyTable.h>
34622#include <SgAsmCilAssemblyOSTable.h>
34623#include <SgAsmCilAssemblyProcessorTable.h>
34624#include <SgAsmCilAssemblyRefTable.h>
34625#include <SgAsmCilAssemblyRefOSTable.h>
34626#include <SgAsmCilAssemblyRefProcessorTable.h>
34627#include <SgAsmCilClassLayoutTable.h>
34628#include <SgAsmCilConstantTable.h>
34629#include <SgAsmCilCustomAttributeTable.h>
34630#include <SgAsmCilDeclSecurityTable.h>
34631#include <SgAsmCilEventTable.h>
34632#include <SgAsmCilEventMapTable.h>
34633#include <SgAsmCilExportedTypeTable.h>
34634#include <SgAsmCilFieldTable.h>
34635#include <SgAsmCilFieldLayoutTable.h>
34636#include <SgAsmCilFieldMarshalTable.h>
34637#include <SgAsmCilFieldRVATable.h>
34638#include <SgAsmCilFileTable.h>
34639#include <SgAsmCilGenericParamTable.h>
34640#include <SgAsmCilGenericParamConstraintTable.h>
34641#include <SgAsmCilImplMapTable.h>
34642#include <SgAsmCilInterfaceImplTable.h>
34643#include <SgAsmCilManifestResourceTable.h>
34644#include <SgAsmCilMemberRefTable.h>
34645#include <SgAsmCilMethodDefTable.h>
34646#include <SgAsmCilMethodImplTable.h>
34647#include <SgAsmCilMethodSemanticsTable.h>
34648#include <SgAsmCilMethodSpecTable.h>
34649#include <SgAsmCilModuleTable.h>
34650#include <SgAsmCilModuleRefTable.h>
34651#include <SgAsmCilNestedClassTable.h>
34652#include <SgAsmCilParamTable.h>
34653#include <SgAsmCilPropertyTable.h>
34654#include <SgAsmCilPropertyMapTable.h>
34655#include <SgAsmCilStandAloneSigTable.h>
34656#include <SgAsmCilTypeDefTable.h>
34657#include <SgAsmCilTypeRefTable.h>
34658#include <SgAsmCilTypeSpecTable.h>
34662#ifdef DOCUMENTATION
34667#ifndef DOCUMENTATION
34668 AsmCilMetadataHeap.setDataPrototype(
34669 "uint32_t",
"ReservedAlwaysZero",
"= 0",
34670 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34673#ifndef DOCUMENTATION
34674 AsmCilMetadataHeap.setDataPrototype(
34675 "uint8_t",
"MajorVersion",
"= 0",
34676 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34679#ifndef DOCUMENTATION
34680 AsmCilMetadataHeap.setDataPrototype(
34681 "uint8_t",
"MinorVersion",
"= 0",
34682 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34685#ifndef DOCUMENTATION
34686 AsmCilMetadataHeap.setDataPrototype(
34687 "uint8_t",
"HeapSizes",
"= 0",
34688 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34691#ifndef DOCUMENTATION
34692 AsmCilMetadataHeap.setDataPrototype(
34693 "uint8_t",
"ReservedAlwaysOne",
"= 0",
34694 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34697#ifndef DOCUMENTATION
34698 AsmCilMetadataHeap.setDataPrototype(
34699 "uint64_t",
"Valid",
"= 0",
34700 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34703#ifndef DOCUMENTATION
34704 AsmCilMetadataHeap.setDataPrototype(
34705 "uint64_t",
"Sorted",
"= 0",
34706 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34709#ifndef DOCUMENTATION
34710 AsmCilMetadataHeap.setDataPrototype(
34711 "std::vector<uint32_t>",
"NumberOfRows",
"",
34712 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34715#ifndef DOCUMENTATION
34716 AsmCilMetadataHeap.setDataPrototype(
34717 "uint64_t",
"DataSizeFlags",
"= 0",
34718 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34721#ifndef DOCUMENTATION
34722 AsmCilMetadataHeap.setDataPrototype(
34723 "SgAsmCilAssemblyTable*",
"AssemblyTable",
"",
34724 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34727#ifndef DOCUMENTATION
34728 AsmCilMetadataHeap.setDataPrototype(
34729 "SgAsmCilAssemblyOSTable*",
"AssemblyOSTable",
"",
34730 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34733#ifndef DOCUMENTATION
34734 AsmCilMetadataHeap.setDataPrototype(
34735 "SgAsmCilAssemblyProcessorTable*",
"AssemblyProcessorTable",
"",
34736 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34739#ifndef DOCUMENTATION
34740 AsmCilMetadataHeap.setDataPrototype(
34741 "SgAsmCilAssemblyRefTable*",
"AssemblyRefTable",
"",
34742 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34745#ifndef DOCUMENTATION
34746 AsmCilMetadataHeap.setDataPrototype(
34747 "SgAsmCilAssemblyRefOSTable*",
"AssemblyRefOSTable",
"",
34748 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34751#ifndef DOCUMENTATION
34752 AsmCilMetadataHeap.setDataPrototype(
34753 "SgAsmCilAssemblyRefProcessorTable*",
"AssemblyRefProcessorTable",
"",
34754 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34757#ifndef DOCUMENTATION
34758 AsmCilMetadataHeap.setDataPrototype(
34759 "SgAsmCilClassLayoutTable*",
"ClassLayoutTable",
"",
34760 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34763#ifndef DOCUMENTATION
34764 AsmCilMetadataHeap.setDataPrototype(
34765 "SgAsmCilConstantTable*",
"ConstantTable",
"",
34766 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34769#ifndef DOCUMENTATION
34770 AsmCilMetadataHeap.setDataPrototype(
34771 "SgAsmCilCustomAttributeTable*",
"CustomAttributeTable",
"",
34772 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34775#ifndef DOCUMENTATION
34776 AsmCilMetadataHeap.setDataPrototype(
34777 "SgAsmCilDeclSecurityTable*",
"DeclSecurityTable",
"",
34778 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34781#ifndef DOCUMENTATION
34782 AsmCilMetadataHeap.setDataPrototype(
34783 "SgAsmCilEventTable*",
"EventTable",
"",
34784 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34787#ifndef DOCUMENTATION
34788 AsmCilMetadataHeap.setDataPrototype(
34789 "SgAsmCilEventMapTable*",
"EventMapTable",
"",
34790 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34793#ifndef DOCUMENTATION
34794 AsmCilMetadataHeap.setDataPrototype(
34795 "SgAsmCilExportedTypeTable*",
"ExportedTypeTable",
"",
34796 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34799#ifndef DOCUMENTATION
34800 AsmCilMetadataHeap.setDataPrototype(
34801 "SgAsmCilFieldTable*",
"FieldTable",
"",
34802 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34805#ifndef DOCUMENTATION
34806 AsmCilMetadataHeap.setDataPrototype(
34807 "SgAsmCilFieldLayoutTable*",
"FieldLayoutTable",
"",
34808 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34811#ifndef DOCUMENTATION
34812 AsmCilMetadataHeap.setDataPrototype(
34813 "SgAsmCilFieldMarshalTable*",
"FieldMarshalTable",
"",
34814 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34817#ifndef DOCUMENTATION
34818 AsmCilMetadataHeap.setDataPrototype(
34819 "SgAsmCilFieldRVATable*",
"FieldRVATable",
"",
34820 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34823#ifndef DOCUMENTATION
34824 AsmCilMetadataHeap.setDataPrototype(
34825 "SgAsmCilFileTable*",
"FileTable",
"",
34826 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34829#ifndef DOCUMENTATION
34830 AsmCilMetadataHeap.setDataPrototype(
34831 "SgAsmCilGenericParamTable*",
"GenericParamTable",
"",
34832 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34835#ifndef DOCUMENTATION
34836 AsmCilMetadataHeap.setDataPrototype(
34837 "SgAsmCilGenericParamConstraintTable*",
"GenericParamConstraintTable",
"",
34838 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34841#ifndef DOCUMENTATION
34842 AsmCilMetadataHeap.setDataPrototype(
34843 "SgAsmCilImplMapTable*",
"ImplMapTable",
"",
34844 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34847#ifndef DOCUMENTATION
34848 AsmCilMetadataHeap.setDataPrototype(
34849 "SgAsmCilInterfaceImplTable*",
"InterfaceImplTable",
"",
34850 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34853#ifndef DOCUMENTATION
34854 AsmCilMetadataHeap.setDataPrototype(
34855 "SgAsmCilManifestResourceTable*",
"ManifestResourceTable",
"",
34856 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34859#ifndef DOCUMENTATION
34860 AsmCilMetadataHeap.setDataPrototype(
34861 "SgAsmCilMemberRefTable*",
"MemberRefTable",
"",
34862 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34865#ifndef DOCUMENTATION
34866 AsmCilMetadataHeap.setDataPrototype(
34867 "SgAsmCilMethodDefTable*",
"MethodDefTable",
"",
34868 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34871#ifndef DOCUMENTATION
34872 AsmCilMetadataHeap.setDataPrototype(
34873 "SgAsmCilMethodImplTable*",
"MethodImplTable",
"",
34874 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34877#ifndef DOCUMENTATION
34878 AsmCilMetadataHeap.setDataPrototype(
34879 "SgAsmCilMethodSemanticsTable*",
"MethodSemanticsTable",
"",
34880 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34883#ifndef DOCUMENTATION
34884 AsmCilMetadataHeap.setDataPrototype(
34885 "SgAsmCilMethodSpecTable*",
"MethodSpecTable",
"",
34886 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34889#ifndef DOCUMENTATION
34890 AsmCilMetadataHeap.setDataPrototype(
34891 "SgAsmCilModuleTable*",
"ModuleTable",
"",
34892 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34895#ifndef DOCUMENTATION
34896 AsmCilMetadataHeap.setDataPrototype(
34897 "SgAsmCilModuleRefTable*",
"ModuleRefTable",
"",
34898 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34901#ifndef DOCUMENTATION
34902 AsmCilMetadataHeap.setDataPrototype(
34903 "SgAsmCilNestedClassTable*",
"NestedClassTable",
"",
34904 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34907#ifndef DOCUMENTATION
34908 AsmCilMetadataHeap.setDataPrototype(
34909 "SgAsmCilParamTable*",
"ParamTable",
"",
34910 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34913#ifndef DOCUMENTATION
34914 AsmCilMetadataHeap.setDataPrototype(
34915 "SgAsmCilPropertyTable*",
"PropertyTable",
"",
34916 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34919#ifndef DOCUMENTATION
34920 AsmCilMetadataHeap.setDataPrototype(
34921 "SgAsmCilPropertyMapTable*",
"PropertyMapTable",
"",
34922 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34925#ifndef DOCUMENTATION
34926 AsmCilMetadataHeap.setDataPrototype(
34927 "SgAsmCilStandAloneSigTable*",
"StandAloneSigTable",
"",
34928 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34931#ifndef DOCUMENTATION
34932 AsmCilMetadataHeap.setDataPrototype(
34933 "SgAsmCilTypeDefTable*",
"TypeDefTable",
"",
34934 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34937#ifndef DOCUMENTATION
34938 AsmCilMetadataHeap.setDataPrototype(
34939 "SgAsmCilTypeRefTable*",
"TypeRefTable",
"",
34940 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34943#ifndef DOCUMENTATION
34944 AsmCilMetadataHeap.setDataPrototype(
34945 "SgAsmCilTypeSpecTable*",
"TypeSpecTable",
"",
34946 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34949 DECLARE_OTHERS(AsmCilMetadataHeap);
34950#if defined(SgAsmCilMetadataHeap_OTHERS) || defined(DOCUMENTATION)
34953#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
34955 friend class boost::serialization::access;
34958 void serialize(S &s,
const unsigned ) {
34961 s & BOOST_SERIALIZATION_NVP(p_ReservedAlwaysZero);
34962 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
34963 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
34964 s & BOOST_SERIALIZATION_NVP(p_HeapSizes);
34965 s & BOOST_SERIALIZATION_NVP(p_ReservedAlwaysOne);
34966 s & BOOST_SERIALIZATION_NVP(p_Valid);
34967 s & BOOST_SERIALIZATION_NVP(p_Sorted);
34968 s & BOOST_SERIALIZATION_NVP(p_NumberOfRows);
34969 s & BOOST_SERIALIZATION_NVP(p_DataSizeFlags);
34970 s & BOOST_SERIALIZATION_NVP(p_AssemblyTable);
34971 s & BOOST_SERIALIZATION_NVP(p_AssemblyOSTable);
34972 s & BOOST_SERIALIZATION_NVP(p_AssemblyProcessorTable);
34973 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefTable);
34974 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefOSTable);
34975 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefProcessorTable);
34976 s & BOOST_SERIALIZATION_NVP(p_ClassLayoutTable);
34977 s & BOOST_SERIALIZATION_NVP(p_ConstantTable);
34978 s & BOOST_SERIALIZATION_NVP(p_CustomAttributeTable);
34979 s & BOOST_SERIALIZATION_NVP(p_DeclSecurityTable);
34980 s & BOOST_SERIALIZATION_NVP(p_EventTable);
34981 s & BOOST_SERIALIZATION_NVP(p_EventMapTable);
34982 s & BOOST_SERIALIZATION_NVP(p_ExportedTypeTable);
34983 s & BOOST_SERIALIZATION_NVP(p_FieldTable);
34984 s & BOOST_SERIALIZATION_NVP(p_FieldLayoutTable);
34985 s & BOOST_SERIALIZATION_NVP(p_FieldMarshalTable);
34986 s & BOOST_SERIALIZATION_NVP(p_FieldRVATable);
34987 s & BOOST_SERIALIZATION_NVP(p_FileTable);
34988 s & BOOST_SERIALIZATION_NVP(p_GenericParamTable);
34989 s & BOOST_SERIALIZATION_NVP(p_GenericParamConstraintTable);
34990 s & BOOST_SERIALIZATION_NVP(p_ImplMapTable);
34991 s & BOOST_SERIALIZATION_NVP(p_InterfaceImplTable);
34992 s & BOOST_SERIALIZATION_NVP(p_ManifestResourceTable);
34993 s & BOOST_SERIALIZATION_NVP(p_MemberRefTable);
34994 s & BOOST_SERIALIZATION_NVP(p_MethodDefTable);
34995 s & BOOST_SERIALIZATION_NVP(p_MethodImplTable);
34996 s & BOOST_SERIALIZATION_NVP(p_MethodSemanticsTable);
34997 s & BOOST_SERIALIZATION_NVP(p_MethodSpecTable);
34998 s & BOOST_SERIALIZATION_NVP(p_ModuleTable);
34999 s & BOOST_SERIALIZATION_NVP(p_ModuleRefTable);
35000 s & BOOST_SERIALIZATION_NVP(p_NestedClassTable);
35001 s & BOOST_SERIALIZATION_NVP(p_ParamTable);
35002 s & BOOST_SERIALIZATION_NVP(p_PropertyTable);
35003 s & BOOST_SERIALIZATION_NVP(p_PropertyMapTable);
35004 s & BOOST_SERIALIZATION_NVP(p_StandAloneSigTable);
35005 s & BOOST_SERIALIZATION_NVP(p_TypeDefTable);
35006 s & BOOST_SERIALIZATION_NVP(p_TypeRefTable);
35007 s & BOOST_SERIALIZATION_NVP(p_TypeSpecTable);
35392 e_ref_string_heap = 1 << 0,
35393 e_ref_guid_heap = 1 << 1,
35394 e_ref_blob_heap = 1 << 2,
35396 e_ref_assembly_ref = 1 << 3,
35397 e_ref_type_def = 1 << 4,
35398 e_ref_event = 1 << 5,
35399 e_ref_field = 1 << 6,
35400 e_ref_generic_param = 1 << 7,
35401 e_ref_module_ref = 1 << 8,
35402 e_ref_method_def = 1 << 9,
35403 e_ref_param = 1 << 10,
35404 e_ref_property = 1 << 11,
35406 e_ref_has_constant = 1 << 12,
35407 e_ref_has_custom_attribute = 1 << 13,
35408 e_ref_has_decl_security = 1 << 14,
35409 e_ref_has_field_marshall = 1 << 15,
35410 e_ref_has_semantics = 1 << 16,
35411 e_ref_method_def_or_ref = 1 << 17,
35412 e_ref_type_def_or_ref = 1 << 18,
35413 e_ref_implementation = 1 << 19,
35414 e_ref_member_forwarded = 1 << 20,
35415 e_ref_member_ref_parent = 1 << 21,
35416 e_ref_type_or_method_def = 1 << 22,
35417 e_ref_custom_attribute_type = 1 << 23,
35418 e_ref_resolution_scope = 1 << 24,
35419 e_ref_last = 1 << 25,
35422 enum TableKind : std::uint8_t
35426 e_AssemblyOS = 0x22,
35427 e_AssemblyProcessor = 0x21,
35428 e_AssemblyRef = 0x23,
35429 e_AssemblyRefOS = 0x25,
35430 e_AssemblyRefProcessor = 0x24,
35431 e_ClassLayout = 0x0F,
35433 e_CustomAttribute = 0x0C,
35434 e_DeclSecurity = 0x0E,
35437 e_ExportedType = 0x27,
35439 e_FieldLayout = 0x10,
35440 e_FieldMarshal = 0x0D,
35443 e_GenericParam = 0x2A,
35444 e_GenericParamConstraint = 0x2C,
35446 e_InterfaceImpl = 0x09,
35447 e_ManifestResource = 0x28,
35448 e_MemberRef = 0x0A,
35449 e_MethodDef = 0x06,
35450 e_MethodImpl = 0x19,
35451 e_MethodSemantics = 0x18,
35452 e_MethodSpec = 0x2B,
35454 e_ModuleRef = 0x1A,
35455 e_NestedClass = 0x29,
35458 e_PropertyMap = 0x15,
35459 e_StandAloneSig = 0x11,
35463 e_Unknown_table_kind = 0xFF
35467 void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
35470 void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const override;
35473 void dump(std::ostream& os)
const override;
35502 uint32_t
const& Size,
35503 std::string
const& Name,
35504 uint32_t
const& NamePadding);
35515#ifdef DOCUMENTATION
35524DECLARE_LEAF_CLASS(AsmCilMemberRefTable);
35525IS_SERIALIZABLE(AsmCilMemberRefTable);
35527#ifndef DOCUMENTATION
35528AsmCilMemberRefTable.useSmallHeader(
true);
35531#ifdef DOCUMENTATION
35536#ifndef DOCUMENTATION
35537 AsmCilMemberRefTable.setDataPrototype(
35538 "std::vector<SgAsmCilMemberRef*>",
"elements",
"",
35539 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35542 DECLARE_OTHERS(AsmCilMemberRefTable);
35543#if defined(SgAsmCilMemberRefTable_OTHERS) || defined(DOCUMENTATION)
35546#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35548 friend class boost::serialization::access;
35551 void serialize(S &s,
const unsigned ) {
35554 s & BOOST_SERIALIZATION_NVP(p_elements);
35560 std::vector<SgAsmCilMemberRef*>
const& get_elements()
const;
35561 std::vector<SgAsmCilMemberRef*>& get_elements();
35581#ifdef DOCUMENTATION
35590DECLARE_LEAF_CLASS(AsmCilMemberRef);
35591IS_SERIALIZABLE(AsmCilMemberRef);
35593#ifndef DOCUMENTATION
35594AsmCilMemberRef.useSmallHeader(
true);
35597#ifdef DOCUMENTATION
35602#ifndef DOCUMENTATION
35603 AsmCilMemberRef.setDataPrototype(
35604 "uint32_t",
"Class",
"= 0",
35605 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35608#ifndef DOCUMENTATION
35609 AsmCilMemberRef.setDataPrototype(
35610 "uint32_t",
"Name",
"= 0",
35611 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35614#ifndef DOCUMENTATION
35615 AsmCilMemberRef.setDataPrototype(
35616 "uint32_t",
"Signature",
"= 0",
35617 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35620 DECLARE_OTHERS(AsmCilMemberRef);
35621#if defined(SgAsmCilMemberRef_OTHERS) || defined(DOCUMENTATION)
35624#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35626 friend class boost::serialization::access;
35629 void serialize(S &s,
const unsigned ) {
35632 s & BOOST_SERIALIZATION_NVP(p_Class);
35633 s & BOOST_SERIALIZATION_NVP(p_Name);
35634 s & BOOST_SERIALIZATION_NVP(p_Signature);
35669 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
35670 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
35671 void dump(std::ostream&)
const;
35674 const std::uint8_t* get_Name_string()
const;
35675 const std::uint8_t* get_Signature_blob()
const;
35693#ifdef DOCUMENTATION
35702DECLARE_LEAF_CLASS(AsmCilManifestResourceTable);
35703IS_SERIALIZABLE(AsmCilManifestResourceTable);
35705#ifndef DOCUMENTATION
35706AsmCilManifestResourceTable.useSmallHeader(
true);
35709#ifdef DOCUMENTATION
35714#ifndef DOCUMENTATION
35715 AsmCilManifestResourceTable.setDataPrototype(
35716 "std::vector<SgAsmCilManifestResource*>",
"elements",
"",
35717 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35720 DECLARE_OTHERS(AsmCilManifestResourceTable);
35721#if defined(SgAsmCilManifestResourceTable_OTHERS) || defined(DOCUMENTATION)
35724#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35726 friend class boost::serialization::access;
35729 void serialize(S &s,
const unsigned ) {
35732 s & BOOST_SERIALIZATION_NVP(p_elements);
35738 std::vector<SgAsmCilManifestResource*>
const& get_elements()
const;
35739 std::vector<SgAsmCilManifestResource*>& get_elements();
35759#ifdef DOCUMENTATION
35768DECLARE_LEAF_CLASS(AsmCilManifestResource);
35769IS_SERIALIZABLE(AsmCilManifestResource);
35771#ifndef DOCUMENTATION
35772AsmCilManifestResource.useSmallHeader(
true);
35775#ifdef DOCUMENTATION
35780#ifndef DOCUMENTATION
35781 AsmCilManifestResource.setDataPrototype(
35782 "uint32_t",
"Offset",
"= 0",
35783 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35786#ifndef DOCUMENTATION
35787 AsmCilManifestResource.setDataPrototype(
35788 "uint32_t",
"Flags",
"= 0",
35789 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35792#ifndef DOCUMENTATION
35793 AsmCilManifestResource.setDataPrototype(
35794 "uint32_t",
"Name",
"= 0",
35795 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35798#ifndef DOCUMENTATION
35799 AsmCilManifestResource.setDataPrototype(
35800 "uint32_t",
"Implementation",
"= 0",
35801 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35804 DECLARE_OTHERS(AsmCilManifestResource);
35805#if defined(SgAsmCilManifestResource_OTHERS) || defined(DOCUMENTATION)
35808#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35810 friend class boost::serialization::access;
35813 void serialize(S &s,
const unsigned ) {
35816 s & BOOST_SERIALIZATION_NVP(p_Offset);
35817 s & BOOST_SERIALIZATION_NVP(p_Flags);
35818 s & BOOST_SERIALIZATION_NVP(p_Name);
35819 s & BOOST_SERIALIZATION_NVP(p_Implementation);
35864 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
35865 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
35866 void dump(std::ostream&)
const;
35868 const std::uint8_t* get_Name_string()
const;
35887#ifdef DOCUMENTATION
35896DECLARE_LEAF_CLASS(AsmCilInterfaceImplTable);
35897IS_SERIALIZABLE(AsmCilInterfaceImplTable);
35899#ifndef DOCUMENTATION
35900AsmCilInterfaceImplTable.useSmallHeader(
true);
35903#ifdef DOCUMENTATION
35908#ifndef DOCUMENTATION
35909 AsmCilInterfaceImplTable.setDataPrototype(
35910 "std::vector<SgAsmCilInterfaceImpl*>",
"elements",
"",
35911 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35914 DECLARE_OTHERS(AsmCilInterfaceImplTable);
35915#if defined(SgAsmCilInterfaceImplTable_OTHERS) || defined(DOCUMENTATION)
35918#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35920 friend class boost::serialization::access;
35923 void serialize(S &s,
const unsigned ) {
35926 s & BOOST_SERIALIZATION_NVP(p_elements);
35932 std::vector<SgAsmCilInterfaceImpl*>
const& get_elements()
const;
35933 std::vector<SgAsmCilInterfaceImpl*>& get_elements();
35953#ifdef DOCUMENTATION
35962DECLARE_LEAF_CLASS(AsmCilInterfaceImpl);
35963IS_SERIALIZABLE(AsmCilInterfaceImpl);
35965#ifndef DOCUMENTATION
35966AsmCilInterfaceImpl.useSmallHeader(
true);
35969#ifdef DOCUMENTATION
35974#ifndef DOCUMENTATION
35975 AsmCilInterfaceImpl.setDataPrototype(
35976 "uint32_t",
"Class",
"= 0",
35977 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35980#ifndef DOCUMENTATION
35981 AsmCilInterfaceImpl.setDataPrototype(
35982 "uint32_t",
"Interface",
"= 0",
35983 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35986 DECLARE_OTHERS(AsmCilInterfaceImpl);
35987#if defined(SgAsmCilInterfaceImpl_OTHERS) || defined(DOCUMENTATION)
35990#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
35992 friend class boost::serialization::access;
35995 void serialize(S &s,
const unsigned ) {
35998 s & BOOST_SERIALIZATION_NVP(p_Class);
35999 s & BOOST_SERIALIZATION_NVP(p_Interface);
36024 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36025 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
36026 void dump(std::ostream&)
const;
36047#ifdef DOCUMENTATION
36056DECLARE_LEAF_CLASS(AsmCilInstruction);
36057IS_SERIALIZABLE(AsmCilInstruction);
36059#ifndef DOCUMENTATION
36060AsmCilInstruction.useSmallHeader(
true);
36063DECLARE_HEADERS(AsmCilInstruction);
36064#if defined(SgAsmCilInstruction_HEADERS) || defined(DOCUMENTATION)
36065#include <Rose/BinaryAnalysis/InstructionEnumsCil.h>
36068#ifdef DOCUMENTATION
36072#ifndef DOCUMENTATION
36073 AsmCilInstruction.setDataPrototype(
36074 "Rose::BinaryAnalysis::CilInstructionKind",
"kind",
"= Rose::BinaryAnalysis::Cil_unknown_instruction",
36075 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36078 DECLARE_OTHERS(AsmCilInstruction);
36079#if defined(SgAsmCilInstruction_OTHERS) || defined(DOCUMENTATION)
36082#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36084 friend class boost::serialization::access;
36087 void serialize(S &s,
const unsigned ) {
36090 s & BOOST_SERIALIZATION_NVP(p_kind);
36102 Rose::BinaryAnalysis::CilInstructionKind
const&
get_kind()
const;
36103 void set_kind(Rose::BinaryAnalysis::CilInstructionKind
const&);
36119 uint8_t
const& architectureId,
36120 Rose::BinaryAnalysis::CilInstructionKind
const& kind);
36131#ifdef DOCUMENTATION
36140DECLARE_LEAF_CLASS(AsmCilImplMapTable);
36141IS_SERIALIZABLE(AsmCilImplMapTable);
36143#ifndef DOCUMENTATION
36144AsmCilImplMapTable.useSmallHeader(
true);
36147#ifdef DOCUMENTATION
36152#ifndef DOCUMENTATION
36153 AsmCilImplMapTable.setDataPrototype(
36154 "std::vector<SgAsmCilImplMap*>",
"elements",
"",
36155 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36158 DECLARE_OTHERS(AsmCilImplMapTable);
36159#if defined(SgAsmCilImplMapTable_OTHERS) || defined(DOCUMENTATION)
36162#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36164 friend class boost::serialization::access;
36167 void serialize(S &s,
const unsigned ) {
36170 s & BOOST_SERIALIZATION_NVP(p_elements);
36176 std::vector<SgAsmCilImplMap*>
const& get_elements()
const;
36177 std::vector<SgAsmCilImplMap*>& get_elements();
36197#ifdef DOCUMENTATION
36206DECLARE_LEAF_CLASS(AsmCilImplMap);
36207IS_SERIALIZABLE(AsmCilImplMap);
36209#ifndef DOCUMENTATION
36210AsmCilImplMap.useSmallHeader(
true);
36213#ifdef DOCUMENTATION
36218#ifndef DOCUMENTATION
36219 AsmCilImplMap.setDataPrototype(
36220 "uint16_t",
"MappingFlags",
"= 0",
36221 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36224#ifndef DOCUMENTATION
36225 AsmCilImplMap.setDataPrototype(
36226 "uint32_t",
"MemberForwarded",
"= 0",
36227 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36230#ifndef DOCUMENTATION
36231 AsmCilImplMap.setDataPrototype(
36232 "uint32_t",
"ImportName",
"= 0",
36233 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36236#ifndef DOCUMENTATION
36237 AsmCilImplMap.setDataPrototype(
36238 "uint32_t",
"ImportScope",
"= 0",
36239 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36242 DECLARE_OTHERS(AsmCilImplMap);
36243#if defined(SgAsmCilImplMap_OTHERS) || defined(DOCUMENTATION)
36246#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36248 friend class boost::serialization::access;
36251 void serialize(S &s,
const unsigned ) {
36254 s & BOOST_SERIALIZATION_NVP(p_MappingFlags);
36255 s & BOOST_SERIALIZATION_NVP(p_MemberForwarded);
36256 s & BOOST_SERIALIZATION_NVP(p_ImportName);
36257 s & BOOST_SERIALIZATION_NVP(p_ImportScope);
36302 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36303 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
36304 void dump(std::ostream&)
const;
36307 const std::uint8_t* get_ImportName_string()
const;
36326#ifdef DOCUMENTATION
36335DECLARE_LEAF_CLASS(AsmCilGenericParamTable);
36336IS_SERIALIZABLE(AsmCilGenericParamTable);
36338#ifndef DOCUMENTATION
36339AsmCilGenericParamTable.useSmallHeader(
true);
36342#ifdef DOCUMENTATION
36347#ifndef DOCUMENTATION
36348 AsmCilGenericParamTable.setDataPrototype(
36349 "std::vector<SgAsmCilGenericParam*>",
"elements",
"",
36350 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36353 DECLARE_OTHERS(AsmCilGenericParamTable);
36354#if defined(SgAsmCilGenericParamTable_OTHERS) || defined(DOCUMENTATION)
36357#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36359 friend class boost::serialization::access;
36362 void serialize(S &s,
const unsigned ) {
36365 s & BOOST_SERIALIZATION_NVP(p_elements);
36371 std::vector<SgAsmCilGenericParam*>
const& get_elements()
const;
36372 std::vector<SgAsmCilGenericParam*>& get_elements();
36392#ifdef DOCUMENTATION
36401DECLARE_LEAF_CLASS(AsmCilGenericParam);
36402IS_SERIALIZABLE(AsmCilGenericParam);
36404#ifndef DOCUMENTATION
36405AsmCilGenericParam.useSmallHeader(
true);
36408#ifdef DOCUMENTATION
36413#ifndef DOCUMENTATION
36414 AsmCilGenericParam.setDataPrototype(
36415 "uint16_t",
"Number",
"= 0",
36416 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36419#ifndef DOCUMENTATION
36420 AsmCilGenericParam.setDataPrototype(
36421 "uint16_t",
"Flags",
"= 0",
36422 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36425#ifndef DOCUMENTATION
36426 AsmCilGenericParam.setDataPrototype(
36427 "uint32_t",
"Owner",
"= 0",
36428 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36431#ifndef DOCUMENTATION
36432 AsmCilGenericParam.setDataPrototype(
36433 "uint32_t",
"Name",
"= 0",
36434 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36437 DECLARE_OTHERS(AsmCilGenericParam);
36438#if defined(SgAsmCilGenericParam_OTHERS) || defined(DOCUMENTATION)
36441#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36443 friend class boost::serialization::access;
36446 void serialize(S &s,
const unsigned ) {
36449 s & BOOST_SERIALIZATION_NVP(p_Number);
36450 s & BOOST_SERIALIZATION_NVP(p_Flags);
36451 s & BOOST_SERIALIZATION_NVP(p_Owner);
36452 s & BOOST_SERIALIZATION_NVP(p_Name);
36497 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36498 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
36499 void dump(std::ostream&)
const;
36502 const std::uint8_t* get_Name_string()
const;
36520#ifdef DOCUMENTATION
36529DECLARE_LEAF_CLASS(AsmCilGenericParamConstraintTable);
36530IS_SERIALIZABLE(AsmCilGenericParamConstraintTable);
36532#ifndef DOCUMENTATION
36533AsmCilGenericParamConstraintTable.useSmallHeader(
true);
36536#ifdef DOCUMENTATION
36541#ifndef DOCUMENTATION
36542 AsmCilGenericParamConstraintTable.setDataPrototype(
36543 "std::vector<SgAsmCilGenericParamConstraint*>",
"elements",
"",
36544 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36547 DECLARE_OTHERS(AsmCilGenericParamConstraintTable);
36548#if defined(SgAsmCilGenericParamConstraintTable_OTHERS) || defined(DOCUMENTATION)
36551#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36553 friend class boost::serialization::access;
36556 void serialize(S &s,
const unsigned ) {
36559 s & BOOST_SERIALIZATION_NVP(p_elements);
36565 std::vector<SgAsmCilGenericParamConstraint*>
const& get_elements()
const;
36566 std::vector<SgAsmCilGenericParamConstraint*>& get_elements();
36586#ifdef DOCUMENTATION
36595DECLARE_LEAF_CLASS(AsmCilGenericParamConstraint);
36596IS_SERIALIZABLE(AsmCilGenericParamConstraint);
36598#ifndef DOCUMENTATION
36599AsmCilGenericParamConstraint.useSmallHeader(
true);
36602#ifdef DOCUMENTATION
36607#ifndef DOCUMENTATION
36608 AsmCilGenericParamConstraint.setDataPrototype(
36609 "uint32_t",
"Owner",
"= 0",
36610 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36613#ifndef DOCUMENTATION
36614 AsmCilGenericParamConstraint.setDataPrototype(
36615 "uint32_t",
"Constraint",
"= 0",
36616 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36619 DECLARE_OTHERS(AsmCilGenericParamConstraint);
36620#if defined(SgAsmCilGenericParamConstraint_OTHERS) || defined(DOCUMENTATION)
36623#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36625 friend class boost::serialization::access;
36628 void serialize(S &s,
const unsigned ) {
36631 s & BOOST_SERIALIZATION_NVP(p_Owner);
36632 s & BOOST_SERIALIZATION_NVP(p_Constraint);
36657 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36658 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
36659 void dump(std::ostream&)
const;
36680#ifdef DOCUMENTATION
36689DECLARE_LEAF_CLASS(AsmCilFileTable);
36690IS_SERIALIZABLE(AsmCilFileTable);
36692#ifndef DOCUMENTATION
36693AsmCilFileTable.useSmallHeader(
true);
36696#ifdef DOCUMENTATION
36701#ifndef DOCUMENTATION
36702 AsmCilFileTable.setDataPrototype(
36703 "std::vector<SgAsmCilFile*>",
"elements",
"",
36704 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36707 DECLARE_OTHERS(AsmCilFileTable);
36708#if defined(SgAsmCilFileTable_OTHERS) || defined(DOCUMENTATION)
36711#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36713 friend class boost::serialization::access;
36716 void serialize(S &s,
const unsigned ) {
36719 s & BOOST_SERIALIZATION_NVP(p_elements);
36725 std::vector<SgAsmCilFile*>
const& get_elements()
const;
36726 std::vector<SgAsmCilFile*>& get_elements();
36746#ifdef DOCUMENTATION
36755DECLARE_LEAF_CLASS(AsmCilFile);
36756IS_SERIALIZABLE(AsmCilFile);
36758#ifndef DOCUMENTATION
36759AsmCilFile.useSmallHeader(
true);
36762#ifdef DOCUMENTATION
36767#ifndef DOCUMENTATION
36768 AsmCilFile.setDataPrototype(
36769 "uint32_t",
"Flags",
"= 0",
36770 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36773#ifndef DOCUMENTATION
36774 AsmCilFile.setDataPrototype(
36775 "uint32_t",
"Name",
"= 0",
36776 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36779#ifndef DOCUMENTATION
36780 AsmCilFile.setDataPrototype(
36781 "uint32_t",
"HashValue",
"= 0",
36782 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36785 DECLARE_OTHERS(AsmCilFile);
36786#if defined(SgAsmCilFile_OTHERS) || defined(DOCUMENTATION)
36789#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36791 friend class boost::serialization::access;
36794 void serialize(S &s,
const unsigned ) {
36797 s & BOOST_SERIALIZATION_NVP(p_Flags);
36798 s & BOOST_SERIALIZATION_NVP(p_Name);
36799 s & BOOST_SERIALIZATION_NVP(p_HashValue);
36834 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36835 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
36836 void dump(std::ostream&)
const;
36838 const std::uint8_t* get_Name_string()
const;
36839 const std::uint8_t* get_HashValue_blob()
const;
36857#ifdef DOCUMENTATION
36866DECLARE_LEAF_CLASS(AsmCilFieldTable);
36867IS_SERIALIZABLE(AsmCilFieldTable);
36869#ifndef DOCUMENTATION
36870AsmCilFieldTable.useSmallHeader(
true);
36873#ifdef DOCUMENTATION
36878#ifndef DOCUMENTATION
36879 AsmCilFieldTable.setDataPrototype(
36880 "std::vector<SgAsmCilField*>",
"elements",
"",
36881 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36884 DECLARE_OTHERS(AsmCilFieldTable);
36885#if defined(SgAsmCilFieldTable_OTHERS) || defined(DOCUMENTATION)
36888#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36890 friend class boost::serialization::access;
36893 void serialize(S &s,
const unsigned ) {
36896 s & BOOST_SERIALIZATION_NVP(p_elements);
36902 std::vector<SgAsmCilField*>
const& get_elements()
const;
36903 std::vector<SgAsmCilField*>& get_elements();
36923#ifdef DOCUMENTATION
36932DECLARE_LEAF_CLASS(AsmCilFieldRVATable);
36933IS_SERIALIZABLE(AsmCilFieldRVATable);
36935#ifndef DOCUMENTATION
36936AsmCilFieldRVATable.useSmallHeader(
true);
36939#ifdef DOCUMENTATION
36944#ifndef DOCUMENTATION
36945 AsmCilFieldRVATable.setDataPrototype(
36946 "std::vector<SgAsmCilFieldRVA*>",
"elements",
"",
36947 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36950 DECLARE_OTHERS(AsmCilFieldRVATable);
36951#if defined(SgAsmCilFieldRVATable_OTHERS) || defined(DOCUMENTATION)
36954#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
36956 friend class boost::serialization::access;
36959 void serialize(S &s,
const unsigned ) {
36962 s & BOOST_SERIALIZATION_NVP(p_elements);
36968 std::vector<SgAsmCilFieldRVA*>
const& get_elements()
const;
36969 std::vector<SgAsmCilFieldRVA*>& get_elements();
36989#ifdef DOCUMENTATION
36998DECLARE_LEAF_CLASS(AsmCilFieldRVA);
36999IS_SERIALIZABLE(AsmCilFieldRVA);
37001#ifndef DOCUMENTATION
37002AsmCilFieldRVA.useSmallHeader(
true);
37005#ifdef DOCUMENTATION
37010#ifndef DOCUMENTATION
37011 AsmCilFieldRVA.setDataPrototype(
37012 "uint32_t",
"RVA",
"= 0",
37013 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37016#ifndef DOCUMENTATION
37017 AsmCilFieldRVA.setDataPrototype(
37018 "uint32_t",
"Field",
"= 0",
37019 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37022 DECLARE_OTHERS(AsmCilFieldRVA);
37023#if defined(SgAsmCilFieldRVA_OTHERS) || defined(DOCUMENTATION)
37026#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37028 friend class boost::serialization::access;
37031 void serialize(S &s,
const unsigned ) {
37034 s & BOOST_SERIALIZATION_NVP(p_RVA);
37035 s & BOOST_SERIALIZATION_NVP(p_Field);
37060 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37061 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37062 void dump(std::ostream&)
const;
37082#ifdef DOCUMENTATION
37091DECLARE_LEAF_CLASS(AsmCilFieldMarshalTable);
37092IS_SERIALIZABLE(AsmCilFieldMarshalTable);
37094#ifndef DOCUMENTATION
37095AsmCilFieldMarshalTable.useSmallHeader(
true);
37098#ifdef DOCUMENTATION
37103#ifndef DOCUMENTATION
37104 AsmCilFieldMarshalTable.setDataPrototype(
37105 "std::vector<SgAsmCilFieldMarshal*>",
"elements",
"",
37106 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37109 DECLARE_OTHERS(AsmCilFieldMarshalTable);
37110#if defined(SgAsmCilFieldMarshalTable_OTHERS) || defined(DOCUMENTATION)
37113#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37115 friend class boost::serialization::access;
37118 void serialize(S &s,
const unsigned ) {
37121 s & BOOST_SERIALIZATION_NVP(p_elements);
37127 std::vector<SgAsmCilFieldMarshal*>
const& get_elements()
const;
37128 std::vector<SgAsmCilFieldMarshal*>& get_elements();
37148#ifdef DOCUMENTATION
37157DECLARE_LEAF_CLASS(AsmCilFieldMarshal);
37158IS_SERIALIZABLE(AsmCilFieldMarshal);
37160#ifndef DOCUMENTATION
37161AsmCilFieldMarshal.useSmallHeader(
true);
37164#ifdef DOCUMENTATION
37169#ifndef DOCUMENTATION
37170 AsmCilFieldMarshal.setDataPrototype(
37171 "uint32_t",
"Parent",
"= 0",
37172 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37175#ifndef DOCUMENTATION
37176 AsmCilFieldMarshal.setDataPrototype(
37177 "uint32_t",
"NativeType",
"= 0",
37178 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37181 DECLARE_OTHERS(AsmCilFieldMarshal);
37182#if defined(SgAsmCilFieldMarshal_OTHERS) || defined(DOCUMENTATION)
37185#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37187 friend class boost::serialization::access;
37190 void serialize(S &s,
const unsigned ) {
37193 s & BOOST_SERIALIZATION_NVP(p_Parent);
37194 s & BOOST_SERIALIZATION_NVP(p_NativeType);
37219 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37220 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37221 void dump(std::ostream&)
const;
37224 const std::uint8_t* get_NativeType_blob()
const;
37242#ifdef DOCUMENTATION
37251DECLARE_LEAF_CLASS(AsmCilFieldLayoutTable);
37252IS_SERIALIZABLE(AsmCilFieldLayoutTable);
37254#ifndef DOCUMENTATION
37255AsmCilFieldLayoutTable.useSmallHeader(
true);
37258#ifdef DOCUMENTATION
37263#ifndef DOCUMENTATION
37264 AsmCilFieldLayoutTable.setDataPrototype(
37265 "std::vector<SgAsmCilFieldLayout*>",
"elements",
"",
37266 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37269 DECLARE_OTHERS(AsmCilFieldLayoutTable);
37270#if defined(SgAsmCilFieldLayoutTable_OTHERS) || defined(DOCUMENTATION)
37273#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37275 friend class boost::serialization::access;
37278 void serialize(S &s,
const unsigned ) {
37281 s & BOOST_SERIALIZATION_NVP(p_elements);
37287 std::vector<SgAsmCilFieldLayout*>
const& get_elements()
const;
37288 std::vector<SgAsmCilFieldLayout*>& get_elements();
37308#ifdef DOCUMENTATION
37317DECLARE_LEAF_CLASS(AsmCilFieldLayout);
37318IS_SERIALIZABLE(AsmCilFieldLayout);
37320#ifndef DOCUMENTATION
37321AsmCilFieldLayout.useSmallHeader(
true);
37324#ifdef DOCUMENTATION
37329#ifndef DOCUMENTATION
37330 AsmCilFieldLayout.setDataPrototype(
37331 "uint32_t",
"Offset",
"= 0",
37332 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37335#ifndef DOCUMENTATION
37336 AsmCilFieldLayout.setDataPrototype(
37337 "uint32_t",
"Field",
"= 0",
37338 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37341 DECLARE_OTHERS(AsmCilFieldLayout);
37342#if defined(SgAsmCilFieldLayout_OTHERS) || defined(DOCUMENTATION)
37345#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37347 friend class boost::serialization::access;
37350 void serialize(S &s,
const unsigned ) {
37353 s & BOOST_SERIALIZATION_NVP(p_Offset);
37354 s & BOOST_SERIALIZATION_NVP(p_Field);
37379 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37380 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37381 void dump(std::ostream&)
const;
37401#ifdef DOCUMENTATION
37410DECLARE_LEAF_CLASS(AsmCilField);
37411IS_SERIALIZABLE(AsmCilField);
37413#ifndef DOCUMENTATION
37414AsmCilField.useSmallHeader(
true);
37417#ifdef DOCUMENTATION
37422#ifndef DOCUMENTATION
37423 AsmCilField.setDataPrototype(
37424 "uint16_t",
"Flags",
"= 0",
37425 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37428#ifndef DOCUMENTATION
37429 AsmCilField.setDataPrototype(
37430 "uint32_t",
"Name",
"= 0",
37431 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37434#ifndef DOCUMENTATION
37435 AsmCilField.setDataPrototype(
37436 "uint32_t",
"Signature",
"= 0",
37437 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37440 DECLARE_OTHERS(AsmCilField);
37441#if defined(SgAsmCilField_OTHERS) || defined(DOCUMENTATION)
37444#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37446 friend class boost::serialization::access;
37449 void serialize(S &s,
const unsigned ) {
37452 s & BOOST_SERIALIZATION_NVP(p_Flags);
37453 s & BOOST_SERIALIZATION_NVP(p_Name);
37454 s & BOOST_SERIALIZATION_NVP(p_Signature);
37489 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37490 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37491 void dump(std::ostream&)
const;
37493 const std::uint8_t* get_Name_string()
const;
37494 const std::uint8_t* get_Signature_blob()
const;
37512#ifdef DOCUMENTATION
37521DECLARE_LEAF_CLASS(AsmCilExportedTypeTable);
37522IS_SERIALIZABLE(AsmCilExportedTypeTable);
37524#ifndef DOCUMENTATION
37525AsmCilExportedTypeTable.useSmallHeader(
true);
37528#ifdef DOCUMENTATION
37533#ifndef DOCUMENTATION
37534 AsmCilExportedTypeTable.setDataPrototype(
37535 "std::vector<SgAsmCilExportedType*>",
"elements",
"",
37536 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37539 DECLARE_OTHERS(AsmCilExportedTypeTable);
37540#if defined(SgAsmCilExportedTypeTable_OTHERS) || defined(DOCUMENTATION)
37543#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37545 friend class boost::serialization::access;
37548 void serialize(S &s,
const unsigned ) {
37551 s & BOOST_SERIALIZATION_NVP(p_elements);
37557 std::vector<SgAsmCilExportedType*>
const& get_elements()
const;
37558 std::vector<SgAsmCilExportedType*>& get_elements();
37578#ifdef DOCUMENTATION
37587DECLARE_LEAF_CLASS(AsmCilExportedType);
37588IS_SERIALIZABLE(AsmCilExportedType);
37590#ifndef DOCUMENTATION
37591AsmCilExportedType.useSmallHeader(
true);
37594#ifdef DOCUMENTATION
37599#ifndef DOCUMENTATION
37600 AsmCilExportedType.setDataPrototype(
37601 "uint32_t",
"EventFlags",
"= 0",
37602 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37605#ifndef DOCUMENTATION
37606 AsmCilExportedType.setDataPrototype(
37607 "uint32_t",
"TypeDefIdName",
"= 0",
37608 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37611#ifndef DOCUMENTATION
37612 AsmCilExportedType.setDataPrototype(
37613 "uint32_t",
"TypeName",
"= 0",
37614 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37617#ifndef DOCUMENTATION
37618 AsmCilExportedType.setDataPrototype(
37619 "uint32_t",
"TypeNamespace",
"= 0",
37620 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37623#ifndef DOCUMENTATION
37624 AsmCilExportedType.setDataPrototype(
37625 "uint32_t",
"Implementation",
"= 0",
37626 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37629 DECLARE_OTHERS(AsmCilExportedType);
37630#if defined(SgAsmCilExportedType_OTHERS) || defined(DOCUMENTATION)
37633#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37635 friend class boost::serialization::access;
37638 void serialize(S &s,
const unsigned ) {
37641 s & BOOST_SERIALIZATION_NVP(p_EventFlags);
37642 s & BOOST_SERIALIZATION_NVP(p_TypeDefIdName);
37643 s & BOOST_SERIALIZATION_NVP(p_TypeName);
37644 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
37645 s & BOOST_SERIALIZATION_NVP(p_Implementation);
37700 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37701 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37702 void dump(std::ostream&)
const;
37704 const std::uint8_t* get_TypeName_string()
const;
37705 const std::uint8_t* get_TypeNamespace_string()
const;
37724#ifdef DOCUMENTATION
37733DECLARE_LEAF_CLASS(AsmCilEventTable);
37734IS_SERIALIZABLE(AsmCilEventTable);
37736#ifndef DOCUMENTATION
37737AsmCilEventTable.useSmallHeader(
true);
37740#ifdef DOCUMENTATION
37745#ifndef DOCUMENTATION
37746 AsmCilEventTable.setDataPrototype(
37747 "std::vector<SgAsmCilEvent*>",
"elements",
"",
37748 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37751 DECLARE_OTHERS(AsmCilEventTable);
37752#if defined(SgAsmCilEventTable_OTHERS) || defined(DOCUMENTATION)
37755#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37757 friend class boost::serialization::access;
37760 void serialize(S &s,
const unsigned ) {
37763 s & BOOST_SERIALIZATION_NVP(p_elements);
37769 std::vector<SgAsmCilEvent*>
const& get_elements()
const;
37770 std::vector<SgAsmCilEvent*>& get_elements();
37790#ifdef DOCUMENTATION
37799DECLARE_LEAF_CLASS(AsmCilEventMapTable);
37800IS_SERIALIZABLE(AsmCilEventMapTable);
37802#ifndef DOCUMENTATION
37803AsmCilEventMapTable.useSmallHeader(
true);
37806#ifdef DOCUMENTATION
37811#ifndef DOCUMENTATION
37812 AsmCilEventMapTable.setDataPrototype(
37813 "std::vector<SgAsmCilEventMap*>",
"elements",
"",
37814 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37817 DECLARE_OTHERS(AsmCilEventMapTable);
37818#if defined(SgAsmCilEventMapTable_OTHERS) || defined(DOCUMENTATION)
37821#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37823 friend class boost::serialization::access;
37826 void serialize(S &s,
const unsigned ) {
37829 s & BOOST_SERIALIZATION_NVP(p_elements);
37835 std::vector<SgAsmCilEventMap*>
const& get_elements()
const;
37836 std::vector<SgAsmCilEventMap*>& get_elements();
37856#ifdef DOCUMENTATION
37865DECLARE_LEAF_CLASS(AsmCilEventMap);
37866IS_SERIALIZABLE(AsmCilEventMap);
37868#ifndef DOCUMENTATION
37869AsmCilEventMap.useSmallHeader(
true);
37872#ifdef DOCUMENTATION
37877#ifndef DOCUMENTATION
37878 AsmCilEventMap.setDataPrototype(
37879 "uint32_t",
"Parent",
"= 0",
37880 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37883#ifndef DOCUMENTATION
37884 AsmCilEventMap.setDataPrototype(
37885 "uint32_t",
"EventList",
"= 0",
37886 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37889 DECLARE_OTHERS(AsmCilEventMap);
37890#if defined(SgAsmCilEventMap_OTHERS) || defined(DOCUMENTATION)
37893#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37895 friend class boost::serialization::access;
37898 void serialize(S &s,
const unsigned ) {
37901 s & BOOST_SERIALIZATION_NVP(p_Parent);
37902 s & BOOST_SERIALIZATION_NVP(p_EventList);
37927 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37928 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37929 void dump(std::ostream&)
const;
37950#ifdef DOCUMENTATION
37959DECLARE_LEAF_CLASS(AsmCilEvent);
37960IS_SERIALIZABLE(AsmCilEvent);
37962#ifndef DOCUMENTATION
37963AsmCilEvent.useSmallHeader(
true);
37966#ifdef DOCUMENTATION
37971#ifndef DOCUMENTATION
37972 AsmCilEvent.setDataPrototype(
37973 "uint16_t",
"EventFlags",
"= 0",
37974 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37977#ifndef DOCUMENTATION
37978 AsmCilEvent.setDataPrototype(
37979 "uint32_t",
"Name",
"= 0",
37980 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37983#ifndef DOCUMENTATION
37984 AsmCilEvent.setDataPrototype(
37985 "uint32_t",
"EventType",
"= 0",
37986 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37989 DECLARE_OTHERS(AsmCilEvent);
37990#if defined(SgAsmCilEvent_OTHERS) || defined(DOCUMENTATION)
37993#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
37995 friend class boost::serialization::access;
37998 void serialize(S &s,
const unsigned ) {
38001 s & BOOST_SERIALIZATION_NVP(p_EventFlags);
38002 s & BOOST_SERIALIZATION_NVP(p_Name);
38003 s & BOOST_SERIALIZATION_NVP(p_EventType);
38038 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38039 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38040 void dump(std::ostream&)
const;
38042 const std::uint8_t* get_Name_string()
const;
38061#ifdef DOCUMENTATION
38070DECLARE_LEAF_CLASS(AsmCilDeclSecurityTable);
38071IS_SERIALIZABLE(AsmCilDeclSecurityTable);
38073#ifndef DOCUMENTATION
38074AsmCilDeclSecurityTable.useSmallHeader(
true);
38077#ifdef DOCUMENTATION
38082#ifndef DOCUMENTATION
38083 AsmCilDeclSecurityTable.setDataPrototype(
38084 "std::vector<SgAsmCilDeclSecurity*>",
"elements",
"",
38085 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38088 DECLARE_OTHERS(AsmCilDeclSecurityTable);
38089#if defined(SgAsmCilDeclSecurityTable_OTHERS) || defined(DOCUMENTATION)
38092#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38094 friend class boost::serialization::access;
38097 void serialize(S &s,
const unsigned ) {
38100 s & BOOST_SERIALIZATION_NVP(p_elements);
38106 std::vector<SgAsmCilDeclSecurity*>
const& get_elements()
const;
38107 std::vector<SgAsmCilDeclSecurity*>& get_elements();
38127#ifdef DOCUMENTATION
38136DECLARE_LEAF_CLASS(AsmCilDeclSecurity);
38137IS_SERIALIZABLE(AsmCilDeclSecurity);
38139#ifndef DOCUMENTATION
38140AsmCilDeclSecurity.useSmallHeader(
true);
38143#ifdef DOCUMENTATION
38148#ifndef DOCUMENTATION
38149 AsmCilDeclSecurity.setDataPrototype(
38150 "uint16_t",
"Action",
"= 0",
38151 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38154#ifndef DOCUMENTATION
38155 AsmCilDeclSecurity.setDataPrototype(
38156 "uint32_t",
"Parent",
"= 0",
38157 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38160#ifndef DOCUMENTATION
38161 AsmCilDeclSecurity.setDataPrototype(
38162 "uint32_t",
"PermissionSet",
"= 0",
38163 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38166 DECLARE_OTHERS(AsmCilDeclSecurity);
38167#if defined(SgAsmCilDeclSecurity_OTHERS) || defined(DOCUMENTATION)
38170#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38172 friend class boost::serialization::access;
38175 void serialize(S &s,
const unsigned ) {
38178 s & BOOST_SERIALIZATION_NVP(p_Action);
38179 s & BOOST_SERIALIZATION_NVP(p_Parent);
38180 s & BOOST_SERIALIZATION_NVP(p_PermissionSet);
38215 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38216 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38217 void dump(std::ostream&)
const;
38220 const std::uint8_t* get_PermissionSet_blob()
const;
38238#ifdef DOCUMENTATION
38247#ifndef DOCUMENTATION
38248AstNodeClass& AsmCilDataStream = nonTerminalConstructor(
38249 "AsmCilDataStream",
38251 "AsmCilDataStream",
38252 "AsmCilDataStreamTag",
38253 SubclassListBuilder()
38254 | AsmCilMetadataHeap
38258assert(AsmCilDataStream.associatedGrammar !=
nullptr);
38259AsmCilDataStream.setCppCondition(
"!defined(DOCUMENTATION)");
38260AsmCilDataStream.isBoostSerializable(
true);
38261AsmCilDataStream.setAutomaticGenerationOfConstructor(
false);
38262AsmCilDataStream.setAutomaticGenerationOfDestructor(
false);
38265#ifndef DOCUMENTATION
38266AsmCilDataStream.useSmallHeader(
true);
38269#ifdef DOCUMENTATION
38274#ifndef DOCUMENTATION
38275 AsmCilDataStream.setDataPrototype(
38276 "uint32_t",
"Offset",
"",
38277 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38280#ifndef DOCUMENTATION
38281 AsmCilDataStream.setDataPrototype(
38282 "uint32_t",
"Size",
"",
38283 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38286#ifndef DOCUMENTATION
38287 AsmCilDataStream.setDataPrototype(
38288 "std::string",
"Name",
"",
38289 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38292#ifndef DOCUMENTATION
38293 AsmCilDataStream.setDataPrototype(
38294 "uint32_t",
"NamePadding",
"",
38295 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38298 DECLARE_OTHERS(AsmCilDataStream);
38299#if defined(SgAsmCilDataStream_OTHERS) || defined(DOCUMENTATION)
38302#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38304 friend class boost::serialization::access;
38307 void serialize(S &s,
const unsigned ) {
38309 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
38310 s & BOOST_SERIALIZATION_NVP(p_Offset);
38311 s & BOOST_SERIALIZATION_NVP(p_Size);
38312 s & BOOST_SERIALIZATION_NVP(p_Name);
38313 s & BOOST_SERIALIZATION_NVP(p_NamePadding);
38369 virtual void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData);
38372 virtual void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const;
38375 virtual void dump(std::ostream& os)
const;
38387 uint32_t
const& Size,
38388 std::string
const& Name,
38389 uint32_t
const& NamePadding);
38400#ifdef DOCUMENTATION
38409DECLARE_LEAF_CLASS(AsmCilCustomAttributeTable);
38410IS_SERIALIZABLE(AsmCilCustomAttributeTable);
38412#ifndef DOCUMENTATION
38413AsmCilCustomAttributeTable.useSmallHeader(
true);
38416#ifdef DOCUMENTATION
38421#ifndef DOCUMENTATION
38422 AsmCilCustomAttributeTable.setDataPrototype(
38423 "std::vector<SgAsmCilCustomAttribute*>",
"elements",
"",
38424 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38427 DECLARE_OTHERS(AsmCilCustomAttributeTable);
38428#if defined(SgAsmCilCustomAttributeTable_OTHERS) || defined(DOCUMENTATION)
38431#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38433 friend class boost::serialization::access;
38436 void serialize(S &s,
const unsigned ) {
38439 s & BOOST_SERIALIZATION_NVP(p_elements);
38445 std::vector<SgAsmCilCustomAttribute*>
const& get_elements()
const;
38446 std::vector<SgAsmCilCustomAttribute*>& get_elements();
38466#ifdef DOCUMENTATION
38475DECLARE_LEAF_CLASS(AsmCilCustomAttribute);
38476IS_SERIALIZABLE(AsmCilCustomAttribute);
38478#ifndef DOCUMENTATION
38479AsmCilCustomAttribute.useSmallHeader(
true);
38482#ifdef DOCUMENTATION
38487#ifndef DOCUMENTATION
38488 AsmCilCustomAttribute.setDataPrototype(
38489 "uint32_t",
"Parent",
"= 0",
38490 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38493#ifndef DOCUMENTATION
38494 AsmCilCustomAttribute.setDataPrototype(
38495 "uint32_t",
"Type",
"= 0",
38496 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38499#ifndef DOCUMENTATION
38500 AsmCilCustomAttribute.setDataPrototype(
38501 "uint32_t",
"Value",
"= 0",
38502 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38505 DECLARE_OTHERS(AsmCilCustomAttribute);
38506#if defined(SgAsmCilCustomAttribute_OTHERS) || defined(DOCUMENTATION)
38509#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38511 friend class boost::serialization::access;
38514 void serialize(S &s,
const unsigned ) {
38517 s & BOOST_SERIALIZATION_NVP(p_Parent);
38518 s & BOOST_SERIALIZATION_NVP(p_Type);
38519 s & BOOST_SERIALIZATION_NVP(p_Value);
38554 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38555 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38556 void dump(std::ostream&)
const;
38560 const std::uint8_t* get_Value_blob()
const;
38578#ifdef DOCUMENTATION
38587DECLARE_LEAF_CLASS(AsmCilConstantTable);
38588IS_SERIALIZABLE(AsmCilConstantTable);
38590#ifndef DOCUMENTATION
38591AsmCilConstantTable.useSmallHeader(
true);
38594#ifdef DOCUMENTATION
38599#ifndef DOCUMENTATION
38600 AsmCilConstantTable.setDataPrototype(
38601 "std::vector<SgAsmCilConstant*>",
"elements",
"",
38602 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38605 DECLARE_OTHERS(AsmCilConstantTable);
38606#if defined(SgAsmCilConstantTable_OTHERS) || defined(DOCUMENTATION)
38609#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38611 friend class boost::serialization::access;
38614 void serialize(S &s,
const unsigned ) {
38617 s & BOOST_SERIALIZATION_NVP(p_elements);
38623 std::vector<SgAsmCilConstant*>
const& get_elements()
const;
38624 std::vector<SgAsmCilConstant*>& get_elements();
38644#ifdef DOCUMENTATION
38653DECLARE_LEAF_CLASS(AsmCilConstant);
38654IS_SERIALIZABLE(AsmCilConstant);
38656#ifndef DOCUMENTATION
38657AsmCilConstant.useSmallHeader(
true);
38660#ifdef DOCUMENTATION
38665#ifndef DOCUMENTATION
38666 AsmCilConstant.setDataPrototype(
38667 "uint8_t",
"Type",
"= 0",
38668 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38671#ifndef DOCUMENTATION
38672 AsmCilConstant.setDataPrototype(
38673 "uint8_t",
"Padding",
"= 0",
38674 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38677#ifndef DOCUMENTATION
38678 AsmCilConstant.setDataPrototype(
38679 "uint32_t",
"Parent",
"= 0",
38680 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38683#ifndef DOCUMENTATION
38684 AsmCilConstant.setDataPrototype(
38685 "uint32_t",
"Value",
"= 0",
38686 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38689 DECLARE_OTHERS(AsmCilConstant);
38690#if defined(SgAsmCilConstant_OTHERS) || defined(DOCUMENTATION)
38693#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38695 friend class boost::serialization::access;
38698 void serialize(S &s,
const unsigned ) {
38701 s & BOOST_SERIALIZATION_NVP(p_Type);
38702 s & BOOST_SERIALIZATION_NVP(p_Padding);
38703 s & BOOST_SERIALIZATION_NVP(p_Parent);
38704 s & BOOST_SERIALIZATION_NVP(p_Value);
38749 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38750 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38751 void dump(std::ostream&)
const;
38754 const std::uint8_t* get_Value_blob()
const;
38772#ifdef DOCUMENTATION
38781DECLARE_LEAF_CLASS(AsmCilClassLayoutTable);
38782IS_SERIALIZABLE(AsmCilClassLayoutTable);
38784#ifndef DOCUMENTATION
38785AsmCilClassLayoutTable.useSmallHeader(
true);
38788#ifdef DOCUMENTATION
38793#ifndef DOCUMENTATION
38794 AsmCilClassLayoutTable.setDataPrototype(
38795 "std::vector<SgAsmCilClassLayout*>",
"elements",
"",
38796 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38799 DECLARE_OTHERS(AsmCilClassLayoutTable);
38800#if defined(SgAsmCilClassLayoutTable_OTHERS) || defined(DOCUMENTATION)
38803#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38805 friend class boost::serialization::access;
38808 void serialize(S &s,
const unsigned ) {
38811 s & BOOST_SERIALIZATION_NVP(p_elements);
38817 std::vector<SgAsmCilClassLayout*>
const& get_elements()
const;
38818 std::vector<SgAsmCilClassLayout*>& get_elements();
38838#ifdef DOCUMENTATION
38847DECLARE_LEAF_CLASS(AsmCilClassLayout);
38848IS_SERIALIZABLE(AsmCilClassLayout);
38850#ifndef DOCUMENTATION
38851AsmCilClassLayout.useSmallHeader(
true);
38854#ifdef DOCUMENTATION
38859#ifndef DOCUMENTATION
38860 AsmCilClassLayout.setDataPrototype(
38861 "uint16_t",
"PackingSize",
"= 0",
38862 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38865#ifndef DOCUMENTATION
38866 AsmCilClassLayout.setDataPrototype(
38867 "uint32_t",
"ClassSize",
"= 0",
38868 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38871#ifndef DOCUMENTATION
38872 AsmCilClassLayout.setDataPrototype(
38873 "uint32_t",
"Parent",
"= 0",
38874 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38877 DECLARE_OTHERS(AsmCilClassLayout);
38878#if defined(SgAsmCilClassLayout_OTHERS) || defined(DOCUMENTATION)
38881#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38883 friend class boost::serialization::access;
38886 void serialize(S &s,
const unsigned ) {
38889 s & BOOST_SERIALIZATION_NVP(p_PackingSize);
38890 s & BOOST_SERIALIZATION_NVP(p_ClassSize);
38891 s & BOOST_SERIALIZATION_NVP(p_Parent);
38926 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38927 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38928 void dump(std::ostream&)
const;
38948#ifdef DOCUMENTATION
38957DECLARE_LEAF_CLASS(AsmCilAssemblyTable);
38958IS_SERIALIZABLE(AsmCilAssemblyTable);
38960#ifndef DOCUMENTATION
38961AsmCilAssemblyTable.useSmallHeader(
true);
38964#ifdef DOCUMENTATION
38969#ifndef DOCUMENTATION
38970 AsmCilAssemblyTable.setDataPrototype(
38971 "std::vector<SgAsmCilAssembly*>",
"elements",
"",
38972 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38975 DECLARE_OTHERS(AsmCilAssemblyTable);
38976#if defined(SgAsmCilAssemblyTable_OTHERS) || defined(DOCUMENTATION)
38979#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
38981 friend class boost::serialization::access;
38984 void serialize(S &s,
const unsigned ) {
38987 s & BOOST_SERIALIZATION_NVP(p_elements);
38993 std::vector<SgAsmCilAssembly*>
const& get_elements()
const;
38994 std::vector<SgAsmCilAssembly*>& get_elements();
39014#ifdef DOCUMENTATION
39023DECLARE_LEAF_CLASS(AsmCilAssemblyRefTable);
39024IS_SERIALIZABLE(AsmCilAssemblyRefTable);
39026#ifndef DOCUMENTATION
39027AsmCilAssemblyRefTable.useSmallHeader(
true);
39030#ifdef DOCUMENTATION
39035#ifndef DOCUMENTATION
39036 AsmCilAssemblyRefTable.setDataPrototype(
39037 "std::vector<SgAsmCilAssemblyRef*>",
"elements",
"",
39038 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39041 DECLARE_OTHERS(AsmCilAssemblyRefTable);
39042#if defined(SgAsmCilAssemblyRefTable_OTHERS) || defined(DOCUMENTATION)
39045#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39047 friend class boost::serialization::access;
39050 void serialize(S &s,
const unsigned ) {
39053 s & BOOST_SERIALIZATION_NVP(p_elements);
39059 std::vector<SgAsmCilAssemblyRef*>
const& get_elements()
const;
39060 std::vector<SgAsmCilAssemblyRef*>& get_elements();
39080#ifdef DOCUMENTATION
39089DECLARE_LEAF_CLASS(AsmCilAssemblyRefProcessorTable);
39090IS_SERIALIZABLE(AsmCilAssemblyRefProcessorTable);
39092#ifndef DOCUMENTATION
39093AsmCilAssemblyRefProcessorTable.useSmallHeader(
true);
39096#ifdef DOCUMENTATION
39101#ifndef DOCUMENTATION
39102 AsmCilAssemblyRefProcessorTable.setDataPrototype(
39103 "std::vector<SgAsmCilAssemblyRefProcessor*>",
"elements",
"",
39104 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39107 DECLARE_OTHERS(AsmCilAssemblyRefProcessorTable);
39108#if defined(SgAsmCilAssemblyRefProcessorTable_OTHERS) || defined(DOCUMENTATION)
39111#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39113 friend class boost::serialization::access;
39116 void serialize(S &s,
const unsigned ) {
39119 s & BOOST_SERIALIZATION_NVP(p_elements);
39125 std::vector<SgAsmCilAssemblyRefProcessor*>
const& get_elements()
const;
39126 std::vector<SgAsmCilAssemblyRefProcessor*>& get_elements();
39146#ifdef DOCUMENTATION
39155DECLARE_LEAF_CLASS(AsmCilAssemblyRefProcessor);
39156IS_SERIALIZABLE(AsmCilAssemblyRefProcessor);
39158#ifndef DOCUMENTATION
39159AsmCilAssemblyRefProcessor.useSmallHeader(
true);
39162#ifdef DOCUMENTATION
39167#ifndef DOCUMENTATION
39168 AsmCilAssemblyRefProcessor.setDataPrototype(
39169 "uint32_t",
"Processor",
"= 0",
39170 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39173#ifndef DOCUMENTATION
39174 AsmCilAssemblyRefProcessor.setDataPrototype(
39175 "uint32_t",
"AssemblyRef",
"= 0",
39176 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39179 DECLARE_OTHERS(AsmCilAssemblyRefProcessor);
39180#if defined(SgAsmCilAssemblyRefProcessor_OTHERS) || defined(DOCUMENTATION)
39183#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39185 friend class boost::serialization::access;
39188 void serialize(S &s,
const unsigned ) {
39191 s & BOOST_SERIALIZATION_NVP(p_Processor);
39192 s & BOOST_SERIALIZATION_NVP(p_AssemblyRef);
39217 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39218 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39219 void dump(std::ostream&)
const;
39239#ifdef DOCUMENTATION
39248DECLARE_LEAF_CLASS(AsmCilAssemblyRefOSTable);
39249IS_SERIALIZABLE(AsmCilAssemblyRefOSTable);
39251#ifndef DOCUMENTATION
39252AsmCilAssemblyRefOSTable.useSmallHeader(
true);
39255#ifdef DOCUMENTATION
39260#ifndef DOCUMENTATION
39261 AsmCilAssemblyRefOSTable.setDataPrototype(
39262 "std::vector<SgAsmCilAssemblyRefOS*>",
"elements",
"",
39263 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39266 DECLARE_OTHERS(AsmCilAssemblyRefOSTable);
39267#if defined(SgAsmCilAssemblyRefOSTable_OTHERS) || defined(DOCUMENTATION)
39270#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39272 friend class boost::serialization::access;
39275 void serialize(S &s,
const unsigned ) {
39278 s & BOOST_SERIALIZATION_NVP(p_elements);
39284 std::vector<SgAsmCilAssemblyRefOS*>
const& get_elements()
const;
39285 std::vector<SgAsmCilAssemblyRefOS*>& get_elements();
39305#ifdef DOCUMENTATION
39314DECLARE_LEAF_CLASS(AsmCilAssemblyRefOS);
39315IS_SERIALIZABLE(AsmCilAssemblyRefOS);
39317#ifndef DOCUMENTATION
39318AsmCilAssemblyRefOS.useSmallHeader(
true);
39321#ifdef DOCUMENTATION
39326#ifndef DOCUMENTATION
39327 AsmCilAssemblyRefOS.setDataPrototype(
39328 "uint32_t",
"OSPlatformID",
"= 0",
39329 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39332#ifndef DOCUMENTATION
39333 AsmCilAssemblyRefOS.setDataPrototype(
39334 "uint32_t",
"OSMajorVersion",
"= 0",
39335 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39338#ifndef DOCUMENTATION
39339 AsmCilAssemblyRefOS.setDataPrototype(
39340 "uint32_t",
"OSMinorVersion",
"= 0",
39341 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39344#ifndef DOCUMENTATION
39345 AsmCilAssemblyRefOS.setDataPrototype(
39346 "uint32_t",
"AssemblyRefOS",
"= 0",
39347 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39350 DECLARE_OTHERS(AsmCilAssemblyRefOS);
39351#if defined(SgAsmCilAssemblyRefOS_OTHERS) || defined(DOCUMENTATION)
39354#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39356 friend class boost::serialization::access;
39359 void serialize(S &s,
const unsigned ) {
39362 s & BOOST_SERIALIZATION_NVP(p_OSPlatformID);
39363 s & BOOST_SERIALIZATION_NVP(p_OSMajorVersion);
39364 s & BOOST_SERIALIZATION_NVP(p_OSMinorVersion);
39365 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefOS);
39410 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39411 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39412 void dump(std::ostream&)
const;
39432#ifdef DOCUMENTATION
39441DECLARE_LEAF_CLASS(AsmCilAssemblyRef);
39442IS_SERIALIZABLE(AsmCilAssemblyRef);
39444#ifndef DOCUMENTATION
39445AsmCilAssemblyRef.useSmallHeader(
true);
39448#ifdef DOCUMENTATION
39453#ifndef DOCUMENTATION
39454 AsmCilAssemblyRef.setDataPrototype(
39455 "uint16_t",
"MajorVersion",
"= 0",
39456 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39459#ifndef DOCUMENTATION
39460 AsmCilAssemblyRef.setDataPrototype(
39461 "uint16_t",
"MinorVersion",
"= 0",
39462 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39465#ifndef DOCUMENTATION
39466 AsmCilAssemblyRef.setDataPrototype(
39467 "uint16_t",
"BuildNumber",
"= 0",
39468 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39471#ifndef DOCUMENTATION
39472 AsmCilAssemblyRef.setDataPrototype(
39473 "uint16_t",
"RevisionNumber",
"= 0",
39474 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39477#ifndef DOCUMENTATION
39478 AsmCilAssemblyRef.setDataPrototype(
39479 "uint32_t",
"Flags",
"= 0",
39480 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39483#ifndef DOCUMENTATION
39484 AsmCilAssemblyRef.setDataPrototype(
39485 "uint32_t",
"PublicKeyOrToken",
"= 0",
39486 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39489#ifndef DOCUMENTATION
39490 AsmCilAssemblyRef.setDataPrototype(
39491 "uint32_t",
"Name",
"= 0",
39492 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39495#ifndef DOCUMENTATION
39496 AsmCilAssemblyRef.setDataPrototype(
39497 "uint32_t",
"Culture",
"= 0",
39498 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39501#ifndef DOCUMENTATION
39502 AsmCilAssemblyRef.setDataPrototype(
39503 "uint32_t",
"HashValue",
"= 0",
39504 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39507 DECLARE_OTHERS(AsmCilAssemblyRef);
39508#if defined(SgAsmCilAssemblyRef_OTHERS) || defined(DOCUMENTATION)
39511#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39513 friend class boost::serialization::access;
39516 void serialize(S &s,
const unsigned ) {
39519 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
39520 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
39521 s & BOOST_SERIALIZATION_NVP(p_BuildNumber);
39522 s & BOOST_SERIALIZATION_NVP(p_RevisionNumber);
39523 s & BOOST_SERIALIZATION_NVP(p_Flags);
39524 s & BOOST_SERIALIZATION_NVP(p_PublicKeyOrToken);
39525 s & BOOST_SERIALIZATION_NVP(p_Name);
39526 s & BOOST_SERIALIZATION_NVP(p_Culture);
39527 s & BOOST_SERIALIZATION_NVP(p_HashValue);
39622 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39623 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39624 void dump(std::ostream&)
const;
39626 const std::uint8_t* get_PublicKeyOrToken_blob()
const;
39627 const std::uint8_t* get_Name_string()
const;
39628 const std::uint8_t* get_Culture_string()
const;
39629 const std::uint8_t* get_HashValue_blob()
const;
39647#ifdef DOCUMENTATION
39656DECLARE_LEAF_CLASS(AsmCilAssemblyProcessorTable);
39657IS_SERIALIZABLE(AsmCilAssemblyProcessorTable);
39659#ifndef DOCUMENTATION
39660AsmCilAssemblyProcessorTable.useSmallHeader(
true);
39663#ifdef DOCUMENTATION
39668#ifndef DOCUMENTATION
39669 AsmCilAssemblyProcessorTable.setDataPrototype(
39670 "std::vector<SgAsmCilAssemblyProcessor*>",
"elements",
"",
39671 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39674 DECLARE_OTHERS(AsmCilAssemblyProcessorTable);
39675#if defined(SgAsmCilAssemblyProcessorTable_OTHERS) || defined(DOCUMENTATION)
39678#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39680 friend class boost::serialization::access;
39683 void serialize(S &s,
const unsigned ) {
39686 s & BOOST_SERIALIZATION_NVP(p_elements);
39692 std::vector<SgAsmCilAssemblyProcessor*>
const& get_elements()
const;
39693 std::vector<SgAsmCilAssemblyProcessor*>& get_elements();
39713#ifdef DOCUMENTATION
39722DECLARE_LEAF_CLASS(AsmCilAssemblyProcessor);
39723IS_SERIALIZABLE(AsmCilAssemblyProcessor);
39725#ifndef DOCUMENTATION
39726AsmCilAssemblyProcessor.useSmallHeader(
true);
39729#ifdef DOCUMENTATION
39734#ifndef DOCUMENTATION
39735 AsmCilAssemblyProcessor.setDataPrototype(
39736 "uint32_t",
"Processor",
"= 0",
39737 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39740 DECLARE_OTHERS(AsmCilAssemblyProcessor);
39741#if defined(SgAsmCilAssemblyProcessor_OTHERS) || defined(DOCUMENTATION)
39744#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39746 friend class boost::serialization::access;
39749 void serialize(S &s,
const unsigned ) {
39752 s & BOOST_SERIALIZATION_NVP(p_Processor);
39767 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39768 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39769 void dump(std::ostream&)
const;
39787#ifdef DOCUMENTATION
39796DECLARE_LEAF_CLASS(AsmCilAssemblyOSTable);
39797IS_SERIALIZABLE(AsmCilAssemblyOSTable);
39799#ifndef DOCUMENTATION
39800AsmCilAssemblyOSTable.useSmallHeader(
true);
39803#ifdef DOCUMENTATION
39808#ifndef DOCUMENTATION
39809 AsmCilAssemblyOSTable.setDataPrototype(
39810 "std::vector<SgAsmCilAssemblyOS*>",
"elements",
"",
39811 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39814 DECLARE_OTHERS(AsmCilAssemblyOSTable);
39815#if defined(SgAsmCilAssemblyOSTable_OTHERS) || defined(DOCUMENTATION)
39818#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39820 friend class boost::serialization::access;
39823 void serialize(S &s,
const unsigned ) {
39826 s & BOOST_SERIALIZATION_NVP(p_elements);
39832 std::vector<SgAsmCilAssemblyOS*>
const& get_elements()
const;
39833 std::vector<SgAsmCilAssemblyOS*>& get_elements();
39853#ifdef DOCUMENTATION
39862DECLARE_LEAF_CLASS(AsmCilAssemblyOS);
39863IS_SERIALIZABLE(AsmCilAssemblyOS);
39865#ifndef DOCUMENTATION
39866AsmCilAssemblyOS.useSmallHeader(
true);
39869#ifdef DOCUMENTATION
39874#ifndef DOCUMENTATION
39875 AsmCilAssemblyOS.setDataPrototype(
39876 "uint32_t",
"OSPlatformID",
"= 0",
39877 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39880#ifndef DOCUMENTATION
39881 AsmCilAssemblyOS.setDataPrototype(
39882 "uint32_t",
"OSMajorVersion",
"= 0",
39883 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39886#ifndef DOCUMENTATION
39887 AsmCilAssemblyOS.setDataPrototype(
39888 "uint32_t",
"OSMinorVersion",
"= 0",
39889 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39892 DECLARE_OTHERS(AsmCilAssemblyOS);
39893#if defined(SgAsmCilAssemblyOS_OTHERS) || defined(DOCUMENTATION)
39896#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
39898 friend class boost::serialization::access;
39901 void serialize(S &s,
const unsigned ) {
39904 s & BOOST_SERIALIZATION_NVP(p_OSPlatformID);
39905 s & BOOST_SERIALIZATION_NVP(p_OSMajorVersion);
39906 s & BOOST_SERIALIZATION_NVP(p_OSMinorVersion);
39941 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39942 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39943 void dump(std::ostream&)
const;
39961#ifdef DOCUMENTATION
39970DECLARE_LEAF_CLASS(AsmCilAssembly);
39971IS_SERIALIZABLE(AsmCilAssembly);
39973#ifndef DOCUMENTATION
39974AsmCilAssembly.useSmallHeader(
true);
39977#ifdef DOCUMENTATION
39982#ifndef DOCUMENTATION
39983 AsmCilAssembly.setDataPrototype(
39984 "uint32_t",
"HashAlgId",
"= 0",
39985 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39988#ifndef DOCUMENTATION
39989 AsmCilAssembly.setDataPrototype(
39990 "uint16_t",
"MajorVersion",
"= 0",
39991 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39994#ifndef DOCUMENTATION
39995 AsmCilAssembly.setDataPrototype(
39996 "uint16_t",
"MinorVersion",
"= 0",
39997 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40000#ifndef DOCUMENTATION
40001 AsmCilAssembly.setDataPrototype(
40002 "uint16_t",
"BuildNumber",
"= 0",
40003 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40006#ifndef DOCUMENTATION
40007 AsmCilAssembly.setDataPrototype(
40008 "uint16_t",
"RevisionNumber",
"= 0",
40009 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40012#ifndef DOCUMENTATION
40013 AsmCilAssembly.setDataPrototype(
40014 "uint32_t",
"Flags",
"= 0",
40015 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40018#ifndef DOCUMENTATION
40019 AsmCilAssembly.setDataPrototype(
40020 "uint32_t",
"PublicKey",
"= 0",
40021 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40024#ifndef DOCUMENTATION
40025 AsmCilAssembly.setDataPrototype(
40026 "uint32_t",
"Name",
"= 0",
40027 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40030#ifndef DOCUMENTATION
40031 AsmCilAssembly.setDataPrototype(
40032 "uint32_t",
"Culture",
"= 0",
40033 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40036 DECLARE_OTHERS(AsmCilAssembly);
40037#if defined(SgAsmCilAssembly_OTHERS) || defined(DOCUMENTATION)
40040#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
40042 friend class boost::serialization::access;
40045 void serialize(S &s,
const unsigned ) {
40048 s & BOOST_SERIALIZATION_NVP(p_HashAlgId);
40049 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
40050 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
40051 s & BOOST_SERIALIZATION_NVP(p_BuildNumber);
40052 s & BOOST_SERIALIZATION_NVP(p_RevisionNumber);
40053 s & BOOST_SERIALIZATION_NVP(p_Flags);
40054 s & BOOST_SERIALIZATION_NVP(p_PublicKey);
40055 s & BOOST_SERIALIZATION_NVP(p_Name);
40056 s & BOOST_SERIALIZATION_NVP(p_Culture);
40151 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
40152 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
40153 void dump(std::ostream&)
const;
40155 const std::uint8_t* get_PublicKey_blob()
const;
40156 const std::uint8_t* get_Name_string()
const;
40157 const std::uint8_t* get_Culture_string()
const;
40175#ifdef DOCUMENTATION
40184#ifndef DOCUMENTATION
40185AstNodeClass& AsmCilMetadata = nonTerminalConstructor(
40189 "AsmCilMetadataTag",
40190 SubclassListBuilder()
40193 | AsmCilAssemblyOSTable
40194 | AsmCilAssemblyProcessor
40195 | AsmCilAssemblyProcessorTable
40196 | AsmCilAssemblyRef
40197 | AsmCilAssemblyRefOS
40198 | AsmCilAssemblyRefOSTable
40199 | AsmCilAssemblyRefProcessor
40200 | AsmCilAssemblyRefProcessorTable
40201 | AsmCilAssemblyRefTable
40202 | AsmCilAssemblyTable
40203 | AsmCilClassLayout
40204 | AsmCilClassLayoutTable
40206 | AsmCilConstantTable
40207 | AsmCilCustomAttribute
40208 | AsmCilCustomAttributeTable
40209 | AsmCilDeclSecurity
40210 | AsmCilDeclSecurityTable
40213 | AsmCilEventMapTable
40215 | AsmCilExportedType
40216 | AsmCilExportedTypeTable
40218 | AsmCilFieldLayout
40219 | AsmCilFieldLayoutTable
40220 | AsmCilFieldMarshal
40221 | AsmCilFieldMarshalTable
40223 | AsmCilFieldRVATable
40227 | AsmCilGenericParamConstraint
40228 | AsmCilGenericParamConstraintTable
40229 | AsmCilGenericParam
40230 | AsmCilGenericParamTable
40232 | AsmCilImplMapTable
40233 | AsmCilInterfaceImpl
40234 | AsmCilInterfaceImplTable
40235 | AsmCilManifestResource
40236 | AsmCilManifestResourceTable
40238 | AsmCilMemberRefTable
40240 | AsmCilMethodDefTable
40242 | AsmCilMethodImplTable
40243 | AsmCilMethodSemantics
40244 | AsmCilMethodSemanticsTable
40246 | AsmCilMethodSpecTable
40249 | AsmCilModuleRefTable
40250 | AsmCilModuleTable
40251 | AsmCilNestedClass
40252 | AsmCilNestedClassTable
40256 | AsmCilPropertyMap
40257 | AsmCilPropertyMapTable
40258 | AsmCilPropertyTable
40259 | AsmCilStandAloneSig
40260 | AsmCilStandAloneSigTable
40262 | AsmCilTypeDefTable
40264 | AsmCilTypeRefTable
40266 | AsmCilTypeSpecTable
40268assert(AsmCilMetadata.associatedGrammar !=
nullptr);
40269AsmCilMetadata.setCppCondition(
"!defined(DOCUMENTATION)");
40270AsmCilMetadata.isBoostSerializable(
true);
40271AsmCilMetadata.setAutomaticGenerationOfConstructor(
false);
40272AsmCilMetadata.setAutomaticGenerationOfDestructor(
false);
40275#ifndef DOCUMENTATION
40276AsmCilMetadata.useSmallHeader(
true);
40279#ifdef DOCUMENTATION
40284 DECLARE_OTHERS(AsmCilMetadata);
40285#if defined(SgAsmCilMetadata_OTHERS) || defined(DOCUMENTATION)
40288#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
40290 friend class boost::serialization::access;
40293 void serialize(S &s,
const unsigned ) {
40295 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
40317#ifdef DOCUMENTATION
40326#ifndef DOCUMENTATION
40327AstNodeClass& AsmCilNode = nonTerminalConstructor(
40332 SubclassListBuilder()
40335 | AsmCilMetadataRoot
40337assert(AsmCilNode.associatedGrammar !=
nullptr);
40338AsmCilNode.setCppCondition(
"!defined(DOCUMENTATION)");
40339AsmCilNode.isBoostSerializable(
true);
40340AsmCilNode.setAutomaticGenerationOfConstructor(
false);
40341AsmCilNode.setAutomaticGenerationOfDestructor(
false);
40344#ifndef DOCUMENTATION
40345AsmCilNode.useSmallHeader(
true);
40348#ifdef DOCUMENTATION
40353 DECLARE_OTHERS(AsmCilNode);
40354#if defined(SgAsmCilNode_OTHERS) || defined(DOCUMENTATION)
40357#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
40359 friend class boost::serialization::access;
40362 void serialize(S &s,
const unsigned ) {
40364 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
40386#ifdef DOCUMENTATION
40395DECLARE_LEAF_CLASS(AsmByteOrder);
40396IS_SERIALIZABLE(AsmByteOrder);
40398#ifndef DOCUMENTATION
40399AsmByteOrder.useSmallHeader(
true);
40402DECLARE_HEADERS(AsmByteOrder);
40403#if defined(SgAsmByteOrder_HEADERS) || defined(DOCUMENTATION)
40404#include <Rose/BinaryAnalysis/ByteOrder.h>
40407#ifdef DOCUMENTATION
40412 DECLARE_OTHERS(AsmByteOrder);
40413#if defined(SgAsmByteOrder_OTHERS) || defined(DOCUMENTATION)
40416#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
40418 friend class boost::serialization::access;
40421 void serialize(S &s,
const unsigned ) {
40424 s & BOOST_SERIALIZATION_NVP(byteOrder_);
40461#ifdef DOCUMENTATION
40470DECLARE_LEAF_CLASS(AsmBlock);
40471IS_SERIALIZABLE(AsmBlock);
40473#ifndef DOCUMENTATION
40474AsmBlock.useSmallHeader(
true);
40477DECLARE_HEADERS(AsmBlock);
40478#if defined(SgAsmBlock_HEADERS) || defined(DOCUMENTATION)
40479#include <sageContainer.h>
40481#ifdef ROSE_SgAsmBlock_IMPL
40482#include <SgAsmInstruction.h>
40486#ifdef DOCUMENTATION
40510#ifndef DOCUMENTATION
40511 AsmBlock.setDataPrototype(
40512 "rose_addr_t",
"id",
"= 0",
40513 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40516#ifndef DOCUMENTATION
40517 AsmBlock.setDataPrototype(
40518 "unsigned",
"reason",
"= SgAsmBlock::BLK_NONE",
40519 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40522#ifndef DOCUMENTATION
40523 AsmBlock.setDataPrototype(
40524 "SgAsmStatementPtrList",
"statementList",
"",
40525 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
40528#ifndef DOCUMENTATION
40529 AsmBlock.setDataPrototype(
40530 "SgAsmIntegerValuePtrList",
"successors",
"",
40531 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40534#ifndef DOCUMENTATION
40535 AsmBlock.setDataPrototype(
40536 "bool",
"successorsComplete",
"= false",
40537 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40540#ifndef DOCUMENTATION
40541 AsmBlock.setDataPrototype(
40542 "SgAsmBlock*",
"immediateDominator",
"= nullptr",
40543 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40546#ifndef DOCUMENTATION
40547 AsmBlock.setDataPrototype(
40548 "size_t",
"cachedVertex",
"= (size_t)(-1)",
40549 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40552#ifndef DOCUMENTATION
40553 AsmBlock.setDataPrototype(
40554 "double",
"codeLikelihood",
"= 0.0",
40555 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40558#ifndef DOCUMENTATION
40559 AsmBlock.setDataPrototype(
40560 "int64_t",
"stackDeltaOut",
"= SgAsmInstruction::INVALID_STACK_DELTA",
40561 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40564 DECLARE_OTHERS(AsmBlock);
40565#if defined(SgAsmBlock_OTHERS) || defined(DOCUMENTATION)
40568#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
40570 friend class boost::serialization::access;
40573 void serialize(S &s,
const unsigned ) {
40576 s & BOOST_SERIALIZATION_NVP(p_reason);
40577 s & BOOST_SERIALIZATION_NVP(p_statementList);
40578 s & BOOST_SERIALIZATION_NVP(p_successors);
40579 s & BOOST_SERIALIZATION_NVP(p_successorsComplete);
40580 s & BOOST_SERIALIZATION_NVP(p_immediateDominator);
40581 s & BOOST_SERIALIZATION_NVP(p_cachedVertex);
40582 s & BOOST_SERIALIZATION_NVP(p_codeLikelihood);
40583 s & BOOST_SERIALIZATION_NVP(p_stackDeltaOut);
40833 rose_addr_t get_fallthrough_va() ROSE_DEPRECATED("use getFallthroughVa");
40835 bool has_instructions() const ROSE_DEPRECATED("use
hasInstructions");
40836 bool is_basic_block() const ROSE_DEPRECATED("use
isBasicBlock");
40837 bool is_function_call(rose_addr_t&, rose_addr_t&) ROSE_DEPRECATED("use
isFunctionCall");
40838 static std::
string reason_key(const std::
string& = "") ROSE_DEPRECATED("use
reasonKey");
40839 std::
string reason_str(
bool) const ROSE_DEPRECATED("use
reasonString");
40840 static std::
string reason_str(
bool,
unsigned) ROSE_DEPRECATED("use
reasonString");
40862#ifdef DOCUMENTATION
40871DECLARE_LEAF_CLASS(AsmBinarySubtract);
40872IS_SERIALIZABLE(AsmBinarySubtract);
40874#ifndef DOCUMENTATION
40875AsmBinarySubtract.useSmallHeader(
true);
40878#ifdef DOCUMENTATION
40883 DECLARE_OTHERS(AsmBinarySubtract);
40884#if defined(SgAsmBinarySubtract_OTHERS) || defined(DOCUMENTATION)
40887#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
40889 friend class boost::serialization::access;
40892 void serialize(S &s,
const unsigned ) {
40921#ifdef DOCUMENTATION
40930DECLARE_LEAF_CLASS(AsmBinaryRor);
40931IS_SERIALIZABLE(AsmBinaryRor);
40933#ifndef DOCUMENTATION
40934AsmBinaryRor.useSmallHeader(
true);
40937#ifdef DOCUMENTATION
40942 DECLARE_OTHERS(AsmBinaryRor);
40943#if defined(SgAsmBinaryRor_OTHERS) || defined(DOCUMENTATION)
40946#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
40948 friend class boost::serialization::access;
40951 void serialize(S &s,
const unsigned ) {
40980#ifdef DOCUMENTATION
40989DECLARE_LEAF_CLASS(AsmBinaryPreupdate);
40990IS_SERIALIZABLE(AsmBinaryPreupdate);
40992#ifndef DOCUMENTATION
40993AsmBinaryPreupdate.useSmallHeader(
true);
40996#ifdef DOCUMENTATION
41004 DECLARE_OTHERS(AsmBinaryPreupdate);
41005#if defined(SgAsmBinaryPreupdate_OTHERS) || defined(DOCUMENTATION)
41008#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41010 friend class boost::serialization::access;
41013 void serialize(S &s,
const unsigned ) {
41042#ifdef DOCUMENTATION
41051DECLARE_LEAF_CLASS(AsmBinaryPostupdate);
41052IS_SERIALIZABLE(AsmBinaryPostupdate);
41054#ifndef DOCUMENTATION
41055AsmBinaryPostupdate.useSmallHeader(
true);
41058#ifdef DOCUMENTATION
41066 DECLARE_OTHERS(AsmBinaryPostupdate);
41067#if defined(SgAsmBinaryPostupdate_OTHERS) || defined(DOCUMENTATION)
41070#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41072 friend class boost::serialization::access;
41075 void serialize(S &s,
const unsigned ) {
41104#ifdef DOCUMENTATION
41113DECLARE_LEAF_CLASS(AsmBinaryMultiply);
41114IS_SERIALIZABLE(AsmBinaryMultiply);
41116#ifndef DOCUMENTATION
41117AsmBinaryMultiply.useSmallHeader(
true);
41120#ifdef DOCUMENTATION
41125 DECLARE_OTHERS(AsmBinaryMultiply);
41126#if defined(SgAsmBinaryMultiply_OTHERS) || defined(DOCUMENTATION)
41129#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41131 friend class boost::serialization::access;
41134 void serialize(S &s,
const unsigned ) {
41163#ifdef DOCUMENTATION
41172DECLARE_LEAF_CLASS(AsmBinaryMsl);
41173IS_SERIALIZABLE(AsmBinaryMsl);
41175#ifndef DOCUMENTATION
41176AsmBinaryMsl.useSmallHeader(
true);
41179#ifdef DOCUMENTATION
41186 DECLARE_OTHERS(AsmBinaryMsl);
41187#if defined(SgAsmBinaryMsl_OTHERS) || defined(DOCUMENTATION)
41190#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41192 friend class boost::serialization::access;
41195 void serialize(S &s,
const unsigned ) {
41224#ifdef DOCUMENTATION
41233DECLARE_LEAF_CLASS(AsmBinaryMod);
41234IS_SERIALIZABLE(AsmBinaryMod);
41236#ifndef DOCUMENTATION
41237AsmBinaryMod.useSmallHeader(
true);
41240#ifdef DOCUMENTATION
41245 DECLARE_OTHERS(AsmBinaryMod);
41246#if defined(SgAsmBinaryMod_OTHERS) || defined(DOCUMENTATION)
41249#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41251 friend class boost::serialization::access;
41254 void serialize(S &s,
const unsigned ) {
41283#ifdef DOCUMENTATION
41292DECLARE_LEAF_CLASS(AsmBinaryLsr);
41293IS_SERIALIZABLE(AsmBinaryLsr);
41295#ifndef DOCUMENTATION
41296AsmBinaryLsr.useSmallHeader(
true);
41299#ifdef DOCUMENTATION
41304 DECLARE_OTHERS(AsmBinaryLsr);
41305#if defined(SgAsmBinaryLsr_OTHERS) || defined(DOCUMENTATION)
41308#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41310 friend class boost::serialization::access;
41313 void serialize(S &s,
const unsigned ) {
41342#ifdef DOCUMENTATION
41351DECLARE_LEAF_CLASS(AsmBinaryLsl);
41352IS_SERIALIZABLE(AsmBinaryLsl);
41354#ifndef DOCUMENTATION
41355AsmBinaryLsl.useSmallHeader(
true);
41358#ifdef DOCUMENTATION
41363 DECLARE_OTHERS(AsmBinaryLsl);
41364#if defined(SgAsmBinaryLsl_OTHERS) || defined(DOCUMENTATION)
41367#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41369 friend class boost::serialization::access;
41372 void serialize(S &s,
const unsigned ) {
41401#ifdef DOCUMENTATION
41410DECLARE_LEAF_CLASS(AsmBinaryDivide);
41411IS_SERIALIZABLE(AsmBinaryDivide);
41413#ifndef DOCUMENTATION
41414AsmBinaryDivide.useSmallHeader(
true);
41417#ifdef DOCUMENTATION
41422 DECLARE_OTHERS(AsmBinaryDivide);
41423#if defined(SgAsmBinaryDivide_OTHERS) || defined(DOCUMENTATION)
41426#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41428 friend class boost::serialization::access;
41431 void serialize(S &s,
const unsigned ) {
41460#ifdef DOCUMENTATION
41469DECLARE_LEAF_CLASS(AsmBinaryConcat);
41470IS_SERIALIZABLE(AsmBinaryConcat);
41472#ifndef DOCUMENTATION
41473AsmBinaryConcat.useSmallHeader(
true);
41476#ifdef DOCUMENTATION
41481 DECLARE_OTHERS(AsmBinaryConcat);
41482#if defined(SgAsmBinaryConcat_OTHERS) || defined(DOCUMENTATION)
41485#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41487 friend class boost::serialization::access;
41490 void serialize(S &s,
const unsigned ) {
41519#ifdef DOCUMENTATION
41528DECLARE_LEAF_CLASS(AsmBinaryAsr);
41529IS_SERIALIZABLE(AsmBinaryAsr);
41531#ifndef DOCUMENTATION
41532AsmBinaryAsr.useSmallHeader(
true);
41535#ifdef DOCUMENTATION
41540 DECLARE_OTHERS(AsmBinaryAsr);
41541#if defined(SgAsmBinaryAsr_OTHERS) || defined(DOCUMENTATION)
41544#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41546 friend class boost::serialization::access;
41549 void serialize(S &s,
const unsigned ) {
41578#ifdef DOCUMENTATION
41587DECLARE_LEAF_CLASS(AsmBinaryAdd);
41588IS_SERIALIZABLE(AsmBinaryAdd);
41590#ifndef DOCUMENTATION
41591AsmBinaryAdd.useSmallHeader(
true);
41594#ifdef DOCUMENTATION
41599 DECLARE_OTHERS(AsmBinaryAdd);
41600#if defined(SgAsmBinaryAdd_OTHERS) || defined(DOCUMENTATION)
41603#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41605 friend class boost::serialization::access;
41608 void serialize(S &s,
const unsigned ) {
41637#ifdef DOCUMENTATION
41646#ifndef DOCUMENTATION
41647AstNodeClass& AsmBinaryExpression = nonTerminalConstructor(
41648 "AsmBinaryExpression",
41650 "AsmBinaryExpression",
41651 "AsmBinaryExpressionTag",
41652 SubclassListBuilder()
41661 | AsmBinaryMultiply
41662 | AsmBinaryPostupdate
41663 | AsmBinaryPreupdate
41665 | AsmBinarySubtract
41667assert(AsmBinaryExpression.associatedGrammar !=
nullptr);
41668AsmBinaryExpression.setCppCondition(
"!defined(DOCUMENTATION)");
41669AsmBinaryExpression.isBoostSerializable(
true);
41670AsmBinaryExpression.setAutomaticGenerationOfConstructor(
false);
41671AsmBinaryExpression.setAutomaticGenerationOfDestructor(
false);
41674#ifndef DOCUMENTATION
41675AsmBinaryExpression.useSmallHeader(
true);
41678#ifdef DOCUMENTATION
41683#ifndef DOCUMENTATION
41684 AsmBinaryExpression.setDataPrototype(
41685 "SgAsmExpression*",
"lhs",
"= nullptr",
41686 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
41689#ifndef DOCUMENTATION
41690 AsmBinaryExpression.setDataPrototype(
41691 "SgAsmExpression*",
"rhs",
"= nullptr",
41692 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
41695 DECLARE_OTHERS(AsmBinaryExpression);
41696#if defined(SgAsmBinaryExpression_OTHERS) || defined(DOCUMENTATION)
41699#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41701 friend class boost::serialization::access;
41704 void serialize(S &s,
const unsigned ) {
41707 s & BOOST_SERIALIZATION_NVP(p_lhs);
41708 s & BOOST_SERIALIZATION_NVP(p_rhs);
41751#ifdef DOCUMENTATION
41760DECLARE_LEAF_CLASS(AsmBasicString);
41761IS_SERIALIZABLE(AsmBasicString);
41763#ifndef DOCUMENTATION
41764AsmBasicString.useSmallHeader(
true);
41767#ifdef DOCUMENTATION
41775#ifndef DOCUMENTATION
41776 AsmBasicString.setDataPrototype(
41777 "std::string",
"string",
"",
41778 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41781 DECLARE_OTHERS(AsmBasicString);
41782#if defined(SgAsmBasicString_OTHERS) || defined(DOCUMENTATION)
41785#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41787 friend class boost::serialization::access;
41790 void serialize(S &s,
const unsigned ) {
41793 s & BOOST_SERIALIZATION_NVP(p_string);
41812 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
41830#ifdef DOCUMENTATION
41839#ifndef DOCUMENTATION
41840AstNodeClass& AsmGenericString = nonTerminalConstructor(
41841 "AsmGenericString",
41843 "AsmGenericString",
41844 "AsmGenericStringTag",
41845 SubclassListBuilder()
41849assert(AsmGenericString.associatedGrammar !=
nullptr);
41850AsmGenericString.setCppCondition(
"!defined(DOCUMENTATION)");
41851AsmGenericString.isBoostSerializable(
true);
41852AsmGenericString.setAutomaticGenerationOfConstructor(
false);
41853AsmGenericString.setAutomaticGenerationOfDestructor(
false);
41856#ifndef DOCUMENTATION
41857AsmGenericString.useSmallHeader(
true);
41860#ifdef DOCUMENTATION
41865 DECLARE_OTHERS(AsmGenericString);
41866#if defined(SgAsmGenericString_OTHERS) || defined(DOCUMENTATION)
41869#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
41871 friend class boost::serialization::access;
41874 void serialize(S &s,
const unsigned ) {
41897 virtual rose_addr_t get_offset()
const {
return unallocated;}
41899 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
41917#ifdef DOCUMENTATION
41926#ifndef DOCUMENTATION
41927AstNodeClass& AsmExecutableFileFormat = nonTerminalConstructor(
41928 "AsmExecutableFileFormat",
41930 "AsmExecutableFileFormat",
41931 "AsmExecutableFileFormatTag",
41932 SubclassListBuilder()
41933 | AsmCoffSymbolList
41934 | AsmDwarfInformation
41935 | AsmElfDynamicEntry
41936 | AsmElfDynamicEntryList
41937 | AsmElfEHFrameEntryCI
41938 | AsmElfEHFrameEntryCIList
41939 | AsmElfEHFrameEntryFD
41940 | AsmElfEHFrameEntryFDList
41942 | AsmElfNoteEntryList
41944 | AsmElfRelocEntryList
41945 | AsmElfSectionTableEntry
41946 | AsmElfSegmentTableEntry
41947 | AsmElfSegmentTableEntryList
41949 | AsmElfSymverDefinedAux
41950 | AsmElfSymverDefinedAuxList
41951 | AsmElfSymverDefinedEntry
41952 | AsmElfSymverDefinedEntryList
41953 | AsmElfSymverEntry
41954 | AsmElfSymverEntryList
41955 | AsmElfSymverNeededAux
41956 | AsmElfSymverNeededAuxList
41957 | AsmElfSymverNeededEntry
41958 | AsmElfSymverNeededEntryList
41960 | AsmGenericDLLList
41963 | AsmGenericHeaderList
41964 | AsmGenericSection
41965 | AsmGenericSectionList
41969 | AsmGenericSymbolList
41971 | AsmLEPageTableEntry
41972 | AsmLESectionTableEntry
41975 | AsmNESectionTableEntry
41976 | AsmPEExportDirectory
41978 | AsmPEExportEntryList
41979 | AsmPEImportDirectory
41980 | AsmPEImportDirectoryList
41982 | AsmPEImportItemList
41984 | AsmPERVASizePairList
41985 | AsmPESectionTableEntry
41988assert(AsmExecutableFileFormat.associatedGrammar !=
nullptr);
41989AsmExecutableFileFormat.setCppCondition(
"!defined(DOCUMENTATION)");
41990AsmExecutableFileFormat.isBoostSerializable(
true);
41991AsmExecutableFileFormat.setAutomaticGenerationOfConstructor(
false);
41992AsmExecutableFileFormat.setAutomaticGenerationOfDestructor(
false);
41995#ifndef DOCUMENTATION
41996AsmExecutableFileFormat.useSmallHeader(
true);
41999DECLARE_HEADERS(AsmExecutableFileFormat);
42000#if defined(SgAsmExecutableFileFormat_HEADERS) || defined(DOCUMENTATION)
42001#include <Rose/Exception.h>
42004#ifdef DOCUMENTATION
42009 DECLARE_OTHERS(AsmExecutableFileFormat);
42010#if defined(SgAsmExecutableFileFormat_OTHERS) || defined(DOCUMENTATION)
42013#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
42015 friend class boost::serialization::access;
42018 void serialize(S &s,
const unsigned ) {
42020 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
42043 ~ShortRead() throw () {}
42141 ISA_SPARC_V7 = 0x0301,
42142 ISA_SPARC_V8 = 0x0302,
42143 ISA_SPARC_V8E = 0x0303,
42144 ISA_SPARC_V9 = 0x0304,
42145 ISA_SPARC_V9JPS1 = 0x0305,
42146 ISA_SPARC_V9UA = 0x0306,
42147 ISA_SPARC_V9JPS2 = 0x0307,
42151 ISA_M68K_68EC000 = 0x0402,
42152 ISA_M68K_68HC000 = 0x0403,
42153 ISA_M68K_68008 = 0x0404,
42154 ISA_M68K_68010 = 0x0405,
42155 ISA_M68K_68012 = 0x0406,
42157 ISA_M68K_68EC020 = 0x0408,
42158 ISA_M68K_68030 = 0x0409,
42159 ISA_M68K_68EC030 = 0x040a,
42161 ISA_M68K_68EC040 = 0x040c,
42162 ISA_M68K_68LC040 = 0x040d,
42192 ISA_MIPS_R16000A = 0x0613,
42229 ISA_OTHER_Family = 0xf000,
42232 ISA_IBM_System_370 = 0xf002,
42234 ISA_Fujitsu_VPP500 = 0xf004,
42235 ISA_Sun_v8plus = 0xf005,
42236 ISA_PowerPC = 0xf006,
42237 ISA_PowerPC_64bit = 0xf007,
42238 ISA_IBM_S390 = 0xf008,
42239 ISA_NEC_V800_series = 0xf009,
42240 ISA_Fujitsu_FR20 = 0xf00a,
42241 ISA_TRW_RH_32 = 0xf00b,
42242 ISA_Motorola_RCE = 0xf00c,
42243 ISA_Digital_Alpha_fake = 0xf00e,
42244 ISA_Hitachi_SH = 0xf00f,
42245 ISA_Siemens_Tricore = 0xf010,
42246 ISA_Argonaut_RISC_Core = 0xf011,
42247 ISA_Hitachi_H8_300 = 0xf012,
42248 ISA_Hitachi_H8_300H = 0xf013,
42249 ISA_Hitachi_H8S = 0xf014,
42250 ISA_Hitachi_H8_500 = 0xf015,
42251 ISA_Stanford_MIPS_X = 0xf016,
42252 ISA_Motorola_M68HC12 = 0xf017,
42253 ISA_Fujitsu_MMA_Multimedia_Accelerator=0xf018,
42254 ISA_Siemens_PCP = 0xf019,
42255 ISA_Sony_nCPU_embeeded_RISC = 0xf01a,
42256 ISA_Denso_NDR1_microprocessor=0xf01b,
42257 ISA_Motorola_Start_Core_processor=0xf01c,
42258 ISA_Toyota_ME16_processor = 0xf01d,
42259 ISA_STMicroelectronic_ST100_processor=0xf01e,
42260 ISA_Advanced_Logic_Corp_Tinyj_emb_family=0xf01f,
42261 ISA_AMD_x86_64_architecture = 0xf020,
42262 ISA_Sony_DSP_Processor = 0xf021,
42263 ISA_Siemens_FX66_microcontroller=0xf022,
42264 ISA_STMicroelectronics_ST9_plus_8_16_microcontroller=0xf023,
42265 ISA_STMicroelectronics_ST7_8bit_microcontroller=0xf024,
42266 ISA_Motorola_MC68HC16_microcontroller=0xf025,
42267 ISA_Motorola_MC68HC11_microcontroller=0xf026,
42268 ISA_Motorola_MC68HC08_microcontroller=0xf027,
42269 ISA_Motorola_MC68HC05_microcontroller=0xf028,
42270 ISA_Silicon_Graphics_SVx = 0xf029,
42271 ISA_STMicroelectronics_ST19_8bit_microcontroller=0xf02a,
42272 ISA_Digital_VAX = 0xf02b,
42273 ISA_Axis_Communications_32bit_embedded_processor=0xf02c,
42274 ISA_Infineon_Technologies_32bit_embedded_processor=0xf02d,
42275 ISA_Element_14_64bit_DSP_Processor=0xf02e,
42276 ISA_LSI_Logic_16bit_DSP_Processor=0xf02f,
42277 ISA_Donald_Knuths_educational_64bit_processor=0xf030,
42278 ISA_Harvard_University_machine_independent_object_files=0xf031,
42279 ISA_SiTera_Prism = 0xf032,
42280 ISA_Atmel_AVR_8bit_microcontroller=0xf033,
42281 ISA_Fujitsu_FR30 = 0xf034,
42282 ISA_Mitsubishi_D10V = 0xf035,
42283 ISA_Mitsubishi_D30V = 0xf036,
42284 ISA_NEC_v850 = 0xf037,
42285 ISA_Mitsubishi_M32R = 0xf038,
42286 ISA_Matsushita_MN10300 = 0xf039,
42287 ISA_Matsushita_MN10200 = 0xf03a,
42288 ISA_picoJava = 0xf03b,
42289 ISA_OpenRISC_32bit_embedded_processor=0xf03c,
42290 ISA_ARC_Cores_Tangent_A5 = 0xf03d,
42291 ISA_Tensilica_Xtensa_Architecture=0xf03e,
42292 ISA_Digital_Alpha = 0xf03f,
42293 ISA_Matsushita_AM33 = 0xf040,
42294 ISA_EFI_ByteCode = 0xf041
42371#ifdef DOCUMENTATION
42380#ifdef ROSE_ENABLE_ASM_AARCH64
42381DECLARE_LEAF_CLASS(AsmAarch64SysMoveOperand);
42382IS_SERIALIZABLE(AsmAarch64SysMoveOperand);
42384#ifndef DOCUMENTATION
42385AsmAarch64SysMoveOperand.useSmallHeader(
true);
42388DECLARE_HEADERS(AsmAarch64SysMoveOperand);
42389#if defined(SgAsmAarch64SysMoveOperand_HEADERS) || defined(DOCUMENTATION)
42390#ifdef ROSE_ENABLE_ASM_AARCH64
42394#ifdef DOCUMENTATION
42399 DECLARE_OTHERS(AsmAarch64SysMoveOperand);
42400#if defined(SgAsmAarch64SysMoveOperand_OTHERS) || defined(DOCUMENTATION)
42403#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
42405 friend class boost::serialization::access;
42408 void serialize(S &s,
const unsigned ) {
42411 s & BOOST_SERIALIZATION_NVP(access_);
42425 unsigned const& access()
const;
42426 void access(
unsigned const&);
42431 virtual ~SgAsmAarch64SysMoveOperand();
42435 SgAsmAarch64SysMoveOperand();
42439 explicit SgAsmAarch64SysMoveOperand(
unsigned const& access);
42450#ifdef DOCUMENTATION
42460#ifdef ROSE_ENABLE_ASM_AARCH64
42461DECLARE_LEAF_CLASS(AsmAarch64PState);
42462IS_SERIALIZABLE(AsmAarch64PState);
42464#ifndef DOCUMENTATION
42465AsmAarch64PState.useSmallHeader(
true);
42468DECLARE_HEADERS(AsmAarch64PState);
42469#if defined(SgAsmAarch64PState_HEADERS) || defined(DOCUMENTATION)
42470#ifdef ROSE_ENABLE_ASM_AARCH64
42472#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
42476#ifdef DOCUMENTATION
42481 DECLARE_OTHERS(AsmAarch64PState);
42482#if defined(SgAsmAarch64PState_OTHERS) || defined(DOCUMENTATION)
42485#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
42487 friend class boost::serialization::access;
42490 void serialize(S &s,
const unsigned ) {
42493 s & BOOST_SERIALIZATION_NVP(pstate_);
42499 Rose::BinaryAnalysis::Aarch64PState pstate_;
42507 Rose::BinaryAnalysis::Aarch64PState
const& pstate()
const;
42508 void pstate(Rose::BinaryAnalysis::Aarch64PState
const&);
42513 virtual ~SgAsmAarch64PState();
42517 SgAsmAarch64PState();
42521 explicit SgAsmAarch64PState(Rose::BinaryAnalysis::Aarch64PState
const& pstate);
42532#ifdef DOCUMENTATION
42542#ifdef ROSE_ENABLE_ASM_AARCH64
42543DECLARE_LEAF_CLASS(AsmAarch64PrefetchOperand);
42544IS_SERIALIZABLE(AsmAarch64PrefetchOperand);
42546#ifndef DOCUMENTATION
42547AsmAarch64PrefetchOperand.useSmallHeader(
true);
42550DECLARE_HEADERS(AsmAarch64PrefetchOperand);
42551#if defined(SgAsmAarch64PrefetchOperand_HEADERS) || defined(DOCUMENTATION)
42552#ifdef ROSE_ENABLE_ASM_AARCH64
42554#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
42558#ifdef DOCUMENTATION
42563 DECLARE_OTHERS(AsmAarch64PrefetchOperand);
42564#if defined(SgAsmAarch64PrefetchOperand_OTHERS) || defined(DOCUMENTATION)
42567#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
42569 friend class boost::serialization::access;
42572 void serialize(S &s,
const unsigned ) {
42575 s & BOOST_SERIALIZATION_NVP(operation_);
42581 Rose::BinaryAnalysis::Aarch64PrefetchOperation operation_;
42589 Rose::BinaryAnalysis::Aarch64PrefetchOperation
const& operation()
const;
42590 void operation(Rose::BinaryAnalysis::Aarch64PrefetchOperation
const&);
42595 virtual ~SgAsmAarch64PrefetchOperand();
42599 SgAsmAarch64PrefetchOperand();
42603 explicit SgAsmAarch64PrefetchOperand(Rose::BinaryAnalysis::Aarch64PrefetchOperation
const& operation);
42614#ifdef DOCUMENTATION
42624#ifdef ROSE_ENABLE_ASM_AARCH64
42625DECLARE_LEAF_CLASS(AsmAarch64Instruction);
42626IS_SERIALIZABLE(AsmAarch64Instruction);
42628#ifndef DOCUMENTATION
42629AsmAarch64Instruction.useSmallHeader(
true);
42632DECLARE_HEADERS(AsmAarch64Instruction);
42633#if defined(SgAsmAarch64Instruction_HEADERS) || defined(DOCUMENTATION)
42634#ifdef ROSE_ENABLE_ASM_AARCH64
42635#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
42639#ifdef DOCUMENTATION
42644#ifndef DOCUMENTATION
42645 AsmAarch64Instruction.setDataPrototype(
42646 "Rose::BinaryAnalysis::Aarch64InstructionKind",
"kind",
"= Rose::BinaryAnalysis::Aarch64InstructionKind::ARM64_INS_INVALID",
42647 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
42650#ifndef DOCUMENTATION
42651 AsmAarch64Instruction.setDataPrototype(
42652 "Rose::BinaryAnalysis::Aarch64InstructionCondition",
"condition",
"= Rose::BinaryAnalysis::Aarch64InstructionCondition::ARM64_CC_INVALID",
42653 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
42656#ifndef DOCUMENTATION
42657 AsmAarch64Instruction.setDataPrototype(
42658 "bool",
"updatesFlags",
"= false",
42659 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
42662 DECLARE_OTHERS(AsmAarch64Instruction);
42663#if defined(SgAsmAarch64Instruction_OTHERS) || defined(DOCUMENTATION)
42666#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
42668 friend class boost::serialization::access;
42671 void serialize(S &s,
const unsigned ) {
42674 s & BOOST_SERIALIZATION_NVP(p_kind);
42675 s & BOOST_SERIALIZATION_NVP(p_condition);
42687 Rose::BinaryAnalysis::Aarch64InstructionKind
const& get_kind()
const;
42688 void set_kind(Rose::BinaryAnalysis::Aarch64InstructionKind
const&);
42695 Rose::BinaryAnalysis::Aarch64InstructionCondition
const& get_condition()
const;
42696 void set_condition(Rose::BinaryAnalysis::Aarch64InstructionCondition
const&);
42703 bool const& get_updatesFlags()
const;
42704 void set_updatesFlags(
bool const&);
42711 virtual ~SgAsmAarch64Instruction();
42715 SgAsmAarch64Instruction();
42719 SgAsmAarch64Instruction(rose_addr_t
const& address,
42720 uint8_t
const& architectureId,
42721 Rose::BinaryAnalysis::Aarch64InstructionKind
const& kind,
42722 Rose::BinaryAnalysis::Aarch64InstructionCondition
const& condition);
42733#ifdef DOCUMENTATION
42743#ifdef ROSE_ENABLE_ASM_AARCH64
42744DECLARE_LEAF_CLASS(AsmAarch64CImmediateOperand);
42745IS_SERIALIZABLE(AsmAarch64CImmediateOperand);
42747#ifndef DOCUMENTATION
42748AsmAarch64CImmediateOperand.useSmallHeader(
true);
42751DECLARE_HEADERS(AsmAarch64CImmediateOperand);
42752#if defined(SgAsmAarch64CImmediateOperand_HEADERS) || defined(DOCUMENTATION)
42753#ifdef ROSE_ENABLE_ASM_AARCH64
42757#ifdef DOCUMENTATION
42762 DECLARE_OTHERS(AsmAarch64CImmediateOperand);
42763#if defined(SgAsmAarch64CImmediateOperand_OTHERS) || defined(DOCUMENTATION)
42766#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
42768 friend class boost::serialization::access;
42771 void serialize(S &s,
const unsigned ) {
42774 s & BOOST_SERIALIZATION_NVP(immediate_);
42780 unsigned immediate_;
42788 unsigned const& immediate()
const;
42789 void immediate(
unsigned const&);
42794 virtual ~SgAsmAarch64CImmediateOperand();
42798 SgAsmAarch64CImmediateOperand();
42802 explicit SgAsmAarch64CImmediateOperand(
unsigned const& immediate);
42813#ifdef DOCUMENTATION
42823#ifdef ROSE_ENABLE_ASM_AARCH64
42824DECLARE_LEAF_CLASS(AsmAarch64BarrierOperand);
42825IS_SERIALIZABLE(AsmAarch64BarrierOperand);
42827#ifndef DOCUMENTATION
42828AsmAarch64BarrierOperand.useSmallHeader(
true);
42831DECLARE_HEADERS(AsmAarch64BarrierOperand);
42832#if defined(SgAsmAarch64BarrierOperand_HEADERS) || defined(DOCUMENTATION)
42833#ifdef ROSE_ENABLE_ASM_AARCH64
42835#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
42839#ifdef DOCUMENTATION
42844 DECLARE_OTHERS(AsmAarch64BarrierOperand);
42845#if defined(SgAsmAarch64BarrierOperand_OTHERS) || defined(DOCUMENTATION)
42848#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
42850 friend class boost::serialization::access;
42853 void serialize(S &s,
const unsigned ) {
42856 s & BOOST_SERIALIZATION_NVP(operation_);
42862 Rose::BinaryAnalysis::Aarch64BarrierOperation operation_;
42868 Rose::BinaryAnalysis::Aarch64BarrierOperation
const& operation()
const;
42869 void operation(Rose::BinaryAnalysis::Aarch64BarrierOperation
const&);
42874 virtual ~SgAsmAarch64BarrierOperand();
42878 SgAsmAarch64BarrierOperand();
42882 explicit SgAsmAarch64BarrierOperand(Rose::BinaryAnalysis::Aarch64BarrierOperation
const& operation);
42893#ifdef DOCUMENTATION
42903#ifdef ROSE_ENABLE_ASM_AARCH64
42904DECLARE_LEAF_CLASS(AsmAarch64AtOperand);
42905IS_SERIALIZABLE(AsmAarch64AtOperand);
42907#ifndef DOCUMENTATION
42908AsmAarch64AtOperand.useSmallHeader(
true);
42911DECLARE_HEADERS(AsmAarch64AtOperand);
42912#if defined(SgAsmAarch64AtOperand_HEADERS) || defined(DOCUMENTATION)
42913#ifdef ROSE_ENABLE_ASM_AARCH64
42915#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
42919#ifdef DOCUMENTATION
42924 DECLARE_OTHERS(AsmAarch64AtOperand);
42925#if defined(SgAsmAarch64AtOperand_OTHERS) || defined(DOCUMENTATION)
42928#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
42930 friend class boost::serialization::access;
42933 void serialize(S &s,
const unsigned ) {
42936 s & BOOST_SERIALIZATION_NVP(operation_);
42942 Rose::BinaryAnalysis::Aarch64AtOperation operation_;
42950 Rose::BinaryAnalysis::Aarch64AtOperation
const& operation()
const;
42951 void operation(Rose::BinaryAnalysis::Aarch64AtOperation
const&);
42956 virtual ~SgAsmAarch64AtOperand();
42960 SgAsmAarch64AtOperand();
42964 explicit SgAsmAarch64AtOperand(Rose::BinaryAnalysis::Aarch64AtOperation
const& operation);
42975#ifdef DOCUMENTATION
42985#ifdef ROSE_ENABLE_ASM_AARCH32
42986DECLARE_LEAF_CLASS(AsmAarch32Instruction);
42987IS_SERIALIZABLE(AsmAarch32Instruction);
42989#ifndef DOCUMENTATION
42990AsmAarch32Instruction.useSmallHeader(
true);
42993DECLARE_HEADERS(AsmAarch32Instruction);
42994#if defined(SgAsmAarch32Instruction_HEADERS) || defined(DOCUMENTATION)
42995#ifdef ROSE_ENABLE_ASM_AARCH32
42996#include <Rose/BinaryAnalysis/InstructionEnumsAarch32.h>
43000#ifdef DOCUMENTATION
43005#ifndef DOCUMENTATION
43006 AsmAarch32Instruction.setDataPrototype(
43007 "Rose::BinaryAnalysis::Aarch32InstructionKind",
"kind",
"= Rose::BinaryAnalysis::Aarch32InstructionKind::ARM_INS_INVALID",
43008 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43011#ifndef DOCUMENTATION
43012 AsmAarch32Instruction.setDataPrototype(
43013 "Rose::BinaryAnalysis::Aarch32InstructionCondition",
"condition",
"= Rose::BinaryAnalysis::Aarch32InstructionCondition::ARM_CC_INVALID",
43014 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43017#ifndef DOCUMENTATION
43018 AsmAarch32Instruction.setDataPrototype(
43019 "bool",
"updatesFlags",
"= false",
43020 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43023#ifndef DOCUMENTATION
43024 AsmAarch32Instruction.setDataPrototype(
43025 "bool",
"writesBack",
"= false",
43026 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43029#ifndef DOCUMENTATION
43030 AsmAarch32Instruction.setDataPrototype(
43031 "bool",
"writesToIp",
"= false",
43032 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43035 DECLARE_OTHERS(AsmAarch32Instruction);
43036#if defined(SgAsmAarch32Instruction_OTHERS) || defined(DOCUMENTATION)
43039#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
43041 friend class boost::serialization::access;
43044 void serialize(S &s,
const unsigned ) {
43047 s & BOOST_SERIALIZATION_NVP(p_kind);
43048 s & BOOST_SERIALIZATION_NVP(p_condition);
43049 s & BOOST_SERIALIZATION_NVP(p_updatesFlags);
43050 s & BOOST_SERIALIZATION_NVP(p_writesBack);
43051 s & BOOST_SERIALIZATION_NVP(p_writesToIp);
43063 Rose::BinaryAnalysis::Aarch32InstructionKind
const& get_kind()
const;
43064 void set_kind(Rose::BinaryAnalysis::Aarch32InstructionKind
const&);
43073 Rose::BinaryAnalysis::Aarch32InstructionCondition
const& get_condition()
const;
43074 void set_condition(Rose::BinaryAnalysis::Aarch32InstructionCondition
const&);
43081 bool const& get_updatesFlags()
const;
43082 void set_updatesFlags(
bool const&);
43089 bool const& get_writesBack()
const;
43090 void set_writesBack(
bool const&);
43100 bool const& get_writesToIp()
const;
43101 void set_writesToIp(
bool const&);
43108 virtual ~SgAsmAarch32Instruction();
43112 SgAsmAarch32Instruction();
43116 SgAsmAarch32Instruction(rose_addr_t
const& address,
43117 uint8_t
const& architectureId,
43118 Rose::BinaryAnalysis::Aarch32InstructionKind
const& kind,
43119 Rose::BinaryAnalysis::Aarch32InstructionCondition
const& condition);
43130#ifdef DOCUMENTATION
43140#ifndef DOCUMENTATION
43141AstNodeClass& AsmInstruction = nonTerminalConstructor(
43145 "AsmInstructionTag",
43146 SubclassListBuilder()
43147#ifdef ROSE_ENABLE_ASM_AARCH32
43148 | AsmAarch32Instruction
43150#ifdef ROSE_ENABLE_ASM_AARCH64
43151 | AsmAarch64Instruction
43153 | AsmCilInstruction
43154 | AsmJvmInstruction
43155 | AsmM68kInstruction
43156 | AsmMipsInstruction
43157 | AsmNullInstruction
43158 | AsmPowerpcInstruction
43159 | AsmUserInstruction
43160 | AsmX86Instruction
43162assert(AsmInstruction.associatedGrammar !=
nullptr);
43163AsmInstruction.setCppCondition(
"!defined(DOCUMENTATION)");
43164AsmInstruction.isBoostSerializable(
true);
43165AsmInstruction.setAutomaticGenerationOfConstructor(
false);
43166AsmInstruction.setAutomaticGenerationOfDestructor(
false);
43169#ifndef DOCUMENTATION
43170AsmInstruction.useSmallHeader(
true);
43173DECLARE_HEADERS(AsmInstruction);
43174#if defined(SgAsmInstruction_HEADERS) || defined(DOCUMENTATION)
43175#include <Rose/BinaryAnalysis/Architecture/BasicTypes.h>
43176#include <Rose/BinaryAnalysis/MemoryMap.h>
43177#include <sageContainer.h>
43178#include <Sawyer/Cached.h>
43180#ifdef ROSE_SgAsmInstruction_IMPL
43181#include <SgAsmExprListExp.h>
43182#include <SgAsmOperandList.h>
43186#ifdef DOCUMENTATION
43211#ifndef DOCUMENTATION
43212 AsmInstruction.setDataPrototype(
43213 "uint8_t",
"architectureId",
"",
43214 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43217#ifndef DOCUMENTATION
43218 AsmInstruction.setDataPrototype(
43219 "SgUnsignedCharList",
"rawBytes",
"",
43220 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43223#ifndef DOCUMENTATION
43224 AsmInstruction.setDataPrototype(
43225 "SgAsmOperandList*",
"operandList",
"= nullptr",
43226 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
43229#ifndef DOCUMENTATION
43230 AsmInstruction.setDataPrototype(
43231 "SgAsmInstruction*",
"delaySlot",
"= nullptr",
43232 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43235#ifndef DOCUMENTATION
43236 AsmInstruction.setDataPrototype(
43237 "SgAsmStatementPtrList",
"sources",
"",
43238 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43241#ifndef DOCUMENTATION
43242 AsmInstruction.setDataPrototype(
43243 "int64_t",
"stackDeltaIn",
"= SgAsmInstruction::INVALID_STACK_DELTA",
43244 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43247#ifndef DOCUMENTATION
43248 AsmInstruction.setDataPrototype(
43249 "SgAsmExprListExp*",
"semantics",
"= nullptr",
43250 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
43253 DECLARE_OTHERS(AsmInstruction);
43254#if defined(SgAsmInstruction_OTHERS) || defined(DOCUMENTATION)
43257#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
43259 friend class boost::serialization::access;
43262 void serialize(S &s,
const unsigned ) {
43266 auto temp = architectureIdSerialize(p_architectureId);
43267 s & boost::serialization::make_nvp(
"p_architectureId", temp);
43268 p_architectureId = architectureIdDeserialize(temp);
43270 s & BOOST_SERIALIZATION_NVP(p_rawBytes);
43271 s & BOOST_SERIALIZATION_NVP(p_operandList);
43272 s & BOOST_SERIALIZATION_NVP(p_delaySlot);
43273 s & BOOST_SERIALIZATION_NVP(p_sources);
43281 struct SemanticFailure {
43283 SemanticFailure(): n(0) {}
43285#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
43287 friend class boost::serialization::access;
43289 void serialize(S &s,
const unsigned ) {
43290 s & BOOST_SERIALIZATION_NVP(n);
43309 std::string architectureIdSerialize(uint8_t
id)
const;
43310 uint8_t architectureIdDeserialize(
const std::string &name)
const;
43379 SemanticFailure semanticFailure_;
43409 virtual std::
string description() const final ROSE_DEPRECATED("use Architecture::Base::instructionDescription");
43420 virtual
bool terminatesBasicBlock() final ROSE_DEPRECATED("use Architecture::Base::terminatesBasicBlock");
43421 virtual
bool isFunctionCallFast(const std::vector<
SgAsmInstruction*>&, rose_addr_t *target, rose_addr_t *ret) final
43422 ROSE_DEPRECATED("use Architecture::Base::isFunctionCallFast");
43423 virtual
bool isFunctionCallSlow(const std::vector<
SgAsmInstruction*>&, rose_addr_t *target, rose_addr_t *ret) final
43424 ROSE_DEPRECATED("use Architecture::Base::isFunctionCallSlow");
43425 virtual
bool isFunctionReturnFast(const std::vector<
SgAsmInstruction*>&) final
43426 ROSE_DEPRECATED("use Architecture::Base::isFunctionReturnFast");
43427 virtual
bool isFunctionReturnSlow(const std::vector<
SgAsmInstruction*>&) final
43428 ROSE_DEPRECATED("use Architecture::Base::isFunctionReturnSlow");
43429 virtual
Sawyer::Optional<rose_addr_t> branchTarget() final
43430 ROSE_DEPRECATED("use Architecture::Base::branchTarget");
43587 bool relax_stack_semantics=false);
43598 virtual std::vector<std::pair<
size_t,
size_t> >
43600 bool relax_stack_semantics=false);
43603 virtual
Rose::BinaryAnalysis::AddressSet getSuccessors(
bool &complete)
43604 ROSE_DEPRECATED("use Architecture::Base::getSuccessors");
43605 virtual
Rose::BinaryAnalysis::AddressSet getSuccessors(const std::vector<
SgAsmInstruction*> &basicBlock,
43607 const
Rose::BinaryAnalysis::MemoryMap::Ptr &initial_memory =
43608 Rose::BinaryAnalysis::MemoryMap::Ptr())
43609 ROSE_DEPRECATED("use Architecture::Base::getSuccessors");
43619 virtual
bool isUnknown() const final ROSE_DEPRECATED("use Architecture::Base::isUnknown");
43700 const SgUnsignedCharList& get_raw_bytes() const ROSE_DEPRECATED("use
get_rawBytes");
43701 void set_raw_bytes(const SgUnsignedCharList&) ROSE_DEPRECATED("use
set_rawBytes");
43713 uint8_t const& architectureId);
43724#ifdef DOCUMENTATION
43733#ifndef DOCUMENTATION
43734AstNodeClass& AsmStatement = nonTerminalConstructor(
43739 SubclassListBuilder()
43743 | AsmSynthesizedDeclaration
43745assert(AsmStatement.associatedGrammar !=
nullptr);
43746AsmStatement.setCppCondition(
"!defined(DOCUMENTATION)");
43747AsmStatement.isBoostSerializable(
true);
43748AsmStatement.setAutomaticGenerationOfConstructor(
false);
43749AsmStatement.setAutomaticGenerationOfDestructor(
false);
43752#ifndef DOCUMENTATION
43753AsmStatement.useSmallHeader(
true);
43756#ifdef DOCUMENTATION
43764#ifndef DOCUMENTATION
43765 AsmStatement.setDataPrototype(
43766 "rose_addr_t",
"address",
"= 0",
43767 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43770#ifndef DOCUMENTATION
43771 AsmStatement.setDataPrototype(
43772 "std::string",
"comment",
"",
43773 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43776 DECLARE_OTHERS(AsmStatement);
43777#if defined(SgAsmStatement_OTHERS) || defined(DOCUMENTATION)
43780#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
43782 friend class boost::serialization::access;
43785 void serialize(S &s,
const unsigned ) {
43787 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
43788 s & BOOST_SERIALIZATION_NVP(p_address);
43789 s & BOOST_SERIALIZATION_NVP(p_comment);
43833#ifdef DOCUMENTATION
43842DECLARE_LEAF_CLASS(AsmAarch32Coprocessor);
43843IS_SERIALIZABLE(AsmAarch32Coprocessor);
43845#ifndef DOCUMENTATION
43846AsmAarch32Coprocessor.useSmallHeader(
true);
43849#ifdef DOCUMENTATION
43854 DECLARE_OTHERS(AsmAarch32Coprocessor);
43855#if defined(SgAsmAarch32Coprocessor_OTHERS) || defined(DOCUMENTATION)
43858#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
43860 friend class boost::serialization::access;
43863 void serialize(S &s,
const unsigned ) {
43866 s & BOOST_SERIALIZATION_NVP(coprocessor_);
43903#ifdef DOCUMENTATION
43912#ifndef DOCUMENTATION
43913AstNodeClass& AsmExpression = nonTerminalConstructor(
43917 "AsmExpressionTag",
43918 SubclassListBuilder()
43919 | AsmAarch32Coprocessor
43920#ifdef ROSE_ENABLE_ASM_AARCH64
43921 | AsmAarch64AtOperand
43923#ifdef ROSE_ENABLE_ASM_AARCH64
43924 | AsmAarch64BarrierOperand
43926#ifdef ROSE_ENABLE_ASM_AARCH64
43927 | AsmAarch64CImmediateOperand
43929#ifdef ROSE_ENABLE_ASM_AARCH64
43930 | AsmAarch64PrefetchOperand
43932#ifdef ROSE_ENABLE_ASM_AARCH64
43935#ifdef ROSE_ENABLE_ASM_AARCH64
43936 | AsmAarch64SysMoveOperand
43938 | AsmBinaryExpression
43940 | AsmCommonSubExpression
43941 | AsmControlFlagsExpression
43943 | AsmMemoryReferenceExpression
43945 | AsmRegisterReferenceExpression
43947 | AsmStackExpression
43948 | AsmUnaryExpression
43949 | AsmValueExpression
43951assert(AsmExpression.associatedGrammar !=
nullptr);
43952AsmExpression.setCppCondition(
"!defined(DOCUMENTATION)");
43953AsmExpression.isBoostSerializable(
true);
43954AsmExpression.setAutomaticGenerationOfConstructor(
false);
43955AsmExpression.setAutomaticGenerationOfDestructor(
false);
43958#ifndef DOCUMENTATION
43959AsmExpression.useSmallHeader(
true);
43962#ifdef DOCUMENTATION
43967#ifndef DOCUMENTATION
43968 AsmExpression.setDataPrototype(
43969 "SgAsmType*",
"type",
"= nullptr",
43970 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43973#ifndef DOCUMENTATION
43974 AsmExpression.setDataPrototype(
43975 "std::string",
"comment",
"",
43976 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43979 DECLARE_OTHERS(AsmExpression);
43980#if defined(SgAsmExpression_OTHERS) || defined(DOCUMENTATION)
43983#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
43985 friend class boost::serialization::access;
43988 void serialize(S &s,
const unsigned ) {
43990 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
43991 s & BOOST_SERIALIZATION_NVP(p_type);
43992 s & BOOST_SERIALIZATION_NVP(p_comment);
44050#ifdef DOCUMENTATION
44059#ifndef DOCUMENTATION
44060AstNodeClass& AsmNode = nonTerminalConstructor(
44065 SubclassListBuilder()
44067 | AsmExecutableFileFormat
44069 | AsmGenericFileList
44070 | AsmInstructionList
44071 | AsmInterpretation
44072 | AsmInterpretationList
44078assert(AsmNode.associatedGrammar !=
nullptr);
44079AsmNode.setCppCondition(
"!defined(DOCUMENTATION)");
44080AsmNode.isBoostSerializable(
true);
44081AsmNode.setAutomaticGenerationOfConstructor(
false);
44082AsmNode.setAutomaticGenerationOfDestructor(
false);
44085#ifndef DOCUMENTATION
44086AsmNode.useSmallHeader(
true);
44089DECLARE_HEADERS(AsmNode);
44090#if defined(SgAsmNode_HEADERS) || defined(DOCUMENTATION)
44091#include <Sawyer/Attribute.h>
44092#include <boost/format.hpp>
44095#ifdef DOCUMENTATION
44100 DECLARE_OTHERS(AsmNode);
44101#if defined(SgAsmNode_OTHERS) || defined(DOCUMENTATION)
44104#ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
44106 friend class boost::serialization::access;
44109 void serialize(S &s,
const unsigned ) {
44111 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgNode);
44151#ifdef DOCUMENTATION
44155#ifndef DOCUMENTATION
Encodes and decodes a buffer using an algorithm defined in subclasses.
A contiguous range of values.
Describes (part of) a physical CPU register.
Optionally bound relative virtual address.
Stores a vector of enum bit flags.
Base class for all ROSE exceptions.
Exception(const std::string &s)
Construct an exception with an error message.
API and storage for attributes.
Container associating values with keys.
Value & insertMaybe(const Key &key, const Value &value)
Conditionally insert a new key/value pair.
Holds a value or nothing.
Result containing a value or an error.
Operand referencing a Co-processor.
SgAsmAarch32Coprocessor()
Default constructor.
void coprocessor(int const &)
Property: Coprocessor number.
int const & coprocessor() const
Property: Coprocessor number.
SgAsmAarch32Coprocessor(int const &coprocessor)
Constructor.
virtual ~SgAsmAarch32Coprocessor()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
String associated with a binary file.
virtual ~SgAsmBasicString()
Destructor.
virtual std::string get_string(bool escape=false) const override
Property: String value.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void set_string(const std::string &) override
Property: String value.
SgAsmBasicString(const std::string &)
Constructor that gives a value to the object.
SgAsmBasicString()
Default constructor.
virtual void set_string(rose_addr_t) override
Property: String value.
SgAsmBasicString(const char *)
Constructor that gives a value to the object.
Expression that adds two operands.
SgAsmBinaryAdd()
Default constructor.
virtual ~SgAsmBinaryAdd()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmBinaryAdd(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
Expression that performs an arithmetic, sign-bit preserving right shift.
SgAsmBinaryAsr(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
SgAsmBinaryAsr()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmBinaryAsr()
Destructor.
Expression that concatenates two values to form a wider value.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmBinaryConcat(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
SgAsmBinaryConcat()
Default constructor.
virtual ~SgAsmBinaryConcat()
Destructor.
Expression that divides the first operand by the second.
SgAsmBinaryDivide()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmBinaryDivide(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
virtual ~SgAsmBinaryDivide()
Destructor.
Base class for binary expressions.
void set_rhs(SgAsmExpression *const &)
Property: Right-hand side operand.
SgAsmExpression *const & get_lhs() const
Property: Left-hand side operand.
SgAsmExpression *const & get_rhs() const
Property: Right-hand side operand.
SgAsmBinaryExpression(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
SgAsmBinaryExpression()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_lhs(SgAsmExpression *const &)
Property: Left-hand side operand.
virtual ~SgAsmBinaryExpression()
Destructor.
Expression that performs a logical left shift operation.
SgAsmBinaryLsl(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
SgAsmBinaryLsl()
Default constructor.
virtual ~SgAsmBinaryLsl()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Expression that performs a logical, sign-bit non-preserving right shift.
SgAsmBinaryLsr(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmBinaryLsr()
Default constructor.
virtual ~SgAsmBinaryLsr()
Destructor.
Expression that returns the remainder when dividing the first operand by the second.
SgAsmBinaryMod()
Default constructor.
SgAsmBinaryMod(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmBinaryMod()
Destructor.
Expression that performs a logical left shift operation filling low-order bits with one.
SgAsmBinaryMsl()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmBinaryMsl()
Destructor.
SgAsmBinaryMsl(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
Expression that multiplies two operands.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmBinaryMultiply()
Default constructor.
virtual ~SgAsmBinaryMultiply()
Destructor.
SgAsmBinaryMultiply(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
Expression that represents an update to a storage location.
virtual ~SgAsmBinaryPostupdate()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmBinaryPostupdate()
Default constructor.
SgAsmBinaryPostupdate(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
Expression that represents an update to a storage location.
SgAsmBinaryPreupdate()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmBinaryPreupdate()
Destructor.
SgAsmBinaryPreupdate(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
Expression that performs a right rotate.
SgAsmBinaryRor()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmBinaryRor(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
virtual ~SgAsmBinaryRor()
Destructor.
Expression that subtracts the second operand from the first.
virtual ~SgAsmBinarySubtract()
Destructor.
SgAsmBinarySubtract()
Default constructor.
SgAsmBinarySubtract(SgAsmExpression *const &lhs, SgAsmExpression *const &rhs)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_statementList(SgAsmStatementPtrList const &)
Property: Statements of which this block is composed.
int64_t const & get_stackDeltaOut() const
Property: Stack pointer at block exit w.r.t.
void set_cachedVertex(size_t const &)
Property: Cached vertex for control flow graphs.
bool isFunctionCall(rose_addr_t &target_va, rose_addr_t &return_va)
Returns true if basic block appears to be a function call.
SgAsmIntegerValuePtrList & get_successors()
Property: Control flow successors.
void set_immediateDominator(SgAsmBlock *const &)
Property: Holds the immediate dominator block in the control flow graph.
bool const & get_successorsComplete() const
Property: Whether the successors list is complete.
SgAsmIntegerValuePtrList const & get_successors() const
Property: Control flow successors.
void set_successorsComplete(bool const &)
Property: Whether the successors list is complete.
void removeStatement(SgAsmStatement *)
Erase the specified statement.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_stackDeltaOut(int64_t const &)
Property: Stack pointer at block exit w.r.t.
std::string reasonString(bool pad) const
Returns reason string for this block.
void appendStatement(SgAsmStatement *)
Add the specified statement to the end of the statement list.
unsigned const & get_reason() const
Property: Reasons this block was created.
Reason
Reasons why a basic block might have been assigned to a function.
@ BLK_FINDDATA
Added by Partitioner::FindData, which attaches unassigned parts of the disassembly address space to t...
@ BLK_PADDING
Block is used for padding.
@ BLK_JUMPTABLE
Table of code addresses used by indirect branches.
@ BLK_FRAGMENT
This block created because it seems to belong to the function although CFG traversal did not find it.
@ BLK_GRAPH3
Block was added by a third pass of CFG analysis.
@ BLK_LEFTOVERS
Block is being assigned to a FUNC_LEFTOVERS function because it could not be assigned to any other fu...
@ BLK_POSTFUNC
Added by Partitioner::FindPostFunctionInsns, which adds unassigned instructions to the immediately pr...
@ BLK_USERDEF
User says block belongs to the function.
@ BLK_GRAPH2
Block was added by a second pass of CFG analysis.
@ BLK_NONE
No particular reason.
@ BLK_MISCMASK
Miscellaneous reasons go here.
@ BLK_ENTRY_POINT
Block is an entry point for the function.
@ BLK_GRAPH1
Block was added by the main CFG analysis.
@ BLK_CFGHEAD
Block serves as an explicit starting point for CFG analysis.
SgAsmStatementPtrList const & get_statementList() const
Property: Statements of which this block is composed.
static std::string reasonKey(const std::string &prefix="")
Multi-line string describing the letters used for basic block reasons.
static std::string reasonString(bool pad, unsigned reason)
Converts a reason bit vector to a human-friendly string.
double const & get_codeLikelihood() const
Property: Likelihood that this block represents real instructions.
SgAsmStatementPtrList & get_statementList()
Property: Statements of which this block is composed.
void removeChildren()
Removes all statements from the block.
void set_reason(unsigned const &)
Property: Reasons this block was created.
bool hasInstructions() const
Determins if a block contains instructions.
SgAsmFunction * get_enclosingFunction() const
Returns the function that owns this block.
void set_codeLikelihood(double const &)
Property: Likelihood that this block represents real instructions.
void set_id(rose_addr_t const &)
Property: Identification.
SgAsmBlock *const & get_immediateDominator() const
Property: Holds the immediate dominator block in the control flow graph.
rose_addr_t get_fallthroughVa()
Fall-through virtual address.
void set_successors(SgAsmIntegerValuePtrList const &)
Property: Control flow successors.
rose_addr_t const & get_id() const
Property: Identification.
size_t const & get_cachedVertex() const
Property: Cached vertex for control flow graphs.
bool isBasicBlock() const
Determine if a block contains instructions.
Byte order specification.
void byteOrder(Rose::BinaryAnalysis::ByteOrder::Endianness const &)
Property: Byte order.
virtual ~SgAsmByteOrder()
Destructor.
Rose::BinaryAnalysis::ByteOrder::Endianness const & byteOrder() const
Property: Byte order.
SgAsmByteOrder(Rose::BinaryAnalysis::ByteOrder::Endianness const &byteOrder)
Constructor.
SgAsmByteOrder()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilAssemblyOSTable()
Default constructor.
virtual ~SgAsmCilAssemblyOSTable()
Destructor.
CIL AssemblyOS node (II.22.3).
SgAsmCilAssemblyOS()
Default constructor.
uint32_t const & get_OSMajorVersion() const
Property: OSMajorVersion.
virtual ~SgAsmCilAssemblyOS()
Destructor.
uint32_t const & get_OSMinorVersion() const
Property: OSMinorVersion.
void set_OSMinorVersion(uint32_t const &)
Property: OSMinorVersion.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_OSPlatformID(uint32_t const &)
Property: OSPlatformID.
void set_OSMajorVersion(uint32_t const &)
Property: OSMajorVersion.
uint32_t const & get_OSPlatformID() const
Property: OSPlatformID.
CIL AssemblyProcessor tables.
virtual ~SgAsmCilAssemblyProcessorTable()
Destructor.
SgAsmCilAssemblyProcessorTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL AssemblyProcessor node (II.22.4).
SgAsmCilAssemblyProcessor()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilAssemblyProcessor()
Destructor.
void set_Processor(uint32_t const &)
Property: Processor.
uint32_t const & get_Processor() const
Property: Processor.
CIL AssemblyRefOS tables.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilAssemblyRefOSTable()
Destructor.
SgAsmCilAssemblyRefOSTable()
Default constructor.
CIL AssemblyRefOS node (II.22.6).
void set_OSMinorVersion(uint32_t const &)
Property: OSMinorVersion.
virtual ~SgAsmCilAssemblyRefOS()
Destructor.
uint32_t const & get_AssemblyRefOS() const
Property: AssemblyRefOS.
uint32_t const & get_OSPlatformID() const
Property: OSPlatformID.
void set_OSMajorVersion(uint32_t const &)
Property: OSMajorVersion.
void set_OSPlatformID(uint32_t const &)
Property: OSPlatformID.
SgAsmCilAssemblyRefOS()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_OSMajorVersion() const
Property: OSMajorVersion.
uint32_t const & get_OSMinorVersion() const
Property: OSMinorVersion.
void set_AssemblyRefOS(uint32_t const &)
Property: AssemblyRefOS.
CIL AssemblyRefProcessor tables.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilAssemblyRefProcessorTable()
Default constructor.
virtual ~SgAsmCilAssemblyRefProcessorTable()
Destructor.
CIL AssemblyRefProcessor node (II.22.7).
virtual ~SgAsmCilAssemblyRefProcessor()
Destructor.
void set_AssemblyRef(uint32_t const &)
Property: AssemblyRef.
SgAsmCilAssemblyRefProcessor()
Default constructor.
uint32_t const & get_AssemblyRef() const
Property: AssemblyRef.
void set_Processor(uint32_t const &)
Property: Processor.
uint32_t const & get_Processor() const
Property: Processor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilAssemblyRefTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilAssemblyRefTable()
Default constructor.
CIL AssemblyRef node (II.22.5).
uint32_t const & get_PublicKeyOrToken() const
Property: PublicKeyOrToken.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_BuildNumber(uint16_t const &)
Property: BuildNumber.
void set_Name(uint32_t const &)
Property: Name.
uint32_t const & get_Name() const
Property: Name.
uint16_t const & get_MinorVersion() const
Property: MinorVersion.
uint16_t const & get_MajorVersion() const
Property: MajorVersion.
uint32_t const & get_Flags() const
Property: Flags.
void set_Flags(uint32_t const &)
Property: Flags.
uint16_t const & get_BuildNumber() const
Property: BuildNumber.
void set_HashValue(uint32_t const &)
Property: HashValue.
SgAsmCilAssemblyRef()
Default constructor.
uint32_t const & get_Culture() const
Property: Culture.
uint32_t const & get_HashValue() const
Property: HashValue.
uint16_t const & get_RevisionNumber() const
Property: RevisionNumber.
void set_RevisionNumber(uint16_t const &)
Property: RevisionNumber.
virtual ~SgAsmCilAssemblyRef()
Destructor.
void set_Culture(uint32_t const &)
Property: Culture.
void set_MinorVersion(uint16_t const &)
Property: MinorVersion.
void set_PublicKeyOrToken(uint32_t const &)
Property: PublicKeyOrToken.
void set_MajorVersion(uint16_t const &)
Property: MajorVersion.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilAssemblyTable()
Default constructor.
virtual ~SgAsmCilAssemblyTable()
Destructor.
CIL Assembly node (II.22.2).
void set_Name(uint32_t const &)
Property: Name.
uint16_t const & get_MajorVersion() const
Property: MajorVersion.
uint32_t const & get_Name() const
Property: Name.
uint32_t const & get_Culture() const
Property: Culture.
uint32_t const & get_HashAlgId() const
Property: HashAlgId.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilAssembly()
Destructor.
void set_RevisionNumber(uint16_t const &)
Property: RevisionNumber.
uint32_t const & get_Flags() const
Property: Flags.
void set_MajorVersion(uint16_t const &)
Property: MajorVersion.
void set_Culture(uint32_t const &)
Property: Culture.
SgAsmCilAssembly()
Default constructor.
void set_Flags(uint32_t const &)
Property: Flags.
uint16_t const & get_MinorVersion() const
Property: MinorVersion.
void set_HashAlgId(uint32_t const &)
Property: HashAlgId.
uint16_t const & get_RevisionNumber() const
Property: RevisionNumber.
uint16_t const & get_BuildNumber() const
Property: BuildNumber.
void set_MinorVersion(uint16_t const &)
Property: MinorVersion.
void set_PublicKey(uint32_t const &)
Property: PublicKey.
void set_BuildNumber(uint16_t const &)
Property: BuildNumber.
uint32_t const & get_PublicKey() const
Property: PublicKey.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilClassLayoutTable()
Destructor.
SgAsmCilClassLayoutTable()
Default constructor.
CIL ClassLayout node (II.22.8).
void set_ClassSize(uint32_t const &)
Property: ClassSize.
uint16_t const & get_PackingSize() const
Property: PackingSize.
virtual ~SgAsmCilClassLayout()
Destructor.
uint32_t const & get_Parent() const
Property: Parent.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Parent(uint32_t const &)
Property: Parent.
void set_PackingSize(uint16_t const &)
Property: PackingSize.
SgAsmCilClassLayout()
Default constructor.
uint32_t const & get_ClassSize() const
Property: ClassSize.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilConstantTable()
Destructor.
SgAsmCilConstantTable()
Default constructor.
CIL Constant node (II.22.9).
uint8_t const & get_Padding() const
Property: Padding.
void set_Padding(uint8_t const &)
Property: Padding.
SgAsmCilConstant()
Default constructor.
void set_Parent(uint32_t const &)
Property: Parent.
uint32_t const & get_Parent() const
Property: Parent.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint8_t const & get_Type() const
Property: Type.
virtual ~SgAsmCilConstant()
Destructor.
void set_Type(uint8_t const &)
Property: Type.
void set_Value(uint32_t const &)
Property: Value.
uint32_t const & get_Value() const
Property: Value.
CIL CustomAttribute tables.
SgAsmCilCustomAttributeTable()
Default constructor.
virtual ~SgAsmCilCustomAttributeTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL CustomAttribute node (II.22.10).
virtual ~SgAsmCilCustomAttribute()
Destructor.
uint32_t const & get_Parent() const
Property: Parent.
uint32_t const & get_Value() const
Property: Value.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Value(uint32_t const &)
Property: Value.
SgAsmCilCustomAttribute()
Default constructor.
void set_Type(uint32_t const &)
Property: Type.
void set_Parent(uint32_t const &)
Property: Parent.
uint32_t const & get_Type() const
Property: Type.
Base class for CIL branch of binary analysis IR nodes.
virtual void dump(std::ostream &os) const
Prints the object's data in a human readable form.
virtual ~SgAsmCilDataStream()
Destructor.
void set_Offset(uint32_t const &)
Property: Start offset of the byte stream.
virtual void parse(const std::vector< uint8_t > &buf, size_t startOfMetaData)
}@
static const std::string ID_STRING_HEAP
Define constant strings for the known stream types.
void set_Name(std::string const &)
Property: Name of the byte stream.
static const std::string ID_BLOB_HEAP
Define constant strings for the known stream types.
SgAsmCilDataStream(uint32_t const &Offset, uint32_t const &Size, std::string const &Name, uint32_t const &NamePadding)
Constructor.
virtual void unparse(std::vector< uint8_t > &buf, size_t startOfMetaData) const
unparses the metadata objects into the buffer
std::string const & get_Name() const
Property: Name of the byte stream.
void initializeProperties()
Initialize all properties that have explicit initial values.
static const std::string ID_US_HEAP
Define constant strings for the known stream types.
void set_NamePadding(uint32_t const &)
Property: Name of the byte stream.
SgAsmCilDataStream()
Default constructor.
void set_Size(uint32_t const &)
Property: Length of the byte stream.
static const std::string ID_GUID_HEAP
Define constant strings for the known stream types.
uint32_t const & get_Offset() const
Property: Start offset of the byte stream.
uint32_t const & get_NamePadding() const
Property: Name of the byte stream.
uint32_t const & get_Size() const
Property: Length of the byte stream.
static const std::string ID_METADATA_HEAP
Define constant strings for the known stream types.
virtual ~SgAsmCilDeclSecurityTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilDeclSecurityTable()
Default constructor.
CIL DeclSecurity node (II.22.11).
void set_Parent(uint32_t const &)
Property: Parent.
uint32_t const & get_PermissionSet() const
Property: PermissionSet.
uint16_t const & get_Action() const
Property: Action.
uint32_t const & get_Parent() const
Property: Parent.
void set_PermissionSet(uint32_t const &)
Property: PermissionSet.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilDeclSecurity()
Default constructor.
virtual ~SgAsmCilDeclSecurity()
Destructor.
void set_Action(uint16_t const &)
Property: Action.
virtual ~SgAsmCilEventMapTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilEventMapTable()
Default constructor.
CIL EventMap node (II.22.12).
void set_EventList(uint32_t const &)
Property: EventList.
void set_Parent(uint32_t const &)
Property: Parent.
uint32_t const & get_Parent() const
Property: Parent.
virtual ~SgAsmCilEventMap()
Destructor.
SgAsmCilEventMap()
Default constructor.
uint32_t const & get_EventList() const
Property: EventList.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilEventTable()
Destructor.
SgAsmCilEventTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL Event node (II.22.13).
uint32_t const & get_EventType() const
Property: EventType.
uint32_t const & get_Name() const
Property: Name.
virtual ~SgAsmCilEvent()
Destructor.
void set_EventFlags(uint16_t const &)
Property: EventFlags.
SgAsmCilEvent()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Name(uint32_t const &)
Property: Name.
uint16_t const & get_EventFlags() const
Property: EventFlags.
void set_EventType(uint32_t const &)
Property: EventType.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilExportedTypeTable()
Destructor.
SgAsmCilExportedTypeTable()
Default constructor.
CIL ExportedType node (II.22.14).
void set_Implementation(uint32_t const &)
Property: Implementation.
SgAsmCilExportedType()
Default constructor.
void set_TypeNamespace(uint32_t const &)
Property: TypeNamespace.
virtual ~SgAsmCilExportedType()
Destructor.
uint32_t const & get_TypeName() const
Property: TypeName.
uint32_t const & get_Implementation() const
Property: Implementation.
void set_TypeName(uint32_t const &)
Property: TypeName.
void set_EventFlags(uint32_t const &)
Property: EventFlags.
uint32_t const & get_EventFlags() const
Property: EventFlags.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_TypeDefIdName() const
Property: TypeDefIdName.
uint32_t const & get_TypeNamespace() const
Property: TypeNamespace.
void set_TypeDefIdName(uint32_t const &)
Property: TypeDefIdName.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilFieldLayoutTable()
Destructor.
SgAsmCilFieldLayoutTable()
Default constructor.
CIL FieldLayout node (II.22.16).
virtual ~SgAsmCilFieldLayout()
Destructor.
void set_Field(uint32_t const &)
Property: Field.
uint32_t const & get_Offset() const
Property: Offset.
SgAsmCilFieldLayout()
Default constructor.
void set_Offset(uint32_t const &)
Property: Offset.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Field() const
Property: Field.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilFieldMarshalTable()
Destructor.
SgAsmCilFieldMarshalTable()
Default constructor.
CIL FieldMarshal node (II.22.17).
virtual ~SgAsmCilFieldMarshal()
Destructor.
uint32_t const & get_NativeType() const
Property: NativeType.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Parent() const
Property: Parent.
void set_NativeType(uint32_t const &)
Property: NativeType.
void set_Parent(uint32_t const &)
Property: Parent.
SgAsmCilFieldMarshal()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilFieldRVATable()
Default constructor.
virtual ~SgAsmCilFieldRVATable()
Destructor.
CIL FieldRVA node (II.22.18).
virtual ~SgAsmCilFieldRVA()
Destructor.
void set_RVA(uint32_t const &)
Property: RVA.
void set_Field(uint32_t const &)
Property: Field.
uint32_t const & get_RVA() const
Property: RVA.
uint32_t const & get_Field() const
Property: Field.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilFieldRVA()
Default constructor.
virtual ~SgAsmCilFieldTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilFieldTable()
Default constructor.
CIL Field node (II.22.15).
void set_Signature(uint32_t const &)
Property: Signature.
void set_Name(uint32_t const &)
Property: Name.
void set_Flags(uint16_t const &)
Property: Flags.
uint16_t const & get_Flags() const
Property: Flags.
SgAsmCilField()
Default constructor.
virtual ~SgAsmCilField()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Name() const
Property: Name.
uint32_t const & get_Signature() const
Property: Signature.
virtual ~SgAsmCilFileTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilFileTable()
Default constructor.
CIL File node (II.22.19).
void set_HashValue(uint32_t const &)
Property: HashValue.
SgAsmCilFile()
Default constructor.
uint32_t const & get_HashValue() const
Property: HashValue.
void set_Name(uint32_t const &)
Property: Name.
uint32_t const & get_Flags() const
Property: Flags.
uint32_t const & get_Name() const
Property: Name.
virtual ~SgAsmCilFile()
Destructor.
void set_Flags(uint32_t const &)
Property: Flags.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL GenericParamConstraint tables.
virtual ~SgAsmCilGenericParamConstraintTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilGenericParamConstraintTable()
Default constructor.
CIL GenericParamConstraint node (II.22.21).
uint32_t const & get_Owner() const
Property: Owner.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilGenericParamConstraint()
Destructor.
SgAsmCilGenericParamConstraint()
Default constructor.
void set_Owner(uint32_t const &)
Property: Owner.
uint32_t const & get_Constraint() const
Property: Constraint.
void set_Constraint(uint32_t const &)
Property: Constraint.
SgAsmCilGenericParamTable()
Default constructor.
virtual ~SgAsmCilGenericParamTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL GenericParam node (II.22.20).
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Owner() const
Property: Owner.
void set_Owner(uint32_t const &)
Property: Owner.
virtual ~SgAsmCilGenericParam()
Destructor.
void set_Number(uint16_t const &)
Property: Number.
uint16_t const & get_Flags() const
Property: Flags.
uint32_t const & get_Name() const
Property: Name.
uint16_t const & get_Number() const
Property: Number.
void set_Name(uint32_t const &)
Property: Name.
SgAsmCilGenericParam()
Default constructor.
void set_Flags(uint16_t const &)
Property: Flags.
SgAsmCilImplMapTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilImplMapTable()
Destructor.
CIL ImplMap node (II.22.22).
virtual ~SgAsmCilImplMap()
Destructor.
void set_ImportScope(uint32_t const &)
Property: ImportScope.
uint32_t const & get_ImportName() const
Property: ImportName.
uint32_t const & get_ImportScope() const
Property: ImportScope.
uint16_t const & get_MappingFlags() const
Property: MappingFlags.
void set_MemberForwarded(uint32_t const &)
Property: MemberForwarded.
void set_ImportName(uint32_t const &)
Property: ImportName.
uint32_t const & get_MemberForwarded() const
Property: MemberForwarded.
void set_MappingFlags(uint16_t const &)
Property: MappingFlags.
SgAsmCilImplMap()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilInstruction()
Default constructor.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
SgAsmCilInstruction(rose_addr_t const &address, uint8_t const &architectureId, Rose::BinaryAnalysis::CilInstructionKind const &kind)
Constructor.
virtual ~SgAsmCilInstruction()
Destructor.
void set_kind(Rose::BinaryAnalysis::CilInstructionKind const &)
Property: Instruction kind.
Rose::BinaryAnalysis::CilInstructionKind const & get_kind() const
Property: Instruction kind.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL InterfaceImpl tables.
SgAsmCilInterfaceImplTable()
Default constructor.
virtual ~SgAsmCilInterfaceImplTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL InterfaceImpl node (II.22.23).
SgAsmCilInterfaceImpl()
Default constructor.
virtual ~SgAsmCilInterfaceImpl()
Destructor.
void set_Interface(uint32_t const &)
Property: Interface.
void set_Class(uint32_t const &)
Property: Class.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Interface() const
Property: Interface.
uint32_t const & get_Class() const
Property: Class.
CIL ManifestResource tables.
virtual ~SgAsmCilManifestResourceTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilManifestResourceTable()
Default constructor.
CIL ManifestResource node (II.22.24).
uint32_t const & get_Implementation() const
Property: Implementation.
void set_Flags(uint32_t const &)
Property: Flags.
SgAsmCilManifestResource()
Default constructor.
uint32_t const & get_Name() const
Property: Name.
void set_Implementation(uint32_t const &)
Property: Implementation.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Offset(uint32_t const &)
Property: Offset.
uint32_t const & get_Flags() const
Property: Flags.
virtual ~SgAsmCilManifestResource()
Destructor.
uint32_t const & get_Offset() const
Property: Offset.
void set_Name(uint32_t const &)
Property: Name.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilMemberRefTable()
Destructor.
SgAsmCilMemberRefTable()
Default constructor.
CIL MemberRef node (II.22.25).
uint32_t const & get_Name() const
Property: Name.
void set_Signature(uint32_t const &)
Property: Signature.
void set_Name(uint32_t const &)
Property: Name.
virtual ~SgAsmCilMemberRef()
Destructor.
uint32_t const & get_Class() const
Property: Class.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Class(uint32_t const &)
Property: Class.
uint32_t const & get_Signature() const
Property: Signature.
SgAsmCilMemberRef()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilMethodDefTable()
Default constructor.
virtual ~SgAsmCilMethodDefTable()
Destructor.
CIL MethodDef node (II.22.26).
virtual ~SgAsmCilMethodDef()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_hasMoreSections(bool const &)
Property: hasMoreSections.
uint32_t const & get_ParamList() const
Property: ParamList.
void set_Signature(uint32_t const &)
Property: Signature.
void set_ParamList(uint32_t const &)
Property: ParamList.
void set_stackSize(uint32_t const &)
Property: stackSize.
void set_body(SgAsmBlock *const &)
Property: body.
uint32_t const & get_ImplFlags() const
Property: ImplFlags.
uint32_t const & get_stackSize() const
Property: stackSize.
SgAsmCilMethodDef()
Default constructor.
uint32_t const & get_Name() const
Property: Name.
SgAsmBlock *const & get_body() const
Property: body.
void set_RVA(uint32_t const &)
Property: RVA.
bool const & get_hasMoreSections() const
Property: hasMoreSections.
void set_ImplFlags(uint32_t const &)
Property: ImplFlags.
void set_Name(uint32_t const &)
Property: Name.
uint32_t const & get_RVA() const
Property: RVA.
bool const & get_initLocals() const
Property: initLocals.
void set_Flags(uint16_t const &)
Property: Flags.
uint32_t const & get_Signature() const
Property: Signature.
uint16_t const & get_Flags() const
Property: Flags.
void set_initLocals(bool const &)
Property: initLocals.
SgAsmCilMethodImplTable()
Default constructor.
virtual ~SgAsmCilMethodImplTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL MethodImpl node (II.22.27).
uint32_t const & get_MethodDeclaration() const
Property: MethodDeclaration.
void set_MethodDeclaration(uint32_t const &)
Property: MethodDeclaration.
virtual ~SgAsmCilMethodImpl()
Destructor.
void set_MethodBody(uint32_t const &)
Property: MethodBody.
void set_Class(uint32_t const &)
Property: Class.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_MethodBody() const
Property: MethodBody.
SgAsmCilMethodImpl()
Default constructor.
uint32_t const & get_Class() const
Property: Class.
CIL MethodSemantics tables.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilMethodSemanticsTable()
Destructor.
SgAsmCilMethodSemanticsTable()
Default constructor.
CIL MethodSemantics node (II.22.28).
void set_Method(uint32_t const &)
Property: Method.
void set_Semantics(uint16_t const &)
Property: Semantics.
SgAsmCilMethodSemantics()
Default constructor.
uint16_t const & get_Semantics() const
Property: Semantics.
uint32_t const & get_Method() const
Property: Method.
virtual ~SgAsmCilMethodSemantics()
Destructor.
void set_Association(uint32_t const &)
Property: Association.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Association() const
Property: Association.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilMethodSpecTable()
Default constructor.
virtual ~SgAsmCilMethodSpecTable()
Destructor.
CIL MethodSpec node (II.22.29).
uint32_t const & get_Method() const
Property: Method.
uint32_t const & get_Instantiation() const
Property: Instantiation.
SgAsmCilMethodSpec()
Default constructor.
void set_Method(uint32_t const &)
Property: Method.
virtual ~SgAsmCilMethodSpec()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Instantiation(uint32_t const &)
Property: Instantiation.
virtual ~SgAsmCilModuleRefTable()
Destructor.
SgAsmCilModuleRefTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL ModuleRef node (II.22.31).
virtual ~SgAsmCilModuleRef()
Destructor.
SgAsmCilModuleRef()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_Name(uint32_t const &)
Property: Name.
uint32_t const & get_Name() const
Property: Name.
virtual ~SgAsmCilModuleTable()
Destructor.
SgAsmCilModuleTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL Module node (II.22.30).
void set_Generation(uint16_t const &)
Property: Generation.
virtual ~SgAsmCilModule()
Destructor.
uint32_t const & get_Mvid() const
Property: Mvid.
uint16_t const & get_Generation() const
Property: Generation.
void set_Name(uint32_t const &)
Property: Name.
SgAsmCilModule()
Default constructor.
void set_EncBaseId(uint32_t const &)
Property: EncBaseId.
uint32_t const & get_Encld() const
Property: Encld.
void set_Encld(uint32_t const &)
Property: Encld.
void set_Mvid(uint32_t const &)
Property: Mvid.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_EncBaseId() const
Property: EncBaseId.
uint32_t const & get_Name() const
Property: Name.
virtual ~SgAsmCilNestedClassTable()
Destructor.
SgAsmCilNestedClassTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL NestedClass node (II.22.32).
virtual ~SgAsmCilNestedClass()
Destructor.
uint32_t const & get_EnclosingClass() const
Property: EnclosingClass.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_NestedClass() const
Property: NestedClass.
void set_EnclosingClass(uint32_t const &)
Property: EnclosingClass.
void set_NestedClass(uint32_t const &)
Property: NestedClass.
SgAsmCilNestedClass()
Default constructor.
Base class for CIL branch of binary analysis IR nodes.
SgAsmCilNode()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilNode()
Destructor.
SgAsmCilParamTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilParamTable()
Destructor.
CIL Param node (II.22.33).
void set_Name(uint32_t const &)
Property: Name.
void set_Flags(uint16_t const &)
Property: Flags.
uint32_t const & get_Name() const
Property: Name.
void set_Sequence(uint16_t const &)
Property: Sequence.
virtual ~SgAsmCilParam()
Destructor.
uint16_t const & get_Sequence() const
Property: Sequence.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilParam()
Default constructor.
uint16_t const & get_Flags() const
Property: Flags.
virtual ~SgAsmCilPropertyMapTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilPropertyMapTable()
Default constructor.
CIL PropertyMap node (II.22.35).
uint32_t const & get_PropertyList() const
Property: PropertyList.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_Parent() const
Property: Parent.
virtual ~SgAsmCilPropertyMap()
Destructor.
void set_Parent(uint32_t const &)
Property: Parent.
SgAsmCilPropertyMap()
Default constructor.
void set_PropertyList(uint32_t const &)
Property: PropertyList.
virtual ~SgAsmCilPropertyTable()
Destructor.
SgAsmCilPropertyTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL Property node (II.22.34).
uint32_t const & get_Name() const
Property: Name.
SgAsmCilProperty()
Default constructor.
uint16_t const & get_Flags() const
Property: Flags.
uint32_t const & get_Type() const
Property: Type.
void set_Flags(uint16_t const &)
Property: Flags.
void set_Name(uint32_t const &)
Property: Name.
void set_Type(uint32_t const &)
Property: Type.
virtual ~SgAsmCilProperty()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL StandAloneSig tables.
SgAsmCilStandAloneSigTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilStandAloneSigTable()
Destructor.
CIL StandAloneSig node (II.22.36).
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCilStandAloneSig()
Default constructor.
uint32_t const & get_Signature() const
Property: Signature.
void set_Signature(uint32_t const &)
Property: Signature.
virtual ~SgAsmCilStandAloneSig()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilTypeDefTable()
Destructor.
SgAsmCilTypeDefTable()
Default constructor.
CIL TypeDef node (II.22.37).
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_MethodList(uint32_t const &)
Property: MethodList.
void set_Flags(uint32_t const &)
Property: Flags.
void set_FieldList(uint32_t const &)
Property: FieldList.
void set_TypeName(uint32_t const &)
Property: TypeName.
SgAsmCilTypeDef()
Default constructor.
void set_Extends(uint32_t const &)
Property: Extends.
uint32_t const & get_TypeNamespace() const
Property: TypeNamespace.
virtual ~SgAsmCilTypeDef()
Destructor.
uint32_t const & get_Extends() const
Property: Extends.
uint32_t const & get_FieldList() const
Property: FieldList.
void set_TypeNamespace(uint32_t const &)
Property: TypeNamespace.
uint32_t const & get_Flags() const
Property: Flags.
uint32_t const & get_MethodList() const
Property: MethodList.
uint32_t const & get_TypeName() const
Property: TypeName.
virtual ~SgAsmCilTypeRefTable()
Destructor.
SgAsmCilTypeRefTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
CIL TypeRef node (II.22.38).
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_TypeNamespace() const
Property: TypeNamespace.
void set_TypeName(uint32_t const &)
Property: TypeName.
void set_TypeNamespace(uint32_t const &)
Property: TypeNamespace.
virtual ~SgAsmCilTypeRef()
Destructor.
void set_ResolutionScope(uint16_t const &)
Property: ResolutionScope.
uint32_t const & get_TypeName() const
Property: TypeName.
SgAsmCilTypeRef()
Default constructor.
uint16_t const & get_ResolutionScope() const
Property: ResolutionScope.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilTypeSpecTable()
Destructor.
SgAsmCilTypeSpecTable()
Default constructor.
CIL TypeSpec node (II.22.39).
uint32_t const & get_Signature() const
Property: Signature.
void set_Signature(uint32_t const &)
Property: Signature.
SgAsmCilTypeSpec()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilTypeSpec()
Destructor.
Base class for CIL branch of binary analysis IR nodes.
void initializeProperties()
Initialize all properties that have explicit initial values.
void parse(const std::vector< uint8_t > &buf, size_t startOfMetaData) override
}@
virtual ~SgAsmCilUint32Heap()
Destructor.
void dump(std::ostream &os) const override
Prints the object's data in a human readable form.
SgAsmCilUint32Heap(uint32_t const &Offset, uint32_t const &Size, std::string const &Name, uint32_t const &NamePadding)
Constructor.
SgAsmCilUint32Heap()
Default constructor.
void unparse(std::vector< uint8_t > &buf, size_t startOfMetaData) const override
unparses the metadata objects into the buffer
Base class for CIL branch of binary analysis IR nodes.
void parse(const std::vector< uint8_t > &buf, size_t startOfMetaData) override
}@
SgAsmCilUint8Heap(uint32_t const &Offset, uint32_t const &Size, std::string const &Name, uint32_t const &NamePadding)
Constructor.
void unparse(std::vector< uint8_t > &buf, size_t startOfMetaData) const override
unparses the metadata objects into the buffer
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilUint8Heap()
Destructor.
SgAsmCilUint8Heap()
Default constructor.
void dump(std::ostream &os) const override
Prints the object's data in a human readable form.
COFF symbol string table.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCoffStrtab()
Default constructor.
void destructorHelper() override
This gets called by all Rosebud-generated destructors.
virtual ~SgAsmCoffStrtab()
Destructor.
void set_symbols(SgAsmCoffSymbolPtrList const &)
Property: List of symbol pointers.
SgAsmCoffSymbolPtrList const & get_symbols() const
Property: List of symbol pointers.
SgAsmCoffSymbolPtrList & get_symbols()
Property: List of symbol pointers.
virtual ~SgAsmCoffSymbolList()
Destructor.
SgAsmCoffSymbolList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual SgAsmCoffSymbolTable * parse() override
Parse contents of the section.
SgAsmCoffSymbolTable()
Default constructor.
SgAsmGenericSection *const & get_strtab() const
Property: String table.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_symbols(SgAsmCoffSymbolList *const &)
Property: List of symbols.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void set_strtab(SgAsmGenericSection *const &)
Property: String table.
SgAsmCoffSymbolList *const & get_symbols() const
Property: List of symbols.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
virtual ~SgAsmCoffSymbolTable()
Destructor.
void set_auxiliaryData(SgUnsignedCharList const &)
Property: Auxilliary data.
void set_st_name(std::string const &)
Property: Symbol name.
unsigned const & get_st_num_aux_entries() const
Property: Number of auxilliary entries.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const override
Print some debugging info.
SgAsmCoffSymbol()
Default constructor.
void set_st_num_aux_entries(unsigned const &)
Property: Number of auxilliary entries.
rose_addr_t const & get_st_name_offset() const
Property: Symbol name offset.
unsigned const & get_st_type() const
Property: Symbol type constant.
void set_st_section_num(int const &)
Property: Section number.
SgUnsignedCharList const & get_auxiliaryData() const
Property: Auxilliary data.
void set_st_name_offset(rose_addr_t const &)
Property: Symbol name offset.
unsigned const & get_st_storage_class() const
Property: Symbol storage class.
void initializeProperties()
Initialize all properties that have explicit initial values.
int const & get_st_section_num() const
Property: Section number.
SgUnsignedCharList & get_auxiliaryData()
Property: Auxilliary data.
void set_st_storage_class(unsigned const &)
Property: Symbol storage class.
void set_st_type(unsigned const &)
Property: Symbol type constant.
std::string const & get_st_name() const
Property: Symbol name.
virtual ~SgAsmCommonSubExpression()
Destructor.
SgAsmCommonSubExpression()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Base class for constants.
Sawyer::Container::BitVector & get_bitVector()
Property: Bits for constant.
void set_bitVector(Sawyer::Container::BitVector const &)
Property: Bits for constant.
virtual ~SgAsmConstantExpression()
Destructor.
Sawyer::Container::BitVector const & get_bitVector() const
Property: Bits for constant.
SgAsmConstantExpression()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmControlFlagsExpression()
Default constructor.
virtual ~SgAsmControlFlagsExpression()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Expression representing a machine register.
SgAsmDirectRegisterExpression()
Default constructor.
SgAsmDirectRegisterExpression(Rose::BinaryAnalysis::RegisterDescriptor const &descriptor)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDirectRegisterExpression()
Destructor.
SgAsmDwarfAccessDeclaration(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfAccessDeclaration()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfAccessDeclaration()
Default constructor.
SgAsmDwarfArrayType()
Default constructor.
virtual ~SgAsmDwarfArrayType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfArrayType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfBaseType()
Default constructor.
SgAsmDwarfBaseType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfBaseType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfCatchBlock()
Default constructor.
SgAsmDwarfCatchBlock(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfCatchBlock()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfClassTemplate(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfClassTemplate()
Destructor.
SgAsmDwarfClassTemplate()
Default constructor.
SgAsmDwarfClassType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfClassType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfClassType()
Default constructor.
SgAsmDwarfCommonBlock(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfCommonBlock()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfCommonBlock()
Default constructor.
SgAsmDwarfCommonInclusion()
Default constructor.
SgAsmDwarfCommonInclusion(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfCommonInclusion()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfCompilationUnitList()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfCompilationUnitList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfCompilationUnit(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfCompilationUnit()
Default constructor.
virtual ~SgAsmDwarfCompilationUnit()
Destructor.
SgAsmDwarfCondition()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfCondition()
Destructor.
SgAsmDwarfCondition(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfConstType()
Destructor.
SgAsmDwarfConstType()
Default constructor.
SgAsmDwarfConstType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfConstant(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfConstant()
Destructor.
SgAsmDwarfConstant()
Default constructor.
SgAsmDwarfConstructList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfConstructList()
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.
SgAsmDwarfConstruct(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfConstruct()
Destructor.
SgAsmDwarfConstruct()
Default constructor.
SgAsmDwarfDwarfProcedure()
Default constructor.
virtual ~SgAsmDwarfDwarfProcedure()
Destructor.
SgAsmDwarfDwarfProcedure(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfEntryPoint(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfEntryPoint()
Destructor.
SgAsmDwarfEntryPoint()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfEnumerationType()
Default constructor.
virtual ~SgAsmDwarfEnumerationType()
Destructor.
SgAsmDwarfEnumerationType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfEnumerator(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfEnumerator()
Destructor.
SgAsmDwarfEnumerator()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfFileType()
Destructor.
SgAsmDwarfFileType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfFileType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfFriend()
Default constructor.
virtual ~SgAsmDwarfFriend()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfFriend(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfFunctionTemplate()
Default constructor.
virtual ~SgAsmDwarfFunctionTemplate()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfFunctionTemplate(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfImportedDeclaration()
Destructor.
SgAsmDwarfImportedDeclaration()
Default constructor.
SgAsmDwarfImportedDeclaration(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfImportedModule(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfImportedModule()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfImportedModule()
Destructor.
SgAsmDwarfImportedUnit(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfImportedUnit()
Default constructor.
virtual ~SgAsmDwarfImportedUnit()
Destructor.
SgAsmDwarfInheritance(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfInheritance()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfInheritance()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfInlinedSubroutine(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfInlinedSubroutine()
Destructor.
SgAsmDwarfInlinedSubroutine()
Default constructor.
SgAsmDwarfInterfaceType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfInterfaceType()
Destructor.
SgAsmDwarfInterfaceType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfLabel()
Default constructor.
virtual ~SgAsmDwarfLabel()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfLabel(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfLexicalBlock()
Default constructor.
virtual ~SgAsmDwarfLexicalBlock()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfLexicalBlock(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void display(const std::string &label)
Output information about instruction address <--> source position.
static DwarfInstructionSourceMapReturnType buildInstructionAddressSourcePositionMaps(SgAsmDwarfCompilationUnit *dwarf_cu=NULL)
Support for building maps to and from instruction addresses to source positions (files,...
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfLineList()
Destructor.
SgAsmDwarfLineList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfLine()
Default constructor.
SgAsmDwarfLine(uint64_t const &address, int const &file_id, int const &line, int const &column)
Constructor.
virtual ~SgAsmDwarfLine()
Destructor.
virtual ~SgAsmDwarfMacroList()
Destructor.
SgAsmDwarfMacroList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfMacro()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfMacro()
Destructor.
virtual ~SgAsmDwarfMember()
Destructor.
SgAsmDwarfMember()
Default constructor.
SgAsmDwarfMember(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfModule()
Default constructor.
virtual ~SgAsmDwarfModule()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfModule(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfMutableType()
Default constructor.
virtual ~SgAsmDwarfMutableType()
Destructor.
SgAsmDwarfMutableType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfNamelistItem()
Destructor.
SgAsmDwarfNamelistItem()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfNamelistItem(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfNamelist(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfNamelist()
Default constructor.
virtual ~SgAsmDwarfNamelist()
Destructor.
virtual ~SgAsmDwarfNamespace()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfNamespace()
Default constructor.
SgAsmDwarfNamespace(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfPackedType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfPackedType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfPackedType()
Destructor.
SgAsmDwarfPartialUnit(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfPartialUnit()
Default constructor.
virtual ~SgAsmDwarfPartialUnit()
Destructor.
virtual ~SgAsmDwarfPointerType()
Destructor.
SgAsmDwarfPointerType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfPointerType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfPtrToMemberType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfPtrToMemberType()
Default constructor.
virtual ~SgAsmDwarfPtrToMemberType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfReferenceType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfReferenceType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfReferenceType()
Destructor.
virtual ~SgAsmDwarfRestrictType()
Destructor.
SgAsmDwarfRestrictType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfRestrictType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfSetType()
Destructor.
SgAsmDwarfSetType()
Default constructor.
SgAsmDwarfSetType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfSharedType()
Destructor.
SgAsmDwarfSharedType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfSharedType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfStringType()
Default constructor.
SgAsmDwarfStringType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfStringType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfStructureType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfStructureType()
Default constructor.
virtual ~SgAsmDwarfStructureType()
Destructor.
SgAsmDwarfSubprogram(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfSubprogram()
Destructor.
SgAsmDwarfSubprogram()
Default constructor.
SgAsmDwarfSubrangeType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfSubrangeType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfSubrangeType()
Destructor.
SgAsmDwarfSubroutineType()
Default constructor.
virtual ~SgAsmDwarfSubroutineType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfSubroutineType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfTemplateTypeParameter()
Default constructor.
SgAsmDwarfTemplateTypeParameter(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfTemplateTypeParameter()
Destructor.
SgAsmDwarfTemplateValueParameter(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfTemplateValueParameter()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfTemplateValueParameter()
Default constructor.
SgAsmDwarfThrownType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfThrownType()
Destructor.
SgAsmDwarfThrownType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfTryBlock(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfTryBlock()
Default constructor.
virtual ~SgAsmDwarfTryBlock()
Destructor.
SgAsmDwarfTypedef(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfTypedef()
Destructor.
SgAsmDwarfTypedef()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfUnionType()
Destructor.
SgAsmDwarfUnionType()
Default constructor.
SgAsmDwarfUnionType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfUnknownConstruct()
Default constructor.
virtual ~SgAsmDwarfUnknownConstruct()
Destructor.
SgAsmDwarfUnknownConstruct(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfUnspecifiedParameters()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfUnspecifiedParameters()
Default constructor.
SgAsmDwarfUnspecifiedParameters(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfUnspecifiedType()
Default constructor.
virtual ~SgAsmDwarfUnspecifiedType()
Destructor.
SgAsmDwarfUnspecifiedType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfUpcRelaxedType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfUpcRelaxedType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfUpcRelaxedType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmDwarfUpcSharedType()
Destructor.
SgAsmDwarfUpcSharedType()
Default constructor.
SgAsmDwarfUpcSharedType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfUpcStrictType()
Default constructor.
virtual ~SgAsmDwarfUpcStrictType()
Destructor.
SgAsmDwarfUpcStrictType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfVariable()
Default constructor.
virtual ~SgAsmDwarfVariable()
Destructor.
SgAsmDwarfVariable(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfVariantPart(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfVariantPart()
Default constructor.
virtual ~SgAsmDwarfVariantPart()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfVariant()
Default constructor.
virtual ~SgAsmDwarfVariant()
Destructor.
SgAsmDwarfVariant(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
virtual ~SgAsmDwarfVolatileType()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfVolatileType(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
SgAsmDwarfVolatileType()
Default constructor.
SgAsmDwarfWithStmt(int const &nesting_level, uint64_t const &offset, uint64_t const &overall_offset)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmDwarfWithStmt()
Default constructor.
virtual ~SgAsmDwarfWithStmt()
Destructor.
List of dynamic linking section entries.
SgAsmElfDynamicEntryList()
Default constructor.
SgAsmElfDynamicEntryPtrList & get_entries()
Property: List of entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_entries(SgAsmElfDynamicEntryPtrList const &)
Property: List of entries.
virtual ~SgAsmElfDynamicEntryList()
Destructor.
SgAsmElfDynamicEntryPtrList const & get_entries() const
Property: List of entries.
One entry from the dynamic linking table.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfDynamicEntry::Elf64DynamicEntry_disk *)
Initialize object by parsing the file.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfDynamicEntry::Elf32DynamicEntry_disk *) const
Convert object to disk representation.
virtual ~SgAsmElfDynamicEntry()
Destructor.
void set_d_val(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: Value.
static std::string toString(SgAsmElfDynamicEntry::EntryType)
Convert Dynamic Entry Tag to a string.
SgAsmElfDynamicEntry(SgAsmElfDynamicSection *dynsec)
Constructor that links the object into the AST.
void set_d_tag(SgAsmElfDynamicEntry::EntryType const &)
Property: Tag.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_d_val() const
Property: Value.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_d_val()
Property: Value.
SgUnsignedCharList & get_extra()
Property: Padding byte values.
SgAsmElfDynamicEntry::EntryType const & get_d_tag() const
Property: Tag.
void set_name(SgAsmGenericString *)
Property: Name.
SgAsmElfDynamicEntry()
Default constructor.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfDynamicEntry::Elf64DynamicEntry_disk *) const
Convert object to disk representation.
SgUnsignedCharList const & get_extra() const
Property: Padding byte values.
SgAsmGenericString *const & get_name() const
Property: Name.
void set_extra(SgUnsignedCharList const &)
Property: Padding byte values.
void initializeProperties()
Initialize all properties that have explicit initial values.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfDynamicEntry::Elf32DynamicEntry_disk *)
Initialize object by parsing the file.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
ELF section containing dynamic linking information.
virtual void unparse(std::ostream &) const override
Write the dynamic section back to disk.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
virtual rose_addr_t calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *entcount) const override
Return sizes for various parts of the table.
virtual void finishParsing() override
Finish initializing the section entries.
SgAsmElfDynamicEntryList *const & get_entries() const
Property: List of entries.
void set_entries(SgAsmElfDynamicEntryList *const &)
Property: List of entries.
virtual SgAsmElfDynamicSection * parse() override
Initialize object by parsing file.
SgAsmElfDynamicSection(SgAsmElfFileHeader *fhdr, SgAsmElfStringSection *strsec)
Constructor that links object into the AST.
void initializeProperties()
Initialize all properties that have explicit initial values.
List of ELF EH frame CI entries.
virtual ~SgAsmElfEHFrameEntryCIList()
Destructor.
SgAsmElfEHFrameEntryCIList()
Default constructor.
void set_entries(SgAsmElfEHFrameEntryCIPtrList const &)
Property: List of pointers to ELF EH frame CI entries.
SgAsmElfEHFrameEntryCIPtrList & get_entries()
Property: List of pointers to ELF EH frame CI entries.
SgAsmElfEHFrameEntryCIPtrList const & get_entries() const
Property: List of pointers to ELF EH frame CI entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
ELF error handling frame entry, common information entry.
SgAsmElfEHFrameEntryFDList *const & get_fd_entries() const
Property: FD entries.
int const & get_prh_encoding() const
Property: PRH encoding.
void set_augmentation_string(std::string const &)
Property: Augmentation string.
void set_code_alignment_factor(uint64_t const &)
Property: Code alignment factor.
void set_version(int const &)
Property: Version number.
SgAsmElfEHFrameEntryCI(SgAsmElfEHFrameSection *ehframe)
Non-parsing constructor.
std::string unparse(const SgAsmElfEHFrameSection *) const
Unparse an entry.
void set_prh_encoding(int const &)
Property: PRH encoding.
std::string const & get_augmentation_string() const
Property: Augmentation string.
void set_eh_data(uint64_t const &)
Property: Data value.
int64_t const & get_data_alignment_factor() const
Property: Data alignment factor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
void set_instructions(SgUnsignedCharList const &)
Property: Instructions.
void set_data_alignment_factor(int64_t const &)
Property: Data alignment factor.
uint64_t const & get_augmentation_data_length() const
Property: Augmentation data length.
int const & get_addr_encoding() const
Property: Address encoding.
rose_addr_t const & get_prh_addr() const
Property: PRH address.
SgUnsignedCharList & get_instructions()
Property: Instructions.
void set_augmentation_data_length(uint64_t const &)
Property: Augmentation data length.
void set_sig_frame(bool const &)
Property: Signal frame.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint64_t const & get_eh_data() const
Property: Data value.
int const & get_version() const
Property: Version number.
void set_lsda_encoding(int const &)
Property: LSDA encoding.
SgUnsignedCharList const & get_instructions() const
Property: Instructions.
bool const & get_sig_frame() const
Property: Signal frame.
void set_fd_entries(SgAsmElfEHFrameEntryFDList *const &)
Property: FD entries.
uint64_t const & get_code_alignment_factor() const
Property: Code alignment factor.
void set_prh_arg(unsigned const &)
Property: PRH argument.
void set_prh_addr(rose_addr_t const &)
Property: PRH address.
SgAsmElfEHFrameEntryCI()
Default constructor.
virtual ~SgAsmElfEHFrameEntryCI()
Destructor.
int const & get_lsda_encoding() const
Property: LSDA encoding.
void set_addr_encoding(int const &)
Property: Address encoding.
unsigned const & get_prh_arg() const
Property: PRH argument.
List of ELF error handling frame descriptor entries.
SgAsmElfEHFrameEntryFDPtrList & get_entries()
Property: List of pointers to error handling frame descriptor entries.
SgAsmElfEHFrameEntryFDPtrList const & get_entries() const
Property: List of pointers to error handling frame descriptor entries.
void set_entries(SgAsmElfEHFrameEntryFDPtrList const &)
Property: List of pointers to error handling frame descriptor entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmElfEHFrameEntryFDList()
Destructor.
SgAsmElfEHFrameEntryFDList()
Default constructor.
ELF error handling frame entry frame description entry.
SgUnsignedCharList const & get_instructions() const
Property: Instructions.
void set_size(rose_addr_t const &)
Property: Size in bytes.
virtual ~SgAsmElfEHFrameEntryFD()
Destructor.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_begin_rva() const
Property: Beginning relative virtual address.
void initializeProperties()
Initialize all properties that have explicit initial values.
rose_addr_t const & get_size() const
Property: Size in bytes.
void set_instructions(SgUnsignedCharList const &)
Property: Instructions.
SgAsmElfEHFrameEntryFD()
Default constructor.
void set_begin_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: Beginning relative virtual address.
SgUnsignedCharList & get_instructions()
Property: Instructions.
void set_augmentation_data(SgUnsignedCharList const &)
Property: Augmentation data.
SgAsmElfEHFrameEntryFD(SgAsmElfEHFrameEntryCI *)
Non-parsing constructor.
std::string unparse(const SgAsmElfEHFrameSection *, SgAsmElfEHFrameEntryCI *) const
Unparse to string.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_begin_rva()
Property: Beginning relative virtual address.
SgUnsignedCharList const & get_augmentation_data() const
Property: Augmentation data.
SgUnsignedCharList & get_augmentation_data()
Property: Augmentation data.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
Represents an ELF EH frame section.
SgAsmElfEHFrameSection(SgAsmElfFileHeader *)
Non-parsing constructor.
SgAsmElfEHFrameEntryCIList *const & get_ci_entries() const
Property: CI entries.
virtual void unparse(std::ostream &) const override
Write data to .eh_frame section.
virtual rose_addr_t calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *entcount) const override
Return sizes for various parts of the table.
virtual ~SgAsmElfEHFrameSection()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual SgAsmElfEHFrameSection * parse() override
Initialize by parsing a file.
rose_addr_t unparse(std::ostream *) const
Unparses the section into the optional output stream and returns the number of bytes written.
SgAsmElfEHFrameSection()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void set_ci_entries(SgAsmElfEHFrameEntryCIList *const &)
Property: CI entries.
Node to hold list of ELF note entries.
virtual ~SgAsmElfNoteEntryList()
Destructor.
SgAsmElfNoteEntryPtrList & get_entries()
Property: List of ELF not entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfNoteEntryPtrList const & get_entries() const
Property: List of ELF not entries.
SgAsmElfNoteEntryList()
Default constructor.
void set_entries(SgAsmElfNoteEntryPtrList const &)
Property: List of ELF not entries.
One entry of an ELF notes table.
SgUnsignedCharList & get_payload()
Property: Note name.
SgUnsignedCharList const & get_payload() const
Property: Note name.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging information.
void set_name(SgAsmGenericString *name)
Property: Note name.
unsigned const & get_type() const
Property: Type of note.
rose_addr_t parse(rose_addr_t starting_offset)
Initialize a note by parsing it from the specified location in the note section.
void set_payload(SgUnsignedCharList const &)
Property: Note name.
SgAsmGenericString * get_name() const
Property: Note name.
SgAsmElfNoteEntry(SgAsmElfNoteSection *)
Constructor adds the new note to the list of notes for the note section.
rose_addr_t calculateSize() const
Returns the number of bytes needed to store this note.
void set_type(unsigned const &)
Property: Type of note.
void set_payload(const void *, size_t nbytes)
Property: Note payload.
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.
virtual void unparse(std::ostream &) const override
Write data to note section.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmElfNoteEntryList *const & get_entries() const
Property: List of note entries.
virtual SgAsmElfNoteSection * parse() override
Parse contents of the section.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfNoteSection(SgAsmElfFileHeader *)
Non-parsing constructor.
SgAsmElfNoteSection()
Default constructor.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
virtual ~SgAsmElfNoteSection()
Destructor.
void set_entries(SgAsmElfNoteEntryList *const &)
Property: List of note entries.
List of ELF relocation entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfRelocEntryList()
Default constructor.
virtual ~SgAsmElfRelocEntryList()
Destructor.
SgAsmElfRelocEntryPtrList & get_entries()
Property: List of relocation entries.
SgAsmElfRelocEntryPtrList const & get_entries() const
Property: List of relocation entries.
void set_entries(SgAsmElfRelocEntryPtrList const &)
Property: List of relocation entries.
One entry of an ELF relocation table.
void set_r_offset(rose_addr_t const &)
Property: Offset.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfRelocEntry::Elf64RelEntry_disk *) const
Convert object to on-disk format.
SgUnsignedCharList const & get_extra() const
Property: Value of padding bytes.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Print debugging information.
void dump(FILE *f, const char *prefix, ssize_t idx, SgAsmElfSymbolSection *symtab) const
Print debugging information.
void set_sym(unsigned long const &)
Property: Sym.
RelocType
Relocation Type.
@ R_386_TLS_GOTIE
GOT entry for static TLS block offset.
@ R_386_JMP_SLOT
Create PLT entry.
@ R_386_TLS_GD_PUSH
Tag for pushl in GD TLS code.
@ R_386_TLS_LDM_PUSH
Tag for pushl in LDM TLS code.
@ R_X86_64_TPOFF64
Offset in initial TLS block.
@ R_X86_64_GOTTPOFF
32 bit signed PC relative offset to GOT entry for IE symbol
@ R_X86_64_PC16
16 bit sign extended pc relative
@ R_X86_64_GOT32
32 bit GOT entry
@ R_X86_64_RELATIVE
Adjust by program base.
@ R_X86_64_TLSLD
32 bit signed PC relative offset to two GOT entries for LD symbol
@ R_X86_64_TLSGD
32 bit signed PC relative offset to two GOT entries for GD symbol
@ R_X86_64_GOTPCREL
32 bit signed PC relative offset to GOT
@ R_X86_64_32S
Direct 32 bit sign extended.
@ R_386_GLOB_DAT
Create GOT entry.
@ R_386_TLS_DTPOFF32
Offset in TLS block.
@ R_386_GOTPC
32 bit PC relative offset to GOT
@ R_X86_64_64
Direct 64 bit
@ R_X86_64_DTPOFF32
Offset in TLS block.
@ R_386_GOT32
32 bit GOT entry
@ R_386_TLS_LDM_CALL
Relocation for call to __tls_get_addr() in LDM code.
@ R_X86_64_PC8
8 bit sign extended pc relative
@ R_386_TLS_GD_32
Direct 32 bit for general dynamic thread local data.
@ R_386_TLS_GD
Direct 32 bit for GNU version of general dynamic thread local data.
@ R_386_GOTOFF
32 bit offset to GOT
@ R_X86_64_GLOB_DAT
Create GOT entry.
@ R_386_TLS_LDM_32
Direct 32 bit for local dynamic thread local data in LE code.
@ R_386_TLS_TPOFF32
Negated offset in static TLS block.
@ R_386_TLS_GD_CALL
Relocation for call to __tls_get_addr()
@ R_386_PC32
PC relative 32 bit.
@ R_386_RELATIVE
Adjust by program base.
@ R_386_TLS_IE
Address of GOT entry for static TLS block offset.
@ R_386_PLT32
32 bit PLT address
@ R_X86_64_8
Direct 8 bit sign extended
@ R_386_TLS_IE_32
GOT entry for negated static TLS block offset.
@ R_X86_64_16
Direct 16 bit zero extended.
@ R_386_TLS_LDM
Direct 32 bit for GNU version of local dynamic thread local data in LE code.
@ R_386_TLS_TPOFF
Offset in static TLS block.
@ R_X86_64_DTPMOD64
ID of module containing symbol.
@ R_X86_64_JUMP_SLOT
Create PLT entry.
@ R_386_COPY
Copy symbol at runtime.
@ R_X86_64_COPY
Copy symbol at runtime.
@ R_386_TLS_LE
Offset relative to static TLS block.
@ R_386_TLS_LE_32
Negated offset relative to static TLS block.
@ R_386_TLS_GD_POP
Tag for popl in GD TLS code.
@ R_386_TLS_LDM_POP
Tag for popl in LDM TLS code.
@ R_X86_64_DTPOFF64
Offset in module's TLS block.
@ R_386_TLS_DTPMOD32
ID of module containing symbol.
@ R_X86_64_TPOFF32
Offset in initial TLS block.
@ R_X86_64_PC32
PC relative 32 bit signed.
@ R_X86_64_PLT32
32 bit PLT address
@ R_386_TLS_LDO_32
Offset relative to TLS block.
@ R_X86_64_32
Direct 32 bit zero extended.
rose_addr_t const & get_r_offset() const
Property: Offset.
SgAsmElfRelocEntry(SgAsmElfRelocSection *)
Constructor that adds the new entry to the relocation table.
rose_addr_t const & get_r_addend() const
Property: Addend.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness sex, const SgAsmElfRelocEntry::Elf64RelaEntry_disk *disk)
Initialize object by parsing from file.
SgAsmElfRelocEntry::RelocType const & get_type() const
Property: Type.
unsigned long const & get_sym() const
Property: Sym.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfRelocEntry::Elf32RelaEntry_disk *) const
Convert object to on-disk format.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness sex, const SgAsmElfRelocEntry::Elf32RelEntry_disk *disk)
Initialize object by parsing from file.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfRelocEntry::Elf32RelEntry_disk *) const
Convert object to on-disk format.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfRelocEntry::Elf64RelaEntry_disk *) const
Convert object to on-disk format.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness sex, const SgAsmElfRelocEntry::Elf32RelaEntry_disk *disk)
Initialize object by parsing from file.
void set_type(SgAsmElfRelocEntry::RelocType const &)
Property: Type.
void set_r_addend(rose_addr_t const &)
Property: Addend.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness sex, const SgAsmElfRelocEntry::Elf64RelEntry_disk *disk)
Initialize object by parsing from file.
SgUnsignedCharList & get_extra()
Property: Value of padding bytes.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_extra(SgUnsignedCharList const &)
Property: Value of padding bytes.
std::string toString() const
Convert relocation to string for debugging.
Represents an ELF relocation section.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual SgAsmElfRelocSection * parse() override
Parse an existing ELF Rela Section.
bool const & get_usesAddend() const
Property: Whether entries in this section use the addend format.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSection *const & get_targetSection() const
Property: Section targeted by these relocations.
virtual rose_addr_t calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *entcount) const override
Return sizes for various parts of the table.
virtual void unparse(std::ostream &) const override
Write section back to disk.
void set_entries(SgAsmElfRelocEntryList *const &)
Property: List of entries.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
SgAsmElfRelocSection()
Default constructor.
void set_targetSection(SgAsmElfSection *const &)
Property: Section targeted by these relocations.
void set_usesAddend(bool const &)
Property: Whether entries in this section use the addend format.
SgAsmElfRelocEntryList *const & get_entries() const
Property: List of entries.
Represents one entry in an ELF section table.
rose_addr_t const & get_sh_addr() const
Property: sh_addr.
void set_sh_addr(rose_addr_t const &)
Property: sh_addr.
void set_sh_flags(uint64_t const &)
Property: sh_flags.
rose_addr_t const & get_sh_addralign() const
Property: sh_addralign.
unsigned long const & get_sh_link() const
Property: sh_link.
void set_sh_addralign(rose_addr_t const &)
Property: sh_addralign.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
rose_addr_t const & get_sh_size() const
Property: sh_size.
uint64_t const & get_sh_flags() const
Property: sh_flags.
unsigned const & get_sh_name() const
Property: sh_name.
virtual ~SgAsmElfSectionTableEntry()
Destructor.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness sex, SgAsmElfSectionTableEntry::Elf64SectionTableEntry_disk *disk) const
Encode a section table entry into the disk structure.
void updateFromSection(SgAsmElfSection *)
Update this section table entry with newer information from the section.
rose_addr_t const & get_sh_entsize() const
Property: sh_entsize.
void initializeProperties()
Initialize all properties that have explicit initial values.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness sex, SgAsmElfSectionTableEntry::Elf32SectionTableEntry_disk *disk) const
Encode a section table entry into the disk structure.
void set_sh_info(unsigned long const &)
Property: sh_info.
SgAsmElfSectionTableEntry()
Default constructor.
void set_extra(SgUnsignedCharList const &)
Property: Extra bytes not officially part of the table entry.
void set_sh_size(rose_addr_t const &)
Property: sh_size.
void set_sh_type(SgAsmElfSectionTableEntry::SectionType const &)
Property: sh_type.
void set_sh_name(unsigned const &)
Property: sh_name.
void set_sh_offset(rose_addr_t const &)
Property: sh_offset.
SgAsmElfSectionTableEntry(Rose::BinaryAnalysis::ByteOrder::Endianness sex, const SgAsmElfSectionTableEntry::Elf64SectionTableEntry_disk *disk)
Converts 64-bit disk representation to host representation.
SgAsmElfSectionTableEntry::SectionType const & get_sh_type() const
Property: sh_type.
rose_addr_t const & get_sh_offset() const
Property: sh_offset.
unsigned long const & get_sh_info() const
Property: sh_info.
void set_sh_link(unsigned long const &)
Property: sh_link.
SectionType
Section types (host order).
@ SHT_SYMTAB
Complete symbol table.
@ SHT_GNU_verneed
Symbol Version Requirements [gnu extension] .gnu.version_r.
@ SHT_GNU_versym
Symbol Version Table [gnu extension] .gnu.version.
@ SHT_STRTAB
String table.
@ SHT_GNU_verdef
Symbol Version Definitions [gnu extension] .gnu.version_d.
@ SHT_DYNAMIC
Information for dynamic linking.
@ SHT_NOTE
Information that marks the file in some way.
@ SHT_PROGBITS
Info defined by the program; format and meaning determined by prog.
@ SHT_SHLIB
Reserved, unspecified semantics; Present only in non-conforming files.
@ SHT_NOBITS
Like SHT_PROGBITS but occupies no file space.
@ SHT_REL
Relocation entries without explicit addends (e.g., Elf32_Rel types)
@ SHT_LOOS
OS specific semantics.
@ SHT_NULL
Section header is inactive.
@ SHT_HASH
Symbol hash table (used by dynamic linking)
@ SHT_RELA
Relocation entries with explicit addends (e.g., Elf32_Rela types)
@ SHT_HIOS
End OS specific semantics.
@ SHT_DYNSYM
Minimal set of dynamic linking symbols.
SgUnsignedCharList & get_extra()
Property: Extra bytes not officially part of the table entry.
void set_sh_entsize(rose_addr_t const &)
Property: sh_entsize.
SectionFlags
Section Flags (host order).
@ SHF_GROUP
Section is member of a group.
@ SHF_ALLOC
Occupies memory during execution.
@ SHF_MERGE
Might be merged.
@ SHF_MASKPROC
Processor-specific.
@ SHF_TLS
Section hold thread-local data.
@ SHF_STRINGS
Contains nul-terminated strings.
@ SHF_NULL
Invalid section flag (added for rose)
@ SHF_LINK_ORDER
Preserve order after combining.
@ SHF_INFO_LINK
'sh_info' contains SHT index
@ SHF_EXECINSTR
Executable.
@ SHF_OS_NONCONFORMING
Non-standard OS specific handling required.
SgAsmElfSectionTableEntry(Rose::BinaryAnalysis::ByteOrder::Endianness sex, const SgAsmElfSectionTableEntry::Elf32SectionTableEntry_disk *disk)
Converts 32-bit disk representation to host representation.
SgUnsignedCharList const & get_extra() const
Property: Extra bytes not officially part of the table entry.
Represents an ELF section table.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
SgAsmElfSectionTableEntry * addSection(SgAsmElfSection *)
Attaches a previously unattached ELF Section to the section table.
virtual ~SgAsmElfSectionTable()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual void unparse(std::ostream &) const override
Write the section table section back to disk.
SgAsmElfSectionTable()
Default constructor.
virtual SgAsmElfSectionTable * parse() override
Parses an ELF Section Table.
void initializeProperties()
Initialize all properties that have explicit initial values.
rose_addr_t calculateSizes(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.
SgAsmElfSectionTable(SgAsmElfFileHeader *)
Constructor creates section table within the AST.
Base class for ELF file sections.
SgAsmElfSection *const & get_linkedSection() const
Property: Linked section.
SgAsmElfSegmentTableEntry *const & get_segmentEntry() const
Property: The segment table entry corresponding to this section.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void set_sectionEntry(SgAsmElfSectionTableEntry *const &)
Property: The section table entry corresponding to this section.
virtual rose_addr_t calculateSizes(size_t *entsize, size_t *required, size_t *optional, size_t *entcount) const
Base implementation for calculating sizes.
SgAsmElfSection(SgAsmGenericHeader *)
Constructor for sections not yet in a table.
virtual void set_linkedSection(SgAsmElfSection *)
Property: Linked section.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
SgAsmElfSectionTableEntry *const & get_sectionEntry() const
Property: The section table entry corresponding to this section.
void allocateNameToStorage(SgAsmElfStringSection *)
Make this section's name to be stored in the specified string table.
SgAsmElfSection * initFromSegmentTable(SgAsmElfSegmentTableEntry *, bool mmapOnly=false)
Initializes the section from data parse from the ELF Segment Table.
SgAsmElfFileHeader * get_elfHeader() const
Obtain ELF header.
SgAsmElfSection * initFromSectionTable(SgAsmElfSectionTableEntry *, SgAsmElfStringSection *, int id)
Initializes the section from data parsed from the ELF Section Table.
void initializeProperties()
Initialize all properties that have explicit initial values.
rose_addr_t calculateSizes(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_segmentEntry(SgAsmElfSegmentTableEntry *const &)
Property: The segment table entry corresponding to this section.
SgAsmElfSegmentTableEntryList()
Default constructor.
void set_entries(SgAsmElfSegmentTableEntryPtrList const &)
Property: Segment table entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSegmentTableEntryPtrList const & get_entries() const
Property: Segment table entries.
virtual ~SgAsmElfSegmentTableEntryList()
Destructor.
SgAsmElfSegmentTableEntryPtrList & get_entries()
Property: Segment table entries.
Represents one entry of a segment table.
SgAsmElfSegmentTableEntry::SegmentType const & get_type() const
Property: Segment type.
rose_addr_t const & get_memsz() const
Property: Size of segment in memory.
void set_align(rose_addr_t const &)
Property: Alignment.
rose_addr_t const & get_paddr() const
Property: ELF paddr field.
void set_memsz(rose_addr_t const &)
Property: Size of segment in memory.
static std::string toString(SgAsmElfSegmentTableEntry::SegmentFlags)
Convert segment flags to string.
static std::string toString(SgAsmElfSegmentTableEntry::SegmentType)
Convert segment type to string.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
rose_addr_t const & get_filesz() const
Property: Size of segment in file.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSegmentTableEntry::Elf64SegmentTableEntry_disk *) const
Converts segment table entry back into disk structure.
virtual ~SgAsmElfSegmentTableEntry()
Destructor.
rose_addr_t const & get_align() const
Property: Alignment.
SgAsmElfSegmentTableEntry(Rose::BinaryAnalysis::ByteOrder::Endianness sex, const SgAsmElfSegmentTableEntry::Elf32SegmentTableEntry_disk *disk)
Construct node from 32-bit file data.
SgAsmElfSegmentTableEntry(Rose::BinaryAnalysis::ByteOrder::Endianness sex, const SgAsmElfSegmentTableEntry::Elf64SegmentTableEntry_disk *disk)
Construct node from 64-bit file data.
void set_offset(rose_addr_t const &)
Property: Offset of segment in the file.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSegmentTableEntry::Elf32SegmentTableEntry_disk *) const
Converts segment table entry back into disk structure.
void set_flags(SgAsmElfSegmentTableEntry::SegmentFlags const &)
Property: Segment flags.
SgAsmElfSegmentTableEntry()
Default constructor.
SegmentType
Segment types (host order).
@ PT_NOTE
Auxiliary information.
@ PT_GNU_RELRO
Read-only after relocation.
@ PT_PAX_FLAGS
Indicates PaX flag markings.
@ PT_SUNWBSS
Sun Specific segment.
@ PT_INTERP
Segment contains NUL-terminated path name of interpreter.
@ PT_SUNWSTACK
Stack segment.
@ PT_LOAD
Loadable by mapping file contents into memory.
@ PT_GNU_STACK
Indicates stack executability.
@ PT_PHDR
Segment contains the segment table itself (program header array)
@ PT_DYNAMIC
Dynamic linking information.
@ PT_GNU_EH_FRAME
GCC .eh_frame_hdr segment.
@ PT_LOPROC
Values reserved for processor-specific semantics.
@ PT_LOOS
Values reserved for OS-specific semantics.
@ PT_TLS
Thread local storage.
@ PT_SHLIB
Reserved w/unspecified semantics.
void set_extra(SgUnsignedCharList const &)
Property: Extra bytes.
SegmentFlags
Segment bit flags.
@ PF_PROC_MASK
Processor-specific bits.
@ PF_NONE
Initial value in c'tor.
@ PF_RPERM
Read permission.
@ PF_OS_MASK
os-specific bits
@ PF_RESERVED
Reserved bits.
@ PF_WPERM
Write permission.
@ PF_XPERM
Execute permission.
void set_vaddr(rose_addr_t const &)
Property: Virtual address.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgUnsignedCharList const & get_extra() const
Property: Extra bytes.
SgUnsignedCharList & get_extra()
Property: Extra bytes.
SgAsmElfSegmentTableEntry::SegmentFlags const & get_flags() const
Property: Segment flags.
void set_type(SgAsmElfSegmentTableEntry::SegmentType const &)
Property: Segment type.
rose_addr_t const & get_vaddr() const
Property: Virtual address.
rose_addr_t const & get_offset() const
Property: Offset of segment in the file.
void set_index(size_t const &)
Property: Index into table.
void updateFromSection(SgAsmElfSection *)
Update this segment table entry with newer information from the section.
size_t const & get_index() const
Property: Index into table.
void set_filesz(rose_addr_t const &)
Property: Size of segment in file.
void set_paddr(rose_addr_t const &)
Property: ELF paddr field.
Represents an ELF segment table.
virtual void unparse(std::ostream &) const override
Write the segment table to disk.
rose_addr_t calculateSizes(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 bool reallocate() override
Called prior to unparse to make things consistent.
SgAsmElfSegmentTableEntry * addSection(SgAsmElfSection *)
Attaches new segments to the segment table.
virtual ~SgAsmElfSegmentTable()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
SgAsmElfSegmentTable(SgAsmElfFileHeader *)
Constuct segment table linked into the AST.
SgAsmElfSegmentTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual SgAsmElfSegmentTable * parse() override
Parses an ELF Segment (Program Header) Table.
ELF string table section.
SgAsmElfStringSection()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfStrtab *const & get_strtab() const
Property: String table.
virtual void unparse(std::ostream &) const override
Unparse an ElfStringSection by unparsing the ElfStrtab.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Dump debugging information.
SgAsmElfStringSection(SgAsmElfFileHeader *)
Constructor that links new object into AST.
void set_strtab(SgAsmElfStrtab *const &)
Property: String table.
virtual SgAsmElfStringSection * parse() override
Initialize object by parsing binary specimen.
virtual void set_size(rose_addr_t newsize) override
Adjust size of table.
virtual ~SgAsmElfStringSection()
Destructor.
virtual bool reallocate() override
Reallocate space for the string section if necessary.
virtual SgAsmStringStorage * createStorage(rose_addr_t offset, bool shared) override
Creates the storage item for the string at the specified offset.
virtual void rebind(SgAsmStringStorage *, rose_addr_t) override
Similar to create_storage() but uses a storage object that's already been allocated.
SgAsmElfStrtab()
Default constructor.
SgAsmElfStrtab(class SgAsmElfSection *containing_section)
Non-parsing constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void destructorHelper() override
Free StringStorage objects associated with this string table.
virtual void unparse(std::ostream &) const
Write string table back to disk.
virtual SgAsmElfStrtab * parse() override
Parses the string table.
virtual ~SgAsmElfStrtab()
Destructor.
virtual rose_addr_t get_storageSize(const SgAsmStringStorage *) override
Returns the number of bytes required to store the string in the string table.
virtual void allocateOverlap(SgAsmStringStorage *) override
Find offset for a string.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSymbolList()
Default constructor.
SgAsmElfSymbolPtrList & get_symbols()
Property: Symbol list.
void set_symbols(SgAsmElfSymbolPtrList const &)
Property: Symbol list.
virtual ~SgAsmElfSymbolList()
Destructor.
SgAsmElfSymbolPtrList const & get_symbols() const
Property: Symbol list.
ELF file section containing symbols.
virtual bool reallocate() override
Called prior to unparsing.
virtual SgAsmElfSymbolSection * parse() override
Initialize by parsing a file.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual void finishParsing() override
Update section pointers for locally-bound symbols.
SgAsmElfSymbolSection(SgAsmElfFileHeader *fhdr, SgAsmElfStringSection *strsec)
Non-parsing constructor.
virtual rose_addr_t calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
virtual void unparse(std::ostream &) const override
Write symbol table sections back to disk.
size_t indexOf(SgAsmElfSymbol *)
Given a symbol, return its index in this symbol table.
void set_isDynamic(bool const &)
Property: Whether this section represents dynamic linking symbols.
void set_symbols(SgAsmElfSymbolList *const &)
Property: Symbols.
bool const & get_isDynamic() const
Property: Whether this section represents dynamic linking symbols.
SgAsmElfSymbolList *const & get_symbols() const
Property: Symbols.
void initializeProperties()
Initialize all properties that have explicit initial values.
Represents a single ELF symbol.
void set_st_shndx(unsigned const &)
Property: shndx.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSymbol::Elf32SymbolEntry_disk *) const
Encode a symbol into disk format.
SgAsmElfSymbol::ElfSymBinding get_elfBinding() const
Returns binding as an enum constant.
SgUnsignedCharList const & get_extra() const
Property: Extra data.
rose_addr_t const & get_st_size() const
Property: size.
void set_extra(SgUnsignedCharList const &)
Property: Extra data.
void set_st_info(unsigned char const &)
Property: Info.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymbol::Elf64SymbolEntry_disk *)
Initialize symbol by parsing a symbol table entry.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const override
Print some debugging info.
void set_st_res1(unsigned char const &)
Property: Reserved byte.
static std::string toString(SgAsmElfSymbol::ElfSymBinding)
Converts enum constant to string.
void set_st_size(rose_addr_t const &)
Property: size.
static std::string toString(SgAsmElfSymbol::ElfSymType)
Converts enum constant to string.
@ STT_COMMON
Common data object.
@ STT_TLS
Thread-local data object.
@ STT_SECTION
Associated with a section.
@ STT_NOTYPE
Unspecified type.
@ STT_FILE
Name of a file.
@ STT_IFUNC
Indirect function.
SgUnsignedCharList & get_extra()
Property: Extra data.
void dump(FILE *, const char *prefix, ssize_t idx, SgAsmGenericSection *) const
Print some debugging info.
void initializeProperties()
Initialize all properties that have explicit initial values.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSymbol::Elf64SymbolEntry_disk *) const
Encode a symbol into disk format.
unsigned char const & get_st_info() const
Property: Info.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymbol::Elf32SymbolEntry_disk *)
Initialize symbol by parsing a symbol table entry.
SgAsmElfSymbol::ElfSymType get_elfType() const
Returns type as an enum constant.
SgAsmElfSymbol(SgAsmElfSymbolSection *)
Constructor that adds the symbol to a symbol table.
unsigned char const & get_st_res1() const
Property: Reserved byte.
unsigned const & get_st_shndx() const
Property: shndx.
List of symbol version aux entries.
SgAsmElfSymverDefinedAuxPtrList const & get_entries() const
Property: List of entries.
void set_entries(SgAsmElfSymverDefinedAuxPtrList const &)
Property: List of entries.
SgAsmElfSymverDefinedAuxPtrList & get_entries()
Property: List of entries.
virtual ~SgAsmElfSymverDefinedAuxList()
Destructor.
SgAsmElfSymverDefinedAuxList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Auxiliary data for an ELF Symbol Version.
virtual ~SgAsmElfSymverDefinedAux()
Destructor.
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...
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_name(SgAsmGenericString *const &)
Property: Name.
SgAsmGenericString *const & get_name() const
Property: Name.
SgAsmElfSymverDefinedAux(SgAsmElfSymverDefinedEntry *symver_def_entry, SgAsmElfSymverDefinedSection *symver_def_sec)
Constructor linking object into AST.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Print debugging information.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymverDefinedAux::ElfSymverDefinedAux_disk *)
Initialize this object with data parsed from a file.
SgAsmElfSymverDefinedAux()
Default constructor.
List of entries for the ELF symbol version definition table.
virtual ~SgAsmElfSymverDefinedEntryList()
Destructor.
void set_entries(SgAsmElfSymverDefinedEntryPtrList const &)
Property: List of table entries.
SgAsmElfSymverDefinedEntryPtrList const & get_entries() const
Property: List of table entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSymverDefinedEntryPtrList & get_entries()
Property: List of table entries.
SgAsmElfSymverDefinedEntryList()
Default constructor.
One entry from an ELF symbol version definition table.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSymverDefinedEntry::ElfSymverDefinedEntry_disk *) const
Convert to the disk format.
void set_index(size_t const &)
Property: Index.
virtual ~SgAsmElfSymverDefinedEntry()
Destructor.
SgAsmElfSymverDefinedEntry()
Default constructor.
void set_flags(int const &)
Property: Flags.
size_t const & get_version() const
Property: Version.
void set_entries(SgAsmElfSymverDefinedAuxList *const &)
Property: Entries.
int const & get_flags() const
Property: Flags.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Print some debugging info.
size_t const & get_index() const
Property: Index.
SgAsmElfSymverDefinedAuxList *const & get_entries() const
Property: Entries.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymverDefinedEntry::ElfSymverDefinedEntry_disk *)
Initialize by parsing information from the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_hash() const
Property: Hash.
void set_version(size_t const &)
Property: Version.
void set_hash(uint32_t const &)
Property: Hash.
SgAsmElfSymverDefinedEntry(SgAsmElfSymverDefinedSection *symver_defined)
Constructor linking ojbec into the AST.
The GNU symbol version definitions.
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 rose_addr_t calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
void set_entries(SgAsmElfSymverDefinedEntryList *const &)
Property: List of entries.
virtual void unparse(std::ostream &) const override
Write SymverDefined section back to disk.
virtual ~SgAsmElfSymverDefinedSection()
Destructor.
SgAsmElfSymverDefinedSection(SgAsmElfFileHeader *fhdr, SgAsmElfStringSection *strsec)
Constructor linking object into AST.
SgAsmElfSymverDefinedEntryList *const & get_entries() const
Property: List of entries.
virtual SgAsmElfSymverDefinedSection * parse() override
Initializes this ELF SymverDefined Section by parsing a file.
SgAsmElfSymverDefinedSection()
Default constructor.
List of entries from a symbol version table.
void set_entries(SgAsmElfSymverEntryPtrList const &)
Property: List of symbol version table entries.
virtual ~SgAsmElfSymverEntryList()
Destructor.
SgAsmElfSymverEntryList()
Default constructor.
SgAsmElfSymverEntryPtrList & get_entries()
Property: List of symbol version table entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSymverEntryPtrList const & get_entries() const
Property: List of symbol version table entries.
Entry in an ELF symbol version table.
SgAsmElfSymverEntry(SgAsmElfSymverSection *)
Constructor that links new entry into the AST.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Prints some debugging info.
size_t const & get_value() const
Property: Value.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_value(size_t const &)
Property: Value.
SgAsmElfSymverEntry()
Default constructor.
virtual ~SgAsmElfSymverEntry()
Destructor.
Hods a list of symbol version aux entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSymverNeededAuxPtrList const & get_entries() const
Property: List of entries.
virtual ~SgAsmElfSymverNeededAuxList()
Destructor.
SgAsmElfSymverNeededAuxPtrList & get_entries()
Property: List of entries.
SgAsmElfSymverNeededAuxList()
Default constructor.
void set_entries(SgAsmElfSymverNeededAuxPtrList const &)
Property: List of entries.
Auxiliary info for needed symbol version.
int const & get_flags() const
Property: Flags.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Print debugging information.
SgAsmElfSymverNeededAux(SgAsmElfSymverNeededEntry *entry, SgAsmElfSymverNeededSection *symver)
Constructor linking object into AST.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymverNeededAux::ElfSymverNeededAux_disk *)
Initialize this auxiliary record by parsing data from the file.
size_t const & get_other() const
Property: Other.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSymverNeededAux::ElfSymverNeededAux_disk *) const
Encode this auxiliary record into a format that can be written to a file.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint32_t const & get_hash() const
Property: Hash.
void set_name(SgAsmGenericString *const &)
Property: Name.
void set_hash(uint32_t const &)
Property: Hash.
virtual ~SgAsmElfSymverNeededAux()
Destructor.
void set_other(size_t const &)
Property: Other.
SgAsmGenericString *const & get_name() const
Property: Name.
void set_flags(int const &)
Property: Flags.
SgAsmElfSymverNeededAux()
Default constructor.
List of symbol version needed entries.
virtual ~SgAsmElfSymverNeededEntryList()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_entries(SgAsmElfSymverNeededEntryPtrList const &)
Property: List of entries.
SgAsmElfSymverNeededEntryPtrList & get_entries()
Property: List of entries.
SgAsmElfSymverNeededEntryList()
Default constructor.
SgAsmElfSymverNeededEntryPtrList const & get_entries() const
Property: List of entries.
One entry of the ELF symbol version needed table.
SgAsmElfSymverNeededEntry(SgAsmElfSymverNeededSection *)
Constructor that links object into the AST.
void set_version(size_t const &)
Property: Version.
void set_entries(SgAsmElfSymverNeededAuxList *const &)
Property: List of entries.
void set_fileName(SgAsmGenericString *const &)
Property: File name.
size_t const & get_version() const
Property: Version.
void parse(Rose::BinaryAnalysis::ByteOrder::Endianness, const SgAsmElfSymverNeededEntry::ElfSymverNeededEntry_disk *)
Initialize object by parsing file.
SgAsmElfSymverNeededAuxList *const & get_entries() const
Property: List of entries.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSymverNeededEntry::ElfSymverNeededEntry_disk *) const
Encode object to disk representation.
SgAsmGenericString *const & get_fileName() const
Property: File name.
virtual void dump(FILE *f, const char *prefix, ssize_t idx) const
Print debugging information.
void initializeProperties()
Initialize all properties that have explicit initial values.
GNU symbol version requirements table.
virtual rose_addr_t calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
SgAsmElfSymverNeededEntryList *const & get_entries() const
Property: List of entries.
virtual void unparse(std::ostream &) const override
Write SymverNeeded section back to disk.
SgAsmElfSymverNeededSection()
Default constructor.
virtual SgAsmElfSymverNeededSection * parse() override
Parse a GNU Symbol Version Requirements 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.
SgAsmElfSymverNeededSection(SgAsmElfFileHeader *fhdr, SgAsmElfStringSection *strsec)
Constructor that links objec into AST.
virtual ~SgAsmElfSymverNeededSection()
Destructor.
void set_entries(SgAsmElfSymverNeededEntryList *const &)
Property: List of entries.
The ELF symbol version table.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_entries(SgAsmElfSymverEntryList *const &)
Property: List of table entries.
virtual SgAsmElfSymverSection * parse() override
Initializes section by parsing the file.
SgAsmElfSymverEntryList *const & get_entries() const
Property: List of table entries.
virtual rose_addr_t calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual void unparse(std::ostream &) const override
Write symver table sections back to disk.
virtual ~SgAsmElfSymverSection()
Destructor.
SgAsmElfSymverSection()
Default constructor.
SgAsmElfSymverSection(SgAsmElfFileHeader *)
Construct section and link it into the AST.
List of expression nodes.
SgAsmExpressionPtrList const & get_expressions() const
Property: Pointers to expressions.
SgAsmExprListExp()
Default constructor.
SgAsmExpressionPtrList & get_expressions()
Property: Pointers to expressions.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmExprListExp()
Destructor.
void set_expressions(SgAsmExpressionPtrList const &)
Property: Pointers to expressions.
Base class for expressions.
SgAsmExpression()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Sawyer::Optional< int64_t > asSigned() const
Return a signed constant if possible.
SgAsmType *const & get_type() const
Property: Type of expression.
virtual ~SgAsmExpression()
Destructor.
void set_comment(std::string const &)
Property: Comment.
void set_type(SgAsmType *const &)
Property: Type of expression.
Sawyer::Optional< uint64_t > asUnsigned() const
Return a constant if possible.
std::string const & get_comment() const
Property: Comment.
size_t get_nBits() const
Property: Width of expression in bits.
SgAsmFloatType(Rose::BinaryAnalysis::ByteOrder::Endianness, size_t nBits, const BitRange &significandBits, const BitRange exponentBits, size_t signBit, uint64_t exponentBias, Flags flags)
Construct a new floating-point type.
Sawyer::Container::BitVector::BitRange BitRange
Range of bits used for various purposes within the values of this type.
BitRange significandBits() const
Property: Offset to significand least significant bit.
virtual ~SgAsmFloatType()
Destructor.
static Flags ieeeFlags()
Default IEEE 754 flags.
bool implicitBitConvention() const
Property: Whether the type follows the IEEE 754 significand implicit bit convention.
bool gradualUnderflow() const
Property: Whether type has gradual underflow.
Flags flags() const
Property: Bit vector of all boolean properties.
virtual void check() const override
Validate properties collectively.
static SgAsmFloatType * instanceIeee32(Rose::BinaryAnalysis::ByteOrder::Endianness)
Construct an IEEE 754 floating point type of the specified width.
virtual std::string toString() const override
Convert a type to a string.
uint64_t exponentBias() const
Property: Zero-point of exponent.
Rose::BitFlags< Flag > Flags
Collective bit flags for this floating-point type.
static SgAsmFloatType * instanceIeee64(Rose::BinaryAnalysis::ByteOrder::Endianness)
Construct an IEEE 754 floating point type of the specified width.
size_t signBit() const
Property: Offset to significand sign bit.
SgAsmFloatType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Flag
Individual bit flags for this floating-point type.
@ GRADUAL_UNDERFLOW
De-normalized signifand when exponent field is clear.
@ IMPLICIT_BIT_CONVENTION
Use IEEE 754 implicit bit convention for signicand.
BitRange exponentBits() const
Property: Number of bits in the exponent.
void updateBitVector()
Update bit vector from native representation.
virtual ~SgAsmFloatValueExpression()
Destructor.
void set_nativeValue(double)
Set AST node value to specified native value.
SgAsmFloatValueExpression(double nativeValue, SgAsmType *)
Construct specified floating-point value.
SgAsmFloatValueExpression()
Default constructor.
void updateNativeValue() const
Update cached native value from bit vector.
void initializeProperties()
Initialize all properties that have explicit initial values.
double get_nativeValue() const
Get value in native format.
SgAsmFloatValueExpression(const Sawyer::Container::BitVector &, SgAsmType *)
Construct specified floating-point value.
Selection functor for SgAsmFunction::get_extent().
Represents a synthesized function.
int64_t const & get_stackDelta() const
Property: Net effect of function on the stack pointer.
void set_statementList(SgAsmStatementPtrList const &)
Property: Statements that make up a function.
void set_symbolTable(SgSymbolTable *const &)
Property: Symbol table.
bool get_sha1(uint8_t digest[20], NodeSelector *selector=NULL)
Computes the SHA1 message digest for the bytes of a function.
void set_entryVa(rose_addr_t const &)
Property: Primary entry address.
rose_addr_t const & get_entryVa() const
Property: Primary entry address.
SgAsmFunction::function_kind_enum const & get_functionKind() const
Property: Kind of function.
void set_stackDelta(int64_t const &)
Property: Net effect of function on the stack pointer.
static std::string reasonString(bool pad, unsigned reason)
Class method that converts a reason bit vector to a human-friendly string.
void set_name(std::string const &)
Property: Name.
std::string const & get_reasonComment() const
Property: Additional function existance reason comment.
void removeStatement(SgAsmStatement *statement)
Erases statement from statement list.
unsigned const & get_reason() const
Property: Reason that function exists.
SgAsmBlock * get_entryBlock() const
Function entry basic block.
void set_nameMd5(std::string const &)
Property: Hash of the function.
SgAsmStatementPtrList & get_statementList()
Property: Statements that make up a function.
void set_callingConvention(std::string const &)
Property: Primary calling convention.
void set_functionKind(SgAsmFunction::function_kind_enum const &)
Property: Kind of function.
SgAsmStatementPtrList const & get_statementList() const
Property: Statements that make up a function.
static std::string reasonKey(const std::string &prefix="")
Multi-line description of function reason keys from unparser.
void appendStatement(SgAsmStatement *)
Adds statement to end of statement list.
SgSymbolTable *const & get_symbolTable() const
Property: Symbol table.
void set_mayReturn(SgAsmFunction::MayReturn const &)
Property: Whether a function could return to its caller.
size_t get_extent(Rose::BinaryAnalysis::AddressIntervalSet *emap=NULL, rose_addr_t *lo_addr=NULL, rose_addr_t *hi_addr=NULL, NodeSelector *selector=NULL)
Returns information about the function addresses.
void set_reason(unsigned const &)
Property: Reason that function exists.
function_kind_enum
Constants for the "function_kind" property.
std::string const & get_callingConvention() const
Property: Primary calling convention.
std::string const & get_name() const
Property: Name.
MayReturn
Whether a function returns.
@ RET_UNKNOWN
It is unknown whether this function ever returns or not.
@ RET_ALWAYS
This function returns each time it is called.
@ RET_SOMETIMES
This function may return or not, depending on how it is called.
@ RET_NEVER
This function is known to never return.
std::string const & get_nameMd5() const
Property: Hash of the function.
FunctionReason
Reasons why an instruction might be considered the beginning of a function.
@ FUNC_SYMBOL
Address of a function symbol in a symbol table.
@ FUNC_CMDLINE
Function mentioned on the command-line.
@ FUNC_EXPORT
Exported function.
@ FUNC_ENTRY_POINT
An entry point specified in the file header.
@ FUNC_THUNK
Function is a thunk.
@ FUNC_DEFAULT
Default value for Partitioner class.
@ FUNC_PESCRAMBLER_DISPATCH
Dispatcher function for code generated by pescrambler.
@ FUNC_IMPORT
Functions dynamically linked.
@ FUNC_INSNHEAD
Initial instructions not in any other function.
@ FUNC_NONE
Used for initialization; not a bit flag.
@ FUNC_USERDEF
User-defined algorithm.
@ FUNC_LEFTOVERS
Generated function to hold blocks that are otherwise not part of any function.
@ FUNC_INTRABLOCK
Function contains basic blocks that were inserted by searching the address space between the blocks d...
@ FUNC_CONFIGURED
Function is defined in a configuration file.
@ FUNC_GRAPH
Implied by inter-basicblock branching.
@ FUNC_SCAN_RO_DATA
Address was found in read-only data area by scanning the data.
@ FUNC_EXCEPTION_HANDLER
Function for handling an exception.
@ FUNC_DISCONT
Blocks of function are not contiguous in memory.
@ FUNC_CALL_INSN
Target of call, possibly not in the CFG (see Partitioner::mark_call_insns).
@ FUNC_MISCMASK
Miscellaneous.
@ FUNC_THUNK_TARGET
Function is the target of a thunk.
@ FUNC_PATTERN
Appears to be a function based on pattern of instructions.
@ FUNC_INSN_RO_DATA
Address was found in read-only data referenced by an existing instruction.
@ FUNC_INTERPADFUNC
Detected by Partitioner::FindInterPadFunctions, which looks for unassigned space between two inter-fu...
@ FUNC_EH_FRAME
Address mentioned in the ELF .eh_frame section.
@ FUNC_PADDING
Created to represent NOP padding between other functions.
@ FUNC_CALL_TARGET
Target of a function call instruction sequence in the CFG.
void set_reasonComment(std::string const &)
Property: Additional function existance reason comment.
void initializeProperties()
Initialize all properties that have explicit initial values.
std::string reasonString(bool pad) const
Returns a very short string describing the reason mask.
SgAsmFunction::MayReturn const & get_mayReturn() const
Property: Whether a function could return to its caller.
List of pointers to other nodes.
SgAsmGenericDLLList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmGenericDLLList()
Destructor.
SgAsmGenericDLLPtrList & get_dlls()
Property: List of AST node pointers.
void set_dlls(SgAsmGenericDLLPtrList const &)
Property: List of AST node pointers.
SgAsmGenericDLLPtrList const & get_dlls() const
Property: List of AST node pointers.
Base class for dynamically linked library information.
virtual ~SgAsmGenericDLL()
Destructor.
void addSymbol(const std::string &)
Add a needed symbol to the import list for this DLL.
SgAsmGenericString *const & get_name() const
Property: Name.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgStringList const & get_symbols() const
Property: Symbols.
SgAsmGenericDLL()
Default constructor.
void set_symbols(SgStringList const &)
Property: Symbols.
void set_name(SgAsmGenericString *s)
Property: Name.
SgAsmGenericDLL(SgAsmGenericString *s)
Constructor that initializes the name.
List of AST file node pointers.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmGenericFilePtrList const & get_files() const
Property: List of AST node pointers.
SgAsmGenericFilePtrList & get_files()
Property: List of AST node pointers.
virtual ~SgAsmGenericFileList()
Destructor.
void set_files(SgAsmGenericFilePtrList const &)
Property: List of AST node pointers.
SgAsmGenericFileList()
Default constructor.
Base class for binary files.
bool const & get_neuter() const
Property: If set, refuse to unparse file.
void markReferencedExtent(rose_addr_t start_rva, rose_addr_t size)
Marks part of a file as having been referenced if tracking references.
SgAsmGenericSectionPtrList get_sectionsById(int id) const
Returns sections having specified ID across all headers, including headers and holes.
SgFileContentList const & get_data() const
Property: Contents of the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmGenericSectionPtrList get_mappedSections() const
Returns list of all sections in the file that are memory mapped, including headers and holes.
SgAsmGenericSectionList *const & get_holes() const
Property: Addresses unreferenced during parsing.
void set_data(SgFileContentList const &)
Property: Contents of the file.
void addHole(SgAsmGenericSection *)
Adds a new hole to the file.
size_t readContent(rose_addr_t offset, void *dst_buf, rose_addr_t size, bool strict=true)
Reads data from a file.
void dumpAll(const std::string &dumpname)
Print text file containing all known information about a binary file.
rose_addr_t get_originalSize() const
Returns original size of file, based on file system.
void set_fd(int const &)
Property: Read-only file descriptor.
SgAsmGenericHeaderList *const & get_headers() const
Property: List of all headers in file.
void set_holes(SgAsmGenericSectionList *const &)
Property: Addresses unreferenced during parsing.
size_t readContent(const Rose::BinaryAnalysis::MemoryMap::Ptr &, rose_addr_t va, void *dst_buf, rose_addr_t size, bool strict=true)
Reads data from a file.
void shiftExtend(SgAsmGenericSection *s, rose_addr_t sa, rose_addr_t sn)
Moves and enlarges a section.
void set_truncateZeros(bool const &)
Property: Whether to truncate zeros on writes.
SgAsmGenericSection * get_sectionByOffset(rose_addr_t offset, rose_addr_t size, size_t *nfound=0) const
Find section by file offset.
SgAsmGenericSection * get_bestSectionByVa(rose_addr_t va, size_t *nfound=0) const
Find section by address.
rose_addr_t get_currentSize() const
Returns current size of file based on section with highest ending address.
SgAsmGenericSectionPtrList get_sectionsByName(std::string, char sep='\0') const
Returns all sections having specified name across all headers, including headers and holes.
SgAsmGenericSectionPtrList get_sectionsByRva(rose_addr_t rva) const
Find sections by address.
const char * formatName() const
Return a string describing the file format.
SgAsmGenericSection * get_sectionByRva(rose_addr_t rva, size_t *nfound=0) const
Find section by address.
void extendToEof(std::ostream &) const
Extend the output file by writing the last byte if it hasn't been written yet.
void set_trackingReferences(bool const &)
Property: Whether to track referenced areas during parsing.
SgAsmDwarfCompilationUnitList *const & get_dwarfInfo() const
Property: DWARF debugging hiearchy.
void fillHoles()
Find holes in file and create sections to fill them.
void set_neuter(bool const &)
Property: If set, refuse to unparse file.
void addHeader(SgAsmGenericHeader *)
Adds a new header to the file.
void dumpAll(bool in_cwd=true, const char *ext=NULL)
Print text file containing all known information about a binary file.
void dump(FILE *) const
Print basic info about the sections of a file.
void set_referencedExtents(Rose::BinaryAnalysis::AddressIntervalSet const &)
Property: Addresses referenced during parsing.
int const & get_fd() const
Property: Read-only file descriptor.
void unparse(std::ostream &) const
Mirror image of parsing an executable file.
SgFileContentList content(rose_addr_t offset, rose_addr_t size)
Returns a vector that points to part of the file.
rose_addr_t get_nextSectionOffset(rose_addr_t offset)
File offset of next section.
void shiftExtend(SgAsmGenericSection *, rose_addr_t sa, rose_addr_t sn, AddressSpace, Elasticity)
Moves and enlarges a section.
const Rose::BinaryAnalysis::AddressIntervalSet & get_unreferencedExtents() const
Returns the parts of the file that have never been referenced.
virtual void destructorHelper() override
This gets called by all Rosebud-generated destructors.
void set_dataConverter(DataConverter *)
Property: Data converter.
SgAsmGenericSection * get_sectionByVa(rose_addr_t va, size_t *nfound=0) const
Find section by address.
SgAsmGenericSectionPtrList get_sections(bool include_holes=true) const
Returns list of all sections in the file (including headers, holes, etc).
void set_dwarfInfo(SgAsmDwarfCompilationUnitList *const &)
Property: DWARF debugging hiearchy.
SgAsmGenericSection * get_sectionById(int id, size_t *nfound=0) const
Find section with specified ID.
DataConverter * get_dataConverter() const
Property: Data converter.
Rose::BinaryAnalysis::AddressIntervalSet const & get_referencedExtents() const
Property: Addresses referenced during parsing.
std::string readContentString(rose_addr_t abs_offset, bool strict=true)
Reads a string from a file.
SgAsmGenericFile * parse(std::string file_name)
Loads file contents into memory.
SgAsmGenericSection * get_sectionByName(const std::string &, char sep=0, size_t *nfound=0) const
Find section by name.
void unfillHoles()
Deletes "hole" sections.
static SgAsmGenericSection * bestSectionByVa(const SgAsmGenericSectionPtrList §ions, rose_addr_t va)
Definition for "best".
SgAsmGenericSectionPtrList get_sectionsByOffset(rose_addr_t offset, rose_addr_t size) const
Find sections by their offset.
std::string readContentString(const Rose::BinaryAnalysis::MemoryMap::Ptr &, rose_addr_t va, bool strict=true)
Reads a string from a file.
SgAsmGenericHeader * get_header(SgAsmExecutableFileFormat::ExecFamily)
Returns the header for the specified format.
void removeHole(SgAsmGenericSection *)
Removes a hole from the list of holes in a file.
void set_name(std::string const &)
Property: Name of file.
void set_headers(SgAsmGenericHeaderList *const &)
Property: List of all headers in file.
bool const & get_truncateZeros() const
Property: Whether to truncate zeros on writes.
void removeHeader(SgAsmGenericHeader *)
Removes a header from the header list in a file.
std::string const & get_name() const
Property: Name of file.
AddressSpace
Section modification functions for shiftExtend.
bool const & get_trackingReferences() const
Property: Whether to track referenced areas during parsing.
Elasticity
Elasticity argument for shiftExtend.
@ ELASTIC_UNREF
Unreferenced address space is elastic.
@ ELASTIC_NONE
Nothing is elastic; other parts of space are shifted.
@ ELASTIC_HOLE
Unreferenced and "hole" sections are elastic.
SgAsmGenericSectionPtrList get_sectionsByVa(rose_addr_t va) const
Find sections by address.
const SgFileContentList & content()
Property: Entire file contents.
List of pointers to file sections.
void set_sections(SgAsmGenericSectionPtrList const &)
Property: List of section pointers.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmGenericSectionList()
Default constructor.
SgAsmGenericSectionPtrList & get_sections()
Property: List of section pointers.
virtual ~SgAsmGenericSectionList()
Destructor.
SgAsmGenericSectionPtrList const & get_sections() const
Property: List of section pointers.
Contiguous region of a file.
bool isMapped() const
Whether section desires to be mapped to memory.
void set_data(SgFileContentList const &)
Property: Original content of just this section.
size_t readContentLocal(rose_addr_t rel_offset, void *dst_buf, rose_addr_t size, bool strict=true)
Reads data from a file.
rose_addr_t writeUleb128(unsigned char *, rose_addr_t offset, uint64_t) const
Write an unsigned little-endian 128-bit value.
rose_addr_t write(std::ostream &f, rose_addr_t offset, char c) const
Write data to a file section.
rose_addr_t const & get_mappedActualVa() const
Property: Virtual address where ROSE maps this section.
rose_addr_t writeSleb128(unsigned char *, rose_addr_t offset, int64_t) const
Write a signed little-endian 128-bit value.
virtual SgAsmGenericSection * parse()
Parse contents of the section.
void set_shortName(std::string const &)
Property: Abbreviated name.
void set_mappedReadPermission(bool const &)
Property: Whether mapped with read permission.
rose_addr_t get_vaOffset(rose_addr_t va) const
File offset for specified virtual address.
Rose::BinaryAnalysis::AddressIntervalSet get_unreferencedExtents() const
Returns a list of parts of a single section that have not been referenced.
rose_addr_t write(std::ostream &f, rose_addr_t offset, const SgUnsignedCharList &buf) const
Write data to a file section.
Extent get_fileExtent() const
Returns the file extent for the section.
void extend(rose_addr_t nbytes)
Extend a section by some number of bytes during the construction and/or parsing phase.
rose_addr_t get_rvaOffset(rose_addr_t rva) const
File offset for specified relative virtual address.
size_t readContent(const Rose::BinaryAnalysis::MemoryMap::Ptr &, const Rose::BinaryAnalysis::RelativeVirtualAddress &start, void *dst_buf, rose_addr_t size, bool strict=true)
Reads data from a file.
virtual void destructorHelper() override
This gets called by all Rosebud-generated destructors.
void set_mappedActualVa(rose_addr_t const &)
Property: Virtual address where ROSE maps this section.
rose_addr_t get_mappedPreferredVa() const
Virtual address where section prefers to be mapped.
virtual void set_mappedPreferredRva(rose_addr_t)
Property: Relative virtual address where section prefers to be mapped.
rose_addr_t get_offset() const
Property: Offset to start of section in file.
void set_name(SgAsmGenericString *s)
Property: Non-unique name of section.
rose_addr_t const & get_mappedPreferredRva() const
Property: Relative virtual address where section prefers to be mapped.
bool const & get_synthesized() const
Property: Whether section really exists.
SgAsmGenericFile *const & get_file() const
Property: File to which this section belongs.
void set_file(SgAsmGenericFile *const &)
Property: File to which this section belongs.
SgAsmGenericHeader *const & get_header() const
Property: File header that owns this section.
std::string get_shortName() const
Property: Abbreviated name.
bool const & get_containsCode() const
Property: Whether a section is known to contain code.
bool const & get_mappedExecutePermission() const
Property: Whether mapped with execute permission.
void set_header(SgAsmGenericHeader *const &)
Property: File header that owns this section.
rose_addr_t const & get_fileAlignment() const
Property: Required file alignment.
void set_id(int const &)
Property: Non-unique section ID or negative.
rose_addr_t write(std::ostream &f, rose_addr_t offset, const std::string &str) const
Write data to a file section.
bool align()
Increase file offset and mapping address to satisfy alignment constraints.
size_t readContent(rose_addr_t abs_offset, void *dst_buf, rose_addr_t size, bool strict=true)
Reads data from a file.
rose_addr_t const & get_mappedAlignment() const
Property: Alignment in virtual memory.
SgFileContentList const & get_data() const
Property: Original content of just this section.
bool const & get_mappedReadPermission() const
Property: Whether mapped with read permission.
SgAsmGenericHeader * isFileHeader()
Predicate determining whether this section is also a top-level file header.
SgUnsignedCharList readContentLocalUcl(rose_addr_t rel_offset, rose_addr_t size)
Reads content of a section and returns it as a container.
SectionPurpose
Reason for section's existence.
@ SP_HEADER
Section contains a header for the executable file format.
@ SP_PROGRAM
Program-supplied data, code, etc.
@ SP_UNSPECIFIED
File format did not specify a reason and none could be determined.
@ SP_OTHER
File-specified purpose other than any given in this enum.
void clearMapped()
Causes section to not be mapped to memory.
SgAsmGenericSection::SectionPurpose const & get_purpose() const
Property: General contents of the section.
void set_purpose(SgAsmGenericSection::SectionPurpose const &)
Property: General contents of the section.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
void set_mappedAlignment(rose_addr_t const &)
Property: Alignment in virtual memory.
std::string readContentString(rose_addr_t abs_offset, bool strict=true)
Reads a string from the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmGenericString *const & get_name() const
Property: Non-unique name of section.
static void dumpContainingSections(FILE *, const std::string &prefix, Rose::BinaryAnalysis::RelativeVirtualAddress, const SgAsmGenericSectionPtrList &)
Prints info about offsets into known sections.
virtual void set_size(rose_addr_t)
Property: Size of section in file in bytes.
void set_synthesized(bool const &)
Property: Whether section really exists.
void grabContent()
Saves a reference to the original file data for a section based on the section's current offset and s...
void set_containsCode(bool const &)
Property: Whether a section is known to contain code.
void set_mappedExecutePermission(bool const &)
Property: Whether mapped with execute permission.
void unparse(std::ostream &, const ExtentMap &) const
Write just the specified regions back to the file.
std::string readContentString(const Rose::BinaryAnalysis::MemoryMap::Ptr &map, Rose::BinaryAnalysis::RelativeVirtualAddress rva, bool strict=true)
Reads a string from the file.
size_t readContent(const Rose::BinaryAnalysis::MemoryMap::Ptr &, rose_addr_t start, void *dst_buf, rose_addr_t size, bool strict=true)
Reads data from a file.
Extent get_mappedPreferredExtent() const
Returns the memory extent for a mapped section.
rose_addr_t const & get_mappedSize() const
Property: Mapped size.
unsigned char * writableContent(size_t nbytes)
Obtain a local, writable pool to hold content.
void set_mappedWritePermission(bool const &)
Property: Whether mapped with write permission.
std::string readContentLocalString(rose_addr_t rel_offset, bool strict=true)
Reads a string from the file.
rose_addr_t get_size() const
Property: Size of section in file in bytes.
virtual void set_offset(rose_addr_t)
Property: Offset to start of section in file.
int64_t readContentLocalSleb128(rose_addr_t *rel_offset, bool strict=true)
Read a signed little-endian 128-bit value.
rose_addr_t get_endOffset() const
File offset for end of section.
int const & get_id() const
Property: Non-unique section ID or negative.
void unparseHoles(std::ostream &) const
Write holes (unreferenced areas) back to the file.
rose_addr_t get_baseVa() const
Base virtual address for a section.
virtual void set_mappedSize(rose_addr_t)
Property: Mapped size.
uint64_t readContentLocalUleb128(rose_addr_t *rel_offset, bool strict=true)
Read an unsigned little-endian 128-bit value.
bool const & get_mappedWritePermission() const
Property: Whether mapped with write permission.
rose_addr_t write(std::ostream &f, rose_addr_t offset, const SgFileContentList &buf) const
Write data to a file section.
std::string readContentString(const Rose::BinaryAnalysis::MemoryMap::Ptr &, rose_addr_t va, bool strict=true)
Reads a string from the file.
Rose::BinaryAnalysis::AddressIntervalSet get_referencedExtents() const
Returns a list of parts of a single section that have been referenced.
SgAsmGenericSection(SgAsmGenericFile *, SgAsmGenericHeader *)
Constructor linking object into ASt.
virtual bool reallocate()
Called prior to unparse to make things consistent.
void set_fileAlignment(rose_addr_t const &)
Property: Required file alignment.
rose_addr_t write(std::ostream &f, rose_addr_t offset, size_t bufsize, const void *buf) const
Write data to a file section.
virtual void unparse(std::ostream &) const
Write a section back to the file.
Base class for strings related to binary specimens.
virtual std::string get_string(bool escape=false) const
Property: String value.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmGenericString()
Destructor.
static const rose_addr_t unallocated
Constant for addresses of unallocated strings.
virtual void set_string(rose_addr_t)
Property: String value.
virtual void set_string(const std::string &s)
Property: String value.
SgAsmGenericString()
Default constructor.
Base class for string tables.
void free(rose_addr_t offset, rose_addr_t size)
Add a range of bytes to the free list after subtracting areas that are referenced by other strings.
void free(SgAsmStringStorage *)
Free area of this string table that corresponds to the string currently stored.
SgAsmStoredString * createString(rose_addr_t offset, bool shared)
Constructs an SgAsmStoredString from an offset into this string table.
Rose::BinaryAnalysis::AddressIntervalSet const & get_freeList() const
Property: Free space list.
void set_dontFree(SgAsmStringStorage *const &)
Property: Space that should never be freed.
SgAsmGenericSection *const & get_container() const
Property: Section storing this string table.
SgAsmStringStorage *const & get_dontFree() const
Property: Space that should never be freed.
SgAsmGenericStrtab(SgAsmGenericSection *container)
Constructs table inside file section.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
void initializeProperties()
Initialize all properties that have explicit initial values.
bool reallocate(bool shrink)
Allocates storage for strings that have been modified but not allocated.
void set_numberFreed(size_t const &)
Property: Number of strings freed thus far.
void freeAllStrings(bool blow_away_holes=false)
Free all strings so they will be reallocated later.
SgAsmGenericStrtab::referenced_t const & get_storageList() const
Property: String storage list.
virtual SgAsmGenericStrtab * parse()
Parse a string table.
Rose::BinaryAnalysis::AddressIntervalSet & get_freeList()
Property: Free space list.
size_t const & get_numberFreed() const
Property: Number of strings freed thus far.
void set_container(SgAsmGenericSection *const &)
Property: Section storing this string table.
void set_storageList(SgAsmGenericStrtab::referenced_t const &)
Property: String storage list.
Node to hold a list of symbol node pointers.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmGenericSymbolList()
Default constructor.
void set_symbols(SgAsmGenericSymbolPtrList const &)
Property: List of symbol nodes.
virtual ~SgAsmGenericSymbolList()
Destructor.
SgAsmGenericSymbolPtrList const & get_symbols() const
Property: List of symbol nodes.
SgAsmGenericSymbolPtrList & get_symbols()
Property: List of symbol nodes.
rose_addr_t const & get_size() const
Property: Symbol size in bytes.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
SgAsmGenericSymbol::SymbolBinding const & get_binding() const
Property: Symbol binding.
@ SYM_NO_TYPE
No type or type is unknown.
@ SYM_ARRAY
Array of some other type.
@ SYM_IFUNC
Indirection function.
@ SYM_SECTION
Section of a file.
@ SYM_DATA
Normal variable definitions.
@ SYM_COMMON
Common block.
@ SYM_TLS
Thread-local storage.
@ SYM_REGISTER
CPU register value.
@ SYM_FILE
Name of a file.
@ SYM_FUNC
Function or other code.
rose_addr_t const & get_value() const
Property: Symbol value.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmGenericSection *const & get_bound() const
Property: Associated file section.
SymbolBinding
Symbol binding.
@ SYM_GLOBAL
Global binding.
@ SYM_LOCAL
Local binding.
@ SYM_NO_BINDING
Unknown binding.
void set_name(SgAsmGenericString *)
Property: Name.
void set_value(rose_addr_t const &)
Property: Symbol value.
void set_definitionState(SgAsmGenericSymbol::SymbolDefState const &)
Property: Definition state.
SgAsmGenericString * get_name() const
Property: Name.
void set_type(SgAsmGenericSymbol::SymbolType const &)
Property: Symbol type.
void set_binding(SgAsmGenericSymbol::SymbolBinding const &)
Property: Symbol binding.
SgAsmGenericSymbol::SymbolType const & get_type() const
Property: Symbol type.
void set_bound(SgAsmGenericSection *const &)
Property: Associated file section.
void set_size(rose_addr_t const &)
Property: Symbol size in bytes.
SymbolDefState
Symbol definition state.
@ SYM_DEFINED
Created and assigned storage.
@ SYM_UNDEFINED
Symbol has not been defined yet.
@ SYM_TENTATIVE
Does not have size/value yet.
SgAsmGenericSymbol::SymbolDefState const & get_definitionState() const
Property: Definition state.
Registers accessed indirectly.
size_t const & get_modulus() const
Property: Register descriptor modulus.
void set_offset(Rose::BinaryAnalysis::RegisterDescriptor const &)
Property: Register descriptor offset.
Rose::BinaryAnalysis::RegisterDescriptor const & get_stride() const
Property: Register descriptor stride.
SgAsmIndirectRegisterExpression()
Default constructor.
void set_modulus(size_t const &)
Property: Register descriptor modulus.
void set_stride(Rose::BinaryAnalysis::RegisterDescriptor const &)
Property: Register descriptor stride.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmIndirectRegisterExpression()
Destructor.
SgAsmIndirectRegisterExpression(Rose::BinaryAnalysis::RegisterDescriptor const &descriptor, Rose::BinaryAnalysis::RegisterDescriptor const &stride, Rose::BinaryAnalysis::RegisterDescriptor const &offset, size_t const &index, size_t const &modulus)
Constructor.
Rose::BinaryAnalysis::RegisterDescriptor const & get_offset() const
Property: Register descriptor offset.
size_t const & get_index() const
Property: Register descriptor index.
void set_index(size_t const &)
Property: Register descriptor index.
List of SgAsmInstruction nodes.
virtual ~SgAsmInstructionList()
Destructor.
SgAsmInstructionList()
Default constructor.
void set_instructions(SgAsmInstructionPtrList const &)
Property: List of SgAsmInstruction entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmInstructionPtrList & get_instructions()
Property: List of SgAsmInstruction entries.
SgAsmInstructionPtrList const & get_instructions() const
Property: List of SgAsmInstruction entries.
Base class for machine instructions.
bool normalizeOperands()
Rewrite certain addressing modes for operands.
bool isLastInBlock()
Returns true if this instruction is the last instruction in a basic block.
void set_semantics(SgAsmExprListExp *const &)
Property: Ordered list of instruction semantics.
void set_stackDeltaIn(int64_t const &)
Property: Stack pointer at start of instruction relative to start of instruction's function.
Rose::BinaryAnalysis::Architecture::BaseConstPtr architecture() const
Architecture for instruction.
size_t nOperands() const
Number of operands.
uint8_t const & get_architectureId() const
Property: Architecture registration ID.
SgAsmExprListExp *const & get_semantics() const
Property: Ordered list of instruction semantics.
size_t semanticFailure() const
Property: Whether instruction semantics failed at this location.
std::string get_mnemonic() const
Property: Instruction mnemonic string.
static const int64_t INVALID_STACK_DELTA
Represents an invalid stack delta.
void set_rawBytes(SgUnsignedCharList const &)
Property: Raw bytes of an instruction.
virtual bool hasEffect()
Determines whether a single instruction has an effect.
int64_t const & get_stackDeltaIn() const
Property: Stack pointer at start of instruction relative to start of instruction's function.
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.
virtual std::string toStringNoAddr() const
Converts the instruction to a string.
SgUnsignedCharList const & get_rawBytes() const
Property: Raw bytes of an instruction.
virtual std::string toString() const
Converts the instruction to a string.
virtual size_t get_size() const
Returns the size of an instruction in bytes.
SgAsmExpression * operand(size_t) const
Nth operand.
void set_delaySlot(SgAsmInstruction *const &)
Property: Delay slot instructions.
bool isFirstInBlock()
Returns true if this instruction is the first instruction in a basic block.
SgAsmOperandList *const & get_operandList() const
Property: AST node that holds all operands.
virtual std::set< rose_addr_t > explicitConstants() const
Explicit constants.
void set_operandList(SgAsmOperandList *const &)
Property: AST node that holds all operands.
void incrementSemanticFailure()
Property: Whether instruction semantics failed at this location.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmInstruction *const & get_delaySlot() const
Property: Delay slot instructions.
virtual unsigned get_anyKind() const
Returns instruction kind for any architecture.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmIntegerType()
Default constructor.
virtual ~SgAsmIntegerType()
Destructor.
virtual std::string toString() const override
Convert a type to a string.
bool get_isSigned() const
Property: whether the integral type is signed or unsigned.
static SgAsmIntegerType * instanceSigned(Rose::BinaryAnalysis::ByteOrder::Endianness, size_t nBits)
Make an instance for a signed type.
static SgAsmIntegerType * instanceUnsigned(Rose::BinaryAnalysis::ByteOrder::Endianness, size_t nBits)
Make an instance for an unsigned type.
virtual void check() const override
Validate properties collectively.
SgAsmIntegerType(Rose::BinaryAnalysis::ByteOrder::Endianness, size_t nBits, bool isSigned)
Constructor with specified member values.
Base class for integer values.
SgAsmIntegerValueExpression()
Default constructor.
static uint64_t virtualAddress(SgNode *)
Returns the base address of an addressable IR node.
int64_t get_signedValue() const
Returns the current absolute value (base+offset) as a signed value.
void set_baseNode(SgNode *const &)
Property: Base node associated with an integer.
SgAsmIntegerValueExpression(uint64_t n, SgAsmType *type)
Construct a new value of specified type.
SgNode *const & get_baseNode() const
Property: Base node associated with an integer.
uint64_t get_absoluteValue(size_t nbits=0) const
Returns the current absolute value zero filled to 64 bits.
std::string get_label(bool quiet=false) const
Returns a label for the value.
uint64_t get_baseAddress() const
Returns the base address.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmIntegerValueExpression()
Destructor.
SgAsmIntegerValueExpression(const Sawyer::Container::BitVector &bv, SgAsmType *type)
Construct a new value of specified type.
void set_absoluteValue(uint64_t)
Set absolute value.
void makeRelativeTo(SgNode *baseNode)
Makes the value of this integer relative to some other addressable node.
int64_t get_relativeValue() const
Get relative value.
size_t get_significantBits() const
Return the number of significant bits in the value.
void set_relativeValue(int64_t v, size_t nbits=64)
Set relative value without changing the base value.
SgAsmInterpretationList()
Default constructor.
SgAsmInterpretationPtrList & get_interpretations()
Property: Interpretation list.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_interpretations(SgAsmInterpretationPtrList const &)
Property: Interpretation list.
virtual ~SgAsmInterpretationList()
Destructor.
SgAsmInterpretationPtrList const & get_interpretations() const
Property: Interpretation list.
Represents an interpretation of a binary container.
SgAsmGenericHeaderList *const & get_headers() const
Property: File headers.
void set_instructionMap(const Rose::BinaryAnalysis::InstructionMap &)
Property: Cached map of instructions by address.
void set_coverageComputed(bool const &)
Property: code coverage percent.
void set_percentageCoverage(double const &)
Property: code coverage percent.
void set_headers(SgAsmGenericHeaderList *const &)
Property: File headers.
void eraseInstructions(Rose::BinaryAnalysis::InstructionMap &)
Erase instructions from a map.
void set_map(Rose::BinaryAnalysis::MemoryMap::Ptr const &)
Property: Memory map.
double const & get_percentageCoverage() const
Property: code coverage percent.
Rose::BinaryAnalysis::InstructionMap & get_instructionMap(bool recompute=false)
Property: Cached map of instructions by address.
SgAsmBlock *const & get_globalBlock() const
Property: Global block.
void set_globalBlock(SgAsmBlock *const &)
Property: Global block.
Rose::BinaryAnalysis::MemoryMap::Ptr const & get_map() const
Property: Memory map.
void initializeProperties()
Initialize all properties that have explicit initial values.
void insertInstructions(Rose::BinaryAnalysis::InstructionMap &)
Populate a map of instructions indexed by their virtual addresses.
bool const & get_coverageComputed() const
Property: code coverage percent.
SgAsmGenericFilePtrList get_files() const
Returns a list of all files referenced by an interpretation.
Represents a JVM attribute_info table/array.
void set_attributes(SgAsmJvmAttributePtrList const &)
Property: List of pointers to attributes.
virtual SgAsmGenericSection * parse()
Parses a JVM attribute table.
SgAsmJvmAttributePtrList & get_attributes()
Property: List of pointers to attributes.
virtual void unparse(std::ostream &) const override
Write attribute table to a binary file.
virtual ~SgAsmJvmAttributeTable()
Destructor.
SgAsmJvmAttributeTable(SgAsmJvmFileHeader *, SgAsmNode *)
Initialize the attribute table before parsing.
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.
SgAsmJvmAttributeTable()
Default constructor.
SgAsmJvmAttributePtrList const & get_attributes() const
Property: List of pointers to attributes.
Base class for a JVM attribute.
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 SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool)
Initialize an attribute by parsing the file.
static SgAsmJvmAttribute * instance(SgAsmJvmConstantPool *pool, SgAsmJvmAttributeTable *parent)
Factory method returning a derived class instance.
uint16_t const & get_attribute_name_index() const
Property: attribute_name_index.
uint32_t const & get_attribute_length() const
Property: attribute_length.
virtual void unparse(std::ostream &) const override
Write attribute to a binary file.
void set_attribute_name_index(uint16_t const &)
Property: attribute_name_index.
SgAsmJvmAttribute()
Default constructor.
virtual ~SgAsmJvmAttribute()
Destructor.
void set_attribute_length(uint32_t const &)
Property: attribute_length.
virtual void unparse(std::ostream &) const override
Write object to a binary file.
SgAsmJvmBootstrapMethod * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void set_bootstrap_method_ref(uint16_t const &)
Property: bootstrap_method_ref.
SgAsmJvmBootstrapMethod(SgAsmJvmBootstrapMethods *)
Initialize the object before parsing.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_bootstrap_method_ref() const
Property: bootstrap_method_ref.
SgAsmJvmBootstrapMethod()
Default constructor.
void set_bootstrap_arguments(SgUnsigned16List const &)
Property: bootstrap_arguments.
virtual ~SgAsmJvmBootstrapMethod()
Destructor.
SgUnsigned16List const & get_bootstrap_arguments() const
Property: bootstrap_arguments.
The BootstrapMethods attribute is a variable-length attribute in the attributes table of a ClassFile ...
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.
virtual ~SgAsmJvmBootstrapMethods()
Destructor.
SgAsmJvmBootstrapMethodPtrList const & get_bootstrap_methods() const
Property: List of bootstrap method entries.
virtual SgAsmJvmBootstrapMethods * parse(SgAsmJvmConstantPool *pool) override
Initialize the object by parsing content from the class file.
SgAsmJvmBootstrapMethods()
Default constructor.
SgAsmJvmBootstrapMethodPtrList & get_bootstrap_methods()
Property: List of bootstrap method entries.
SgAsmJvmBootstrapMethods(SgAsmJvmAttributeTable *)
Initialize the bootstrap methods object before parsing.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_bootstrap_methods(SgAsmJvmBootstrapMethodPtrList const &)
Property: List of bootstrap method entries.
virtual ~SgAsmJvmClass()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmClass()
Default constructor.
void set_max_locals(uint16_t const &)
Property: max_locals.
rose_addr_t const & get_code_offset() const
Property: Code offset.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
SgAsmJvmCodeAttribute()
Default constructor.
uint16_t const & get_max_locals() const
Property: max_locals.
SgAsmJvmAttributeTable *const & get_attribute_table() const
Property: Attribute table.
void set_code(const char *const &)
Property: code.
void set_attribute_table(SgAsmJvmAttributeTable *const &)
Property: Attribute table.
void set_max_stack(uint16_t const &)
Property: max_stack.
void set_exception_table(SgAsmJvmExceptionTable *const &)
Property: Exception table.
SgAsmJvmCodeAttribute(SgAsmJvmAttributeTable *table)
Initialize the object before parsing.
uint32_t const & get_code_length() const
Property: code_length.
virtual void unparse(std::ostream &) const override
Write code attribute to a binary file.
uint16_t const & get_max_stack() const
Property: max_stack.
virtual ~SgAsmJvmCodeAttribute()
Destructor.
void set_code_length(uint32_t const &)
Property: code_length.
void set_code_offset(rose_addr_t const &)
Property: Code offset.
void initializeProperties()
Initialize all properties that have explicit initial values.
const char *const & get_code() const
Property: code.
SgAsmJvmExceptionTable *const & get_exception_table() const
Property: Exception table.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
Represents an entry in a JVM constant pool.
uint16_t const & get_class_index() const
Property: class_index.
virtual ~SgAsmJvmConstantPoolEntry()
Destructor.
void set_bootstrap_method_attr_index(uint16_t const &)
Property: bootstrap_method_attr_index.
SgAsmJvmConstantPoolEntry(SgAsmJvmConstantPoolEntry::Kind tag)
Constructor creating an object ready to be initialized via parse().
void set_utf8_bytes(char *const &)
Property: utf8_bytes (bytes in CONSTANT_Utf8_info structure).
SgAsmJvmConstantPoolEntry()
Default constructor.
uint16_t const & get_name_index() const
Property: name_index.
SgAsmJvmConstantPoolEntry * parse(SgAsmJvmConstantPool *pool)
Initialize a constant pool entry by parsing the file.
uint32_t const & get_hi_bytes() const
Properties: hi_bytes.
static std::string to_string(SgAsmJvmConstantPoolEntry::Kind)
Convert constant pool entry kind to a string.
void set_tag(SgAsmJvmConstantPoolEntry::Kind const &)
Property: tag.
void set_class_index(uint16_t const &)
Property: class_index.
void set_descriptor_index(uint16_t const &)
Property: descriptor_index.
uint16_t const & get_reference_index() const
Property: reference_index.
void set_hi_bytes(uint32_t const &)
Properties: hi_bytes.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmConstantPoolEntry::Kind const & get_tag() const
Property: tag.
uint8_t const & get_reference_kind() const
Property: reference_kind.
void set_name_and_type_index(uint16_t const &)
Property: name_and_type_index.
void set_string_index(uint16_t const &)
Property: string_index.
uint16_t const & get_name_and_type_index() const
Property: name_and_type_index.
uint32_t const & get_low_bytes() const
Properties: low_bytes.
void set_name_index(uint16_t const &)
Property: name_index.
void set_length(uint16_t const &)
Property: length.
void set_reference_kind(uint8_t const &)
Property: reference_kind.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual void unparse(std::ostream &) const override
Write constant pool entry to a binary file.
char *const & get_utf8_bytes() const
Property: utf8_bytes (bytes in CONSTANT_Utf8_info structure).
uint32_t const & get_bytes() const
Property: bytes.
void set_reference_index(uint16_t const &)
Property: reference_index.
void set_low_bytes(uint32_t const &)
Properties: low_bytes.
uint16_t const & get_length() const
Property: length.
uint16_t const & get_bootstrap_method_attr_index() const
Property: bootstrap_method_attr_index.
uint16_t const & get_string_index() const
Property: string_index.
void set_bytes(uint32_t const &)
Property: bytes.
uint16_t const & get_descriptor_index() const
Property: descriptor_index.
Represents an JVM constant pool.
virtual ~SgAsmJvmConstantPool()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmConstantPoolEntryPtrList const & get_entries() const
Property: List of constant pool entries.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write constant pool to a binary file.
void set_entries(SgAsmJvmConstantPoolEntryPtrList const &)
Property: List of constant pool entries.
std::string get_utf8_string(size_t index) const
Return a string at the given index.
virtual SgAsmJvmConstantPool * parse() override
Parses a JVM Constant Pool.
SgAsmJvmConstantPool(SgAsmJvmFileHeader *)
Non-parsing constructor.
SgAsmJvmConstantPoolEntry * get_entry(size_t index) const
Returns constant pool entry at given index.
SgAsmJvmConstantPoolEntryPtrList & get_entries()
Property: List of constant pool entries.
SgAsmJvmConstantPool()
Default constructor.
virtual void destructorHelper() override
This gets called by all Rosebud-generated destructors.
JVM ConstantValue attribute.
virtual ~SgAsmJvmConstantValue()
Destructor.
SgAsmJvmConstantValue(SgAsmJvmAttributeTable *table)
Initialize the object before parsing.
uint16_t const & get_constantvalue_index() const
Property: constantvalue_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void set_constantvalue_index(uint16_t const &)
Property: constantvalue_index.
SgAsmJvmConstantValue()
Default constructor.
virtual void unparse(std::ostream &) const override
Write constant value to a binary file.
JVM EnclosingMethod attribute.
virtual SgAsmJvmEnclosingMethod * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
virtual ~SgAsmJvmEnclosingMethod()
Destructor.
void set_class_index(uint16_t const &)
Property: class_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_method_index() const
Property: method_index.
uint16_t const & get_class_index() const
Property: class_index.
virtual void unparse(std::ostream &) const override
Write enclosing method to a binary file.
void set_method_index(uint16_t const &)
Property: method_index.
SgAsmJvmEnclosingMethod(SgAsmJvmAttributeTable *table)
Initialize the object before parsing.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmEnclosingMethod()
Default constructor.
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.
uint16_t const & get_end_pc() const
Property: end_pc.
uint16_t const & get_catch_type() const
Property: catch_type.
void set_start_pc(uint16_t const &)
Property: start_pc.
virtual ~SgAsmJvmExceptionHandler()
Destructor.
void set_handler_pc(uint16_t const &)
Property: handler_pc.
uint16_t const & get_start_pc() const
Property: start_pc.
void set_catch_type(uint16_t const &)
Property: catch_type.
SgAsmJvmExceptionHandler()
Default constructor.
SgAsmJvmExceptionHandler * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
SgAsmJvmExceptionHandler(SgAsmJvmExceptionTable *table)
Initialize the object before parsing.
uint16_t const & get_handler_pc() const
Property: handler_pc.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_end_pc(uint16_t const &)
Property: end_pc.
Represents a JVM exception_info table/array.
SgAsmJvmExceptionHandlerPtrList & get_handlers()
Property: List of pointers to exceptions.
SgAsmJvmExceptionTable(SgAsmJvmCodeAttribute *)
Initialize the exception table before parsing.
virtual void unparse(std::ostream &) const override
Write exception table to a binary file.
SgAsmJvmExceptionTable * parse(SgAsmJvmConstantPool *)
Parses a JVM exception table.
SgAsmJvmExceptionTable()
Default constructor.
void set_handlers(SgAsmJvmExceptionHandlerPtrList const &)
Property: List of pointers to exceptions.
SgAsmJvmExceptionHandlerPtrList const & get_handlers() const
Property: List of pointers to exceptions.
virtual ~SgAsmJvmExceptionTable()
Destructor.
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.
JVM Exceptions attribute.
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.
void set_exception_index_table(SgUnsigned16List const &)
Property: exception_index_table.
SgAsmJvmExceptions(SgAsmJvmAttributeTable *table)
Initialize the object before parsing.
SgAsmJvmExceptions * parse(SgAsmJvmConstantPool *) override
Initialize the object by parsing content from the class file.
virtual void unparse(std::ostream &) const override
Write the Exceptions attribute to a binary file.
SgUnsigned16List const & get_exception_index_table() const
Property: exception_index_table.
SgAsmJvmExceptions()
Default constructor.
virtual ~SgAsmJvmExceptions()
Destructor.
Represents a JVM field_info table/array.
SgAsmJvmFieldPtrList & get_fields()
Property: List of pointers to fields.
void set_fields(SgAsmJvmFieldPtrList const &)
Property: List of pointers to fields.
virtual SgAsmJvmFieldTable * parse() override
Parses a JVM field table.
SgAsmJvmFieldPtrList const & get_fields() const
Property: List of pointers to fields.
virtual void unparse(std::ostream &) const override
Write field table to a binary file.
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 ~SgAsmJvmFieldTable()
Destructor.
SgAsmJvmFieldTable()
Default constructor.
SgAsmJvmFieldTable(SgAsmJvmFileHeader *)
Initialize the field table before parsing.
uint16_t const & get_descriptor_index() const
Property: descriptor_index.
virtual void unparse(std::ostream &) const override
Write field to a binary file.
SgAsmJvmField(SgAsmJvmFieldTable *)
Initialize the object before parsing.
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.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_attribute_table(SgAsmJvmAttributeTable *const &)
Property: Table of attributes.
SgAsmJvmField()
Default constructor.
virtual ~SgAsmJvmField()
Destructor.
uint16_t const & get_access_flags() const
Property: access_flags.
SgAsmJvmAttributeTable *const & get_attribute_table() const
Property: Table of attributes.
uint16_t const & get_name_index() const
Property: name_index.
SgAsmJvmField * parse(SgAsmJvmConstantPool *pool)
Initialize the object by parsing content from the class file.
void set_descriptor_index(uint16_t const &)
Property: descriptor_index.
void set_name_index(uint16_t const &)
Property: name_index.
A JVM InnerClasses attribute array entry.
void set_inner_class_info_index(uint16_t const &)
Property: inner_class_info_index.
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.
SgAsmJvmInnerClassesEntry(SgAsmJvmInnerClasses *)
Initialize the object before parsing.
virtual void unparse(std::ostream &) const override
Write inner classes entry to a binary file.
SgAsmJvmInnerClassesEntry()
Default constructor.
void set_outer_class_info_index(uint16_t const &)
Property: outer_class_info_index.
uint16_t const & get_inner_class_info_index() const
Property: inner_class_info_index.
uint16_t const & get_inner_name_index() const
Property: inner_name_index.
virtual ~SgAsmJvmInnerClassesEntry()
Destructor.
uint16_t const & get_outer_class_info_index() const
Property: outer_class_info_index.
uint16_t const & get_inner_class_access_flags() const
Property: inner_class_access_flags.
void set_inner_class_access_flags(uint16_t const &)
Property: inner_class_access_flags.
void set_inner_name_index(uint16_t const &)
Property: inner_name_index.
SgAsmJvmInnerClassesEntry * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
Represents a JVM InnerClasses attribute.
SgAsmJvmInnerClasses()
Default constructor.
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.
SgAsmJvmInnerClassesEntryPtrList & get_classes()
Property: List of pointers to InnerClasses attribute entry.
SgAsmJvmInnerClasses(SgAsmJvmAttributeTable *table)
Initialize the InnerClasses attribute before parsing.
void set_classes(SgAsmJvmInnerClassesEntryPtrList const &)
Property: List of pointers to InnerClasses attribute entry.
virtual void unparse(std::ostream &) const override
Write the InnerClasses attribute to a binary file.
virtual ~SgAsmJvmInnerClasses()
Destructor.
SgAsmJvmInnerClassesEntryPtrList const & get_classes() const
Property: List of pointers to InnerClasses attribute entry.
SgAsmJvmInnerClasses * parse(SgAsmJvmConstantPool *) override
Parses a JVM InnerClasses attribute.
Represents one JVS machine instruction.
virtual ~SgAsmJvmInstruction()
Destructor.
void set_kind(Rose::BinaryAnalysis::JvmInstructionKind const &)
Property: Instruction kind.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
SgAsmJvmInstruction(rose_addr_t const &address, uint8_t const &architectureId, Rose::BinaryAnalysis::JvmInstructionKind const &kind)
Constructor.
SgAsmJvmInstruction()
Default constructor.
Rose::BinaryAnalysis::JvmInstructionKind const & get_kind() const
Property: Instruction kind.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t const & get_line_number() const
Property: line_number.
virtual ~SgAsmJvmLineNumberEntry()
Destructor.
void set_line_number(uint16_t const &)
Property: line_number.
SgAsmJvmLineNumberEntry(SgAsmJvmLineNumberTable *)
Initialize the object before parsing.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_start_pc(uint16_t const &)
Property: start_pc.
SgAsmJvmLineNumberEntry()
Default constructor.
SgAsmJvmLineNumberEntry * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual void unparse(std::ostream &) const override
Write line number entry to a binary file.
uint16_t const & get_start_pc() const
Property: start_pc.
JVM LineNumberTable attribute.
SgAsmJvmLineNumberTable()
Default constructor.
void set_line_number_table(SgAsmJvmLineNumberEntryPtrList const &)
Property: line_number_table.
SgAsmJvmLineNumberEntryPtrList & get_line_number_table()
Property: line_number_table.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual SgAsmJvmLineNumberTable * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
SgAsmJvmLineNumberTable(SgAsmJvmAttributeTable *table)
Initialize the LineNumberTable attribute before parsing.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual void unparse(std::ostream &) const override
Write the line number table to a binary file.
virtual ~SgAsmJvmLineNumberTable()
Destructor.
SgAsmJvmLineNumberEntryPtrList const & get_line_number_table() const
Property: line_number_table.
void set_start_pc(uint16_t const &)
Property: start_pc.
uint16_t const & get_descriptor_index() const
Property: descriptor_index.
uint16_t const & get_index() const
Property: index.
void set_length(uint16_t const &)
Property: length.
SgAsmJvmLocalVariableEntry * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
void set_descriptor_index(uint16_t const &)
Property: descriptor_index.
SgAsmJvmLocalVariableEntry()
Default constructor.
SgAsmJvmLocalVariableEntry(SgAsmJvmLocalVariableTable *)
Initialize the object before parsing.
uint16_t const & get_name_index() const
Property: name_index.
uint16_t const & get_start_pc() const
Property: start_pc.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write the local variable entry to a binary file.
void set_name_index(uint16_t const &)
Property: name_index.
void set_index(uint16_t const &)
Property: index.
virtual ~SgAsmJvmLocalVariableEntry()
Destructor.
uint16_t const & get_length() const
Property: length.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
JVM LocalVariableTable attribute.
SgAsmJvmLocalVariableTable(SgAsmJvmAttributeTable *table)
Initialize the LocalVariableTable attribute before parsing.
SgAsmJvmLocalVariableEntryPtrList const & get_local_variable_table() const
Property: local_variable_table.
virtual SgAsmJvmLocalVariableTable * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual void unparse(std::ostream &) const override
Write the local variable table to a binary file.
SgAsmJvmLocalVariableEntryPtrList & get_local_variable_table()
Property: local_variable_table.
void set_local_variable_table(SgAsmJvmLocalVariableEntryPtrList const &)
Property: local_variable_table.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmJvmLocalVariableTable()
Destructor.
SgAsmJvmLocalVariableTable()
Default constructor.
JVM LocalVariableTypeEntry.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
uint16_t const & get_length() const
Property: length.
uint16_t const & get_name_index() const
Property: name_index.
virtual void unparse(std::ostream &) const override
Write the local variable entry to a binary file.
void set_signature_index(uint16_t const &)
Property: signature_index.
uint16_t const & get_start_pc() const
Property: start_pc.
uint16_t const & get_signature_index() const
Property: signature_index.
SgAsmJvmLocalVariableTypeEntry * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
SgAsmJvmLocalVariableTypeEntry(SgAsmJvmLocalVariableTypeTable *)
Initialize the object before parsing.
SgAsmJvmLocalVariableTypeEntry()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_length(uint16_t const &)
Property: length.
void set_index(uint16_t const &)
Property: index.
uint16_t const & get_index() const
Property: index.
void set_name_index(uint16_t const &)
Property: name_index.
virtual ~SgAsmJvmLocalVariableTypeEntry()
Destructor.
void set_start_pc(uint16_t const &)
Property: start_pc.
JVM LocalVariableTypeTable attribute.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual SgAsmJvmLocalVariableTypeTable * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
SgAsmJvmLocalVariableTypeEntryPtrList const & get_local_variable_type_table() const
Property: local_variable_table.
SgAsmJvmLocalVariableTypeTable()
Default constructor.
virtual void unparse(std::ostream &) const override
Write the local variable table to a binary file.
SgAsmJvmLocalVariableTypeEntryPtrList & get_local_variable_type_table()
Property: local_variable_table.
SgAsmJvmLocalVariableTypeTable(SgAsmJvmAttributeTable *table)
Initialize the LocalVariableTypeTable attribute before parsing.
virtual ~SgAsmJvmLocalVariableTypeTable()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
void set_local_variable_type_table(SgAsmJvmLocalVariableTypeEntryPtrList const &)
Property: local_variable_table.
JVM MethodParametersEntry.
void set_access_flags(uint16_t const &)
Property: access_flags.
uint16_t const & get_name_index() const
Property: name_index.
virtual ~SgAsmJvmMethodParametersEntry()
Destructor.
void set_name_index(uint16_t const &)
Property: name_index.
uint16_t const & get_access_flags() const
Property: access_flags.
SgAsmJvmMethodParametersEntry()
Default constructor.
SgAsmJvmMethodParametersEntry * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
SgAsmJvmMethodParametersEntry(SgAsmJvmMethodParameters *)
Initialize the object before parsing.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write line number entry to a binary file.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
JVM MethodParameters attribute.
virtual SgAsmJvmMethodParameters * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
SgAsmJvmMethodParameters()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmMethodParametersEntryPtrList const & get_parameters() const
Property: parameters.
SgAsmJvmMethodParameters(SgAsmJvmAttributeTable *table)
Initialize the MethodParameters attribute before parsing.
void set_parameters(SgAsmJvmMethodParametersEntryPtrList const &)
Property: parameters.
SgAsmJvmMethodParametersEntryPtrList & get_parameters()
Property: parameters.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmJvmMethodParameters()
Destructor.
virtual void unparse(std::ostream &) const override
Write the line number table to a binary file.
Represents a JVM method_info table/array.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmMethodPtrList & get_methods()
Property: List of pointers to methods.
virtual ~SgAsmJvmMethodTable()
Destructor.
virtual void unparse(std::ostream &) const override
Write method table to a binary file.
SgAsmJvmMethodTable()
Default constructor.
SgAsmJvmMethodTable(SgAsmJvmFileHeader *)
Initialize the method table before parsing.
SgAsmJvmMethodPtrList const & get_methods() const
Property: List of pointers to methods.
virtual SgAsmJvmMethodTable * parse() override
Parses a JVM method table.
void set_methods(SgAsmJvmMethodPtrList const &)
Property: List of pointers to methods.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmMethod * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
SgAsmJvmMethod(SgAsmJvmMethodTable *)
Initialize the object before parsing.
virtual void unparse(std::ostream &) const override
Write method to a binary file.
virtual ~SgAsmJvmMethod()
Destructor.
SgAsmJvmMethod()
Default constructor.
SgAsmInstructionList *const & get_instruction_list() const
Property: Instruction list.
SgAsmJvmAttributeTable *const & get_attribute_table() const
Property: Table of attributes.
uint16_t const & get_descriptor_index() const
Property: descriptor_index.
void set_descriptor_index(uint16_t const &)
Property: descriptor_index.
void set_access_flags(uint16_t const &)
Property: access_flags.
void set_instruction_list(SgAsmInstructionList *const &)
Property: Instruction list.
uint16_t const & get_access_flags() const
Property: access_flags.
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.
void set_attribute_table(SgAsmJvmAttributeTable *const &)
Property: Table of attributes.
void set_name_index(uint16_t const &)
Property: name_index.
uint16_t const & get_name_index() const
Property: name_index.
JVM ModuleMainClass attribute.
void set_main_class_index(uint16_t const &)
Property: main_class_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write module main class to a binary file.
uint16_t const & get_main_class_index() const
Property: main_class_index.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
SgAsmJvmModuleMainClass(SgAsmJvmExceptionTable *table)
Initialize the object before parsing.
SgAsmJvmModuleMainClass()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual ~SgAsmJvmModuleMainClass()
Destructor.
void set_host_class_index(uint16_t const &)
Property: classes.
virtual ~SgAsmJvmNestHost()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual SgAsmJvmNestHost * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
SgAsmJvmNestHost()
Default constructor.
uint16_t const & get_host_class_index() const
Property: classes.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual void unparse(std::ostream &) const override
Write object to a binary file.
SgAsmJvmNestHost(SgAsmJvmAttributeTable *table)
Initialize the attribute before parsing.
JVM NestMembers attribute.
SgUnsigned16List const & get_classes() const
Property: classes.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmJvmNestMembers()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmNestMembers()
Default constructor.
SgAsmJvmNestMembers(SgAsmJvmAttributeTable *table)
Initialize the attribute before parsing.
virtual void unparse(std::ostream &) const override
Write object to a binary file.
void set_classes(SgUnsigned16List const &)
Property: classes.
virtual SgAsmJvmNestMembers * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
Base class for JVM branch of binary analysis IR nodes.
virtual void unparse(std::ostream &) const
Write node to a binary file.
SgAsmJvmNode()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging information.
virtual ~SgAsmJvmNode()
Destructor.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
virtual void unparse(std::ostream &) const override
Write signature to a binary file.
uint16_t const & get_signature_index() const
Property: signature_index.
void set_signature_index(uint16_t const &)
Property: signature_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmSignature()
Default constructor.
virtual ~SgAsmJvmSignature()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmSignature(SgAsmJvmAttributeTable *table)
Initialize the attribute before parsing.
JVM SourceFile attribute.
SgAsmJvmSourceFile()
Default constructor.
SgAsmJvmSourceFile(SgAsmJvmAttributeTable *table)
Initialize the object before parsing.
virtual ~SgAsmJvmSourceFile()
Destructor.
uint16_t const & get_sourcefile_index() const
Property: sourcefile_index.
void set_sourcefile_index(uint16_t const &)
Property: sourcefile_index.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual void unparse(std::ostream &) const override
Write source file to a binary file.
Represents a frame in a stack map table.
SgAsmJvmStackMapVerificationTypePtrList const & get_locals() const
Property: List of verification_type_info local variables.
SgAsmJvmStackMapVerificationTypePtrList & get_stack()
Property: List of verification_type_info stack variables.
void set_frame_type(uint8_t const &)
Property: frame_type.
SgAsmJvmStackMapVerificationTypePtrList & get_locals()
Property: List of verification_type_info local variables.
void set_stack(SgAsmJvmStackMapVerificationTypePtrList const &)
Property: List of verification_type_info stack variables.
SgAsmJvmStackMapVerificationTypePtrList const & get_stack() const
Property: List of verification_type_info stack variables.
SgAsmJvmStackMapFrame(SgAsmJvmStackMapTable *table)
Initialize the object before parsing.
void set_locals(SgAsmJvmStackMapVerificationTypePtrList const &)
Property: List of verification_type_info local variables.
void set_offset_delta(uint16_t const &)
Property: offset_delta.
virtual void unparse(std::ostream &) const override
Write the stack map table frame to a binary file.
uint8_t const & get_frame_type() const
Property: frame_type.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmStackMapFrame * parse(SgAsmJvmConstantPool *pool)
Initialize the object by parsing content from the class file.
virtual ~SgAsmJvmStackMapFrame()
Destructor.
SgAsmJvmStackMapFrame()
Default constructor.
uint16_t const & get_offset_delta() const
Property: offset_delta.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
The StackMapTable attribute is a variable-length attribute in the attributes table of a Code attribut...
virtual ~SgAsmJvmStackMapTable()
Destructor.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmStackMapFramePtrList & get_entries()
Property: List of stack map table entries/frames.
void set_entries(SgAsmJvmStackMapFramePtrList const &)
Property: List of stack map table entries/frames.
virtual void unparse(std::ostream &) const override
Write stack map table to a binary file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmStackMapTable(SgAsmJvmAttributeTable *table)
Initialize the object before parsing.
virtual SgAsmJvmStackMapTable * parse(SgAsmJvmConstantPool *pool) override
Initialize the object by parsing content from the class file.
SgAsmJvmStackMapTable()
Default constructor.
SgAsmJvmStackMapFramePtrList const & get_entries() const
Property: List of stack map table entries/frames.
Represents an entry in a stack map table.
virtual ~SgAsmJvmStackMapVerificationType()
Destructor.
uint16_t const & get_cpool_index() const
Property: cpool_index.
SgAsmJvmStackMapVerificationType(SgAsmJvmStackMapFrame *frame)
Initialize the object before parsing.
void set_offset(uint16_t const &)
Property: offset.
void set_cpool_index(uint16_t const &)
Property: cpool_index.
SgAsmJvmStackMapVerificationType * parse(SgAsmJvmConstantPool *pool)
Initialize the object by parsing content from the class file.
void set_tag(uint8_t const &)
Property: tag.
SgAsmJvmStackMapVerificationType()
Default constructor.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
uint8_t const & get_tag() const
Property: tag.
uint16_t const & get_offset() const
Property: offset.
virtual void unparse(std::ostream &) const override
Write stack map table to a binary file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmLEEntryPoint()
Default constructor.
virtual ~SgAsmLEEntryPoint()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
SgAsmLEEntryTable()
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 ~SgAsmLEEntryTable()
Destructor.
SgAsmLEPageTableEntry()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmLEPageTableEntry()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmLEPageTable()
Default constructor.
virtual ~SgAsmLEPageTable()
Destructor.
virtual ~SgAsmLERelocTable()
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.
SgAsmLERelocTable()
Default constructor.
@ SF_SHARED
Section is shared.
@ SF_WRITABLE
Write permission granted when mapped.
@ SF_TYPE_ZERO
Section has zero-filled pages.
@ SF_TYPE_RESIDENT
Section is resident (valid for VDDs and PDDs only)
@ SF_DISCARDABLE
Discardable section.
@ SF_BIG_BIT
Big/default bit setting (80x86 specific); see note above.
@ SF_RES_LONG_LOCK
Section is resident and "long-lockable" (VDDs and PDDs only)
@ SF_PRELOAD_PAGES
Section has preload pages.
@ SF_RESOURCE
Section contains resource objects.
@ SF_IO_PRIV
Section I/O privilege level (80x86 specific; used only for 16:16 alias objects)
@ SF_1616_ALIAS
16:16 alias required (80x86 specific)
@ SF_INVALID_PAGES
Section has invalid pages.
@ SF_READABLE
Read permission granted when mapped.
@ SF_EXECUTABLE
Execute permission granted when mapped.
@ SF_CODE_CONFORM
Section is conforming for code (80x86 specific)
@ SF_TYPE_RESCONT
Section is resident and contiguous.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmLESectionTableEntry()
Default constructor.
SgAsmLESectionTable()
Default constructor.
virtual ~SgAsmLESectionTable()
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 info.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmLESection()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
Rose::BinaryAnalysis::M68kDataFormat const & get_dataFormat() const
Property: Data format.
SgAsmM68kInstruction(rose_addr_t const &address, uint8_t const &architectureId, Rose::BinaryAnalysis::M68kInstructionKind const &kind, Rose::BinaryAnalysis::M68kDataFormat const &dataFormat)
Constructor.
Rose::BinaryAnalysis::M68kInstructionKind const & get_kind() const
Property: Instruction kind.
void set_kind(Rose::BinaryAnalysis::M68kInstructionKind const &)
Property: Instruction kind.
void set_dataFormat(Rose::BinaryAnalysis::M68kDataFormat const &)
Property: Data format.
virtual ~SgAsmM68kInstruction()
Destructor.
SgAsmM68kInstruction()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Reference to memory locations.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmExpression *const & get_segment() const
Property: Optional memory segment register.
virtual ~SgAsmMemoryReferenceExpression()
Destructor.
SgAsmMemoryReferenceExpression()
Default constructor.
SgAsmMemoryReferenceExpression(SgAsmExpression *const &address, SgAsmExpression *const &segment)
Constructor.
SgAsmExpression *const & get_address() const
Property: Memory address expression.
void set_segment(SgAsmExpression *const &)
Property: Optional memory segment register.
void set_address(SgAsmExpression *const &)
Property: Memory address expression.
Represents one MIPS machine instruction.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmMipsInstruction()
Destructor.
SgAsmMipsInstruction()
Default constructor.
void set_kind(Rose::BinaryAnalysis::MipsInstructionKind const &)
Property: Instruction kind.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
Rose::BinaryAnalysis::MipsInstructionKind const & get_kind() const
Property: Instruction kind.
SgAsmMipsInstruction(rose_addr_t const &address, uint8_t const &architectureId, Rose::BinaryAnalysis::MipsInstructionKind const &kind)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmNEEntryPoint()
Destructor.
SgAsmNEEntryPoint()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual ~SgAsmNEEntryTable()
Destructor.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
SgAsmNEEntryTable()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmNEModuleTable()
Default constructor.
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 unparse(std::ostream &) const override
Write a section back to the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmNERelocEntry()
Default constructor.
virtual ~SgAsmNERelocEntry()
Destructor.
SgAsmNERelocTable()
Default constructor.
virtual ~SgAsmNERelocTable()
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 info.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmNESectionTableEntry()
Default constructor.
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.
SgAsmNESectionTable()
Default constructor.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
SgAsmNESection()
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 void unparse(std::ostream &) const override
Write a section back to the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmNEStringTable()
Default constructor.
virtual ~SgAsmNEStringTable()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
Base class for all binary analysis IR nodes.
SgAsmNode()
Default constructor.
Sawyer::Attribute::Storage const & attributes() const
Attribute storage.
Sawyer::Attribute::Storage & attributes()
Attribute storage.
virtual ~SgAsmNode()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
virtual ~SgAsmNullInstruction()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmNullInstruction(rose_addr_t const &address, uint8_t const &architectureId)
Constructor.
SgAsmNullInstruction()
Default constructor.
List of operands for an instruction.
SgAsmExpressionPtrList const & get_operands() const
Property: Ordered list of instruction operands.
virtual ~SgAsmOperandList()
Destructor.
void appendOperand(SgAsmExpression *operand)
Append another operand expression to this node.
SgAsmOperandList()
Default constructor.
void set_operands(SgAsmExpressionPtrList const &)
Property: Ordered list of instruction operands.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmExpressionPtrList & get_operands()
Property: Ordered list of instruction operands.
unsigned const & get_vmajor() const
Property: VMajor.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_name_rva()
Property: RVA for name.
size_t const & get_expaddr_n() const
Property: Expaddr_n.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_name_rva() const
Property: RVA for name.
void set_name_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: RVA for name.
SgAsmGenericString *const & get_name() const
Property: Name.
unsigned const & get_ord_base() const
Property: Ordinal base.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_nameptr_rva() const
Property: Name pointer RVA.
void set_vminor(unsigned const &)
Property: VMinor.
void initializeProperties()
Initialize all properties that have explicit initial values.
unsigned const & get_res1() const
Property: Reserved aread #1.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_expaddr_rva()
Property: Expaddr RVA.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_ordinals_rva()
Property: Ordinals RVA.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_nameptr_rva()
Property: Name pointer RVA.
void set_res1(unsigned const &)
Property: Reserved aread #1.
void set_expaddr_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: Expaddr RVA.
void set_nameptr_n(size_t const &)
Property: Nameptr_n.
virtual ~SgAsmPEExportDirectory()
Destructor.
void set_ordinals_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: Ordinals RVA.
void set_ord_base(unsigned const &)
Property: Ordinal base.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_ordinals_rva() const
Property: Ordinals RVA.
unsigned const & get_vminor() const
Property: VMinor.
SgAsmPEExportDirectory()
Default constructor.
time_t const & get_timestamp() const
Property: Time stamp.
void set_timestamp(time_t const &)
Property: Time stamp.
void set_vmajor(unsigned const &)
Property: VMajor.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_expaddr_rva() const
Property: Expaddr RVA.
void set_nameptr_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: Name pointer RVA.
size_t const & get_nameptr_n() const
Property: Nameptr_n.
void set_name(SgAsmGenericString *const &)
Property: Name.
void set_expaddr_n(size_t const &)
Property: Expaddr_n.
List of pointers to other AST nodes.
virtual ~SgAsmPEExportEntryList()
Destructor.
SgAsmPEExportEntryPtrList & get_exports()
Property: List of pointers to nodes.
SgAsmPEExportEntryPtrList const & get_exports() const
Property: List of pointers to nodes.
void set_exports(SgAsmPEExportEntryPtrList const &)
Property: List of pointers to nodes.
SgAsmPEExportEntryList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_forwarder(SgAsmGenericString *)
Property: Forwarder.
void set_ordinal(unsigned const &)
Property: Ordinal.
void set_exportRva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: Export RVA.
void set_name(SgAsmGenericString *)
Property: Name.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_exportRva() const
Property: Export RVA.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_exportRva()
Property: Export RVA.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmPEExportEntry()
Default constructor.
Sawyer::Result< unsigned, std::string > biasedOrdinal() const
Property: Biased ordinal.
unsigned const & get_ordinal() const
Property: Ordinal.
SgAsmGenericString *const & get_name() const
Property: Name.
SgAsmGenericString *const & get_forwarder() const
Property: Forwarder.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
SgAsmPEExportEntryList *const & get_exports() const
Property: List of export entries.
void set_exports(SgAsmPEExportEntryList *const &)
Property: List of export entries.
uint32_t ExportAddress_disk
The PE Export Address Table is an array of expaddr_n 4-byte RVAs.
void initializeProperties()
Initialize all properties that have explicit initial values.
uint16_t ExportOrdinal_disk
The PE Export Ordinal Table is an array of nameptr_n (yes) 2-byte indices into the Export Address Tab...
SgAsmPEExportSection()
Default constructor.
SgAsmPEExportDirectory *const & get_exportDirectory() const
Property: Export directory.
virtual SgAsmPEExportSection * parse() override
Parse contents of the section.
void set_exportDirectory(SgAsmPEExportDirectory *const &)
Property: Export directory.
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...
A list of PE Import Directories.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmPEImportDirectoryPtrList & get_vector()
Property: List of nodes.
SgAsmPEImportDirectoryList()
Default constructor.
SgAsmPEImportDirectoryPtrList const & get_vector() const
Property: List of nodes.
virtual ~SgAsmPEImportDirectoryList()
Destructor.
void set_vector(SgAsmPEImportDirectoryPtrList const &)
Property: List of nodes.
One import directory per library.
void set_iat_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: IAT RVA.
void set_imports(SgAsmPEImportItemList *const &)
Property: List of imports.
unsigned const & get_forwarder_chain() const
Property: Forwarder chain.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_ilt_rva() const
Property: Starting address of the ILT.
void * encode(SgAsmPEImportDirectory::PEImportDirectory_disk *) const
Encode an import directory entry back into disk format.
void set_ilt_nalloc(size_t const &)
Property: Bytes allocated in the file for the ILT.
SgAsmPEImportItemList *const & get_imports() const
Property: List of imports.
size_t hintNameTableExtent(Rose::BinaryAnalysis::AddressIntervalSet &extent) const
Obtains the virtual address of the Hint/Name Table.
void set_iat_nalloc(size_t const &)
Property: Bytes allocated in the file for the IAT.
void set_dllNameRva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: Address of the import library name.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_dllNameRva()
Property: Address of the import library name.
time_t const & get_time() const
Property: Time.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_iat_rva() const
Property: IAT RVA.
SgAsmPEImportDirectory()
Default constructor.
size_t const & get_dll_name_nalloc() const
Property: Bytes allocated in the file for the name.
int findImportItem(const SgAsmPEImportItem *item, int hint=0) const
Find an import item in an import directory.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_iat_rva()
Property: IAT RVA.
SgAsmGenericString *const & get_dllName() const
Property: Name of library from which to import.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_dllNameRva() const
Property: Address of the import library name.
SgAsmPEImportDirectory * parse(rose_addr_t va, bool isLastEntry)
Parse an import directory.
void set_dll_name_nalloc(size_t const &)
Property: Bytes allocated in the file for the name.
size_t reallocate(Rose::BinaryAnalysis::RelativeVirtualAddress starting_rva)
Allocates space for this import directory's name, import lookup table, and import address table.
void set_ilt_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: Starting address of the ILT.
void set_forwarder_chain(unsigned const &)
Property: Forwarder chain.
void set_time(time_t const &)
Property: Time.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_ilt_rva()
Property: Starting address of the ILT.
size_t const & get_ilt_nalloc() const
Property: Bytes allocated in the file for the ILT.
size_t const & get_iat_nalloc() const
Property: Bytes allocated in the file for the IAT.
void set_dllName(SgAsmGenericString *const &)
Property: Name of library from which to import.
size_t iatRequiredSize() const
Number of bytes required for the table.
void initializeProperties()
Initialize all properties that have explicit initial values.
A list of imported items.
SgAsmPEImportItemPtrList const & get_vector() const
Property: List of pointers to other nodes.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_vector(SgAsmPEImportItemPtrList const &)
Property: List of pointers to other nodes.
virtual ~SgAsmPEImportItemList()
Destructor.
SgAsmPEImportItemList()
Default constructor.
SgAsmPEImportItemPtrList & get_vector()
Property: List of pointers to other nodes.
A single imported object.
void set_iat_written(bool const &)
Property: Whether the resolved address has been written to the memory map.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_bound_rva() const
Property: Bound RVA from IAT if not a copy of ILT.
bool const & get_iat_written() const
Property: Whether the resolved address has been written to the memory map.
void set_bound_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: Bound RVA from IAT if not a copy of ILT.
void set_hint(unsigned const &)
Property: Export name table hint if not ordinal.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmGenericString *const & get_name() const
Property: Name if not by ordinal.
unsigned const & get_ordinal() const
Property: Ordinal number.
SgAsmPEImportItem()
Default constructor.
bool const & get_by_ordinal() const
Property: Whether ordinal number is stored.
void set_ordinal(unsigned const &)
Property: Ordinal number.
void set_hintname_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: RVA of hint/name pair.
void set_by_ordinal(bool const &)
Property: Whether ordinal number is stored.
rose_addr_t get_iatEntryVa() const
Virtual address of an IAT entry.
void set_hintname_nalloc(size_t const &)
Property: File bytes allocated for hint/name pair.
size_t const & get_hintname_nalloc() const
Property: File bytes allocated for hint/name pair.
unsigned const & get_hint() const
Property: Export name table hint if not ordinal.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_hintname_rva()
Property: RVA of hint/name pair.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_hintname_rva() const
Property: RVA of hint/name pair.
void set_name(SgAsmGenericString *const &)
Property: Name if not by ordinal.
size_t hintNameRequiredSize() const
Bytes needed to store hint/name pair.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_bound_rva()
Property: Bound RVA from IAT if not a copy of ILT.
Portable Executable Import Section.
void set_importDirectories(SgAsmPEImportDirectoryList *const &)
Property: List of import directories.
SgAsmPEImportDirectoryList *const & get_importDirectories() const
Property: List of import directories.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void addImportDirectory(SgAsmPEImportDirectory *)
Add an import directory to the end of the import directory list.
SgAsmPEImportSection()
Default constructor.
virtual SgAsmPEImportSection * parse() override
Parse contents of the section.
size_t reallocateIats(Rose::BinaryAnalysis::RelativeVirtualAddress start_at)
Reallocate space for all Import Address Table.
void initializeProperties()
Initialize all properties that have explicit initial values.
void removeImportDirectory(SgAsmPEImportDirectory *)
Remove an import directory from the import directory list.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
List of SgAsmPERVASizePair AST nodes.
SgAsmPERVASizePairPtrList const & get_pairs() const
Property: List of pointers to other nodes.
virtual ~SgAsmPERVASizePairList()
Destructor.
SgAsmPERVASizePairPtrList & get_pairs()
Property: List of pointers to other nodes.
SgAsmPERVASizePairList()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_pairs(SgAsmPERVASizePairPtrList const &)
Property: List of pointers to other nodes.
Rose::BinaryAnalysis::RelativeVirtualAddress & get_e_rva()
Property: RVA.
SgAsmPERVASizePair(SgAsmPERVASizePairList *parent, const SgAsmPERVASizePair::RVASizePair_disk *)
Property: Section.
SgAsmGenericSection * get_section() const
Returns the section associated with an RVA/size pair.
virtual ~SgAsmPERVASizePair()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmPERVASizePair()
Default constructor.
void set_section(SgAsmGenericSection *section)
Sets or removes the section associated with an RVA/size pair.
rose_addr_t const & get_e_size() const
Property: Size.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_e_rva() const
Property: RVA.
void set_e_size(rose_addr_t const &)
Property: Size.
void set_e_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: RVA.
unsigned const & get_coff_line_nums() const
Property: COFF line numbers.
unsigned const & get_n_relocs() const
Property: Number of relocations.
void set_rva(rose_addr_t const &)
Property: RVA.
rose_addr_t const & get_physical_size() const
Property: Physical size.
void set_flags(unsigned const &)
Property: Flags.
void set_physical_offset(rose_addr_t const &)
Property: Physical offset.
void set_virtual_size(rose_addr_t const &)
Property: Virtual size.
void set_coff_line_nums(unsigned const &)
Property: COFF line numbers.
void set_name(std::string const &)
Property: Name.
rose_addr_t const & get_physical_offset() const
Property: Physical offset.
void updateFromSection(SgAsmPESection *section)
Update this section table entry with newer information from the section.
void set_n_coff_line_nums(unsigned const &)
Property: Number of COFF line numbers.
rose_addr_t const & get_virtual_size() const
Property: Virtual size.
void set_physical_size(rose_addr_t const &)
Property: Physical size.
unsigned const & get_flags() const
Property: Flags.
unsigned const & get_n_coff_line_nums() const
Property: Number of COFF line numbers.
std::string const & get_name() const
Property: Name.
rose_addr_t const & get_rva() const
Property: RVA.
void set_n_relocs(unsigned const &)
Property: Number of relocations.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
void addSection(SgAsmPESection *section)
Attaches a previously unattached PE Section to the PE Section Table.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
virtual SgAsmPESectionTable * parse() override
Parse contents of the section.
Base class for PE sections.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmPESection()
Default constructor.
void set_section_entry(SgAsmPESectionTableEntry *const &)
Property: Section table entry.
SgAsmPESection * initFromSectionTable(SgAsmPESectionTableEntry *entry, int id)
Initializes the section from data parsed from the PE Section Table.
SgAsmPESectionTableEntry *const & get_section_entry() const
Property: Section table entry.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
virtual ~SgAsmPESection()
Destructor.
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.
virtual bool reallocate() override
Called prior to unparse to make things consistent.
virtual SgAsmPEStringSection * parse() override
Parse contents of the section.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
virtual ~SgAsmPEStringSection()
Destructor.
virtual void set_size(rose_addr_t newsize) override
Property: Size of section in file in bytes.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmCoffStrtab *const & get_strtab() const
Property: String table.
void set_strtab(SgAsmCoffStrtab *const &)
Property: String table.
SgAsmPEStringSection()
Default constructor.
static SgAsmPointerType * instance(Rose::BinaryAnalysis::ByteOrder::Endianness, size_t nBits, SgAsmType *subtype)
Make instance wrapped around a subtype.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmPointerType()
Destructor.
virtual void check() const override
Validate properties collectively.
SgAsmPointerType(Rose::BinaryAnalysis::ByteOrder::Endianness, size_t nBits, SgAsmType *subtype)
Construct new pointer type.
virtual std::string toString() const override
Convert a type to a string.
SgAsmPointerType()
Default constructor.
Represents one PowerPC machine instruction.
virtual ~SgAsmPowerpcInstruction()
Destructor.
static Rose::BinaryAnalysis::RegisterDictionaryPtr registersForWidth(size_t)
Return the register dictionary for a PowerPC architecture.
Rose::BinaryAnalysis::PowerpcInstructionKind const & get_kind() const
Property: Instruction kind.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_kind(Rose::BinaryAnalysis::PowerpcInstructionKind const &)
Property: Instruction kind.
std::string conditionalBranchDescription() const
Description of conditional branch BO constant.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
SgAsmPowerpcInstruction(rose_addr_t const &address, uint8_t const &architectureId, Rose::BinaryAnalysis::PowerpcInstructionKind const &kind)
Constructor.
SgAsmPowerpcInstruction()
Default constructor.
An ordered list of registers.
SgAsmRegisterReferenceExpressionPtrList & get_registers()
Property: List of registers.
SgAsmRegisterNames()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_registers(SgAsmRegisterReferenceExpressionPtrList const &)
Property: List of registers.
unsigned const & get_mask() const
Property: Bit mask.
SgAsmRegisterReferenceExpressionPtrList const & get_registers() const
Property: List of registers.
virtual ~SgAsmRegisterNames()
Destructor.
void set_mask(unsigned const &)
Property: Bit mask.
Base class for references to a machine register.
Rose::BinaryAnalysis::RegisterDescriptor const & get_descriptor() const
Property: Descriptor for accessed register.
SgAsmRegisterReferenceExpression()
Default constructor.
int const & get_adjustment() const
Property: Post-increment or pre-decrement amount.
virtual ~SgAsmRegisterReferenceExpression()
Destructor.
void set_descriptor(Rose::BinaryAnalysis::RegisterDescriptor const &)
Property: Descriptor for accessed register.
SgAsmRegisterReferenceExpression(Rose::BinaryAnalysis::RegisterDescriptor const &descriptor)
Constructor.
void set_adjustment(int const &)
Property: Post-increment or pre-decrement amount.
void initializeProperties()
Initialize all properties that have explicit initial values.
Static representation of instruction semantics.
SgAsmRiscOperation::RiscOperator const & get_riscOperator() const
Property: Low-level semantic operation.
SgAsmRiscOperation(SgAsmRiscOperation::RiscOperator const &riscOperator)
Constructor.
SgAsmExprListExp *const & get_operands() const
Property: Operands for the low-level operation.
void set_riscOperator(SgAsmRiscOperation::RiscOperator const &)
Property: Low-level semantic operation.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_operands(SgAsmExprListExp *const &)
Property: Operands for the low-level operation.
virtual ~SgAsmRiscOperation()
Destructor.
SgAsmRiscOperation()
Default constructor.
RiscOperator
One enum per RISC operator.
@ OP_N_OPERATORS
Number of operators in this enum.
@ OP_add
Two args + optional carry bit.
@ OP_writeMemory
Three or four args depending on whether segment reg is present.
@ OP_addCarries
Carries from a 3-arg add operation.
@ OP_readMemory
Three or four args depending on whether segment reg is present.
Base class for scalar types.
virtual size_t get_nBits() const override
Property: Number of bits.
SgAsmScalarType()
Default constructor.
Rose::BinaryAnalysis::ByteOrder::Endianness get_minorOrder() const
Property: Minor byte order.
virtual void check() const override
Validate properties collectively.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmScalarType(Rose::BinaryAnalysis::ByteOrder::Endianness, size_t nBits)
Property: Major byte order for mixed-order types.
virtual ~SgAsmScalarType()
Destructor.
Rose::BinaryAnalysis::ByteOrder::Endianness get_majorOrder() const
Property: Major byte order for mixed-order types.
size_t get_majorNBytes() const
Property: Stride of major byte order for mixed order types.
virtual std::string toString() const override
Convert a type to a string.
Base class for references to a machine register.
void set_stackPosition(int const &)
Property: Position of element referenced on the stack.
int const & get_stackPosition() const
Property: Position of element referenced on the stack.
Base class for statement-like subclasses.
virtual ~SgAsmStatement()
Destructor.
void set_address(rose_addr_t const &)
Property: Starting virtual address.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_comment(std::string const &)
Property: Commentary.
SgAsmStatement()
Default constructor.
rose_addr_t const & get_address() const
Property: Starting virtual address.
std::string const & get_comment() const
Property: Commentary.
SgAsmStatement(rose_addr_t const &address)
Constructor.
Represents static data in an executable.
size_t get_size() const
Property: Size of static data in bytes.
void set_rawBytes(SgUnsignedCharList const &)
Property: Raw bytes.
SgUnsignedCharList const & get_rawBytes() const
Property: Raw bytes.
Strings stored in an ELF or PE container.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual rose_addr_t get_offset() const override
Returns the offset into the string table where the string is allocated.
void set_storage(SgAsmStringStorage *const &)
Property: Storage area for this string.
SgAsmStoredString(SgAsmGenericStrtab *, rose_addr_t offset)
Construct a string existing in a string table.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual ~SgAsmStoredString()
Destructor.
SgAsmStoredString(SgAsmGenericStrtab *, const std::string &)
Construct a new string in a string table.
SgAsmStoredString(class SgAsmStringStorage *)
Construct a string that shares storage with another.
SgAsmGenericStrtab * get_strtab()
Returns the string table that holds this string.
SgAsmStoredString()
Default constructor.
virtual void set_string(rose_addr_t) override
Give the string a new value.
virtual std::string get_string(bool escape=false) const override
Returns the std::string associated with the SgAsmStoredString.
virtual void set_string(const std::string &) override
Give the string a new value.
SgAsmStringStorage *const & get_storage() const
Property: Storage area for this string.
Strings stored in an ELF or PE container.
void set_strtab(SgAsmGenericStrtab *const &)
Property: String table holding the string.
rose_addr_t const & get_offset() const
Property: Location of string in storage table.
void set_offset(rose_addr_t const &)
Property: Location of string in storage table.
std::string const & get_string() const
Property: String value.
virtual ~SgAsmStringStorage()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmStringStorage()
Default constructor.
void set_string(std::string const &)
Property: String value.
SgAsmGenericStrtab *const & get_strtab() const
Property: String table holding the string.
Declaration-like nodes that encapsulate multiple instructions.
void appendDeclaration(SgAsmSynthesizedDeclaration *declaration)
Appends another declaration.
Base class for synthesized declarations.
SgAsmSynthesizedDeclaration(rose_addr_t const &address)
Constructor.
virtual ~SgAsmSynthesizedDeclaration()
Destructor.
SgAsmSynthesizedDeclaration()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmSynthesizedFieldDeclaration(rose_addr_t const &address)
Constructor.
void set_name(std::string const &)
Property: Name.
SgAsmSynthesizedFieldDeclaration()
Default constructor.
std::string const & get_name() const
Property: Name.
uint64_t const & get_offset() const
Property: Offset.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmSynthesizedFieldDeclaration()
Destructor.
void set_offset(uint64_t const &)
Property: Offset.
Base class for binary types.
virtual std::string toString() const
Convert a type to a string.
virtual size_t get_nBytes() const
Width of type in bytes.
virtual size_t get_nBits() const
Width of type in bits.
SgAsmType()
Default constructor.
static Type * registerOrDelete(Type *toInsert)
Registers a type with the type system.
virtual ~SgAsmType()
Destructor.
virtual void check() const
Validate properties collectively.
void initializeProperties()
Initialize all properties that have explicit initial values.
Base class for unary expressions.
virtual ~SgAsmUnaryExpression()
Destructor.
SgAsmUnaryExpression()
Default constructor.
void set_operand(SgAsmExpression *const &)
Property: Operand for a unary expression.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmUnaryExpression(SgAsmExpression *const &operand)
Constructor.
SgAsmExpression *const & get_operand() const
Property: Operand for a unary expression.
Expression represting negation.
SgAsmUnaryMinus()
Default constructor.
SgAsmUnaryMinus(SgAsmExpression *const &operand)
Constructor.
virtual ~SgAsmUnaryMinus()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Expression representing a (no-op) unary plus operation.
virtual ~SgAsmUnaryPlus()
Destructor.
SgAsmUnaryPlus(SgAsmExpression *const &operand)
Constructor.
SgAsmUnaryPlus()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmUnaryRrx(SgAsmExpression *const &operand)
Constructor.
SgAsmUnaryRrx()
Default constructor.
virtual ~SgAsmUnaryRrx()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Expression representing sign extending.
SgAsmUnarySignedExtend()
Default constructor.
SgAsmUnarySignedExtend(SgAsmExpression *const &operand)
Constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmUnarySignedExtend()
Destructor.
Expression representing truncation.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmUnaryTruncate()
Destructor.
SgAsmUnaryTruncate()
Default constructor.
SgAsmUnaryTruncate(SgAsmExpression *const &operand)
Constructor.
Expression representing unsigned extending.
SgAsmUnaryUnsignedExtend()
Default constructor.
SgAsmUnaryUnsignedExtend(SgAsmExpression *const &operand)
Constructor.
virtual ~SgAsmUnaryUnsignedExtend()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Instructions defined at runtime.
unsigned const & get_kind() const
Property: Instruction kind.
void set_kind(unsigned const &)
Property: Instruction kind.
SgAsmUserInstruction()
Default constructor.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
virtual ~SgAsmUserInstruction()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmUserInstruction(rose_addr_t const &address, uint8_t const &architectureId, unsigned const &kind)
Constructor.
SgSymbol *const & get_symbol() const
Property: Symbol corresponding to this expression.
void initializeProperties()
Initialize all properties that have explicit initial values.
unsigned short const & get_bitOffset() const
Property: Where this expression is encoded within the instruction.
void set_bitSize(unsigned short const &)
Property: Where this expression is encoded within the instruction.
void set_unfoldedExpression(SgAsmValueExpression *const &)
Property: Alternate expression without constant folding.
void set_symbol(SgSymbol *const &)
Property: Symbol corresponding to this expression.
SgAsmValueExpression *const & get_unfoldedExpression() const
Property: Alternate expression without constant folding.
unsigned short const & get_bitSize() const
Property: Where this expression is encoded within the instruction.
void set_bitOffset(unsigned short const &)
Property: Where this expression is encoded within the instruction.
Base class for vector types.
size_t get_nElmts() const
Property: Number of elements in vector.
SgAsmType * get_elmtType() const
Property: Type of each vector element.
virtual ~SgAsmVectorType()
Destructor.
virtual size_t get_nBits() const override
Width of type in bits.
virtual std::string toString() const override
Convert a type to a string.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void check() const override
Validate properties collectively.
SgAsmVectorType()
Default constructor.
SgAsmVectorType(size_t nElmts, SgAsmType *elmtType)
Property: Number of elements in vector.
A type that doesn't represent any data.
virtual ~SgAsmVoidType()
Destructor.
virtual std::string toString() const override
Convert a type to a string.
virtual size_t get_nBits() const override
Width of type in bits.
SgAsmVoidType()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
Represents one Intel x86 machine instruction.
void set_kind(Rose::BinaryAnalysis::X86InstructionKind const &)
Property: Instruction kind.
SgAsmX86Instruction()
Default constructor.
Rose::BinaryAnalysis::X86InstructionSize const & get_baseSize() const
Property: An enum constant describing the base size of an x86 instruction.
Rose::BinaryAnalysis::X86InstructionSize const & get_addressSize() const
Property: An enum describing the x86 address size.
static Rose::BinaryAnalysis::RegisterDictionaryPtr registersForWidth(size_t)
Return the register dictionary for an x86 architecture.
Rose::BinaryAnalysis::X86InstructionSize const & get_operandSize() const
Property: An enum describing the x86 instruction operand size.
static size_t widthForInstructionSize(Rose::BinaryAnalysis::X86InstructionSize)
Converts a size enum constant to a size.
virtual ~SgAsmX86Instruction()
Destructor.
bool const & get_lockPrefix() const
Property: Whether the x86 lock prefix was present.
void set_branchPrediction(Rose::BinaryAnalysis::X86BranchPrediction const &)
Property: An enum constant describing branch prediction.
SgAsmX86Instruction(rose_addr_t const &address, uint8_t const &architectureId, Rose::BinaryAnalysis::X86InstructionKind const &kind, Rose::BinaryAnalysis::X86InstructionSize const &baseSize, Rose::BinaryAnalysis::X86InstructionSize const &operandSize, Rose::BinaryAnalysis::X86InstructionSize const &addressSize)
Constructor.
void set_baseSize(Rose::BinaryAnalysis::X86InstructionSize const &)
Property: An enum constant describing the base size of an x86 instruction.
Rose::BinaryAnalysis::X86InstructionKind const & get_kind() const
Property: Instruction kind.
static Rose::BinaryAnalysis::X86InstructionSize instructionSizeForWidth(size_t)
Converts a size to an instruction size enum.
Rose::BinaryAnalysis::X86BranchPrediction const & get_branchPrediction() const
Property: An enum constant describing branch prediction.
static Rose::BinaryAnalysis::RegisterDictionaryPtr registersForInstructionSize(Rose::BinaryAnalysis::X86InstructionSize)
Return the register dictionary for an x86 architecture.
void set_lockPrefix(bool const &)
Property: Whether the x86 lock prefix was present.
void set_repeatPrefix(Rose::BinaryAnalysis::X86RepeatPrefix const &)
Property: An enum constant describing whether the instruction is repeated.
void set_addressSize(Rose::BinaryAnalysis::X86InstructionSize const &)
Property: An enum describing the x86 address size.
void set_operandSize(Rose::BinaryAnalysis::X86InstructionSize const &)
Property: An enum describing the x86 instruction operand size.
Rose::BinaryAnalysis::X86RepeatPrefix const & get_repeatPrefix() const
Property: An enum constant describing whether the instruction is repeated.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
Rose::BinaryAnalysis::X86SegmentRegister const & get_segmentOverride() const
Property: The segment override register.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_segmentOverride(Rose::BinaryAnalysis::X86SegmentRegister const &)
Property: The segment override register.
This class represents the base class for all IR nodes within Sage III.
virtual void debugSerializationEnd(const char *className)
Called by generated serializers.
virtual void debugSerializationBegin(const char *className)
Called by generated serializers.
This class represents the symbol tables used in both SgScopeStatement and the SgFunctionTypeSymbolTab...
This class represents the concept of a name within the compiler.
std::shared_ptr< const Base > BaseConstPtr
Reference counted pointer for Architecture::Base.
X86InstructionKind
List of all x86 instructions known to the ROSE disassembler/assembler.
void serialize(std::ostream &output, Graph &graph)
Serialize a graph into a stream of bytes.
uint32_t d_val
Tag's value.
uint32_t d_tag
Entry type, one of the DT_* constants.
uint64_t d_tag
Entry type, one of the DT_* constants.
uint64_t d_val
Tag's value.
File format of an ELF Section header.
File format of an ELF Segment header.
uint32_t p_type
0x00 kind of segment
uint32_t p_vaddr
0x08 desired mapped address of segment
uint32_t p_memsz
0x24 number of bytes when mapped (may be zero)
uint32_t p_paddr
0x0c physical address where supported (unused by System V)
uint32_t p_align
0x2c alignment for file and memory (0,1=>none); power of two
uint32_t p_offset
0x04 file offset
uint32_t p_filesz
0x20 bytes in file (may be zero or other value smaller than p_memsz)
32-bit format of an ELF symbol.
uint32_t st_size
Symbol size in bytes.
uint32_t st_value
Value: absolute value, address, etc.
uint32_t st_name
Name offset into string table.
unsigned char st_info
Type and binding attributes.
uint16_t st_shndx
Section index or special meaning.
unsigned char st_res1
Reserved; always zero.
uint32_t vda_name
Offset (in bytes) to strings table to name string.
uint32_t vda_next
Offset (in bytes) to next verdaux entry.
uint32_t vd_hash
Hash of version name.
uint32_t vd_next
Offset (in bytes) to next verdef entry.
uint16_t vd_cnt
Number of verdaux entries.
uint16_t vd_ndx
Version index of this entry.
uint16_t vd_flags
Version information flag bitmask.
uint32_t vd_aux
Offset (in bytes) to start of array of verdaux entries.
uint16_t vd_version
version of this struct: This field shall be set to 1
uint32_t vna_next
Offset (in bytes) to next vernaux entry.
uint32_t vna_name
Offset (in bytes) to strings table to name string.
uint16_t vna_other
Version index of this entry (bit 15 is special)
uint16_t vna_flags
Version information flag bitmask.
uint32_t vna_hash
Hash of version name.
uint16_t vn_cnt
Number of vernaux entries.
uint32_t vn_aux
Offset (in bytes) to start of array of vernaux entries.
uint32_t vn_next
Offset (in bytes) to next verneed entry.
uint32_t vn_file
Offset (in bytes) to strings table to file string.
uint16_t vn_version
version of this struct: This field shall be set to 1
These following structs are documented below to indicate which fields are active for each tag of an S...
4.4.10 CONSTANT_Dynamic_info table entry.
4.4.2 CONSTANT_Fieldref_info, CONSTANT_Methodref_info, and CONSTANT_InterfaceMethodref_info table ent...
4.4.4 CONSTANT_Integer_info table entry.
4.4.8 CONSTANT_MethodHandle_info table entry.
4.4.9 CONSTANT_MethodType_info table entry.
4.4.11 CONSTANT_Module_info table entry.
4.4.6 CONSTANT_NameAndType_info table entry.
4.4.12 CONSTANT_Package_info table entry.
4.4.3 CONSTANT_String_info table entry.
4.4.7 CONSTANT_Utf8_info table entry.
File format for an RVA/Size pair.
The following discriminated union is documented below and indicates which item of the union is in use...