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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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_ENABLE_BOOST_SERIALIZATION
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);
1202DECLARE_HEADERS(AsmStringStorage);
1203#if defined(SgAsmStringStorage_HEADERS) || defined(DOCUMENTATION)
1204#include <Rose/BinaryAnalysis/Address.h>
1212#ifndef DOCUMENTATION
1213 AsmStringStorage.setDataPrototype(
1214 "SgAsmGenericStrtab*",
"strtab",
"= nullptr",
1215 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1218#ifndef DOCUMENTATION
1219 AsmStringStorage.setDataPrototype(
1220 "std::string",
"string",
"",
1221 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1224#ifndef DOCUMENTATION
1225 AsmStringStorage.setDataPrototype(
1226 "Rose::BinaryAnalysis::Address",
"offset",
"= 0",
1227 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1230 DECLARE_OTHERS(AsmStringStorage);
1231#if defined(SgAsmStringStorage_OTHERS) || defined(DOCUMENTATION)
1234#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
1236 friend class boost::serialization::access;
1239 void serialize(S &s,
const unsigned ) {
1242 s & BOOST_SERIALIZATION_NVP(p_strtab);
1243 s & BOOST_SERIALIZATION_NVP(p_string);
1244 s & BOOST_SERIALIZATION_NVP(p_offset);
1275 void dump(FILE *s,
const char *prefix, ssize_t idx)
const;
1284 friend class SgAsmStoredStrtab;
1311DECLARE_LEAF_CLASS(AsmStoredString);
1312IS_SERIALIZABLE(AsmStoredString);
1314#ifndef DOCUMENTATION
1315AsmStoredString.useSmallHeader(
true);
1318DECLARE_HEADERS(AsmStoredString);
1319#if defined(SgAsmStoredString_HEADERS) || defined(DOCUMENTATION)
1320#include <Rose/BinaryAnalysis/Address.h>
1328#ifndef DOCUMENTATION
1329 AsmStoredString.setDataPrototype(
1330 "SgAsmStringStorage*",
"storage",
"= nullptr",
1331 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1334 DECLARE_OTHERS(AsmStoredString);
1335#if defined(SgAsmStoredString_OTHERS) || defined(DOCUMENTATION)
1338#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
1340 friend class boost::serialization::access;
1343 void serialize(S &s,
const unsigned ) {
1346 s & BOOST_SERIALIZATION_NVP(p_storage);
1369 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
1377 virtual std::string
get_string(
bool escape=
false)
const override;
1419DECLARE_LEAF_CLASS(AsmStaticData);
1420IS_SERIALIZABLE(AsmStaticData);
1422#ifndef DOCUMENTATION
1423AsmStaticData.useSmallHeader(
true);
1426DECLARE_HEADERS(AsmStaticData);
1427#if defined(SgAsmStaticData_HEADERS) || defined(DOCUMENTATION)
1428#include <sageContainer.h>
1442#ifndef DOCUMENTATION
1443 AsmStaticData.setDataPrototype(
1444 "SgUnsignedCharList",
"rawBytes",
"",
1445 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1448 DECLARE_OTHERS(AsmStaticData);
1449#if defined(SgAsmStaticData_OTHERS) || defined(DOCUMENTATION)
1452#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
1454 friend class boost::serialization::access;
1457 void serialize(S &s,
const unsigned ) {
1460 s & BOOST_SERIALIZATION_NVP(p_rawBytes);
1485 const SgUnsignedCharList& get_raw_bytes() const ROSE_DEPRECATED("use
get_rawBytes");
1486 void set_raw_bytes(const SgUnsignedCharList&) ROSE_DEPRECATED("use
set_rawBytes");
1517DECLARE_LEAF_CLASS(AsmStackExpression);
1518IS_SERIALIZABLE(AsmStackExpression);
1520#ifndef DOCUMENTATION
1521AsmStackExpression.useSmallHeader(
true);
1529#ifndef DOCUMENTATION
1530 AsmStackExpression.setDataPrototype(
1531 "int",
"stackPosition",
"= 0",
1532 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1535 DECLARE_OTHERS(AsmStackExpression);
1536#if defined(SgAsmStackExpression_OTHERS) || defined(DOCUMENTATION)
1539#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
1541 friend class boost::serialization::access;
1544 void serialize(S &s,
const unsigned ) {
1547 s & BOOST_SERIALIZATION_NVP(p_stackPosition);
1598DECLARE_LEAF_CLASS(AsmRiscOperation);
1599IS_SERIALIZABLE(AsmRiscOperation);
1601#ifndef DOCUMENTATION
1602AsmRiscOperation.useSmallHeader(
true);
1605DECLARE_HEADERS(AsmRiscOperation);
1606#if defined(SgAsmRiscOperation_HEADERS) || defined(DOCUMENTATION)
1607#ifdef ROSE_SgAsmRiscOperation_IMPL
1608#include <SgAsmExprListExp.h>
1624#ifndef DOCUMENTATION
1625 AsmRiscOperation.setDataPrototype(
1626 "SgAsmRiscOperation::RiscOperator",
"riscOperator",
"= OP_NONE",
1627 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1630#ifndef DOCUMENTATION
1631 AsmRiscOperation.setDataPrototype(
1632 "SgAsmExprListExp*",
"operands",
"= nullptr",
1633 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
1636 DECLARE_OTHERS(AsmRiscOperation);
1637#if defined(SgAsmRiscOperation_OTHERS) || defined(DOCUMENTATION)
1640#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
1642 friend class boost::serialization::access;
1645 void serialize(S &s,
const unsigned ) {
1648 s & BOOST_SERIALIZATION_NVP(p_riscOperator);
1649 s & BOOST_SERIALIZATION_NVP(p_operands);
1667 OP_filterCallTarget,
1668 OP_filterReturnTarget,
1669 OP_filterIndirectJumpTarget,
1679 OP_leastSignificantSetBit,
1680 OP_mostSignificantSetBit,
1685 OP_shiftRightArithmetic,
1690 OP_isUnsignedLessThan,
1691 OP_isUnsignedLessThanOrEqual,
1692 OP_isUnsignedGreaterThan,
1693 OP_isUnsignedGreaterThanOrEqual,
1694 OP_isSignedLessThan,
1695 OP_isSignedLessThanOrEqual,
1696 OP_isSignedGreaterThan,
1697 OP_isSignedGreaterThanOrEqual,
1709 OP_unsignedMultiply,
1777DECLARE_LEAF_CLASS(AsmRegisterNames);
1778IS_SERIALIZABLE(AsmRegisterNames);
1780#ifndef DOCUMENTATION
1781AsmRegisterNames.useSmallHeader(
true);
1784DECLARE_HEADERS(AsmRegisterNames);
1785#if defined(SgAsmRegisterNames_HEADERS) || defined(DOCUMENTATION)
1786#include <sageContainer.h>
1794#ifndef DOCUMENTATION
1795 AsmRegisterNames.setDataPrototype(
1796 "SgAsmRegisterReferenceExpressionPtrList",
"registers",
"",
1797 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
1800#ifndef DOCUMENTATION
1801 AsmRegisterNames.setDataPrototype(
1802 "unsigned",
"mask",
"= 0",
1803 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1806 DECLARE_OTHERS(AsmRegisterNames);
1807#if defined(SgAsmRegisterNames_OTHERS) || defined(DOCUMENTATION)
1810#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
1812 friend class boost::serialization::access;
1815 void serialize(S &s,
const unsigned ) {
1818 s & BOOST_SERIALIZATION_NVP(p_registers);
1819 s & BOOST_SERIALIZATION_NVP(p_mask);
1873DECLARE_LEAF_CLASS(AsmPowerpcInstruction);
1874IS_SERIALIZABLE(AsmPowerpcInstruction);
1876#ifndef DOCUMENTATION
1877AsmPowerpcInstruction.useSmallHeader(
true);
1880DECLARE_HEADERS(AsmPowerpcInstruction);
1881#if defined(SgAsmPowerpcInstruction_HEADERS) || defined(DOCUMENTATION)
1882#include <Rose/BinaryAnalysis/InstructionEnumsPowerpc.h>
1890#ifndef DOCUMENTATION
1891 AsmPowerpcInstruction.setDataPrototype(
1892 "Rose::BinaryAnalysis::PowerpcInstructionKind",
"kind",
"= Rose::BinaryAnalysis::powerpc_unknown_instruction",
1893 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
1896 DECLARE_OTHERS(AsmPowerpcInstruction);
1897#if defined(SgAsmPowerpcInstruction_OTHERS) || defined(DOCUMENTATION)
1900#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
1902 friend class boost::serialization::access;
1905 void serialize(S &s,
const unsigned ) {
1908 s & BOOST_SERIALIZATION_NVP(p_kind);
1920 Rose::BinaryAnalysis::PowerpcInstructionKind
const&
get_kind()
const;
1921 void set_kind(Rose::BinaryAnalysis::PowerpcInstructionKind
const&);
1950 uint8_t
const& architectureId,
1951 Rose::BinaryAnalysis::PowerpcInstructionKind
const& kind);
1971DECLARE_LEAF_CLASS(AsmPointerType);
1972IS_SERIALIZABLE(AsmPointerType);
1974#ifndef DOCUMENTATION
1975AsmPointerType.useSmallHeader(
true);
1983#ifndef DOCUMENTATION
1984 AsmPointerType.setDataPrototype(
1985 "SgAsmType *",
"subtype",
"",
1986 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
1989 DECLARE_OTHERS(AsmPointerType);
1990#if defined(SgAsmPointerType_OTHERS) || defined(DOCUMENTATION)
1993#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
1995 friend class boost::serialization::access;
1998 void serialize(S &s,
const unsigned ) {
2001 s & BOOST_SERIALIZATION_NVP(p_subtype);
2044DECLARE_LEAF_CLASS(AsmPEStringSection);
2045IS_SERIALIZABLE(AsmPEStringSection);
2047#ifndef DOCUMENTATION
2048AsmPEStringSection.useSmallHeader(
true);
2051DECLARE_HEADERS(AsmPEStringSection);
2052#if defined(SgAsmPEStringSection_HEADERS) || defined(DOCUMENTATION)
2053#include <Rose/BinaryAnalysis/Address.h>
2061#ifndef DOCUMENTATION
2062 AsmPEStringSection.setDataPrototype(
2063 "SgAsmCoffStrtab*",
"strtab",
"= nullptr",
2064 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2067 DECLARE_OTHERS(AsmPEStringSection);
2068#if defined(SgAsmPEStringSection_OTHERS) || defined(DOCUMENTATION)
2071#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
2073 friend class boost::serialization::access;
2076 void serialize(S &s,
const unsigned ) {
2079 s & BOOST_SERIALIZATION_NVP(p_strtab);
2097 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
2099 virtual void unparse(std::ostream&)
const override;
2126DECLARE_LEAF_CLASS(AsmPESectionTableEntry);
2127IS_SERIALIZABLE(AsmPESectionTableEntry);
2129#ifndef DOCUMENTATION
2130AsmPESectionTableEntry.useSmallHeader(
true);
2133DECLARE_HEADERS(AsmPESectionTableEntry);
2134#if defined(SgAsmPESectionTableEntry_HEADERS) || defined(DOCUMENTATION)
2135#include <Rose/BinaryAnalysis/Address.h>
2143#ifndef DOCUMENTATION
2144 AsmPESectionTableEntry.setDataPrototype(
2145 "std::string",
"name",
"",
2146 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2149#ifndef DOCUMENTATION
2150 AsmPESectionTableEntry.setDataPrototype(
2151 "Rose::BinaryAnalysis::Address",
"virtual_size",
"= 0",
2152 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2155#ifndef DOCUMENTATION
2156 AsmPESectionTableEntry.setDataPrototype(
2157 "Rose::BinaryAnalysis::Address",
"rva",
"= 0",
2158 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2161#ifndef DOCUMENTATION
2162 AsmPESectionTableEntry.setDataPrototype(
2163 "Rose::BinaryAnalysis::Address",
"physical_size",
"= 0",
2164 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2167#ifndef DOCUMENTATION
2168 AsmPESectionTableEntry.setDataPrototype(
2169 "Rose::BinaryAnalysis::Address",
"physical_offset",
"= 0",
2170 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2173#ifndef DOCUMENTATION
2174 AsmPESectionTableEntry.setDataPrototype(
2175 "unsigned",
"coff_line_nums",
"= 0",
2176 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2179#ifndef DOCUMENTATION
2180 AsmPESectionTableEntry.setDataPrototype(
2181 "unsigned",
"n_relocs",
"= 0",
2182 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2185#ifndef DOCUMENTATION
2186 AsmPESectionTableEntry.setDataPrototype(
2187 "unsigned",
"n_coff_line_nums",
"= 0",
2188 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2191#ifndef DOCUMENTATION
2192 AsmPESectionTableEntry.setDataPrototype(
2193 "unsigned",
"flags",
"= 0",
2194 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2197 DECLARE_OTHERS(AsmPESectionTableEntry);
2198#if defined(SgAsmPESectionTableEntry_OTHERS) || defined(DOCUMENTATION)
2201#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
2203 friend class boost::serialization::access;
2206 void serialize(S &s,
const unsigned ) {
2209 s & BOOST_SERIALIZATION_NVP(p_name);
2210 s & BOOST_SERIALIZATION_NVP(p_virtual_size);
2211 s & BOOST_SERIALIZATION_NVP(p_rva);
2212 s & BOOST_SERIALIZATION_NVP(p_physical_size);
2213 s & BOOST_SERIALIZATION_NVP(p_physical_offset);
2214 s & BOOST_SERIALIZATION_NVP(p_coff_line_nums);
2215 s & BOOST_SERIALIZATION_NVP(p_n_relocs);
2216 s & BOOST_SERIALIZATION_NVP(p_n_coff_line_nums);
2217 s & BOOST_SERIALIZATION_NVP(p_flags);
2231 uint32_t virtual_size;
2233 uint32_t physical_size;
2234 uint32_t physical_offset;
2235 uint32_t coff_line_nums;
2237 uint32_t n_coff_line_nums;
2240#if !defined(SWIG) && !defined(_MSC_VER)
2241 __attribute__((packed))
2250 enum PESectionFlags {
2251 OF_CODE = 0x00000020,
2252 OF_IDATA = 0x00000040,
2253 OF_UDATA = 0x00000080,
2254 OF_INFO = 0x00000200,
2255 OF_REMOVE = 0x00000800,
2256 OF_COMDAT = 0x00001000,
2257 OF_NO_DEFER_SPEC_EXC= 0x00004000,
2259 OF_GPREL = 0x00008000,
2260 OF_ALIGN_1 = 0x00100000,
2261 OF_ALIGN_2 = 0x00200000,
2262 OF_ALIGN_4 = 0x00300000,
2263 OF_ALIGN_8 = 0x00400000,
2264 OF_ALIGN_16 = 0x00500000,
2265 OF_ALIGN_32 = 0x00600000,
2266 OF_ALIGN_64 = 0x00700000,
2267 OF_ALIGN_128 = 0x00800000,
2268 OF_ALIGN_256 = 0x00900000,
2269 OF_ALIGN_512 = 0x00a00000,
2270 OF_ALIGN_1k = 0x00b00000,
2271 OF_ALIGN_2k = 0x00c00000,
2272 OF_ALIGN_4k = 0x00d00000,
2273 OF_ALIGN_8k = 0x00e00000,
2274 OF_ALIGN_MASK = 0x00f00000,
2275 OF_NRELOC_OVFL = 0x01000000,
2276 OF_DISCARDABLE = 0x02000000,
2277 OF_NO_CACHE = 0x04000000,
2278 OF_NO_PAGING = 0x08000000,
2279 OF_SHARED = 0x10000000,
2280 OF_EXECUTABLE = 0x20000000,
2281 OF_READABLE = 0x40000000,
2282 OF_WRITABLE = 0x80000000
2387 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
2393 void update_from_section(
SgAsmPESection*) ROSE_DEPRECATED(
"use updateFromSection");
2420DECLARE_LEAF_CLASS(AsmPESectionTable);
2421IS_SERIALIZABLE(AsmPESectionTable);
2423#ifndef DOCUMENTATION
2424AsmPESectionTable.useSmallHeader(
true);
2432 DECLARE_OTHERS(AsmPESectionTable);
2433#if defined(SgAsmPESectionTable_OTHERS) || defined(DOCUMENTATION)
2436#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
2438 friend class boost::serialization::access;
2441 void serialize(S &s,
const unsigned ) {
2457 virtual void unparse(std::ostream&)
const override;
2458 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
2464 void add_section(
SgAsmPESection*) ROSE_DEPRECATED(
"use addSection");
2491DECLARE_LEAF_CLASS(AsmPERVASizePairList);
2492IS_SERIALIZABLE(AsmPERVASizePairList);
2494#ifndef DOCUMENTATION
2495AsmPERVASizePairList.useSmallHeader(
true);
2498DECLARE_HEADERS(AsmPERVASizePairList);
2499#if defined(SgAsmPERVASizePairList_HEADERS) || defined(DOCUMENTATION)
2500#include <sageContainer.h>
2511#ifndef DOCUMENTATION
2512 AsmPERVASizePairList.setDataPrototype(
2513 "SgAsmPERVASizePairPtrList",
"pairs",
"",
2514 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
2517 DECLARE_OTHERS(AsmPERVASizePairList);
2518#if defined(SgAsmPERVASizePairList_OTHERS) || defined(DOCUMENTATION)
2521#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
2523 friend class boost::serialization::access;
2526 void serialize(S &s,
const unsigned ) {
2529 s & BOOST_SERIALIZATION_NVP(p_pairs);
2570DECLARE_LEAF_CLASS(AsmPERVASizePair);
2571IS_SERIALIZABLE(AsmPERVASizePair);
2573#ifndef DOCUMENTATION
2574AsmPERVASizePair.useSmallHeader(
true);
2577DECLARE_HEADERS(AsmPERVASizePair);
2578#if defined(SgAsmPERVASizePair_HEADERS) || defined(DOCUMENTATION)
2579#include <Rose/BinaryAnalysis/Address.h>
2580#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
2588#ifndef DOCUMENTATION
2589 AsmPERVASizePair.setDataPrototype(
2590 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"e_rva",
"",
2591 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2594#ifndef DOCUMENTATION
2595 AsmPERVASizePair.setDataPrototype(
2596 "Rose::BinaryAnalysis::Address",
"e_size",
"= 0",
2597 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2600#ifndef DOCUMENTATION
2601 AsmPERVASizePair.setDataPrototype(
2602 "SgAsmGenericSection*",
"section",
"= nullptr",
2603 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
2606 DECLARE_OTHERS(AsmPERVASizePair);
2607#if defined(SgAsmPERVASizePair_OTHERS) || defined(DOCUMENTATION)
2610#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
2612 friend class boost::serialization::access;
2615 void serialize(S &s,
const unsigned ) {
2618 s & BOOST_SERIALIZATION_NVP(p_e_rva);
2619 s & BOOST_SERIALIZATION_NVP(p_e_size);
2620 s & BOOST_SERIALIZATION_NVP(p_section);
2638#if !defined(SWIG) && !defined(_MSC_VER)
2639 __attribute__((packed))
2723DECLARE_LEAF_CLASS(AsmPEImportSection);
2724IS_SERIALIZABLE(AsmPEImportSection);
2726#ifndef DOCUMENTATION
2727AsmPEImportSection.useSmallHeader(
true);
2730DECLARE_HEADERS(AsmPEImportSection);
2731#if defined(SgAsmPEImportSection_HEADERS) || defined(DOCUMENTATION)
2732#include <Rose/BinaryAnalysis/Address.h>
2733#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
2735#ifdef ROSE_SgAsmPEImportSection_IMPL
2736#include <SgAsmPEImportDirectoryList.h>
2886#ifndef DOCUMENTATION
2887 AsmPEImportSection.setDataPrototype(
2888 "SgAsmPEImportDirectoryList*",
"importDirectories",
"= createAndParent<SgAsmPEImportDirectoryList>(this)",
2889 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
2892 DECLARE_OTHERS(AsmPEImportSection);
2893#if defined(SgAsmPEImportSection_OTHERS) || defined(DOCUMENTATION)
2896#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
2898 friend class boost::serialization::access;
2901 void serialize(S &s,
const unsigned ) {
2904 s & BOOST_SERIALIZATION_NVP(p_importDirectories);
2922 virtual void unparse(std::ostream&)
const override;
2923 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
2930 static bool showImportMessage();
2931 static void importMessageReset();
2943 static size_t mesg_nprinted;
2953 static
bool show_import_mesg() ROSE_DEPRECATED("use showImportMessage");
2954 static
void import_mesg_reset() ROSE_DEPRECATED("use importMessageReset");
2955 size_t reallocate_iats(
Rose::BinaryAnalysis::RelativeVirtualAddress) ROSE_DEPRECATED("use
reallocateIats");
2982DECLARE_LEAF_CLASS(AsmPEImportItemList);
2983IS_SERIALIZABLE(AsmPEImportItemList);
2985#ifndef DOCUMENTATION
2986AsmPEImportItemList.useSmallHeader(
true);
2989DECLARE_HEADERS(AsmPEImportItemList);
2990#if defined(SgAsmPEImportItemList_HEADERS) || defined(DOCUMENTATION)
2991#include <sageContainer.h>
3002#ifndef DOCUMENTATION
3003 AsmPEImportItemList.setDataPrototype(
3004 "SgAsmPEImportItemPtrList",
"vector",
"",
3005 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3008 DECLARE_OTHERS(AsmPEImportItemList);
3009#if defined(SgAsmPEImportItemList_OTHERS) || defined(DOCUMENTATION)
3012#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
3014 friend class boost::serialization::access;
3017 void serialize(S &s,
const unsigned ) {
3020 s & BOOST_SERIALIZATION_NVP(p_vector);
3060DECLARE_LEAF_CLASS(AsmPEImportItem);
3061IS_SERIALIZABLE(AsmPEImportItem);
3063#ifndef DOCUMENTATION
3064AsmPEImportItem.useSmallHeader(
true);
3067DECLARE_HEADERS(AsmPEImportItem);
3068#if defined(SgAsmPEImportItem_HEADERS) || defined(DOCUMENTATION)
3069#include <Rose/BinaryAnalysis/Address.h>
3070#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
3072#ifdef ROSE_SgAsmPEImportItem_IMPL
3073#include <SgAsmBasicString.h>
3088#ifndef DOCUMENTATION
3089 AsmPEImportItem.setDataPrototype(
3090 "bool",
"by_ordinal",
"= true",
3091 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3094#ifndef DOCUMENTATION
3095 AsmPEImportItem.setDataPrototype(
3096 "unsigned",
"ordinal",
"= 0",
3097 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3100#ifndef DOCUMENTATION
3101 AsmPEImportItem.setDataPrototype(
3102 "unsigned",
"hint",
"= 0",
3103 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3106#ifndef DOCUMENTATION
3107 AsmPEImportItem.setDataPrototype(
3108 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
3109 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3112#ifndef DOCUMENTATION
3113 AsmPEImportItem.setDataPrototype(
3114 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"hintname_rva",
"",
3115 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3118#ifndef DOCUMENTATION
3119 AsmPEImportItem.setDataPrototype(
3120 "size_t",
"hintname_nalloc",
"= 0",
3121 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3124#ifndef DOCUMENTATION
3125 AsmPEImportItem.setDataPrototype(
3126 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"bound_rva",
"",
3127 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3130#ifndef DOCUMENTATION
3131 AsmPEImportItem.setDataPrototype(
3132 "bool",
"iat_written",
"= false",
3133 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3136 DECLARE_OTHERS(AsmPEImportItem);
3137#if defined(SgAsmPEImportItem_OTHERS) || defined(DOCUMENTATION)
3140#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
3142 friend class boost::serialization::access;
3145 void serialize(S &s,
const unsigned ) {
3148 s & BOOST_SERIALIZATION_NVP(p_by_ordinal);
3149 s & BOOST_SERIALIZATION_NVP(p_ordinal);
3150 s & BOOST_SERIALIZATION_NVP(p_hint);
3151 s & BOOST_SERIALIZATION_NVP(p_name);
3152 s & BOOST_SERIALIZATION_NVP(p_hintname_rva);
3153 s & BOOST_SERIALIZATION_NVP(p_hintname_nalloc);
3154 s & BOOST_SERIALIZATION_NVP(p_bound_rva);
3155 s & BOOST_SERIALIZATION_NVP(p_iat_written);
3247 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
3270 Rose::BinaryAnalysis::Address get_iat_entry_va() const ROSE_DEPRECATED("use
get_iatEntryVa");
3297DECLARE_LEAF_CLASS(AsmPEImportDirectoryList);
3298IS_SERIALIZABLE(AsmPEImportDirectoryList);
3300#ifndef DOCUMENTATION
3301AsmPEImportDirectoryList.useSmallHeader(
true);
3304DECLARE_HEADERS(AsmPEImportDirectoryList);
3305#if defined(SgAsmPEImportDirectoryList_HEADERS) || defined(DOCUMENTATION)
3306#include <sageContainer.h>
3317#ifndef DOCUMENTATION
3318 AsmPEImportDirectoryList.setDataPrototype(
3319 "SgAsmPEImportDirectoryPtrList",
"vector",
"",
3320 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3323 DECLARE_OTHERS(AsmPEImportDirectoryList);
3324#if defined(SgAsmPEImportDirectoryList_OTHERS) || defined(DOCUMENTATION)
3327#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
3329 friend class boost::serialization::access;
3332 void serialize(S &s,
const unsigned ) {
3335 s & BOOST_SERIALIZATION_NVP(p_vector);
3377DECLARE_LEAF_CLASS(AsmPEImportDirectory);
3378IS_SERIALIZABLE(AsmPEImportDirectory);
3380#ifndef DOCUMENTATION
3381AsmPEImportDirectory.useSmallHeader(
true);
3384DECLARE_HEADERS(AsmPEImportDirectory);
3385#if defined(SgAsmPEImportDirectory_HEADERS) || defined(DOCUMENTATION)
3386#include <Rose/BinaryAnalysis/Address.h>
3387#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
3388#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
3389#include <sageContainer.h>
3391#ifdef ROSE_SgAsmPEImportDirectory_IMPL
3392#include <SgAsmGenericString.h>
3393#include <SgAsmPEImportItemList.h>
3405#ifndef DOCUMENTATION
3406 AsmPEImportDirectory.setDataPrototype(
3407 "SgAsmGenericString*",
"dllName",
"= nullptr",
3408 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3411#ifndef DOCUMENTATION
3412 AsmPEImportDirectory.setDataPrototype(
3413 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"dllNameRva",
"",
3414 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3417#ifndef DOCUMENTATION
3418 AsmPEImportDirectory.setDataPrototype(
3419 "size_t",
"dll_name_nalloc",
"= 0",
3420 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3423#ifndef DOCUMENTATION
3424 AsmPEImportDirectory.setDataPrototype(
3425 "time_t",
"time",
"= 0",
3426 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3429#ifndef DOCUMENTATION
3430 AsmPEImportDirectory.setDataPrototype(
3431 "unsigned",
"forwarder_chain",
"= 0",
3432 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3435#ifndef DOCUMENTATION
3436 AsmPEImportDirectory.setDataPrototype(
3437 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"ilt_rva",
"",
3438 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3441#ifndef DOCUMENTATION
3442 AsmPEImportDirectory.setDataPrototype(
3443 "size_t",
"ilt_nalloc",
"= 0",
3444 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3447#ifndef DOCUMENTATION
3448 AsmPEImportDirectory.setDataPrototype(
3449 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"iat_rva",
"",
3450 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3453#ifndef DOCUMENTATION
3454 AsmPEImportDirectory.setDataPrototype(
3455 "size_t",
"iat_nalloc",
"= 0",
3456 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3459#ifndef DOCUMENTATION
3460 AsmPEImportDirectory.setDataPrototype(
3461 "SgAsmPEImportItemList*",
"imports",
"= createAndParent<SgAsmPEImportItemList>(this)",
3462 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3465 DECLARE_OTHERS(AsmPEImportDirectory);
3466#if defined(SgAsmPEImportDirectory_OTHERS) || defined(DOCUMENTATION)
3469#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
3471 friend class boost::serialization::access;
3474 void serialize(S &s,
const unsigned ) {
3477 s & BOOST_SERIALIZATION_NVP(p_dllName);
3478 s & BOOST_SERIALIZATION_NVP(p_dllNameRva);
3479 s & BOOST_SERIALIZATION_NVP(p_dll_name_nalloc);
3480 s & BOOST_SERIALIZATION_NVP(p_time);
3481 s & BOOST_SERIALIZATION_NVP(p_forwarder_chain);
3482 s & BOOST_SERIALIZATION_NVP(p_ilt_rva);
3483 s & BOOST_SERIALIZATION_NVP(p_ilt_nalloc);
3484 s & BOOST_SERIALIZATION_NVP(p_iat_rva);
3485 s & BOOST_SERIALIZATION_NVP(p_iat_nalloc);
3486 s & BOOST_SERIALIZATION_NVP(p_imports);
3500 uint32_t forwarder_chain;
3501 uint32_t dll_name_rva;
3504#if !defined(SWIG) && !defined(_MSC_VER)
3505 __attribute__((packed))
3643 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
3674 size_t nalloc)
const;
3682 const
Rose::BinaryAnalysis::RelativeVirtualAddress& get_dll_name_rva() const ROSE_DEPRECATED("use
get_dllNameRva");
3683 Rose::BinaryAnalysis::RelativeVirtualAddress& get_dll_name_rva() ROSE_DEPRECATED("use
get_dllNameRva");
3684 void set_dll_name_rva(const
Rose::BinaryAnalysis::RelativeVirtualAddress&) ROSE_DEPRECATED("use
set_dllNameRva");
3685 size_t iat_required_size() const ROSE_DEPRECATED("use
iatRequiredSize");
3687 size_t hintname_table_extent(
Rose::BinaryAnalysis::AddressIntervalSet&) const ROSE_DEPRECATED("use
hintNameTableExtent");
3714DECLARE_LEAF_CLASS(AsmPEFileHeader);
3715IS_SERIALIZABLE(AsmPEFileHeader);
3717#ifndef DOCUMENTATION
3718AsmPEFileHeader.useSmallHeader(
true);
3721DECLARE_HEADERS(AsmPEFileHeader);
3722#if defined(SgAsmPEFileHeader_HEADERS) || defined(DOCUMENTATION)
3723#include <Rose/BinaryAnalysis/Address.h>
3724#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
3726#ifdef ROSE_SgAsmPEFileHeader_IMPL
3727#include <SgAsmCoffSymbolTable.h>
3728#include <SgAsmPERVASizePairList.h>
3729#include <SgAsmPESectionTable.h>
3740#ifndef DOCUMENTATION
3741 AsmPEFileHeader.setDataPrototype(
3742 "unsigned",
"e_cpu_type",
"= 0",
3743 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3746#ifndef DOCUMENTATION
3747 AsmPEFileHeader.setDataPrototype(
3748 "unsigned",
"e_nsections",
"= 0",
3749 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3752#ifndef DOCUMENTATION
3753 AsmPEFileHeader.setDataPrototype(
3754 "unsigned",
"e_time",
"= 0",
3755 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3758#ifndef DOCUMENTATION
3759 AsmPEFileHeader.setDataPrototype(
3760 "Rose::BinaryAnalysis::Address",
"e_coff_symtab",
"= 0",
3761 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3764#ifndef DOCUMENTATION
3765 AsmPEFileHeader.setDataPrototype(
3766 "Rose::BinaryAnalysis::Address",
"e_nt_hdr_size",
"= 0",
3767 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3770#ifndef DOCUMENTATION
3771 AsmPEFileHeader.setDataPrototype(
3772 "unsigned",
"e_coff_nsyms",
"= 0",
3773 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3776#ifndef DOCUMENTATION
3777 AsmPEFileHeader.setDataPrototype(
3778 "unsigned",
"e_flags",
"= 0",
3779 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3782#ifndef DOCUMENTATION
3783 AsmPEFileHeader.setDataPrototype(
3784 "unsigned",
"e_opt_magic",
"= 0",
3785 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3788#ifndef DOCUMENTATION
3789 AsmPEFileHeader.setDataPrototype(
3790 "unsigned",
"e_lmajor",
"= 0",
3791 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3794#ifndef DOCUMENTATION
3795 AsmPEFileHeader.setDataPrototype(
3796 "unsigned",
"e_lminor",
"= 0",
3797 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3800#ifndef DOCUMENTATION
3801 AsmPEFileHeader.setDataPrototype(
3802 "unsigned",
"e_code_size",
"= 0",
3803 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3806#ifndef DOCUMENTATION
3807 AsmPEFileHeader.setDataPrototype(
3808 "unsigned",
"e_data_size",
"= 0",
3809 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3812#ifndef DOCUMENTATION
3813 AsmPEFileHeader.setDataPrototype(
3814 "unsigned",
"e_bss_size",
"= 0",
3815 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3818#ifndef DOCUMENTATION
3819 AsmPEFileHeader.setDataPrototype(
3820 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"e_code_rva",
"",
3821 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3824#ifndef DOCUMENTATION
3825 AsmPEFileHeader.setDataPrototype(
3826 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"e_data_rva",
"",
3827 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3830#ifndef DOCUMENTATION
3831 AsmPEFileHeader.setDataPrototype(
3832 "unsigned",
"e_section_align",
"= 0",
3833 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3836#ifndef DOCUMENTATION
3837 AsmPEFileHeader.setDataPrototype(
3838 "unsigned",
"e_file_align",
"= 0",
3839 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3842#ifndef DOCUMENTATION
3843 AsmPEFileHeader.setDataPrototype(
3844 "unsigned",
"e_os_major",
"= 0",
3845 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3848#ifndef DOCUMENTATION
3849 AsmPEFileHeader.setDataPrototype(
3850 "unsigned",
"e_os_minor",
"= 0",
3851 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3854#ifndef DOCUMENTATION
3855 AsmPEFileHeader.setDataPrototype(
3856 "unsigned",
"e_user_major",
"= 0",
3857 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3860#ifndef DOCUMENTATION
3861 AsmPEFileHeader.setDataPrototype(
3862 "unsigned",
"e_user_minor",
"= 0",
3863 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3866#ifndef DOCUMENTATION
3867 AsmPEFileHeader.setDataPrototype(
3868 "unsigned",
"e_subsys_major",
"= 0",
3869 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3872#ifndef DOCUMENTATION
3873 AsmPEFileHeader.setDataPrototype(
3874 "unsigned",
"e_subsys_minor",
"= 0",
3875 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3878#ifndef DOCUMENTATION
3879 AsmPEFileHeader.setDataPrototype(
3880 "unsigned",
"e_reserved9",
"= 0",
3881 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3884#ifndef DOCUMENTATION
3885 AsmPEFileHeader.setDataPrototype(
3886 "unsigned",
"e_image_size",
"= 0",
3887 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3890#ifndef DOCUMENTATION
3891 AsmPEFileHeader.setDataPrototype(
3892 "unsigned",
"e_header_size",
"= 0",
3893 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3896#ifndef DOCUMENTATION
3897 AsmPEFileHeader.setDataPrototype(
3898 "unsigned",
"e_file_checksum",
"= 0",
3899 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3902#ifndef DOCUMENTATION
3903 AsmPEFileHeader.setDataPrototype(
3904 "unsigned",
"e_subsystem",
"= 0",
3905 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3908#ifndef DOCUMENTATION
3909 AsmPEFileHeader.setDataPrototype(
3910 "unsigned",
"e_dll_flags",
"= 0",
3911 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3914#ifndef DOCUMENTATION
3915 AsmPEFileHeader.setDataPrototype(
3916 "unsigned",
"e_stack_reserve_size",
"= 0",
3917 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3920#ifndef DOCUMENTATION
3921 AsmPEFileHeader.setDataPrototype(
3922 "unsigned",
"e_stack_commit_size",
"= 0",
3923 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3926#ifndef DOCUMENTATION
3927 AsmPEFileHeader.setDataPrototype(
3928 "unsigned",
"e_heap_reserve_size",
"= 0",
3929 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3932#ifndef DOCUMENTATION
3933 AsmPEFileHeader.setDataPrototype(
3934 "unsigned",
"e_heap_commit_size",
"= 0",
3935 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3938#ifndef DOCUMENTATION
3939 AsmPEFileHeader.setDataPrototype(
3940 "unsigned",
"e_loader_flags",
"= 0",
3941 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3944#ifndef DOCUMENTATION
3945 AsmPEFileHeader.setDataPrototype(
3946 "unsigned",
"e_num_rvasize_pairs",
"= 0",
3947 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3950#ifndef DOCUMENTATION
3951 AsmPEFileHeader.setDataPrototype(
3952 "SgAsmPERVASizePairList*",
"rvaSizePairs",
"= nullptr",
3953 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
3956#ifndef DOCUMENTATION
3957 AsmPEFileHeader.setDataPrototype(
3958 "SgAsmPESectionTable*",
"sectionTable",
"= nullptr",
3959 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3962#ifndef DOCUMENTATION
3963 AsmPEFileHeader.setDataPrototype(
3964 "SgAsmCoffSymbolTable*",
"coffSymbolTable",
"= nullptr",
3965 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
3968 DECLARE_OTHERS(AsmPEFileHeader);
3969#if defined(SgAsmPEFileHeader_OTHERS) || defined(DOCUMENTATION)
3972#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
3974 friend class boost::serialization::access;
3977 void serialize(S &s,
const unsigned ) {
3980 s & BOOST_SERIALIZATION_NVP(p_e_cpu_type);
3981 s & BOOST_SERIALIZATION_NVP(p_e_nsections);
3982 s & BOOST_SERIALIZATION_NVP(p_e_time);
3983 s & BOOST_SERIALIZATION_NVP(p_e_coff_symtab);
3984 s & BOOST_SERIALIZATION_NVP(p_e_nt_hdr_size);
3985 s & BOOST_SERIALIZATION_NVP(p_e_coff_nsyms);
3986 s & BOOST_SERIALIZATION_NVP(p_e_flags);
3987 s & BOOST_SERIALIZATION_NVP(p_e_opt_magic);
3988 s & BOOST_SERIALIZATION_NVP(p_e_lmajor);
3989 s & BOOST_SERIALIZATION_NVP(p_e_lminor);
3990 s & BOOST_SERIALIZATION_NVP(p_e_code_size);
3991 s & BOOST_SERIALIZATION_NVP(p_e_data_size);
3992 s & BOOST_SERIALIZATION_NVP(p_e_bss_size);
3993 s & BOOST_SERIALIZATION_NVP(p_e_code_rva);
3994 s & BOOST_SERIALIZATION_NVP(p_e_data_rva);
3995 s & BOOST_SERIALIZATION_NVP(p_e_section_align);
3996 s & BOOST_SERIALIZATION_NVP(p_e_file_align);
3997 s & BOOST_SERIALIZATION_NVP(p_e_os_major);
3998 s & BOOST_SERIALIZATION_NVP(p_e_os_minor);
3999 s & BOOST_SERIALIZATION_NVP(p_e_user_major);
4000 s & BOOST_SERIALIZATION_NVP(p_e_user_minor);
4001 s & BOOST_SERIALIZATION_NVP(p_e_subsys_major);
4002 s & BOOST_SERIALIZATION_NVP(p_e_subsys_minor);
4003 s & BOOST_SERIALIZATION_NVP(p_e_reserved9);
4004 s & BOOST_SERIALIZATION_NVP(p_e_image_size);
4005 s & BOOST_SERIALIZATION_NVP(p_e_header_size);
4006 s & BOOST_SERIALIZATION_NVP(p_e_file_checksum);
4007 s & BOOST_SERIALIZATION_NVP(p_e_subsystem);
4008 s & BOOST_SERIALIZATION_NVP(p_e_dll_flags);
4009 s & BOOST_SERIALIZATION_NVP(p_e_stack_reserve_size);
4010 s & BOOST_SERIALIZATION_NVP(p_e_stack_commit_size);
4011 s & BOOST_SERIALIZATION_NVP(p_e_heap_reserve_size);
4012 s & BOOST_SERIALIZATION_NVP(p_e_heap_commit_size);
4013 s & BOOST_SERIALIZATION_NVP(p_e_loader_flags);
4014 s & BOOST_SERIALIZATION_NVP(p_e_num_rvasize_pairs);
4015 s & BOOST_SERIALIZATION_NVP(p_rvaSizePairs);
4016 s & BOOST_SERIALIZATION_NVP(p_sectionTable);
4017 s & BOOST_SERIALIZATION_NVP(p_coffSymbolTable);
4030 unsigned char e_magic[4];
4031 uint16_t e_cpu_type;
4032 uint16_t e_nsections;
4034 uint32_t e_coff_symtab;
4035 uint32_t e_coff_nsyms;
4036 uint16_t e_nt_hdr_size;
4039#if !defined(SWIG) && !defined(_MSC_VER)
4040 __attribute__((packed))
4045 uint16_t e_opt_magic;
4048 uint16_t e_code_size;
4049 uint32_t e_data_size;
4050 uint32_t e_bss_size;
4051 uint32_t e_entrypoint_rva;
4052 uint32_t e_code_rva;
4053 uint32_t e_data_rva;
4054 uint32_t e_image_base;
4055 uint32_t e_section_align;
4056 uint32_t e_file_align;
4057 uint16_t e_os_major;
4058 uint16_t e_os_minor;
4059 uint16_t e_user_major;
4060 uint16_t e_user_minor;
4061 uint16_t e_subsys_major;
4062 uint16_t e_subsys_minor;
4063 uint32_t e_reserved9;
4064 uint32_t e_image_size;
4065 uint32_t e_header_size;
4066 uint32_t e_file_checksum;
4067 uint16_t e_subsystem;
4068 uint16_t e_dll_flags;
4069 uint32_t e_stack_reserve_size;
4070 uint32_t e_stack_commit_size;
4071 uint32_t e_heap_reserve_size;
4072 uint32_t e_heap_commit_size;
4073 uint32_t e_loader_flags;
4074 uint32_t e_num_rvasize_pairs;
4076#if !defined(SWIG) && !defined(_MSC_VER)
4077 __attribute__((packed))
4082 uint16_t e_opt_magic;
4085 uint16_t e_code_size;
4086 uint32_t e_data_size;
4087 uint32_t e_bss_size;
4088 uint32_t e_entrypoint_rva;
4089 uint32_t e_code_rva;
4091 uint64_t e_image_base;
4092 uint32_t e_section_align;
4093 uint32_t e_file_align;
4094 uint16_t e_os_major;
4095 uint16_t e_os_minor;
4096 uint16_t e_user_major;
4097 uint16_t e_user_minor;
4098 uint16_t e_subsys_major;
4099 uint16_t e_subsys_minor;
4100 uint32_t e_reserved9;
4101 uint32_t e_image_size;
4102 uint32_t e_header_size;
4103 uint32_t e_file_checksum;
4104 uint16_t e_subsystem;
4105 uint16_t e_dll_flags;
4106 uint64_t e_stack_reserve_size;
4107 uint64_t e_stack_commit_size;
4108 uint64_t e_heap_reserve_size;
4109 uint64_t e_heap_commit_size;
4110 uint32_t e_loader_flags;
4111 uint32_t e_num_rvasize_pairs;
4113#if !defined(SWIG) && !defined(_MSC_VER)
4114 __attribute__((packed))
4123 HF_PROGRAM = 0x0000,
4124 HF_EXECUTABLE = 0x0002,
4126 HF_LIBRARY = 0x2000,
4127 HF_RESERVED_MASK = 0xddfd
4132 HF_SPEC_UNKNOWN = 0x0000,
4135 HF_WINCHAR = 0x0003,
4136 HF_OS2CHAR = 0x0005,
4142 DLL_PROC_INIT = 0x0001,
4143 DLL_PROC_TERM = 0x0002,
4144 DLL_THRD_INIT = 0x0004,
4145 DLL_THRD_TERM = 0x0008,
4146 DLL_RESERVED_MASK = 0xfff0
4154 PAIR_EXCEPTIONS = 3,
4155 PAIR_CERTIFICATES = 4,
4156 PAIR_BASERELOCS = 5,
4158 PAIR_ARCHITECTURE = 7,
4161 PAIR_LOADCONFIG = 10,
4162 PAIR_BOUNDIMPORT = 11,
4164 PAIR_DELAYIMPORT = 13,
4165 PAIR_CLRRUNTIME = 14,
4166 PAIR_RESERVED15 = 15
4583 void addRvaSizePairs();
4587 virtual void unparse(std::ostream&)
const override;
4588 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
4589 void createTableSections();
4611 virtual const
char *format_name() const override ROSE_DEPRECATED("use
formatName");
4616 void add_rvasize_pairs() ROSE_DEPRECATED("use addRvaSizePairs");
4617 void create_table_sections() ROSE_DEPRECATED("use createTableSections");
4618 Rose::BinaryAnalysis::MemoryMap::Ptr get_loader_map() const ROSE_DEPRECATED("use get_loaderMap");
4619 void set_loader_map(const
Rose::BinaryAnalysis::MemoryMap::Ptr&) ROSE_DEPRECATED("use set_loaderMap");
4646DECLARE_LEAF_CLASS(AsmPEExportSection);
4647IS_SERIALIZABLE(AsmPEExportSection);
4649#ifndef DOCUMENTATION
4650AsmPEExportSection.useSmallHeader(
true);
4653DECLARE_HEADERS(AsmPEExportSection);
4654#if defined(SgAsmPEExportSection_HEADERS) || defined(DOCUMENTATION)
4655#ifdef ROSE_SgAsmPEExportSection_IMPL
4656#include <SgAsmPEExportDirectory.h>
4657#include <SgAsmPEExportEntryList.h>
4666#ifndef DOCUMENTATION
4667 AsmPEExportSection.setDataPrototype(
4668 "SgAsmPEExportDirectory*",
"exportDirectory",
"= nullptr",
4669 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4672#ifndef DOCUMENTATION
4673 AsmPEExportSection.setDataPrototype(
4674 "SgAsmPEExportEntryList*",
"exports",
"= createAndParent<SgAsmPEExportEntryList>(this)",
4675 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4678 DECLARE_OTHERS(AsmPEExportSection);
4679#if defined(SgAsmPEExportSection_OTHERS) || defined(DOCUMENTATION)
4682#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
4684 friend class boost::serialization::access;
4687 void serialize(S &s,
const unsigned ) {
4690 s & BOOST_SERIALIZATION_NVP(p_exportDirectory);
4691 s & BOOST_SERIALIZATION_NVP(p_exports);
4735 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
4771#ifndef DOCUMENTATION
4772AstNodeClass& AsmPESection = nonTerminalConstructor(
4777 SubclassListBuilder()
4778 | AsmPEExportSection
4779 | AsmPEImportSection
4780 | AsmPEStringSection
4782assert(AsmPESection.associatedGrammar !=
nullptr);
4783AsmPESection.setCppCondition(
"!defined(DOCUMENTATION)");
4784AsmPESection.isBoostSerializable(
true);
4785AsmPESection.setAutomaticGenerationOfConstructor(
false);
4786AsmPESection.setAutomaticGenerationOfDestructor(
false);
4789#ifndef DOCUMENTATION
4790AsmPESection.useSmallHeader(
true);
4793DECLARE_HEADERS(AsmPESection);
4794#if defined(SgAsmPESection_HEADERS) || defined(DOCUMENTATION)
4795#ifdef ROSE_SgAsmPESection_IMPL
4796#include <SgAsmPESectionTableEntry.h>
4805#ifndef DOCUMENTATION
4806 AsmPESection.setDataPrototype(
4807 "SgAsmPESectionTableEntry*",
"section_entry",
"= nullptr",
4808 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4811 DECLARE_OTHERS(AsmPESection);
4812#if defined(SgAsmPESection_OTHERS) || defined(DOCUMENTATION)
4815#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
4817 friend class boost::serialization::access;
4820 void serialize(S &s,
const unsigned ) {
4823 s & BOOST_SERIALIZATION_NVP(p_section_entry);
4847 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
4880DECLARE_LEAF_CLASS(AsmPEExportEntryList);
4881IS_SERIALIZABLE(AsmPEExportEntryList);
4883#ifndef DOCUMENTATION
4884AsmPEExportEntryList.useSmallHeader(
true);
4887DECLARE_HEADERS(AsmPEExportEntryList);
4888#if defined(SgAsmPEExportEntryList_HEADERS) || defined(DOCUMENTATION)
4889#include <sageContainer.h>
4900#ifndef DOCUMENTATION
4901 AsmPEExportEntryList.setDataPrototype(
4902 "SgAsmPEExportEntryPtrList",
"exports",
"",
4903 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4906 DECLARE_OTHERS(AsmPEExportEntryList);
4907#if defined(SgAsmPEExportEntryList_OTHERS) || defined(DOCUMENTATION)
4910#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
4912 friend class boost::serialization::access;
4915 void serialize(S &s,
const unsigned ) {
4918 s & BOOST_SERIALIZATION_NVP(p_exports);
4958DECLARE_LEAF_CLASS(AsmPEExportEntry);
4959IS_SERIALIZABLE(AsmPEExportEntry);
4961#ifndef DOCUMENTATION
4962AsmPEExportEntry.useSmallHeader(
true);
4965DECLARE_HEADERS(AsmPEExportEntry);
4966#if defined(SgAsmPEExportEntry_HEADERS) || defined(DOCUMENTATION)
4967#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
4968#include <Sawyer/Result.h>
4976#ifndef DOCUMENTATION
4977 AsmPEExportEntry.setDataPrototype(
4978 "SgAsmGenericString*",
"name",
"= nullptr",
4979 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
4982#ifndef DOCUMENTATION
4983 AsmPEExportEntry.setDataPrototype(
4984 "unsigned",
"ordinal",
"= 0",
4985 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4988#ifndef DOCUMENTATION
4989 AsmPEExportEntry.setDataPrototype(
4990 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"exportRva",
"",
4991 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
4994#ifndef DOCUMENTATION
4995 AsmPEExportEntry.setDataPrototype(
4996 "SgAsmGenericString*",
"forwarder",
"= nullptr",
4997 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5000 DECLARE_OTHERS(AsmPEExportEntry);
5001#if defined(SgAsmPEExportEntry_OTHERS) || defined(DOCUMENTATION)
5004#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
5006 friend class boost::serialization::access;
5009 void serialize(S &s,
const unsigned ) {
5012 s & BOOST_SERIALIZATION_NVP(p_name);
5013 s & BOOST_SERIALIZATION_NVP(p_ordinal);
5014 s & BOOST_SERIALIZATION_NVP(p_exportRva);
5015 s & BOOST_SERIALIZATION_NVP(p_forwarder);
5063 void dump(FILE *f,
const char *prefix,ssize_t idx)
const;
5078 void set_export_rva(const
Rose::BinaryAnalysis::RelativeVirtualAddress&) ROSE_DEPRECATED("use
set_exportRva");
5105DECLARE_LEAF_CLASS(AsmPEExportDirectory);
5106IS_SERIALIZABLE(AsmPEExportDirectory);
5108#ifndef DOCUMENTATION
5109AsmPEExportDirectory.useSmallHeader(
true);
5112DECLARE_HEADERS(AsmPEExportDirectory);
5113#if defined(SgAsmPEExportDirectory_HEADERS) || defined(DOCUMENTATION)
5114#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
5116#ifdef ROSE_SgAsmPEExportDirectory_IMPL
5117#include <SgAsmGenericString.h>
5126#ifndef DOCUMENTATION
5127 AsmPEExportDirectory.setDataPrototype(
5128 "unsigned",
"res1",
"= 0",
5129 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5132#ifndef DOCUMENTATION
5133 AsmPEExportDirectory.setDataPrototype(
5134 "time_t",
"timestamp",
"= 0",
5135 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5138#ifndef DOCUMENTATION
5139 AsmPEExportDirectory.setDataPrototype(
5140 "unsigned",
"vmajor",
"= 0",
5141 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5144#ifndef DOCUMENTATION
5145 AsmPEExportDirectory.setDataPrototype(
5146 "unsigned",
"vminor",
"= 0",
5147 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5150#ifndef DOCUMENTATION
5151 AsmPEExportDirectory.setDataPrototype(
5152 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"name_rva",
"",
5153 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5156#ifndef DOCUMENTATION
5157 AsmPEExportDirectory.setDataPrototype(
5158 "unsigned",
"ord_base",
"= 0",
5159 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5162#ifndef DOCUMENTATION
5163 AsmPEExportDirectory.setDataPrototype(
5164 "size_t",
"expaddr_n",
"= 0",
5165 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5168#ifndef DOCUMENTATION
5169 AsmPEExportDirectory.setDataPrototype(
5170 "size_t",
"nameptr_n",
"= 0",
5171 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5174#ifndef DOCUMENTATION
5175 AsmPEExportDirectory.setDataPrototype(
5176 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"expaddr_rva",
"",
5177 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5180#ifndef DOCUMENTATION
5181 AsmPEExportDirectory.setDataPrototype(
5182 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"nameptr_rva",
"",
5183 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5186#ifndef DOCUMENTATION
5187 AsmPEExportDirectory.setDataPrototype(
5188 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"ordinals_rva",
"",
5189 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5192#ifndef DOCUMENTATION
5193 AsmPEExportDirectory.setDataPrototype(
5194 "SgAsmGenericString*",
"name",
"= NULL",
5195 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5198 DECLARE_OTHERS(AsmPEExportDirectory);
5199#if defined(SgAsmPEExportDirectory_OTHERS) || defined(DOCUMENTATION)
5202#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
5204 friend class boost::serialization::access;
5207 void serialize(S &s,
const unsigned ) {
5210 s & BOOST_SERIALIZATION_NVP(p_res1);
5211 s & BOOST_SERIALIZATION_NVP(p_timestamp);
5212 s & BOOST_SERIALIZATION_NVP(p_vmajor);
5213 s & BOOST_SERIALIZATION_NVP(p_vminor);
5214 s & BOOST_SERIALIZATION_NVP(p_name_rva);
5215 s & BOOST_SERIALIZATION_NVP(p_ord_base);
5216 s & BOOST_SERIALIZATION_NVP(p_expaddr_n);
5217 s & BOOST_SERIALIZATION_NVP(p_nameptr_n);
5218 s & BOOST_SERIALIZATION_NVP(p_expaddr_rva);
5219 s & BOOST_SERIALIZATION_NVP(p_nameptr_rva);
5220 s & BOOST_SERIALIZATION_NVP(p_ordinals_rva);
5221 s & BOOST_SERIALIZATION_NVP(p_name);
5242 uint32_t expaddr_rva;
5243 uint32_t nameptr_rva;
5244 uint32_t ordinals_rva;
5246#if !defined(SWIG) && !defined(_MSC_VER)
5247 __attribute__((packed))
5386 void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
5413DECLARE_LEAF_CLASS(AsmOperandList);
5414IS_SERIALIZABLE(AsmOperandList);
5416#ifndef DOCUMENTATION
5417AsmOperandList.useSmallHeader(
true);
5420DECLARE_HEADERS(AsmOperandList);
5421#if defined(SgAsmOperandList_HEADERS) || defined(DOCUMENTATION)
5422#include <sageContainer.h>
5430#ifndef DOCUMENTATION
5431 AsmOperandList.setDataPrototype(
5432 "SgAsmExpressionPtrList",
"operands",
"",
5433 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5436 DECLARE_OTHERS(AsmOperandList);
5437#if defined(SgAsmOperandList_OTHERS) || defined(DOCUMENTATION)
5440#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
5442 friend class boost::serialization::access;
5445 void serialize(S &s,
const unsigned ) {
5447 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
5448 s & BOOST_SERIALIZATION_NVP(p_operands);
5472 void append_operand(
SgAsmExpression*) ROSE_DEPRECATED(
"use appendOperand");
5499DECLARE_LEAF_CLASS(AsmNullInstruction);
5500IS_SERIALIZABLE(AsmNullInstruction);
5502#ifndef DOCUMENTATION
5503AsmNullInstruction.useSmallHeader(
true);
5510 DECLARE_OTHERS(AsmNullInstruction);
5511#if defined(SgAsmNullInstruction_OTHERS) || defined(DOCUMENTATION)
5514#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
5516 friend class boost::serialization::access;
5519 void serialize(S &s,
const unsigned ) {
5527 enum Kind { null_unknown };
5542 uint8_t
const& architectureId);
5562DECLARE_LEAF_CLASS(AsmNEStringTable);
5563IS_SERIALIZABLE(AsmNEStringTable);
5565#ifndef DOCUMENTATION
5566AsmNEStringTable.useSmallHeader(
true);
5569DECLARE_HEADERS(AsmNEStringTable);
5570#if defined(SgAsmNEStringTable_HEADERS) || defined(DOCUMENTATION)
5571#include <Rose/BinaryAnalysis/Address.h>
5578 DECLARE_OTHERS(AsmNEStringTable);
5579#if defined(SgAsmNEStringTable_OTHERS) || defined(DOCUMENTATION)
5582#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
5584 friend class boost::serialization::access;
5587 void serialize(S &s,
const unsigned ) {
5595 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5623DECLARE_LEAF_CLASS(AsmNESectionTableEntry);
5624IS_SERIALIZABLE(AsmNESectionTableEntry);
5626#ifndef DOCUMENTATION
5627AsmNESectionTableEntry.useSmallHeader(
true);
5630DECLARE_HEADERS(AsmNESectionTableEntry);
5631#if defined(SgAsmNESectionTableEntry_HEADERS) || defined(DOCUMENTATION)
5632#include <Rose/BinaryAnalysis/Address.h>
5639#ifndef DOCUMENTATION
5640 AsmNESectionTableEntry.setDataPrototype(
5641 "unsigned",
"flags",
"= 0",
5642 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5645#ifndef DOCUMENTATION
5646 AsmNESectionTableEntry.setDataPrototype(
5647 "unsigned",
"sector",
"= 0",
5648 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5651#ifndef DOCUMENTATION
5652 AsmNESectionTableEntry.setDataPrototype(
5653 "Rose::BinaryAnalysis::Address",
"physicalSize",
"= 0",
5654 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5657#ifndef DOCUMENTATION
5658 AsmNESectionTableEntry.setDataPrototype(
5659 "Rose::BinaryAnalysis::Address",
"virtualSize",
"= 0",
5660 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5663 DECLARE_OTHERS(AsmNESectionTableEntry);
5664#if defined(SgAsmNESectionTableEntry_OTHERS) || defined(DOCUMENTATION)
5667#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
5669 friend class boost::serialization::access;
5672 void serialize(S &s,
const unsigned ) {
5675 s & BOOST_SERIALIZATION_NVP(p_flags);
5676 s & BOOST_SERIALIZATION_NVP(p_sector);
5677 s & BOOST_SERIALIZATION_NVP(p_physicalSize);
5678 s & BOOST_SERIALIZATION_NVP(p_virtualSize);
5692 uint16_t physical_size;
5694 uint16_t virtual_size;
5699 __attribute__((packed))
5707 enum NESectionFlags {
5708 SF_RESERVED = 0x0e08,
5710 SF_TYPE_MASK = 0x0007,
5716 SF_MOVABLE = 0x0010,
5718 SF_PRELOAD = 0x0040,
5719 SF_NOT_WRITABLE = 0x0080,
5720 SF_RELOCINFO = 0x0100,
5721 SF_DISCARDABLE = 0x1000,
5730 unsigned const& get_flags()
const;
5731 void set_flags(
unsigned const&);
5734 unsigned const& get_sector()
const;
5735 void set_sector(
unsigned const&);
5750 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const {dump(f, prefix, idx, NULL);}
5751 void dump(FILE*,
const char *prefix, ssize_t idx,
SgAsmNEFileHeader *fhdr)
const;
5758 void set_physical_size(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use set_physicalSize");
5759 Rose::BinaryAnalysis::Address get_virtual_size() const ROSE_DEPRECATED("use get_virtualSize");
5760 void set_virtual_size(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use set_virtualSize");
5787DECLARE_LEAF_CLASS(AsmNESectionTable);
5788IS_SERIALIZABLE(AsmNESectionTable);
5790#ifndef DOCUMENTATION
5791AsmNESectionTable.useSmallHeader(
true);
5794DECLARE_HEADERS(AsmNESectionTable);
5795#if defined(SgAsmNESectionTable_HEADERS) || defined(DOCUMENTATION)
5796#include <Rose/BinaryAnalysis/Address.h>
5803#ifndef DOCUMENTATION
5804 AsmNESectionTable.setDataPrototype(
5805 "unsigned",
"flags",
"= 0",
5806 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5809#ifndef DOCUMENTATION
5810 AsmNESectionTable.setDataPrototype(
5811 "unsigned",
"sector",
"= 0",
5812 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5815#ifndef DOCUMENTATION
5816 AsmNESectionTable.setDataPrototype(
5817 "Rose::BinaryAnalysis::Address",
"physicalSize",
"= 0",
5818 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5821#ifndef DOCUMENTATION
5822 AsmNESectionTable.setDataPrototype(
5823 "Rose::BinaryAnalysis::Address",
"virtualSize",
"= 0",
5824 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
5827 DECLARE_OTHERS(AsmNESectionTable);
5828#if defined(SgAsmNESectionTable_OTHERS) || defined(DOCUMENTATION)
5831#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
5833 friend class boost::serialization::access;
5836 void serialize(S &s,
const unsigned ) {
5839 s & BOOST_SERIALIZATION_NVP(p_flags);
5840 s & BOOST_SERIALIZATION_NVP(p_sector);
5841 s & BOOST_SERIALIZATION_NVP(p_physicalSize);
5842 s & BOOST_SERIALIZATION_NVP(p_virtualSize);
5848 unsigned const& get_flags()
const;
5849 void set_flags(
unsigned const&);
5852 unsigned const& get_sector()
const;
5853 void set_sector(
unsigned const&);
5864 virtual void unparse(std::ostream&)
const override;
5865 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5872 void set_physical_size(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use set_physicalSize");
5873 Rose::BinaryAnalysis::Address get_virtual_size() const ROSE_DEPRECATED("use get_virtualSize");
5874 void set_virtual_size(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use set_virtualSize");
5901DECLARE_LEAF_CLASS(AsmNESection);
5902IS_SERIALIZABLE(AsmNESection);
5904#ifndef DOCUMENTATION
5905AsmNESection.useSmallHeader(
true);
5908DECLARE_HEADERS(AsmNESection);
5909#if defined(SgAsmNESection_HEADERS) || defined(DOCUMENTATION)
5910#ifdef ROSE_SgAsmNESection_IMPL
5911#include <SgAsmNESectionTableEntry.h>
5912#include <SgAsmNERelocTable.h>
5920#ifndef DOCUMENTATION
5921 AsmNESection.setDataPrototype(
5922 "SgAsmNESectionTableEntry*",
"sectionTableEntry",
"= nullptr",
5923 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5926#ifndef DOCUMENTATION
5927 AsmNESection.setDataPrototype(
5928 "SgAsmNERelocTable*",
"relocationTable",
"= nullptr",
5929 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
5932 DECLARE_OTHERS(AsmNESection);
5933#if defined(SgAsmNESection_OTHERS) || defined(DOCUMENTATION)
5936#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
5938 friend class boost::serialization::access;
5941 void serialize(S &s,
const unsigned ) {
5944 s & BOOST_SERIALIZATION_NVP(p_sectionTableEntry);
5945 s & BOOST_SERIALIZATION_NVP(p_relocationTable);
5959 virtual void unparse(std::ostream&)
const override;
5960 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
5968 SgAsmNERelocTable* get_reloc_table() const ROSE_DEPRECATED("use get_relocationTable");
5969 void set_reloc_table(
SgAsmNERelocTable*) ROSE_DEPRECATED("use set_relocationTable");
5996DECLARE_LEAF_CLASS(AsmNERelocTable);
5997IS_SERIALIZABLE(AsmNERelocTable);
5999#ifndef DOCUMENTATION
6000AsmNERelocTable.useSmallHeader(
true);
6007#ifndef DOCUMENTATION
6008 AsmNERelocTable.setDataPrototype(
6009 "SgAsmNERelocEntryPtrList",
"entries",
"",
6010 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6013 DECLARE_OTHERS(AsmNERelocTable);
6014#if defined(SgAsmNERelocTable_OTHERS) || defined(DOCUMENTATION)
6017#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
6019 friend class boost::serialization::access;
6022 void serialize(S &s,
const unsigned ) {
6025 s & BOOST_SERIALIZATION_NVP(p_entries);
6031 SgAsmNERelocEntryPtrList
const& get_entries()
const;
6032 SgAsmNERelocEntryPtrList& get_entries();
6033 void set_entries(SgAsmNERelocEntryPtrList
const&);
6036 virtual void unparse(std::ostream&)
const override;
6037 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
6064DECLARE_LEAF_CLASS(AsmNERelocEntry);
6065IS_SERIALIZABLE(AsmNERelocEntry);
6067#ifndef DOCUMENTATION
6068AsmNERelocEntry.useSmallHeader(
true);
6071DECLARE_HEADERS(AsmNERelocEntry);
6072#if defined(SgAsmNERelocEntry_HEADERS) || defined(DOCUMENTATION)
6073#include <Rose/BinaryAnalysis/Address.h>
6080#ifndef DOCUMENTATION
6081 AsmNERelocEntry.setDataPrototype(
6082 "SgAsmNERelocEntry::NERelocSrcType",
"src_type",
"= SgAsmNERelocEntry::RF_SRCTYPE_8OFF",
6083 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6086#ifndef DOCUMENTATION
6087 AsmNERelocEntry.setDataPrototype(
6088 "SgAsmNERelocEntry::NERelocModifiers",
"modifier",
"= SgAsmNERelocEntry::RF_MODIFIER_SINGLE",
6089 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6092#ifndef DOCUMENTATION
6093 AsmNERelocEntry.setDataPrototype(
6094 "SgAsmNERelocEntry::NERelocTgtType",
"tgt_type",
"= SgAsmNERelocEntry::RF_TGTTYPE_IREF",
6095 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6098#ifndef DOCUMENTATION
6099 AsmNERelocEntry.setDataPrototype(
6100 "SgAsmNERelocEntry::NERelocFlags",
"flags",
"= SgAsmNERelocEntry::RF_ADDITIVE",
6101 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6104#ifndef DOCUMENTATION
6105 AsmNERelocEntry.setDataPrototype(
6106 "Rose::BinaryAnalysis::Address",
"src_offset",
"= 0",
6107 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6110#ifndef DOCUMENTATION
6111 AsmNERelocEntry.setDataPrototype(
6112 "SgAsmNERelocEntry::iref_type",
"iref",
"",
6113 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6116#ifndef DOCUMENTATION
6117 AsmNERelocEntry.setDataPrototype(
6118 "SgAsmNERelocEntry::iord_type",
"iord",
"",
6119 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6122#ifndef DOCUMENTATION
6123 AsmNERelocEntry.setDataPrototype(
6124 "SgAsmNERelocEntry::iname_type",
"iname",
"",
6125 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6128#ifndef DOCUMENTATION
6129 AsmNERelocEntry.setDataPrototype(
6130 "SgAsmNERelocEntry::osfixup_type",
"osfixup",
"",
6131 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6134 DECLARE_OTHERS(AsmNERelocEntry);
6135#if defined(SgAsmNERelocEntry_OTHERS) || defined(DOCUMENTATION)
6138#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
6140 friend class boost::serialization::access;
6143 void serialize(S &s,
const unsigned ) {
6146 s & BOOST_SERIALIZATION_NVP(p_src_type);
6147 s & BOOST_SERIALIZATION_NVP(p_modifier);
6148 s & BOOST_SERIALIZATION_NVP(p_tgt_type);
6149 s & BOOST_SERIALIZATION_NVP(p_flags);
6150 s & BOOST_SERIALIZATION_NVP(p_src_offset);
6151 s & BOOST_SERIALIZATION_NVP(p_iref);
6152 s & BOOST_SERIALIZATION_NVP(p_iord);
6153 s & BOOST_SERIALIZATION_NVP(p_iname);
6154 s & BOOST_SERIALIZATION_NVP(p_osfixup);
6164 enum NERelocSrcType {
6165 RF_SRCTYPE_8OFF = 0,
6166 RF_SRCTYPE_WORDSEG = 2,
6167 RF_SRCTYPE_16PTR = 3,
6168 RF_SRCTYPE_16OFF = 5,
6169 RF_SRCTYPE_32PTR = 6,
6170 RF_SRCTYPE_32OFF = 7,
6171 RF_SRCTYPE_NEARCALL = 8,
6172 RF_SRCTYPE_48PTR = 11,
6173 RF_SRCTYPE_32OFF_b = 13
6176 enum NERelocTgtType {
6177 RF_TGTTYPE_IREF = 0,
6178 RF_TGTTYPE_IORD = 1,
6179 RF_TGTTYPE_INAME = 2,
6180 RF_TGTTYPE_OSFIXUP = 3
6183 enum NERelocModifiers {
6184 RF_MODIFIER_SINGLE = 1,
6185 RF_MODIFIER_MULTI = 3
6193 RF_16SECTION = 0x10,
6205#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
6207 void serialize(S &s,
const unsigned ) {
6208 s & BOOST_SERIALIZATION_NVP(sect_idx);
6209 s & BOOST_SERIALIZATION_NVP(res1);
6210 s & BOOST_SERIALIZATION_NVP(tgt_offset);
6215 friend std::ostream & operator<< ( std::ostream & os,
const iref_type & x );
6225#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
6227 void serialize(S &s,
const unsigned ) {
6228 s & BOOST_SERIALIZATION_NVP(modref);
6229 s & BOOST_SERIALIZATION_NVP(ordinal);
6230 s & BOOST_SERIALIZATION_NVP(addend);
6235 friend std::ostream & operator<< ( std::ostream & os,
const iord_type & x );
6245#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
6247 void serialize(S &s,
const unsigned ) {
6248 s & BOOST_SERIALIZATION_NVP(modref);
6249 s & BOOST_SERIALIZATION_NVP(nm_off);
6250 s & BOOST_SERIALIZATION_NVP(addend);
6255 friend std::ostream & operator<< ( std::ostream & os,
const iname_type & x );
6264#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
6266 void serialize(S &s,
const unsigned ) {
6267 s & BOOST_SERIALIZATION_NVP(type);
6268 s & BOOST_SERIALIZATION_NVP(res3);
6273 friend std::ostream & operator<< ( std::ostream & os,
const osfixup_type & x );
6283 SgAsmNERelocEntry::NERelocSrcType
const& get_src_type()
const;
6284 void set_src_type(SgAsmNERelocEntry::NERelocSrcType
const&);
6287 SgAsmNERelocEntry::NERelocModifiers
const& get_modifier()
const;
6288 void set_modifier(SgAsmNERelocEntry::NERelocModifiers
const&);
6291 SgAsmNERelocEntry::NERelocTgtType
const& get_tgt_type()
const;
6292 void set_tgt_type(SgAsmNERelocEntry::NERelocTgtType
const&);
6295 SgAsmNERelocEntry::NERelocFlags
const& get_flags()
const;
6296 void set_flags(SgAsmNERelocEntry::NERelocFlags
const&);
6323 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
6350DECLARE_LEAF_CLASS(AsmNENameTable);
6351IS_SERIALIZABLE(AsmNENameTable);
6353#ifndef DOCUMENTATION
6354AsmNENameTable.useSmallHeader(
true);
6357DECLARE_HEADERS(AsmNENameTable);
6358#if defined(SgAsmNENameTable_HEADERS) || defined(DOCUMENTATION)
6359#include <Rose/BinaryAnalysis/Address.h>
6366#ifndef DOCUMENTATION
6367 AsmNENameTable.setDataPrototype(
6368 "SgStringList",
"names",
"",
6369 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6372#ifndef DOCUMENTATION
6373 AsmNENameTable.setDataPrototype(
6374 "SgUnsignedList",
"ordinals",
"",
6375 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6378 DECLARE_OTHERS(AsmNENameTable);
6379#if defined(SgAsmNENameTable_OTHERS) || defined(DOCUMENTATION)
6382#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
6384 friend class boost::serialization::access;
6387 void serialize(S &s,
const unsigned ) {
6390 s & BOOST_SERIALIZATION_NVP(p_names);
6391 s & BOOST_SERIALIZATION_NVP(p_ordinals);
6397 SgStringList
const& get_names()
const;
6398 void set_names(SgStringList
const&);
6401 SgUnsignedList
const& get_ordinals()
const;
6402 void set_ordinals(SgUnsignedList
const&);
6405 virtual void unparse(std::ostream&)
const override;
6406 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
6407 std::vector<std::string> get_namesByOrdinal(
unsigned ordinal);
6413 std::vector<std::string> get_names_by_ordinal(
unsigned) ROSE_DEPRECATED(
"use get_namesByOrdinal");
6440DECLARE_LEAF_CLASS(AsmNEModuleTable);
6441IS_SERIALIZABLE(AsmNEModuleTable);
6443#ifndef DOCUMENTATION
6444AsmNEModuleTable.useSmallHeader(
true);
6447DECLARE_HEADERS(AsmNEModuleTable);
6448#if defined(SgAsmNEModuleTable_HEADERS) || defined(DOCUMENTATION)
6449#include <Rose/BinaryAnalysis/Address.h>
6451#ifdef ROSE_SgAsmNEModuleTable_IMPL
6452#include <SgAsmNEStringTable.h>
6460#ifndef DOCUMENTATION
6461 AsmNEModuleTable.setDataPrototype(
6462 "SgAsmNEStringTable*",
"strtab",
"= nullptr",
6463 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6466#ifndef DOCUMENTATION
6467 AsmNEModuleTable.setDataPrototype(
6468 "SgAddressList",
"nameOffsets",
"",
6469 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6472#ifndef DOCUMENTATION
6473 AsmNEModuleTable.setDataPrototype(
6474 "SgStringList",
"names",
"",
6475 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6478 DECLARE_OTHERS(AsmNEModuleTable);
6479#if defined(SgAsmNEModuleTable_OTHERS) || defined(DOCUMENTATION)
6482#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
6484 friend class boost::serialization::access;
6487 void serialize(S &s,
const unsigned ) {
6490 s & BOOST_SERIALIZATION_NVP(p_strtab);
6491 s & BOOST_SERIALIZATION_NVP(p_nameOffsets);
6492 s & BOOST_SERIALIZATION_NVP(p_names);
6502 SgAddressList
const& get_nameOffsets()
const;
6503 void set_nameOffsets(SgAddressList
const&);
6506 SgStringList
const& get_names()
const;
6507 void set_names(SgStringList
const&);
6511 virtual void unparse(std::ostream&)
const override;
6512 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
6518 const SgAddressList& get_name_offsets() const ROSE_DEPRECATED("use get_nameOffsets");
6519 void set_name_offsets(const SgAddressList&) ROSE_DEPRECATED("use set_nameOffsets");
6546DECLARE_LEAF_CLASS(AsmNEFileHeader);
6547IS_SERIALIZABLE(AsmNEFileHeader);
6549#ifndef DOCUMENTATION
6550AsmNEFileHeader.useSmallHeader(
true);
6553DECLARE_HEADERS(AsmNEFileHeader);
6554#if defined(SgAsmNEFileHeader_HEADERS) || defined(DOCUMENTATION)
6555#include <Rose/BinaryAnalysis/Address.h>
6557#ifdef ROSE_SgAsmNEFileHeader_IMPL
6558#include <SgAsmDOSExtendedHeader.h>
6559#include <SgAsmNEEntryTable.h>
6560#include <SgAsmNEModuleTable.h>
6561#include <SgAsmNENameTable.h>
6562#include <SgAsmNESectionTable.h>
6570#ifndef DOCUMENTATION
6571 AsmNEFileHeader.setDataPrototype(
6572 "unsigned",
"e_linker_major",
"= 0",
6573 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6576#ifndef DOCUMENTATION
6577 AsmNEFileHeader.setDataPrototype(
6578 "unsigned",
"e_linker_minor",
"= 0",
6579 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6582#ifndef DOCUMENTATION
6583 AsmNEFileHeader.setDataPrototype(
6584 "unsigned",
"e_checksum",
"= 0",
6585 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6588#ifndef DOCUMENTATION
6589 AsmNEFileHeader.setDataPrototype(
6590 "unsigned",
"e_flags1",
"= 0",
6591 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6594#ifndef DOCUMENTATION
6595 AsmNEFileHeader.setDataPrototype(
6596 "unsigned",
"e_autodata_sn",
"= 0",
6597 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6600#ifndef DOCUMENTATION
6601 AsmNEFileHeader.setDataPrototype(
6602 "unsigned",
"e_bss_size",
"= 0",
6603 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6606#ifndef DOCUMENTATION
6607 AsmNEFileHeader.setDataPrototype(
6608 "unsigned",
"e_stack_size",
"= 0",
6609 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6612#ifndef DOCUMENTATION
6613 AsmNEFileHeader.setDataPrototype(
6614 "unsigned",
"e_csip",
"= 0",
6615 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6618#ifndef DOCUMENTATION
6619 AsmNEFileHeader.setDataPrototype(
6620 "unsigned",
"e_sssp",
"= 0",
6621 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6624#ifndef DOCUMENTATION
6625 AsmNEFileHeader.setDataPrototype(
6626 "unsigned",
"e_nsections",
"= 0",
6627 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6630#ifndef DOCUMENTATION
6631 AsmNEFileHeader.setDataPrototype(
6632 "unsigned",
"e_nmodrefs",
"= 0",
6633 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6636#ifndef DOCUMENTATION
6637 AsmNEFileHeader.setDataPrototype(
6638 "unsigned",
"e_nnonresnames",
"= 0",
6639 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6642#ifndef DOCUMENTATION
6643 AsmNEFileHeader.setDataPrototype(
6644 "unsigned",
"e_nmovable_entries",
"= 0",
6645 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6648#ifndef DOCUMENTATION
6649 AsmNEFileHeader.setDataPrototype(
6650 "unsigned",
"e_sector_align",
"= 0",
6651 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6654#ifndef DOCUMENTATION
6655 AsmNEFileHeader.setDataPrototype(
6656 "unsigned",
"e_nresources",
"= 0",
6657 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6660#ifndef DOCUMENTATION
6661 AsmNEFileHeader.setDataPrototype(
6662 "unsigned",
"e_exetype",
"= 0",
6663 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6666#ifndef DOCUMENTATION
6667 AsmNEFileHeader.setDataPrototype(
6668 "unsigned",
"e_flags2",
"= 0",
6669 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6672#ifndef DOCUMENTATION
6673 AsmNEFileHeader.setDataPrototype(
6674 "unsigned",
"e_res1",
"= 0",
6675 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6678#ifndef DOCUMENTATION
6679 AsmNEFileHeader.setDataPrototype(
6680 "unsigned",
"e_winvers",
"= 0",
6681 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6684#ifndef DOCUMENTATION
6685 AsmNEFileHeader.setDataPrototype(
6686 "Rose::BinaryAnalysis::Address",
"e_entrytab_rfo",
"= 0",
6687 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6690#ifndef DOCUMENTATION
6691 AsmNEFileHeader.setDataPrototype(
6692 "Rose::BinaryAnalysis::Address",
"e_entrytab_size",
"= 0",
6693 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6696#ifndef DOCUMENTATION
6697 AsmNEFileHeader.setDataPrototype(
6698 "Rose::BinaryAnalysis::Address",
"e_sectab_rfo",
"= 0",
6699 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6702#ifndef DOCUMENTATION
6703 AsmNEFileHeader.setDataPrototype(
6704 "Rose::BinaryAnalysis::Address",
"e_rsrctab_rfo",
"= 0",
6705 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6708#ifndef DOCUMENTATION
6709 AsmNEFileHeader.setDataPrototype(
6710 "Rose::BinaryAnalysis::Address",
"e_resnametab_rfo",
"= 0",
6711 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6714#ifndef DOCUMENTATION
6715 AsmNEFileHeader.setDataPrototype(
6716 "Rose::BinaryAnalysis::Address",
"e_modreftab_rfo",
"= 0",
6717 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6720#ifndef DOCUMENTATION
6721 AsmNEFileHeader.setDataPrototype(
6722 "Rose::BinaryAnalysis::Address",
"e_importnametab_rfo",
"= 0",
6723 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6726#ifndef DOCUMENTATION
6727 AsmNEFileHeader.setDataPrototype(
6728 "Rose::BinaryAnalysis::Address",
"e_nonresnametab_offset",
"= 0",
6729 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6732#ifndef DOCUMENTATION
6733 AsmNEFileHeader.setDataPrototype(
6734 "Rose::BinaryAnalysis::Address",
"e_fastload_sector",
"= 0",
6735 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6738#ifndef DOCUMENTATION
6739 AsmNEFileHeader.setDataPrototype(
6740 "Rose::BinaryAnalysis::Address",
"e_fastload_nsectors",
"= 0",
6741 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6744#ifndef DOCUMENTATION
6745 AsmNEFileHeader.setDataPrototype(
6746 "SgAsmDOSExtendedHeader*",
"dos2Header",
"= nullptr",
6747 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6750#ifndef DOCUMENTATION
6751 AsmNEFileHeader.setDataPrototype(
6752 "SgAsmNESectionTable*",
"sectionTable",
"= nullptr",
6753 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
6756#ifndef DOCUMENTATION
6757 AsmNEFileHeader.setDataPrototype(
6758 "SgAsmNENameTable*",
"residentNameTable",
"= nullptr",
6759 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6762#ifndef DOCUMENTATION
6763 AsmNEFileHeader.setDataPrototype(
6764 "SgAsmNENameTable*",
"nonresidentNameTable",
"= nullptr",
6765 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6768#ifndef DOCUMENTATION
6769 AsmNEFileHeader.setDataPrototype(
6770 "SgAsmNEModuleTable*",
"moduleTable",
"= nullptr",
6771 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6774#ifndef DOCUMENTATION
6775 AsmNEFileHeader.setDataPrototype(
6776 "SgAsmNEEntryTable*",
"entryTable",
"= nullptr",
6777 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
6780 DECLARE_OTHERS(AsmNEFileHeader);
6781#if defined(SgAsmNEFileHeader_OTHERS) || defined(DOCUMENTATION)
6784#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
6786 friend class boost::serialization::access;
6789 void serialize(S &s,
const unsigned ) {
6792 s & BOOST_SERIALIZATION_NVP(p_e_linker_major);
6793 s & BOOST_SERIALIZATION_NVP(p_e_linker_minor);
6794 s & BOOST_SERIALIZATION_NVP(p_e_checksum);
6795 s & BOOST_SERIALIZATION_NVP(p_e_flags1);
6796 s & BOOST_SERIALIZATION_NVP(p_e_autodata_sn);
6797 s & BOOST_SERIALIZATION_NVP(p_e_bss_size);
6798 s & BOOST_SERIALIZATION_NVP(p_e_stack_size);
6799 s & BOOST_SERIALIZATION_NVP(p_e_csip);
6800 s & BOOST_SERIALIZATION_NVP(p_e_sssp);
6801 s & BOOST_SERIALIZATION_NVP(p_e_nsections);
6802 s & BOOST_SERIALIZATION_NVP(p_e_nmodrefs);
6803 s & BOOST_SERIALIZATION_NVP(p_e_nnonresnames);
6804 s & BOOST_SERIALIZATION_NVP(p_e_nmovable_entries);
6805 s & BOOST_SERIALIZATION_NVP(p_e_sector_align);
6806 s & BOOST_SERIALIZATION_NVP(p_e_nresources);
6807 s & BOOST_SERIALIZATION_NVP(p_e_exetype);
6808 s & BOOST_SERIALIZATION_NVP(p_e_flags2);
6809 s & BOOST_SERIALIZATION_NVP(p_e_res1);
6810 s & BOOST_SERIALIZATION_NVP(p_e_winvers);
6811 s & BOOST_SERIALIZATION_NVP(p_e_entrytab_rfo);
6812 s & BOOST_SERIALIZATION_NVP(p_e_entrytab_size);
6813 s & BOOST_SERIALIZATION_NVP(p_e_sectab_rfo);
6814 s & BOOST_SERIALIZATION_NVP(p_e_rsrctab_rfo);
6815 s & BOOST_SERIALIZATION_NVP(p_e_resnametab_rfo);
6816 s & BOOST_SERIALIZATION_NVP(p_e_modreftab_rfo);
6817 s & BOOST_SERIALIZATION_NVP(p_e_importnametab_rfo);
6818 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_offset);
6819 s & BOOST_SERIALIZATION_NVP(p_e_fastload_sector);
6820 s & BOOST_SERIALIZATION_NVP(p_e_fastload_nsectors);
6821 s & BOOST_SERIALIZATION_NVP(p_dos2Header);
6822 s & BOOST_SERIALIZATION_NVP(p_sectionTable);
6823 s & BOOST_SERIALIZATION_NVP(p_residentNameTable);
6824 s & BOOST_SERIALIZATION_NVP(p_nonresidentNameTable);
6825 s & BOOST_SERIALIZATION_NVP(p_moduleTable);
6826 s & BOOST_SERIALIZATION_NVP(p_entryTable);
6845 unsigned char e_magic[2];
6846 unsigned char e_linker_major;
6847 unsigned char e_linker_minor;
6848 uint16_t e_entrytab_rfo;
6849 uint16_t e_entrytab_size;
6850 uint32_t e_checksum;
6852 uint16_t e_autodata_sn;
6853 uint16_t e_bss_size;
6854 uint16_t e_stack_size;
6857 uint16_t e_nsections;
6858 uint16_t e_nmodrefs;
6859 uint16_t e_nnonresnames;
6860 uint16_t e_sectab_rfo;
6861 uint16_t e_rsrctab_rfo;
6862 uint16_t e_resnametab_rfo;
6863 uint16_t e_modreftab_rfo;
6864 uint16_t e_importnametab_rfo;
6865 uint32_t e_nonresnametab_offset;
6866 uint16_t e_nmovable_entries;
6867 uint16_t e_sector_align;
6868 uint16_t e_nresources;
6869 unsigned char e_exetype;
6870 unsigned char e_flags2;
6871 uint16_t e_fastload_sector;
6872 uint16_t e_fastload_nsectors;
6879 __attribute__((packed))
6893 HF1_RESERVED = 0x57f4,
6894 HF1_NO_DATA = 0x0000,
6895 HF1_SINGLE_DATA = 0x0001,
6896 HF1_MULTIPLE_DATA = 0x0002,
6897 HF1_LOADER_SEGMENT = 0x0800,
6898 HF1_FATAL_ERRORS = 0x2000,
6899 HF1_LIBRARY = 0x8000
6904 HF2_RESERVED = 0xf1,
6905 HF2_PROTECTED_MODE = 0x02,
6915 unsigned const& get_e_linker_major()
const;
6916 void set_e_linker_major(
unsigned const&);
6919 unsigned const& get_e_linker_minor()
const;
6920 void set_e_linker_minor(
unsigned const&);
6923 unsigned const& get_e_checksum()
const;
6924 void set_e_checksum(
unsigned const&);
6927 unsigned const& get_e_flags1()
const;
6928 void set_e_flags1(
unsigned const&);
6931 unsigned const& get_e_autodata_sn()
const;
6932 void set_e_autodata_sn(
unsigned const&);
6935 unsigned const& get_e_bss_size()
const;
6936 void set_e_bss_size(
unsigned const&);
6939 unsigned const& get_e_stack_size()
const;
6940 void set_e_stack_size(
unsigned const&);
6943 unsigned const& get_e_csip()
const;
6944 void set_e_csip(
unsigned const&);
6947 unsigned const& get_e_sssp()
const;
6948 void set_e_sssp(
unsigned const&);
6951 unsigned const& get_e_nsections()
const;
6952 void set_e_nsections(
unsigned const&);
6955 unsigned const& get_e_nmodrefs()
const;
6956 void set_e_nmodrefs(
unsigned const&);
6959 unsigned const& get_e_nnonresnames()
const;
6960 void set_e_nnonresnames(
unsigned const&);
6963 unsigned const& get_e_nmovable_entries()
const;
6964 void set_e_nmovable_entries(
unsigned const&);
6967 unsigned const& get_e_sector_align()
const;
6968 void set_e_sector_align(
unsigned const&);
6971 unsigned const& get_e_nresources()
const;
6972 void set_e_nresources(
unsigned const&);
6975 unsigned const& get_e_exetype()
const;
6976 void set_e_exetype(
unsigned const&);
6979 unsigned const& get_e_flags2()
const;
6980 void set_e_flags2(
unsigned const&);
6983 unsigned const& get_e_res1()
const;
6984 void set_e_res1(
unsigned const&);
6987 unsigned const& get_e_winvers()
const;
6988 void set_e_winvers(
unsigned const&);
7061 virtual void unparse(std::ostream&)
const override;
7063 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7076 SgAsmNENameTable* get_resname_table() const ROSE_DEPRECATED("use get_residentNameTable");
7077 void set_resname_table(
SgAsmNENameTable*) ROSE_DEPRECATED("use set_residentNameTable");
7078 SgAsmNENameTable* get_nonresname_table() const ROSE_DEPRECATED("use get_nonresidentNameTable");
7079 void set_nonresname_table(
SgAsmNENameTable*) ROSE_DEPRECATED("use set_nonresidentNameTable");
7082 SgAsmNEEntryTable* get_entry_table() const ROSE_DEPRECATED("use get_entryTable");
7085 virtual const
char *format_name() const override ROSE_DEPRECATED("use
formatName");
7112DECLARE_LEAF_CLASS(AsmNEEntryTable);
7113IS_SERIALIZABLE(AsmNEEntryTable);
7115#ifndef DOCUMENTATION
7116AsmNEEntryTable.useSmallHeader(
true);
7119DECLARE_HEADERS(AsmNEEntryTable);
7120#if defined(SgAsmNEEntryTable_HEADERS) || defined(DOCUMENTATION)
7121#include <Rose/BinaryAnalysis/Address.h>
7128#ifndef DOCUMENTATION
7129 AsmNEEntryTable.setDataPrototype(
7130 "SgSizeTList",
"bundle_sizes",
"",
7131 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7134#ifndef DOCUMENTATION
7135 AsmNEEntryTable.setDataPrototype(
7136 "SgAsmNEEntryPointPtrList",
"entries",
"",
7137 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7140 DECLARE_OTHERS(AsmNEEntryTable);
7141#if defined(SgAsmNEEntryTable_OTHERS) || defined(DOCUMENTATION)
7144#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
7146 friend class boost::serialization::access;
7149 void serialize(S &s,
const unsigned ) {
7152 s & BOOST_SERIALIZATION_NVP(p_bundle_sizes);
7153 s & BOOST_SERIALIZATION_NVP(p_entries);
7159 SgSizeTList
const& get_bundle_sizes()
const;
7160 void set_bundle_sizes(SgSizeTList
const&);
7163 SgAsmNEEntryPointPtrList
const& get_entries()
const;
7164 SgAsmNEEntryPointPtrList& get_entries();
7165 void set_entries(SgAsmNEEntryPointPtrList
const&);
7168 void populate_entries();
7169 virtual void unparse(std::ostream&)
const override;
7170 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7197DECLARE_LEAF_CLASS(AsmNEEntryPoint);
7198IS_SERIALIZABLE(AsmNEEntryPoint);
7200#ifndef DOCUMENTATION
7201AsmNEEntryPoint.useSmallHeader(
true);
7208#ifndef DOCUMENTATION
7209 AsmNEEntryPoint.setDataPrototype(
7210 "SgAsmNEEntryPoint::NEEntryFlags",
"flags",
"= SgAsmNEEntryPoint::EF_ZERO",
7211 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7214#ifndef DOCUMENTATION
7215 AsmNEEntryPoint.setDataPrototype(
7216 "unsigned",
"int3f",
"= 0",
7217 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7220#ifndef DOCUMENTATION
7221 AsmNEEntryPoint.setDataPrototype(
7222 "unsigned",
"sectionIndex",
"= 0",
7223 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7226#ifndef DOCUMENTATION
7227 AsmNEEntryPoint.setDataPrototype(
7228 "unsigned",
"sectionOffset",
"= 0",
7229 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7232 DECLARE_OTHERS(AsmNEEntryPoint);
7233#if defined(SgAsmNEEntryPoint_OTHERS) || defined(DOCUMENTATION)
7236#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
7238 friend class boost::serialization::access;
7241 void serialize(S &s,
const unsigned ) {
7244 s & BOOST_SERIALIZATION_NVP(p_flags);
7245 s & BOOST_SERIALIZATION_NVP(p_int3f);
7246 s & BOOST_SERIALIZATION_NVP(p_sectionIndex);
7247 s & BOOST_SERIALIZATION_NVP(p_sectionOffset);
7267 SgAsmNEEntryPoint::NEEntryFlags
const& get_flags()
const;
7268 void set_flags(SgAsmNEEntryPoint::NEEntryFlags
const&);
7271 unsigned const& get_int3f()
const;
7272 void set_int3f(
unsigned const&);
7275 unsigned const& get_sectionIndex()
const;
7276 void set_sectionIndex(
unsigned const&);
7279 unsigned const& get_sectionOffset()
const;
7280 void set_sectionOffset(
unsigned const&);
7285 SgAsmNEEntryPoint(SgAsmNEEntryPoint::NEEntryFlags flags,
unsigned int3f,
unsigned s_idx,
unsigned s_off);
7286 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
7292 unsigned get_section_idx()
const ROSE_DEPRECATED(
"use get_sectionIndex");
7293 void set_section_idx(
unsigned) ROSE_DEPRECATED(
"use set_sectionIndex");
7294 unsigned get_section_offset()
const ROSE_DEPRECATED(
"use get_sectionOffset");
7295 void set_section_offset(
unsigned) ROSE_DEPRECATED(
"use set_sectionOffset");
7322DECLARE_LEAF_CLASS(AsmMipsInstruction);
7323IS_SERIALIZABLE(AsmMipsInstruction);
7325#ifndef DOCUMENTATION
7326AsmMipsInstruction.useSmallHeader(
true);
7329DECLARE_HEADERS(AsmMipsInstruction);
7330#if defined(SgAsmMipsInstruction_HEADERS) || defined(DOCUMENTATION)
7331#include <Rose/BinaryAnalysis/InstructionEnumsMips.h>
7339#ifndef DOCUMENTATION
7340 AsmMipsInstruction.setDataPrototype(
7341 "Rose::BinaryAnalysis::MipsInstructionKind",
"kind",
"= Rose::BinaryAnalysis::mips_unknown_instruction",
7342 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7345 DECLARE_OTHERS(AsmMipsInstruction);
7346#if defined(SgAsmMipsInstruction_OTHERS) || defined(DOCUMENTATION)
7349#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
7351 friend class boost::serialization::access;
7354 void serialize(S &s,
const unsigned ) {
7357 s & BOOST_SERIALIZATION_NVP(p_kind);
7369 Rose::BinaryAnalysis::MipsInstructionKind
const&
get_kind()
const;
7370 void set_kind(Rose::BinaryAnalysis::MipsInstructionKind
const&);
7386 uint8_t
const& architectureId,
7387 Rose::BinaryAnalysis::MipsInstructionKind
const& kind);
7407DECLARE_LEAF_CLASS(AsmMemoryReferenceExpression);
7408IS_SERIALIZABLE(AsmMemoryReferenceExpression);
7410#ifndef DOCUMENTATION
7411AsmMemoryReferenceExpression.useSmallHeader(
true);
7419#ifndef DOCUMENTATION
7420 AsmMemoryReferenceExpression.setDataPrototype(
7421 "SgAsmExpression*",
"address",
"= nullptr",
7422 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7425#ifndef DOCUMENTATION
7426 AsmMemoryReferenceExpression.setDataPrototype(
7427 "SgAsmExpression*",
"segment",
"= nullptr",
7428 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7431 DECLARE_OTHERS(AsmMemoryReferenceExpression);
7432#if defined(SgAsmMemoryReferenceExpression_OTHERS) || defined(DOCUMENTATION)
7435#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
7437 friend class boost::serialization::access;
7440 void serialize(S &s,
const unsigned ) {
7443 s & BOOST_SERIALIZATION_NVP(p_address);
7444 s & BOOST_SERIALIZATION_NVP(p_segment);
7504DECLARE_LEAF_CLASS(AsmM68kInstruction);
7505IS_SERIALIZABLE(AsmM68kInstruction);
7507#ifndef DOCUMENTATION
7508AsmM68kInstruction.useSmallHeader(
true);
7511DECLARE_HEADERS(AsmM68kInstruction);
7512#if defined(SgAsmM68kInstruction_HEADERS) || defined(DOCUMENTATION)
7513#include <Rose/BinaryAnalysis/InstructionEnumsM68k.h>
7520#ifndef DOCUMENTATION
7521 AsmM68kInstruction.setDataPrototype(
7522 "Rose::BinaryAnalysis::M68kInstructionKind",
"kind",
"= Rose::BinaryAnalysis::m68k_unknown_instruction",
7523 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7526#ifndef DOCUMENTATION
7527 AsmM68kInstruction.setDataPrototype(
7528 "Rose::BinaryAnalysis::M68kDataFormat",
"dataFormat",
"= Rose::BinaryAnalysis::m68k_fmt_unknown",
7529 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7532 DECLARE_OTHERS(AsmM68kInstruction);
7533#if defined(SgAsmM68kInstruction_OTHERS) || defined(DOCUMENTATION)
7536#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
7538 friend class boost::serialization::access;
7541 void serialize(S &s,
const unsigned ) {
7544 s & BOOST_SERIALIZATION_NVP(p_kind);
7545 s & BOOST_SERIALIZATION_NVP(p_dataFormat);
7557 Rose::BinaryAnalysis::M68kInstructionKind
const&
get_kind()
const;
7558 void set_kind(Rose::BinaryAnalysis::M68kInstructionKind
const&);
7582 uint8_t
const& architectureId,
7583 Rose::BinaryAnalysis::M68kInstructionKind
const& kind,
7584 Rose::BinaryAnalysis::M68kDataFormat
const& dataFormat);
7604DECLARE_LEAF_CLASS(AsmLESectionTableEntry);
7605IS_SERIALIZABLE(AsmLESectionTableEntry);
7607#ifndef DOCUMENTATION
7608AsmLESectionTableEntry.useSmallHeader(
true);
7611DECLARE_HEADERS(AsmLESectionTableEntry);
7612#if defined(SgAsmLESectionTableEntry_HEADERS) || defined(DOCUMENTATION)
7613#include <Rose/BinaryAnalysis/Address.h>
7614#include <Rose/BinaryAnalysis/ByteOrder.h>
7621#ifndef DOCUMENTATION
7622 AsmLESectionTableEntry.setDataPrototype(
7623 "unsigned",
"flags",
"= 0",
7624 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7627#ifndef DOCUMENTATION
7628 AsmLESectionTableEntry.setDataPrototype(
7629 "unsigned",
"pageMapIndex",
"= 0",
7630 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7633#ifndef DOCUMENTATION
7634 AsmLESectionTableEntry.setDataPrototype(
7635 "unsigned",
"pageMapNEntries",
"= 0",
7636 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7639#ifndef DOCUMENTATION
7640 AsmLESectionTableEntry.setDataPrototype(
7641 "unsigned",
"res1",
"= 0",
7642 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7645#ifndef DOCUMENTATION
7646 AsmLESectionTableEntry.setDataPrototype(
7647 "Rose::BinaryAnalysis::Address",
"mappedSize",
"= 0",
7648 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7651#ifndef DOCUMENTATION
7652 AsmLESectionTableEntry.setDataPrototype(
7653 "Rose::BinaryAnalysis::Address",
"baseAddr",
"= 0",
7654 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
7657 DECLARE_OTHERS(AsmLESectionTableEntry);
7658#if defined(SgAsmLESectionTableEntry_OTHERS) || defined(DOCUMENTATION)
7661#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
7663 friend class boost::serialization::access;
7666 void serialize(S &s,
const unsigned ) {
7669 s & BOOST_SERIALIZATION_NVP(p_flags);
7670 s & BOOST_SERIALIZATION_NVP(p_pageMapIndex);
7671 s & BOOST_SERIALIZATION_NVP(p_pageMapNEntries);
7672 s & BOOST_SERIALIZATION_NVP(p_res1);
7673 s & BOOST_SERIALIZATION_NVP(p_mappedSize);
7674 s & BOOST_SERIALIZATION_NVP(p_baseAddr);
7687 uint32_t mapped_size;
7690 uint32_t pagemap_index;
7691 uint32_t pagemap_nentries;
7697 __attribute__((packed))
7711 SF_RESERVED = 0xffff0800,
7723 SF_TYPE_MASK = 0x00000300,
7724 SF_TYPE_NORMAL = 0x00000000,
7741 unsigned const& get_flags()
const;
7742 void set_flags(
unsigned const&);
7745 unsigned const& get_pageMapIndex()
const;
7746 void set_pageMapIndex(
unsigned const&);
7749 unsigned const& get_pageMapNEntries()
const;
7750 void set_pageMapNEntries(
unsigned const&);
7753 unsigned const& get_res1()
const;
7754 void set_res1(
unsigned const&);
7770 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
7776 unsigned get_pagemap_index() const ROSE_DEPRECATED("use get pageMapIndex");
7777 void set_pagemap_index(
unsigned) ROSE_DEPRECATED("use set_pageMapIndex");
7778 unsigned get_pagemap_nentries() const ROSE_DEPRECATED("use get_pageMapNEntries");
7779 void set_pagemap_nentries(
unsigned) ROSE_DEPRECATED("use set_pageMapNEntries");
7780 Rose::BinaryAnalysis::Address get_mapped_size() const ROSE_DEPRECATED("use get_mappedSize");
7781 void set_mapped_size(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use set_mappedSize");
7782 Rose::BinaryAnalysis::Address get_base_addr() const ROSE_DEPRECATED("use get_baseAddr");
7783 void set_base_addr(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use set_baseAddr");
7810DECLARE_LEAF_CLASS(AsmLESectionTable);
7811IS_SERIALIZABLE(AsmLESectionTable);
7813#ifndef DOCUMENTATION
7814AsmLESectionTable.useSmallHeader(
true);
7817DECLARE_HEADERS(AsmLESectionTable);
7818#if defined(SgAsmLESectionTable_HEADERS) || defined(DOCUMENTATION)
7819#include <Rose/BinaryAnalysis/Address.h>
7826 DECLARE_OTHERS(AsmLESectionTable);
7827#if defined(SgAsmLESectionTable_OTHERS) || defined(DOCUMENTATION)
7830#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
7832 friend class boost::serialization::access;
7835 void serialize(S &s,
const unsigned ) {
7843 virtual void unparse(std::ostream&)
const override;
7844 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7871DECLARE_LEAF_CLASS(AsmLESection);
7872IS_SERIALIZABLE(AsmLESection);
7874#ifndef DOCUMENTATION
7875AsmLESection.useSmallHeader(
true);
7878DECLARE_HEADERS(AsmLESection);
7879#if defined(SgAsmLESection_HEADERS) || defined(DOCUMENTATION)
7880#ifdef ROSE_SgAsmLESection_IMPL
7881#include <SgAsmLESectionTableEntry.h>
7889#ifndef DOCUMENTATION
7890 AsmLESection.setDataPrototype(
7891 "SgAsmLESectionTableEntry*",
"sectionTableEntry",
"= nullptr",
7892 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7895 DECLARE_OTHERS(AsmLESection);
7896#if defined(SgAsmLESection_OTHERS) || defined(DOCUMENTATION)
7899#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
7901 friend class boost::serialization::access;
7904 void serialize(S &s,
const unsigned ) {
7907 s & BOOST_SERIALIZATION_NVP(p_sectionTableEntry);
7917 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
7951DECLARE_LEAF_CLASS(AsmLERelocTable);
7952IS_SERIALIZABLE(AsmLERelocTable);
7954#ifndef DOCUMENTATION
7955AsmLERelocTable.useSmallHeader(
true);
7958DECLARE_HEADERS(AsmLERelocTable);
7959#if defined(SgAsmLERelocTable_HEADERS) || defined(DOCUMENTATION)
7960#include <Rose/BinaryAnalysis/Address.h>
7967#ifndef DOCUMENTATION
7968 AsmLERelocTable.setDataPrototype(
7969 "SgAsmLERelocEntryPtrList",
"entries",
"",
7970 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
7973 DECLARE_OTHERS(AsmLERelocTable);
7974#if defined(SgAsmLERelocTable_OTHERS) || defined(DOCUMENTATION)
7977#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
7979 friend class boost::serialization::access;
7982 void serialize(S &s,
const unsigned ) {
7985 s & BOOST_SERIALIZATION_NVP(p_entries);
7991 SgAsmLERelocEntryPtrList
const& get_entries()
const;
7992 SgAsmLERelocEntryPtrList& get_entries();
7993 void set_entries(SgAsmLERelocEntryPtrList
const&);
7996 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_ENABLE_BOOST_SERIALIZATION
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(AsmLEPageTable);
8144IS_SERIALIZABLE(AsmLEPageTable);
8146#ifndef DOCUMENTATION
8147AsmLEPageTable.useSmallHeader(
true);
8150DECLARE_HEADERS(AsmLEPageTable);
8151#if defined(SgAsmLEPageTable_HEADERS) || defined(DOCUMENTATION)
8152#include <Rose/BinaryAnalysis/Address.h>
8159#ifndef DOCUMENTATION
8160 AsmLEPageTable.setDataPrototype(
8161 "SgAsmLEPageTableEntryPtrList",
"entries",
"",
8162 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8165 DECLARE_OTHERS(AsmLEPageTable);
8166#if defined(SgAsmLEPageTable_OTHERS) || defined(DOCUMENTATION)
8169#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
8171 friend class boost::serialization::access;
8174 void serialize(S &s,
const unsigned ) {
8177 s & BOOST_SERIALIZATION_NVP(p_entries);
8183 SgAsmLEPageTableEntryPtrList
const& get_entries()
const;
8184 SgAsmLEPageTableEntryPtrList& get_entries();
8185 void set_entries(SgAsmLEPageTableEntryPtrList
const&);
8188 virtual void unparse(std::ostream&)
const override;
8189 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
8217DECLARE_LEAF_CLASS(AsmLENameTable);
8218IS_SERIALIZABLE(AsmLENameTable);
8220#ifndef DOCUMENTATION
8221AsmLENameTable.useSmallHeader(
true);
8224DECLARE_HEADERS(AsmLENameTable);
8225#if defined(SgAsmLENameTable_HEADERS) || defined(DOCUMENTATION)
8226#include <Rose/BinaryAnalysis/Address.h>
8233#ifndef DOCUMENTATION
8234 AsmLENameTable.setDataPrototype(
8235 "SgStringList",
"names",
"",
8236 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8239#ifndef DOCUMENTATION
8240 AsmLENameTable.setDataPrototype(
8241 "SgUnsignedList",
"ordinals",
"",
8242 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8245 DECLARE_OTHERS(AsmLENameTable);
8246#if defined(SgAsmLENameTable_OTHERS) || defined(DOCUMENTATION)
8249#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
8251 friend class boost::serialization::access;
8254 void serialize(S &s,
const unsigned ) {
8257 s & BOOST_SERIALIZATION_NVP(p_names);
8258 s & BOOST_SERIALIZATION_NVP(p_ordinals);
8264 SgStringList
const& get_names()
const;
8265 void set_names(SgStringList
const&);
8268 SgUnsignedList
const& get_ordinals()
const;
8269 void set_ordinals(SgUnsignedList
const&);
8276 virtual void unparse(std::ostream&)
const override;
8277 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
8304DECLARE_LEAF_CLASS(AsmLEFileHeader);
8305IS_SERIALIZABLE(AsmLEFileHeader);
8307#ifndef DOCUMENTATION
8308AsmLEFileHeader.useSmallHeader(
true);
8311DECLARE_HEADERS(AsmLEFileHeader);
8312#if defined(SgAsmLEFileHeader_HEADERS) || defined(DOCUMENTATION)
8313#include <Rose/BinaryAnalysis/Address.h>
8314#include <Rose/BinaryAnalysis/ByteOrder.h>
8316#ifdef ROSE_SgAsmLEFileHeader_IMPL
8317#include <SgAsmDOSExtendedHeader.h>
8318#include <SgAsmLEEntryTable.h>
8319#include <SgAsmLENameTable.h>
8320#include <SgAsmLEPageTable.h>
8321#include <SgAsmLERelocTable.h>
8322#include <SgAsmLESectionTable.h>
8330#ifndef DOCUMENTATION
8331 AsmLEFileHeader.setDataPrototype(
8332 "unsigned",
"e_byte_order",
"= 0",
8333 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8336#ifndef DOCUMENTATION
8337 AsmLEFileHeader.setDataPrototype(
8338 "unsigned",
"e_word_order",
"= 0",
8339 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8342#ifndef DOCUMENTATION
8343 AsmLEFileHeader.setDataPrototype(
8344 "unsigned",
"e_format_level",
"= 0",
8345 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8348#ifndef DOCUMENTATION
8349 AsmLEFileHeader.setDataPrototype(
8350 "unsigned",
"e_cpu_type",
"= 0",
8351 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8354#ifndef DOCUMENTATION
8355 AsmLEFileHeader.setDataPrototype(
8356 "unsigned",
"e_os_type",
"= 0",
8357 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8360#ifndef DOCUMENTATION
8361 AsmLEFileHeader.setDataPrototype(
8362 "unsigned",
"e_module_version",
"= 0",
8363 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8366#ifndef DOCUMENTATION
8367 AsmLEFileHeader.setDataPrototype(
8368 "unsigned",
"e_flags",
"= 0",
8369 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8372#ifndef DOCUMENTATION
8373 AsmLEFileHeader.setDataPrototype(
8374 "unsigned",
"e_eip_section",
"= 0",
8375 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8378#ifndef DOCUMENTATION
8379 AsmLEFileHeader.setDataPrototype(
8380 "unsigned",
"e_esp_section",
"= 0",
8381 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8384#ifndef DOCUMENTATION
8385 AsmLEFileHeader.setDataPrototype(
8386 "unsigned",
"e_last_page_size",
"= 0",
8387 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8390#ifndef DOCUMENTATION
8391 AsmLEFileHeader.setDataPrototype(
8392 "unsigned",
"e_page_offset_shift",
"= 0",
8393 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8396#ifndef DOCUMENTATION
8397 AsmLEFileHeader.setDataPrototype(
8398 "unsigned",
"e_fixup_sect_cksum",
"= 0",
8399 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8402#ifndef DOCUMENTATION
8403 AsmLEFileHeader.setDataPrototype(
8404 "unsigned",
"e_loader_sect_cksum",
"= 0",
8405 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8408#ifndef DOCUMENTATION
8409 AsmLEFileHeader.setDataPrototype(
8410 "unsigned",
"e_secttab_nentries",
"= 0",
8411 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8414#ifndef DOCUMENTATION
8415 AsmLEFileHeader.setDataPrototype(
8416 "unsigned",
"e_rsrctab_nentries",
"= 0",
8417 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8420#ifndef DOCUMENTATION
8421 AsmLEFileHeader.setDataPrototype(
8422 "unsigned",
"e_fmtdirtab_nentries",
"= 0",
8423 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8426#ifndef DOCUMENTATION
8427 AsmLEFileHeader.setDataPrototype(
8428 "unsigned",
"e_import_modtab_nentries",
"= 0",
8429 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8432#ifndef DOCUMENTATION
8433 AsmLEFileHeader.setDataPrototype(
8434 "unsigned",
"e_preload_npages",
"= 0",
8435 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8438#ifndef DOCUMENTATION
8439 AsmLEFileHeader.setDataPrototype(
8440 "unsigned",
"e_nonresnametab_size",
"= 0",
8441 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8444#ifndef DOCUMENTATION
8445 AsmLEFileHeader.setDataPrototype(
8446 "unsigned",
"e_nonresnametab_cksum",
"= 0",
8447 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8450#ifndef DOCUMENTATION
8451 AsmLEFileHeader.setDataPrototype(
8452 "unsigned",
"e_auto_ds_section",
"= 0",
8453 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8456#ifndef DOCUMENTATION
8457 AsmLEFileHeader.setDataPrototype(
8458 "unsigned",
"e_debug_info_size",
"= 0",
8459 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8462#ifndef DOCUMENTATION
8463 AsmLEFileHeader.setDataPrototype(
8464 "unsigned",
"e_num_instance_preload",
"= 0",
8465 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8468#ifndef DOCUMENTATION
8469 AsmLEFileHeader.setDataPrototype(
8470 "unsigned",
"e_num_instance_demand",
"= 0",
8471 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8474#ifndef DOCUMENTATION
8475 AsmLEFileHeader.setDataPrototype(
8476 "unsigned",
"e_heap_size",
"= 0",
8477 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8480#ifndef DOCUMENTATION
8481 AsmLEFileHeader.setDataPrototype(
8482 "Rose::BinaryAnalysis::Address",
"e_npages",
"= 0",
8483 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8486#ifndef DOCUMENTATION
8487 AsmLEFileHeader.setDataPrototype(
8488 "Rose::BinaryAnalysis::Address",
"e_eip",
"= 0",
8489 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8492#ifndef DOCUMENTATION
8493 AsmLEFileHeader.setDataPrototype(
8494 "Rose::BinaryAnalysis::Address",
"e_esp",
"= 0",
8495 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8498#ifndef DOCUMENTATION
8499 AsmLEFileHeader.setDataPrototype(
8500 "Rose::BinaryAnalysis::Address",
"e_page_size",
"= 0",
8501 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8504#ifndef DOCUMENTATION
8505 AsmLEFileHeader.setDataPrototype(
8506 "Rose::BinaryAnalysis::Address",
"e_fixup_sect_size",
"= 0",
8507 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8510#ifndef DOCUMENTATION
8511 AsmLEFileHeader.setDataPrototype(
8512 "Rose::BinaryAnalysis::Address",
"e_loader_sect_size",
"= 0",
8513 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8516#ifndef DOCUMENTATION
8517 AsmLEFileHeader.setDataPrototype(
8518 "Rose::BinaryAnalysis::Address",
"e_secttab_rfo",
"= 0",
8519 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8522#ifndef DOCUMENTATION
8523 AsmLEFileHeader.setDataPrototype(
8524 "Rose::BinaryAnalysis::Address",
"e_pagetab_rfo",
"= 0",
8525 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8528#ifndef DOCUMENTATION
8529 AsmLEFileHeader.setDataPrototype(
8530 "Rose::BinaryAnalysis::Address",
"e_iterpages_offset",
"= 0",
8531 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8534#ifndef DOCUMENTATION
8535 AsmLEFileHeader.setDataPrototype(
8536 "Rose::BinaryAnalysis::Address",
"e_rsrctab_rfo",
"= 0",
8537 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8540#ifndef DOCUMENTATION
8541 AsmLEFileHeader.setDataPrototype(
8542 "Rose::BinaryAnalysis::Address",
"e_resnametab_rfo",
"= 0",
8543 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8546#ifndef DOCUMENTATION
8547 AsmLEFileHeader.setDataPrototype(
8548 "Rose::BinaryAnalysis::Address",
"e_entrytab_rfo",
"= 0",
8549 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8552#ifndef DOCUMENTATION
8553 AsmLEFileHeader.setDataPrototype(
8554 "Rose::BinaryAnalysis::Address",
"e_fmtdirtab_rfo",
"= 0",
8555 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8558#ifndef DOCUMENTATION
8559 AsmLEFileHeader.setDataPrototype(
8560 "Rose::BinaryAnalysis::Address",
"e_fixup_pagetab_rfo",
"= 0",
8561 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8564#ifndef DOCUMENTATION
8565 AsmLEFileHeader.setDataPrototype(
8566 "Rose::BinaryAnalysis::Address",
"e_fixup_rectab_rfo",
"= 0",
8567 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8570#ifndef DOCUMENTATION
8571 AsmLEFileHeader.setDataPrototype(
8572 "Rose::BinaryAnalysis::Address",
"e_import_modtab_rfo",
"= 0",
8573 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8576#ifndef DOCUMENTATION
8577 AsmLEFileHeader.setDataPrototype(
8578 "Rose::BinaryAnalysis::Address",
"e_import_proctab_rfo",
"= 0",
8579 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8582#ifndef DOCUMENTATION
8583 AsmLEFileHeader.setDataPrototype(
8584 "Rose::BinaryAnalysis::Address",
"e_ppcksumtab_rfo",
"= 0",
8585 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8588#ifndef DOCUMENTATION
8589 AsmLEFileHeader.setDataPrototype(
8590 "Rose::BinaryAnalysis::Address",
"e_data_pages_offset",
"= 0",
8591 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8594#ifndef DOCUMENTATION
8595 AsmLEFileHeader.setDataPrototype(
8596 "Rose::BinaryAnalysis::Address",
"e_nonresnametab_offset",
"= 0",
8597 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8600#ifndef DOCUMENTATION
8601 AsmLEFileHeader.setDataPrototype(
8602 "Rose::BinaryAnalysis::Address",
"e_debug_info_rfo",
"= 0",
8603 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8606#ifndef DOCUMENTATION
8607 AsmLEFileHeader.setDataPrototype(
8608 "SgAsmDOSExtendedHeader*",
"dos2Header",
"= nullptr",
8609 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8612#ifndef DOCUMENTATION
8613 AsmLEFileHeader.setDataPrototype(
8614 "SgAsmLESectionTable*",
"sectionTable",
"= nullptr",
8615 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
8618#ifndef DOCUMENTATION
8619 AsmLEFileHeader.setDataPrototype(
8620 "SgAsmLEPageTable*",
"pageTable",
"= nullptr",
8621 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8624#ifndef DOCUMENTATION
8625 AsmLEFileHeader.setDataPrototype(
8626 "SgAsmLENameTable*",
"residentNameTable",
"= nullptr",
8627 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8630#ifndef DOCUMENTATION
8631 AsmLEFileHeader.setDataPrototype(
8632 "SgAsmLENameTable*",
"nonresidentNameTable",
"= nullptr",
8633 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8636#ifndef DOCUMENTATION
8637 AsmLEFileHeader.setDataPrototype(
8638 "SgAsmLEEntryTable*",
"entryTable",
"= nullptr",
8639 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8642#ifndef DOCUMENTATION
8643 AsmLEFileHeader.setDataPrototype(
8644 "SgAsmLERelocTable*",
"relocationTable",
"= nullptr",
8645 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
8648 DECLARE_OTHERS(AsmLEFileHeader);
8649#if defined(SgAsmLEFileHeader_OTHERS) || defined(DOCUMENTATION)
8652#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
8654 friend class boost::serialization::access;
8657 void serialize(S &s,
const unsigned ) {
8660 s & BOOST_SERIALIZATION_NVP(p_e_byte_order);
8661 s & BOOST_SERIALIZATION_NVP(p_e_word_order);
8662 s & BOOST_SERIALIZATION_NVP(p_e_format_level);
8663 s & BOOST_SERIALIZATION_NVP(p_e_cpu_type);
8664 s & BOOST_SERIALIZATION_NVP(p_e_os_type);
8665 s & BOOST_SERIALIZATION_NVP(p_e_module_version);
8666 s & BOOST_SERIALIZATION_NVP(p_e_flags);
8667 s & BOOST_SERIALIZATION_NVP(p_e_eip_section);
8668 s & BOOST_SERIALIZATION_NVP(p_e_esp_section);
8669 s & BOOST_SERIALIZATION_NVP(p_e_last_page_size);
8670 s & BOOST_SERIALIZATION_NVP(p_e_page_offset_shift);
8671 s & BOOST_SERIALIZATION_NVP(p_e_fixup_sect_cksum);
8672 s & BOOST_SERIALIZATION_NVP(p_e_loader_sect_cksum);
8673 s & BOOST_SERIALIZATION_NVP(p_e_secttab_nentries);
8674 s & BOOST_SERIALIZATION_NVP(p_e_rsrctab_nentries);
8675 s & BOOST_SERIALIZATION_NVP(p_e_fmtdirtab_nentries);
8676 s & BOOST_SERIALIZATION_NVP(p_e_import_modtab_nentries);
8677 s & BOOST_SERIALIZATION_NVP(p_e_preload_npages);
8678 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_size);
8679 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_cksum);
8680 s & BOOST_SERIALIZATION_NVP(p_e_auto_ds_section);
8681 s & BOOST_SERIALIZATION_NVP(p_e_debug_info_size);
8682 s & BOOST_SERIALIZATION_NVP(p_e_num_instance_preload);
8683 s & BOOST_SERIALIZATION_NVP(p_e_num_instance_demand);
8684 s & BOOST_SERIALIZATION_NVP(p_e_heap_size);
8685 s & BOOST_SERIALIZATION_NVP(p_e_npages);
8686 s & BOOST_SERIALIZATION_NVP(p_e_eip);
8687 s & BOOST_SERIALIZATION_NVP(p_e_esp);
8688 s & BOOST_SERIALIZATION_NVP(p_e_page_size);
8689 s & BOOST_SERIALIZATION_NVP(p_e_fixup_sect_size);
8690 s & BOOST_SERIALIZATION_NVP(p_e_loader_sect_size);
8691 s & BOOST_SERIALIZATION_NVP(p_e_secttab_rfo);
8692 s & BOOST_SERIALIZATION_NVP(p_e_pagetab_rfo);
8693 s & BOOST_SERIALIZATION_NVP(p_e_iterpages_offset);
8694 s & BOOST_SERIALIZATION_NVP(p_e_rsrctab_rfo);
8695 s & BOOST_SERIALIZATION_NVP(p_e_resnametab_rfo);
8696 s & BOOST_SERIALIZATION_NVP(p_e_entrytab_rfo);
8697 s & BOOST_SERIALIZATION_NVP(p_e_fmtdirtab_rfo);
8698 s & BOOST_SERIALIZATION_NVP(p_e_fixup_pagetab_rfo);
8699 s & BOOST_SERIALIZATION_NVP(p_e_fixup_rectab_rfo);
8700 s & BOOST_SERIALIZATION_NVP(p_e_import_modtab_rfo);
8701 s & BOOST_SERIALIZATION_NVP(p_e_import_proctab_rfo);
8702 s & BOOST_SERIALIZATION_NVP(p_e_ppcksumtab_rfo);
8703 s & BOOST_SERIALIZATION_NVP(p_e_data_pages_offset);
8704 s & BOOST_SERIALIZATION_NVP(p_e_nonresnametab_offset);
8705 s & BOOST_SERIALIZATION_NVP(p_e_debug_info_rfo);
8706 s & BOOST_SERIALIZATION_NVP(p_dos2Header);
8707 s & BOOST_SERIALIZATION_NVP(p_sectionTable);
8708 s & BOOST_SERIALIZATION_NVP(p_pageTable);
8709 s & BOOST_SERIALIZATION_NVP(p_residentNameTable);
8710 s & BOOST_SERIALIZATION_NVP(p_nonresidentNameTable);
8711 s & BOOST_SERIALIZATION_NVP(p_entryTable);
8712 s & BOOST_SERIALIZATION_NVP(p_relocationTable);
8725 unsigned char e_magic[2];
8726 unsigned char e_byte_order;
8727 unsigned char e_word_order;
8728 uint32_t e_format_level;
8729 uint16_t e_cpu_type;
8731 uint32_t e_module_version;
8734 uint32_t e_eip_section;
8736 uint32_t e_esp_section;
8738 uint32_t e_page_size;
8739 uint32_t e_lps_or_shift;
8740 uint32_t e_fixup_sect_size;
8741 uint32_t e_fixup_sect_cksum;
8742 uint32_t e_loader_sect_size;
8743 uint32_t e_loader_sect_cksum;
8744 uint32_t e_secttab_rfo;
8745 uint32_t e_secttab_nentries;
8746 uint32_t e_pagetab_rfo;
8747 uint32_t e_iterpages_offset;
8748 uint32_t e_rsrctab_rfo;
8749 uint32_t e_rsrctab_nentries;
8750 uint32_t e_resnametab_rfo;
8751 uint32_t e_entrytab_rfo;
8752 uint32_t e_fmtdirtab_rfo;
8753 uint32_t e_fmtdirtab_nentries;
8754 uint32_t e_fixup_pagetab_rfo;
8755 uint32_t e_fixup_rectab_rfo;
8756 uint32_t e_import_modtab_rfo;
8757 uint32_t e_import_modtab_nentries;
8758 uint32_t e_import_proctab_rfo;
8759 uint32_t e_ppcksumtab_rfo;
8760 uint32_t e_data_pages_offset;
8761 uint32_t e_preload_npages;
8762 uint32_t e_nonresnametab_offset;
8763 uint32_t e_nonresnametab_size;
8764 uint32_t e_nonresnametab_cksum;
8765 uint32_t e_auto_ds_section;
8766 uint32_t e_debug_info_rfo;
8767 uint32_t e_debug_info_size;
8768 uint32_t e_num_instance_preload;
8769 uint32_t e_num_instance_demand;
8770 uint32_t e_heap_size;
8775 __attribute__((packed))
8783 enum LEFileHeaderFlags {
8784 HF_RESERVED = 0xbffc5ccb,
8785 HF_PROC_LIB_INIT = 0x00000004,
8786 HF_IFIXUPS_APPLIED = 0x00000010,
8787 HF_EFIXUPS_APPLIED = 0x00000020,
8788 HF_PM_WINDOW_NO = 0x00000100,
8789 HF_PM_WINDOW_OK = 0x00000200,
8790 HF_PM_WINDOW_USE = 0x00000300,
8791 HF_NOT_LOADABLE = 0x00002000,
8792 HF_PROC_LIB_TERM = 0x40000000,
8794 HF_MODTYPE_MASK = 0x00038000,
8795 HF_MODTYPE_PROG = 0x00000000,
8796 HF_MODTYPE_LIB = 0x00008000,
8797 HF_MODTYPE_PLIB = 0x00018000,
8798 HF_MODTYPE_PDEV = 0x00020000,
8799 HF_MODTYPE_VDEV = 0x00028000
8807 unsigned const& get_e_byte_order()
const;
8808 void set_e_byte_order(
unsigned const&);
8811 unsigned const& get_e_word_order()
const;
8812 void set_e_word_order(
unsigned const&);
8815 unsigned const& get_e_format_level()
const;
8816 void set_e_format_level(
unsigned const&);
8819 unsigned const& get_e_cpu_type()
const;
8820 void set_e_cpu_type(
unsigned const&);
8823 unsigned const& get_e_os_type()
const;
8824 void set_e_os_type(
unsigned const&);
8827 unsigned const& get_e_module_version()
const;
8828 void set_e_module_version(
unsigned const&);
8831 unsigned const& get_e_flags()
const;
8832 void set_e_flags(
unsigned const&);
8835 unsigned const& get_e_eip_section()
const;
8836 void set_e_eip_section(
unsigned const&);
8839 unsigned const& get_e_esp_section()
const;
8840 void set_e_esp_section(
unsigned const&);
8843 unsigned const& get_e_last_page_size()
const;
8844 void set_e_last_page_size(
unsigned const&);
8847 unsigned const& get_e_page_offset_shift()
const;
8848 void set_e_page_offset_shift(
unsigned const&);
8851 unsigned const& get_e_fixup_sect_cksum()
const;
8852 void set_e_fixup_sect_cksum(
unsigned const&);
8855 unsigned const& get_e_loader_sect_cksum()
const;
8856 void set_e_loader_sect_cksum(
unsigned const&);
8859 unsigned const& get_e_secttab_nentries()
const;
8860 void set_e_secttab_nentries(
unsigned const&);
8863 unsigned const& get_e_rsrctab_nentries()
const;
8864 void set_e_rsrctab_nentries(
unsigned const&);
8867 unsigned const& get_e_fmtdirtab_nentries()
const;
8868 void set_e_fmtdirtab_nentries(
unsigned const&);
8871 unsigned const& get_e_import_modtab_nentries()
const;
8872 void set_e_import_modtab_nentries(
unsigned const&);
8875 unsigned const& get_e_preload_npages()
const;
8876 void set_e_preload_npages(
unsigned const&);
8879 unsigned const& get_e_nonresnametab_size()
const;
8880 void set_e_nonresnametab_size(
unsigned const&);
8883 unsigned const& get_e_nonresnametab_cksum()
const;
8884 void set_e_nonresnametab_cksum(
unsigned const&);
8887 unsigned const& get_e_auto_ds_section()
const;
8888 void set_e_auto_ds_section(
unsigned const&);
8891 unsigned const& get_e_debug_info_size()
const;
8892 void set_e_debug_info_size(
unsigned const&);
8895 unsigned const& get_e_num_instance_preload()
const;
8896 void set_e_num_instance_preload(
unsigned const&);
8899 unsigned const& get_e_num_instance_demand()
const;
8900 void set_e_num_instance_demand(
unsigned const&);
8903 unsigned const& get_e_heap_size()
const;
8904 void set_e_heap_size(
unsigned const&);
9022 virtual void unparse(std::ostream&)
const override;
9023 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9042 SgAsmLEPageTable* get_page_table() const ROSE_DEPRECATED("use get_pageTable");
9043 void set_page_table(
SgAsmLEPageTable*) ROSE_DEPRECATED("use set_pageTable");
9044 SgAsmLENameTable* get_resname_table() const ROSE_DEPRECATED("use get_residentNameTable");
9045 void set_resname_table(
SgAsmLENameTable*) ROSE_DEPRECATED("use set_residentNameTable");
9046 SgAsmLENameTable* get_nonresname_table() const ROSE_DEPRECATED("use get_nonresidentNameTable");
9047 void set_nonresname_table(
SgAsmLENameTable*) ROSE_DEPRECATED("use set_nonresidentNameTable");
9048 SgAsmLEEntryTable* get_entry_table() const ROSE_DEPRECATED("use get_entryTable");
9050 SgAsmLERelocTable* get_reloc_table() const ROSE_DEPRECATED("use get_relocationTable");
9051 void set_reloc_table(
SgAsmLERelocTable*) ROSE_DEPRECATED("use set_relocationTable");
9052 const
char *format_name() const override ROSE_DEPRECATED("use
formatName");
9080DECLARE_LEAF_CLASS(AsmLEEntryTable);
9081IS_SERIALIZABLE(AsmLEEntryTable);
9083#ifndef DOCUMENTATION
9084AsmLEEntryTable.useSmallHeader(
true);
9087DECLARE_HEADERS(AsmLEEntryTable);
9088#if defined(SgAsmLEEntryTable_HEADERS) || defined(DOCUMENTATION)
9089#include <Rose/BinaryAnalysis/Address.h>
9096#ifndef DOCUMENTATION
9097 AsmLEEntryTable.setDataPrototype(
9098 "SgSizeTList",
"bundle_sizes",
"",
9099 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9102#ifndef DOCUMENTATION
9103 AsmLEEntryTable.setDataPrototype(
9104 "SgAsmLEEntryPointPtrList",
"entries",
"",
9105 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
9108 DECLARE_OTHERS(AsmLEEntryTable);
9109#if defined(SgAsmLEEntryTable_OTHERS) || defined(DOCUMENTATION)
9112#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9114 friend class boost::serialization::access;
9117 void serialize(S &s,
const unsigned ) {
9120 s & BOOST_SERIALIZATION_NVP(p_bundle_sizes);
9121 s & BOOST_SERIALIZATION_NVP(p_entries);
9127 SgSizeTList
const& get_bundle_sizes()
const;
9128 void set_bundle_sizes(SgSizeTList
const&);
9131 SgAsmLEEntryPointPtrList
const& get_entries()
const;
9132 SgAsmLEEntryPointPtrList& get_entries();
9133 void set_entries(SgAsmLEEntryPointPtrList
const&);
9136 virtual void unparse(std::ostream&)
const override;
9137 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9164DECLARE_LEAF_CLASS(AsmLEEntryPoint);
9165IS_SERIALIZABLE(AsmLEEntryPoint);
9167#ifndef DOCUMENTATION
9168AsmLEEntryPoint.useSmallHeader(
true);
9171DECLARE_HEADERS(AsmLEEntryPoint);
9172#if defined(SgAsmLEEntryPoint_HEADERS) || defined(DOCUMENTATION)
9173#include <Rose/BinaryAnalysis/Address.h>
9174#include <Rose/BinaryAnalysis/ByteOrder.h>
9175#include <sageContainer.h>
9182#ifndef DOCUMENTATION
9183 AsmLEEntryPoint.setDataPrototype(
9184 "SgAsmLEEntryPointPtrList",
"entries",
"",
9185 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
9188#ifndef DOCUMENTATION
9189 AsmLEEntryPoint.setDataPrototype(
9190 "unsigned",
"flags",
"= 0",
9191 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9194#ifndef DOCUMENTATION
9195 AsmLEEntryPoint.setDataPrototype(
9196 "unsigned",
"objnum",
"= 0",
9197 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9200#ifndef DOCUMENTATION
9201 AsmLEEntryPoint.setDataPrototype(
9202 "unsigned",
"entry_type",
"= 0",
9203 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9206#ifndef DOCUMENTATION
9207 AsmLEEntryPoint.setDataPrototype(
9208 "unsigned",
"res1",
"= 0",
9209 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9212#ifndef DOCUMENTATION
9213 AsmLEEntryPoint.setDataPrototype(
9214 "Rose::BinaryAnalysis::Address",
"entry_offset",
"= 0",
9215 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9218 DECLARE_OTHERS(AsmLEEntryPoint);
9219#if defined(SgAsmLEEntryPoint_OTHERS) || defined(DOCUMENTATION)
9222#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9224 friend class boost::serialization::access;
9227 void serialize(S &s,
const unsigned ) {
9230 s & BOOST_SERIALIZATION_NVP(p_entries);
9231 s & BOOST_SERIALIZATION_NVP(p_flags);
9232 s & BOOST_SERIALIZATION_NVP(p_objnum);
9233 s & BOOST_SERIALIZATION_NVP(p_entry_type);
9234 s & BOOST_SERIALIZATION_NVP(p_res1);
9235 s & BOOST_SERIALIZATION_NVP(p_entry_offset);
9252 uint32_t entry_offset;
9258 __attribute__((packed))
9271 SgAsmLEEntryPointPtrList
const& get_entries()
const;
9272 SgAsmLEEntryPointPtrList& get_entries();
9273 void set_entries(SgAsmLEEntryPointPtrList
const&);
9276 unsigned const& get_flags()
const;
9277 void set_flags(
unsigned const&);
9280 unsigned const& get_objnum()
const;
9281 void set_objnum(
unsigned const&);
9284 unsigned const& get_entry_type()
const;
9285 void set_entry_type(
unsigned const&);
9288 unsigned const& get_res1()
const;
9289 void set_res1(
unsigned const&);
9302 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
9329DECLARE_LEAF_CLASS(AsmJvmSynthetic);
9330IS_SERIALIZABLE(AsmJvmSynthetic);
9332#ifndef DOCUMENTATION
9333AsmJvmSynthetic.useSmallHeader(
true);
9344 DECLARE_OTHERS(AsmJvmSynthetic);
9345#if defined(SgAsmJvmSynthetic_OTHERS) || defined(DOCUMENTATION)
9348#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9350 friend class boost::serialization::access;
9353 void serialize(S &s,
const unsigned ) {
9393DECLARE_LEAF_CLASS(AsmJvmStackMapVerificationType);
9394IS_SERIALIZABLE(AsmJvmStackMapVerificationType);
9396#ifndef DOCUMENTATION
9397AsmJvmStackMapVerificationType.useSmallHeader(
true);
9407#ifndef DOCUMENTATION
9408 AsmJvmStackMapVerificationType.setDataPrototype(
9409 "uint8_t",
"tag",
"= 9",
9410 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9413#ifndef DOCUMENTATION
9414 AsmJvmStackMapVerificationType.setDataPrototype(
9415 "uint16_t",
"cpool_index",
"= 0",
9416 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9419#ifndef DOCUMENTATION
9420 AsmJvmStackMapVerificationType.setDataPrototype(
9421 "uint16_t",
"offset",
"= 0",
9422 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9425 DECLARE_OTHERS(AsmJvmStackMapVerificationType);
9426#if defined(SgAsmJvmStackMapVerificationType_OTHERS) || defined(DOCUMENTATION)
9429#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9431 friend class boost::serialization::access;
9434 void serialize(S &s,
const unsigned ) {
9437 s & BOOST_SERIALIZATION_NVP(p_tag);
9438 s & BOOST_SERIALIZATION_NVP(p_cpool_index);
9439 s & BOOST_SERIALIZATION_NVP(p_offset);
9448 enum verification_type_tag {
9455 ITEM_UninitializedThis = 6,
9457 ITEM_Uninitialized = 8
9467 union verification_type_info {
9469 Integer_variable_info;
9470 Float_variable_info;
9472 Double_variable_info;
9474 UninitializedThis_variable_info;
9475 Object_variable_info;
9476 Uninitialized_variable_info;
9480 struct Top_variable_info {
9483 struct Integer_variable_info {
9486 struct Float_variable_info {
9489 struct Long_variable_info {
9492 struct Double_variable_info {
9495 struct Null_variable_info {
9498 struct UnitializedThis_variable_info {
9501 struct Object_variable_info {
9503 uint16_t cpool_index;
9505 struct Unitialized_variable_info {
9557 virtual void unparse(std::ostream&)
const override;
9560 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9587DECLARE_LEAF_CLASS(AsmJvmStackMapTable);
9588IS_SERIALIZABLE(AsmJvmStackMapTable);
9590#ifndef DOCUMENTATION
9591AsmJvmStackMapTable.useSmallHeader(
true);
9594DECLARE_HEADERS(AsmJvmStackMapTable);
9595#if defined(SgAsmJvmStackMapTable_HEADERS) || defined(DOCUMENTATION)
9596#include <sageContainer.h>
9607#ifndef DOCUMENTATION
9608 AsmJvmStackMapTable.setDataPrototype(
9609 "SgAsmJvmStackMapFramePtrList",
"entries",
"",
9610 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9613 DECLARE_OTHERS(AsmJvmStackMapTable);
9614#if defined(SgAsmJvmStackMapTable_OTHERS) || defined(DOCUMENTATION)
9617#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9619 friend class boost::serialization::access;
9622 void serialize(S &s,
const unsigned ) {
9625 s & BOOST_SERIALIZATION_NVP(p_entries);
9654 virtual void unparse(std::ostream&)
const override;
9657 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9684DECLARE_LEAF_CLASS(AsmJvmStackMapFrame);
9685IS_SERIALIZABLE(AsmJvmStackMapFrame);
9687#ifndef DOCUMENTATION
9688AsmJvmStackMapFrame.useSmallHeader(
true);
9691DECLARE_HEADERS(AsmJvmStackMapFrame);
9692#if defined(SgAsmJvmStackMapFrame_HEADERS) || defined(DOCUMENTATION)
9693#include <sageContainer.h>
9703#ifndef DOCUMENTATION
9704 AsmJvmStackMapFrame.setDataPrototype(
9705 "SgAsmJvmStackMapVerificationTypePtrList",
"stack",
"",
9706 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9709#ifndef DOCUMENTATION
9710 AsmJvmStackMapFrame.setDataPrototype(
9711 "SgAsmJvmStackMapVerificationTypePtrList",
"locals",
"",
9712 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9715#ifndef DOCUMENTATION
9716 AsmJvmStackMapFrame.setDataPrototype(
9717 "uint8_t",
"frame_type",
"= 0",
9718 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9721#ifndef DOCUMENTATION
9722 AsmJvmStackMapFrame.setDataPrototype(
9723 "uint16_t",
"offset_delta",
"= 0",
9724 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9727 DECLARE_OTHERS(AsmJvmStackMapFrame);
9728#if defined(SgAsmJvmStackMapFrame_OTHERS) || defined(DOCUMENTATION)
9731#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9733 friend class boost::serialization::access;
9736 void serialize(S &s,
const unsigned ) {
9739 s & BOOST_SERIALIZATION_NVP(p_stack);
9740 s & BOOST_SERIALIZATION_NVP(p_locals);
9741 s & BOOST_SERIALIZATION_NVP(p_frame_type);
9742 s & BOOST_SERIALIZATION_NVP(p_offset_delta);
9752 SgAsmJvmStackMapVerificationTypePtrList
const&
get_stack()
const;
9754 void set_stack(SgAsmJvmStackMapVerificationTypePtrList
const&);
9761 SgAsmJvmStackMapVerificationTypePtrList
const&
get_locals()
const;
9775 same_locals_1_stack_item_frame_extended;
9787 verification_type_info stack;
9791 uint16_t offset_delta;
9792 verification_type_info stack;
9796 uint16_t offset_delta;
9800 uint16_t offset_delta;
9804 uint16_t offset_delta;
9805 verification_type_info stack;
9809 uint16_t offset_delta;
9810 uint16_t number_of_locals;
9811 verification_type_info stack[number_of_locals];
9812 uint16_t number_of_stack_items;
9813 verification_type_info stack[number_of_stack_items];
9853 virtual void unparse(std::ostream&)
const override;
9856 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9883DECLARE_LEAF_CLASS(AsmJvmSourceFile);
9884IS_SERIALIZABLE(AsmJvmSourceFile);
9886#ifndef DOCUMENTATION
9887AsmJvmSourceFile.useSmallHeader(
true);
9897#ifndef DOCUMENTATION
9898 AsmJvmSourceFile.setDataPrototype(
9899 "uint16_t",
"sourcefile_index",
"= 0",
9900 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9903 DECLARE_OTHERS(AsmJvmSourceFile);
9904#if defined(SgAsmJvmSourceFile_OTHERS) || defined(DOCUMENTATION)
9907#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9909 friend class boost::serialization::access;
9912 void serialize(S &s,
const unsigned ) {
9915 s & BOOST_SERIALIZATION_NVP(p_sourcefile_index);
9939 virtual void unparse(std::ostream&)
const override;
9942 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9969DECLARE_LEAF_CLASS(AsmJvmSignature);
9970IS_SERIALIZABLE(AsmJvmSignature);
9972#ifndef DOCUMENTATION
9973AsmJvmSignature.useSmallHeader(
true);
9984#ifndef DOCUMENTATION
9985 AsmJvmSignature.setDataPrototype(
9986 "uint16_t",
"signature_index",
"= 0",
9987 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9990 DECLARE_OTHERS(AsmJvmSignature);
9991#if defined(SgAsmJvmSignature_OTHERS) || defined(DOCUMENTATION)
9994#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9996 friend class boost::serialization::access;
9999 void serialize(S &s,
const unsigned ) {
10002 s & BOOST_SERIALIZATION_NVP(p_signature_index);
10029 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10047#ifdef DOCUMENTATION
10056DECLARE_LEAF_CLASS(AsmJvmNestMembers);
10057IS_SERIALIZABLE(AsmJvmNestMembers);
10059#ifndef DOCUMENTATION
10060AsmJvmNestMembers.useSmallHeader(
true);
10063DECLARE_HEADERS(AsmJvmNestMembers);
10064#if defined(SgAsmJvmNestMembers_HEADERS) || defined(DOCUMENTATION)
10065#include <sageContainer.h>
10068#ifdef DOCUMENTATION
10077#ifndef DOCUMENTATION
10078 AsmJvmNestMembers.setDataPrototype(
10079 "SgUnsigned16List",
"classes",
"",
10080 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10083 DECLARE_OTHERS(AsmJvmNestMembers);
10084#if defined(SgAsmJvmNestMembers_OTHERS) || defined(DOCUMENTATION)
10087#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10089 friend class boost::serialization::access;
10092 void serialize(S &s,
const unsigned ) {
10095 s & BOOST_SERIALIZATION_NVP(p_classes);
10125 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10143#ifdef DOCUMENTATION
10152DECLARE_LEAF_CLASS(AsmJvmNestHost);
10153IS_SERIALIZABLE(AsmJvmNestHost);
10155#ifndef DOCUMENTATION
10156AsmJvmNestHost.useSmallHeader(
true);
10159#ifdef DOCUMENTATION
10167#ifndef DOCUMENTATION
10168 AsmJvmNestHost.setDataPrototype(
10169 "uint16_t",
"host_class_index",
"= 0",
10170 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10173 DECLARE_OTHERS(AsmJvmNestHost);
10174#if defined(SgAsmJvmNestHost_OTHERS) || defined(DOCUMENTATION)
10177#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10179 friend class boost::serialization::access;
10182 void serialize(S &s,
const unsigned ) {
10185 s & BOOST_SERIALIZATION_NVP(p_host_class_index);
10215 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10233#ifdef DOCUMENTATION
10242DECLARE_LEAF_CLASS(AsmJvmModuleMainClass);
10243IS_SERIALIZABLE(AsmJvmModuleMainClass);
10245#ifndef DOCUMENTATION
10246AsmJvmModuleMainClass.useSmallHeader(
true);
10249#ifdef DOCUMENTATION
10257#ifndef DOCUMENTATION
10258 AsmJvmModuleMainClass.setDataPrototype(
10259 "uint16_t",
"main_class_index",
"= 0",
10260 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10263 DECLARE_OTHERS(AsmJvmModuleMainClass);
10264#if defined(SgAsmJvmModuleMainClass_OTHERS) || defined(DOCUMENTATION)
10267#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10269 friend class boost::serialization::access;
10272 void serialize(S &s,
const unsigned ) {
10275 s & BOOST_SERIALIZATION_NVP(p_main_class_index);
10302 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10320#ifdef DOCUMENTATION
10329DECLARE_LEAF_CLASS(AsmJvmMethodTable);
10330IS_SERIALIZABLE(AsmJvmMethodTable);
10332#ifndef DOCUMENTATION
10333AsmJvmMethodTable.useSmallHeader(
true);
10336#ifdef DOCUMENTATION
10345#ifndef DOCUMENTATION
10346 AsmJvmMethodTable.setDataPrototype(
10347 "SgAsmJvmMethodPtrList",
"methods",
"",
10348 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
10351 DECLARE_OTHERS(AsmJvmMethodTable);
10352#if defined(SgAsmJvmMethodTable_OTHERS) || defined(DOCUMENTATION)
10355#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10357 friend class boost::serialization::access;
10360 void serialize(S &s,
const unsigned ) {
10363 s & BOOST_SERIALIZATION_NVP(p_methods);
10392 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10410#ifdef DOCUMENTATION
10419DECLARE_LEAF_CLASS(AsmJvmMethodParametersEntry);
10420IS_SERIALIZABLE(AsmJvmMethodParametersEntry);
10422#ifndef DOCUMENTATION
10423AsmJvmMethodParametersEntry.useSmallHeader(
true);
10426#ifdef DOCUMENTATION
10434#ifndef DOCUMENTATION
10435 AsmJvmMethodParametersEntry.setDataPrototype(
10436 "uint16_t",
"name_index",
"= 0",
10437 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10440#ifndef DOCUMENTATION
10441 AsmJvmMethodParametersEntry.setDataPrototype(
10442 "uint16_t",
"access_flags",
"= 0",
10443 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10446 DECLARE_OTHERS(AsmJvmMethodParametersEntry);
10447#if defined(SgAsmJvmMethodParametersEntry_OTHERS) || defined(DOCUMENTATION)
10450#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10452 friend class boost::serialization::access;
10455 void serialize(S &s,
const unsigned ) {
10457 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10458 s & BOOST_SERIALIZATION_NVP(p_name_index);
10459 s & BOOST_SERIALIZATION_NVP(p_access_flags);
10497 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10515#ifdef DOCUMENTATION
10524DECLARE_LEAF_CLASS(AsmJvmMethodParameters);
10525IS_SERIALIZABLE(AsmJvmMethodParameters);
10527#ifndef DOCUMENTATION
10528AsmJvmMethodParameters.useSmallHeader(
true);
10531DECLARE_HEADERS(AsmJvmMethodParameters);
10532#if defined(SgAsmJvmMethodParameters_HEADERS) || defined(DOCUMENTATION)
10533#include <sageContainer.h>
10536#ifdef DOCUMENTATION
10545#ifndef DOCUMENTATION
10546 AsmJvmMethodParameters.setDataPrototype(
10547 "SgAsmJvmMethodParametersEntryPtrList",
"parameters",
"",
10548 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10551 DECLARE_OTHERS(AsmJvmMethodParameters);
10552#if defined(SgAsmJvmMethodParameters_OTHERS) || defined(DOCUMENTATION)
10555#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10557 friend class boost::serialization::access;
10560 void serialize(S &s,
const unsigned ) {
10563 s & BOOST_SERIALIZATION_NVP(p_parameters);
10591 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10609#ifdef DOCUMENTATION
10618DECLARE_LEAF_CLASS(AsmJvmMethod);
10619IS_SERIALIZABLE(AsmJvmMethod);
10621#ifndef DOCUMENTATION
10622AsmJvmMethod.useSmallHeader(
true);
10625DECLARE_HEADERS(AsmJvmMethod);
10626#if defined(SgAsmJvmMethod_HEADERS) || defined(DOCUMENTATION)
10627#ifdef ROSE_SgAsmJvmMethod_IMPL
10628#include <SgAsmInstructionList.h>
10629#include <SgAsmJvmAttributeTable.h>
10633#ifdef DOCUMENTATION
10641#ifndef DOCUMENTATION
10642 AsmJvmMethod.setDataPrototype(
10643 "uint16_t",
"access_flags",
"= 0",
10644 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10647#ifndef DOCUMENTATION
10648 AsmJvmMethod.setDataPrototype(
10649 "uint16_t",
"name_index",
"= 0",
10650 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10653#ifndef DOCUMENTATION
10654 AsmJvmMethod.setDataPrototype(
10655 "uint16_t",
"descriptor_index",
"= 0",
10656 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10659#ifndef DOCUMENTATION
10660 AsmJvmMethod.setDataPrototype(
10661 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
10662 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
10665#ifndef DOCUMENTATION
10666 AsmJvmMethod.setDataPrototype(
10667 "SgAsmInstructionList*",
"instruction_list",
"= createAndParent<SgAsmInstructionList>(this)",
10668 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10671 DECLARE_OTHERS(AsmJvmMethod);
10672#if defined(SgAsmJvmMethod_OTHERS) || defined(DOCUMENTATION)
10675#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10677 friend class boost::serialization::access;
10680 void serialize(S &s,
const unsigned ) {
10682 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10683 s & BOOST_SERIALIZATION_NVP(p_access_flags);
10684 s & BOOST_SERIALIZATION_NVP(p_name_index);
10685 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
10686 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
10687 s & BOOST_SERIALIZATION_NVP(p_instruction_list);
10753 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10771#ifdef DOCUMENTATION
10780DECLARE_LEAF_CLASS(AsmJvmLocalVariableTypeTable);
10781IS_SERIALIZABLE(AsmJvmLocalVariableTypeTable);
10783#ifndef DOCUMENTATION
10784AsmJvmLocalVariableTypeTable.useSmallHeader(
true);
10787DECLARE_HEADERS(AsmJvmLocalVariableTypeTable);
10788#if defined(SgAsmJvmLocalVariableTypeTable_HEADERS) || defined(DOCUMENTATION)
10789#include <sageContainer.h>
10792#ifdef DOCUMENTATION
10801#ifndef DOCUMENTATION
10802 AsmJvmLocalVariableTypeTable.setDataPrototype(
10803 "SgAsmJvmLocalVariableTypeEntryPtrList",
"local_variable_type_table",
"",
10804 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10807 DECLARE_OTHERS(AsmJvmLocalVariableTypeTable);
10808#if defined(SgAsmJvmLocalVariableTypeTable_OTHERS) || defined(DOCUMENTATION)
10811#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10813 friend class boost::serialization::access;
10816 void serialize(S &s,
const unsigned ) {
10819 s & BOOST_SERIALIZATION_NVP(p_local_variable_type_table);
10847 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10865#ifdef DOCUMENTATION
10874DECLARE_LEAF_CLASS(AsmJvmLocalVariableTypeEntry);
10875IS_SERIALIZABLE(AsmJvmLocalVariableTypeEntry);
10877#ifndef DOCUMENTATION
10878AsmJvmLocalVariableTypeEntry.useSmallHeader(
true);
10881#ifdef DOCUMENTATION
10888#ifndef DOCUMENTATION
10889 AsmJvmLocalVariableTypeEntry.setDataPrototype(
10890 "uint16_t",
"start_pc",
"= 0",
10891 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10894#ifndef DOCUMENTATION
10895 AsmJvmLocalVariableTypeEntry.setDataPrototype(
10896 "uint16_t",
"length",
"= 0",
10897 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10900#ifndef DOCUMENTATION
10901 AsmJvmLocalVariableTypeEntry.setDataPrototype(
10902 "uint16_t",
"name_index",
"= 0",
10903 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10906#ifndef DOCUMENTATION
10907 AsmJvmLocalVariableTypeEntry.setDataPrototype(
10908 "uint16_t",
"signature_index",
"= 0",
10909 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10912#ifndef DOCUMENTATION
10913 AsmJvmLocalVariableTypeEntry.setDataPrototype(
10914 "uint16_t",
"index",
"= 0",
10915 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10918 DECLARE_OTHERS(AsmJvmLocalVariableTypeEntry);
10919#if defined(SgAsmJvmLocalVariableTypeEntry_OTHERS) || defined(DOCUMENTATION)
10922#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10924 friend class boost::serialization::access;
10927 void serialize(S &s,
const unsigned ) {
10929 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10930 s & BOOST_SERIALIZATION_NVP(p_start_pc);
10931 s & BOOST_SERIALIZATION_NVP(p_length);
10932 s & BOOST_SERIALIZATION_NVP(p_name_index);
10933 s & BOOST_SERIALIZATION_NVP(p_signature_index);
10934 s & BOOST_SERIALIZATION_NVP(p_index);
11009 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11027#ifdef DOCUMENTATION
11036DECLARE_LEAF_CLASS(AsmJvmLocalVariableTable);
11037IS_SERIALIZABLE(AsmJvmLocalVariableTable);
11039#ifndef DOCUMENTATION
11040AsmJvmLocalVariableTable.useSmallHeader(
true);
11043DECLARE_HEADERS(AsmJvmLocalVariableTable);
11044#if defined(SgAsmJvmLocalVariableTable_HEADERS) || defined(DOCUMENTATION)
11045#include <sageContainer.h>
11048#ifdef DOCUMENTATION
11057#ifndef DOCUMENTATION
11058 AsmJvmLocalVariableTable.setDataPrototype(
11059 "SgAsmJvmLocalVariableEntryPtrList",
"local_variable_table",
"",
11060 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11063 DECLARE_OTHERS(AsmJvmLocalVariableTable);
11064#if defined(SgAsmJvmLocalVariableTable_OTHERS) || defined(DOCUMENTATION)
11067#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11069 friend class boost::serialization::access;
11072 void serialize(S &s,
const unsigned ) {
11075 s & BOOST_SERIALIZATION_NVP(p_local_variable_table);
11103 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11121#ifdef DOCUMENTATION
11130DECLARE_LEAF_CLASS(AsmJvmLocalVariableEntry);
11131IS_SERIALIZABLE(AsmJvmLocalVariableEntry);
11133#ifndef DOCUMENTATION
11134AsmJvmLocalVariableEntry.useSmallHeader(
true);
11137#ifdef DOCUMENTATION
11144#ifndef DOCUMENTATION
11145 AsmJvmLocalVariableEntry.setDataPrototype(
11146 "uint16_t",
"start_pc",
"= 0",
11147 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11150#ifndef DOCUMENTATION
11151 AsmJvmLocalVariableEntry.setDataPrototype(
11152 "uint16_t",
"length",
"= 0",
11153 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11156#ifndef DOCUMENTATION
11157 AsmJvmLocalVariableEntry.setDataPrototype(
11158 "uint16_t",
"name_index",
"= 0",
11159 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11162#ifndef DOCUMENTATION
11163 AsmJvmLocalVariableEntry.setDataPrototype(
11164 "uint16_t",
"descriptor_index",
"= 0",
11165 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11168#ifndef DOCUMENTATION
11169 AsmJvmLocalVariableEntry.setDataPrototype(
11170 "uint16_t",
"index",
"= 0",
11171 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11174 DECLARE_OTHERS(AsmJvmLocalVariableEntry);
11175#if defined(SgAsmJvmLocalVariableEntry_OTHERS) || defined(DOCUMENTATION)
11178#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11180 friend class boost::serialization::access;
11183 void serialize(S &s,
const unsigned ) {
11185 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11186 s & BOOST_SERIALIZATION_NVP(p_start_pc);
11187 s & BOOST_SERIALIZATION_NVP(p_length);
11188 s & BOOST_SERIALIZATION_NVP(p_name_index);
11189 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
11190 s & BOOST_SERIALIZATION_NVP(p_index);
11265 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11283#ifdef DOCUMENTATION
11292DECLARE_LEAF_CLASS(AsmJvmLineNumberTable);
11293IS_SERIALIZABLE(AsmJvmLineNumberTable);
11295#ifndef DOCUMENTATION
11296AsmJvmLineNumberTable.useSmallHeader(
true);
11299DECLARE_HEADERS(AsmJvmLineNumberTable);
11300#if defined(SgAsmJvmLineNumberTable_HEADERS) || defined(DOCUMENTATION)
11301#include <sageContainer.h>
11304#ifdef DOCUMENTATION
11313#ifndef DOCUMENTATION
11314 AsmJvmLineNumberTable.setDataPrototype(
11315 "SgAsmJvmLineNumberEntryPtrList",
"line_number_table",
"",
11316 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11319 DECLARE_OTHERS(AsmJvmLineNumberTable);
11320#if defined(SgAsmJvmLineNumberTable_OTHERS) || defined(DOCUMENTATION)
11323#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11325 friend class boost::serialization::access;
11328 void serialize(S &s,
const unsigned ) {
11331 s & BOOST_SERIALIZATION_NVP(p_line_number_table);
11359 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11377#ifdef DOCUMENTATION
11386DECLARE_LEAF_CLASS(AsmJvmLineNumberEntry);
11387IS_SERIALIZABLE(AsmJvmLineNumberEntry);
11389#ifndef DOCUMENTATION
11390AsmJvmLineNumberEntry.useSmallHeader(
true);
11393#ifdef DOCUMENTATION
11400#ifndef DOCUMENTATION
11401 AsmJvmLineNumberEntry.setDataPrototype(
11402 "uint16_t",
"start_pc",
"= 0",
11403 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11406#ifndef DOCUMENTATION
11407 AsmJvmLineNumberEntry.setDataPrototype(
11408 "uint16_t",
"line_number",
"= 0",
11409 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11412 DECLARE_OTHERS(AsmJvmLineNumberEntry);
11413#if defined(SgAsmJvmLineNumberEntry_OTHERS) || defined(DOCUMENTATION)
11416#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11418 friend class boost::serialization::access;
11421 void serialize(S &s,
const unsigned ) {
11423 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11424 s & BOOST_SERIALIZATION_NVP(p_start_pc);
11425 s & BOOST_SERIALIZATION_NVP(p_line_number);
11462 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11480#ifdef DOCUMENTATION
11489DECLARE_LEAF_CLASS(AsmJvmInstruction);
11490IS_SERIALIZABLE(AsmJvmInstruction);
11492#ifndef DOCUMENTATION
11493AsmJvmInstruction.useSmallHeader(
true);
11496DECLARE_HEADERS(AsmJvmInstruction);
11497#if defined(SgAsmJvmInstruction_HEADERS) || defined(DOCUMENTATION)
11498#include <Rose/BinaryAnalysis/InstructionEnumsJvm.h>
11501#ifdef DOCUMENTATION
11506#ifndef DOCUMENTATION
11507 AsmJvmInstruction.setDataPrototype(
11508 "Rose::BinaryAnalysis::JvmInstructionKind",
"kind",
"= Rose::BinaryAnalysis::JvmInstructionKind::unknown",
11509 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11512 DECLARE_OTHERS(AsmJvmInstruction);
11513#if defined(SgAsmJvmInstruction_OTHERS) || defined(DOCUMENTATION)
11516#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11518 friend class boost::serialization::access;
11521 void serialize(S &s,
const unsigned ) {
11524 s & BOOST_SERIALIZATION_NVP(p_kind);
11536 Rose::BinaryAnalysis::JvmInstructionKind
const&
get_kind()
const;
11537 void set_kind(Rose::BinaryAnalysis::JvmInstructionKind
const&);
11553 uint8_t
const& architectureId,
11554 Rose::BinaryAnalysis::JvmInstructionKind
const& kind);
11565#ifdef DOCUMENTATION
11574DECLARE_LEAF_CLASS(AsmJvmInnerClassesEntry);
11575IS_SERIALIZABLE(AsmJvmInnerClassesEntry);
11577#ifndef DOCUMENTATION
11578AsmJvmInnerClassesEntry.useSmallHeader(
true);
11581#ifdef DOCUMENTATION
11589#ifndef DOCUMENTATION
11590 AsmJvmInnerClassesEntry.setDataPrototype(
11591 "uint16_t",
"inner_class_info_index",
"= 0",
11592 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11595#ifndef DOCUMENTATION
11596 AsmJvmInnerClassesEntry.setDataPrototype(
11597 "uint16_t",
"outer_class_info_index",
"= 0",
11598 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11601#ifndef DOCUMENTATION
11602 AsmJvmInnerClassesEntry.setDataPrototype(
11603 "uint16_t",
"inner_name_index",
"= 0",
11604 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11607#ifndef DOCUMENTATION
11608 AsmJvmInnerClassesEntry.setDataPrototype(
11609 "uint16_t",
"inner_class_access_flags",
"= 0",
11610 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11613 DECLARE_OTHERS(AsmJvmInnerClassesEntry);
11614#if defined(SgAsmJvmInnerClassesEntry_OTHERS) || defined(DOCUMENTATION)
11617#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11619 friend class boost::serialization::access;
11622 void serialize(S &s,
const unsigned ) {
11624 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11625 s & BOOST_SERIALIZATION_NVP(p_inner_class_info_index);
11626 s & BOOST_SERIALIZATION_NVP(p_outer_class_info_index);
11627 s & BOOST_SERIALIZATION_NVP(p_inner_name_index);
11628 s & BOOST_SERIALIZATION_NVP(p_inner_class_access_flags);
11690 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11708#ifdef DOCUMENTATION
11717DECLARE_LEAF_CLASS(AsmJvmInnerClasses);
11718IS_SERIALIZABLE(AsmJvmInnerClasses);
11720#ifndef DOCUMENTATION
11721AsmJvmInnerClasses.useSmallHeader(
true);
11724DECLARE_HEADERS(AsmJvmInnerClasses);
11725#if defined(SgAsmJvmInnerClasses_HEADERS) || defined(DOCUMENTATION)
11726#include <sageContainer.h>
11729#ifdef DOCUMENTATION
11738#ifndef DOCUMENTATION
11739 AsmJvmInnerClasses.setDataPrototype(
11740 "SgAsmJvmInnerClassesEntryPtrList",
"classes",
"",
11741 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11744 DECLARE_OTHERS(AsmJvmInnerClasses);
11745#if defined(SgAsmJvmInnerClasses_OTHERS) || defined(DOCUMENTATION)
11748#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11750 friend class boost::serialization::access;
11753 void serialize(S &s,
const unsigned ) {
11756 s & BOOST_SERIALIZATION_NVP(p_classes);
11785 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11803#ifdef DOCUMENTATION
11812DECLARE_LEAF_CLASS(AsmJvmFileHeader);
11813IS_SERIALIZABLE(AsmJvmFileHeader);
11815#ifndef DOCUMENTATION
11816AsmJvmFileHeader.useSmallHeader(
true);
11819#ifdef DOCUMENTATION
11829#ifndef DOCUMENTATION
11830 AsmJvmFileHeader.setDataPrototype(
11831 "uint16_t",
"minor_version",
"= 0",
11832 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11835#ifndef DOCUMENTATION
11836 AsmJvmFileHeader.setDataPrototype(
11837 "uint16_t",
"major_version",
"= 0",
11838 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11841#ifndef DOCUMENTATION
11842 AsmJvmFileHeader.setDataPrototype(
11843 "uint16_t",
"access_flags",
"= 0",
11844 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11847#ifndef DOCUMENTATION
11848 AsmJvmFileHeader.setDataPrototype(
11849 "uint16_t",
"this_class",
"= 0",
11850 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11853#ifndef DOCUMENTATION
11854 AsmJvmFileHeader.setDataPrototype(
11855 "uint16_t",
"super_class",
"= 0",
11856 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11859#ifndef DOCUMENTATION
11860 AsmJvmFileHeader.setDataPrototype(
11861 "SgAsmJvmConstantPool*",
"constant_pool",
"= nullptr",
11862 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11865#ifndef DOCUMENTATION
11866 AsmJvmFileHeader.setDataPrototype(
11867 "std::list<uint16_t>",
"interfaces",
"",
11868 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11871#ifndef DOCUMENTATION
11872 AsmJvmFileHeader.setDataPrototype(
11873 "SgAsmJvmFieldTable*",
"field_table",
"= nullptr",
11874 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11877#ifndef DOCUMENTATION
11878 AsmJvmFileHeader.setDataPrototype(
11879 "SgAsmJvmMethodTable*",
"method_table",
"= nullptr",
11880 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11883#ifndef DOCUMENTATION
11884 AsmJvmFileHeader.setDataPrototype(
11885 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
11886 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11889 DECLARE_OTHERS(AsmJvmFileHeader);
11890#if defined(SgAsmJvmFileHeader_OTHERS) || defined(DOCUMENTATION)
11893#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11895 friend class boost::serialization::access;
11898 void serialize(S &s,
const unsigned ) {
11901 s & BOOST_SERIALIZATION_NVP(p_minor_version);
11902 s & BOOST_SERIALIZATION_NVP(p_major_version);
11903 s & BOOST_SERIALIZATION_NVP(p_access_flags);
11904 s & BOOST_SERIALIZATION_NVP(p_this_class);
11905 s & BOOST_SERIALIZATION_NVP(p_super_class);
11906 s & BOOST_SERIALIZATION_NVP(p_constant_pool);
11907 s & BOOST_SERIALIZATION_NVP(p_interfaces);
11908 s & BOOST_SERIALIZATION_NVP(p_field_table);
11909 s & BOOST_SERIALIZATION_NVP(p_method_table);
11910 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
12066#ifdef DOCUMENTATION
12075DECLARE_LEAF_CLASS(AsmJvmFieldTable);
12076IS_SERIALIZABLE(AsmJvmFieldTable);
12078#ifndef DOCUMENTATION
12079AsmJvmFieldTable.useSmallHeader(
true);
12082#ifdef DOCUMENTATION
12091#ifndef DOCUMENTATION
12092 AsmJvmFieldTable.setDataPrototype(
12093 "SgAsmJvmFieldPtrList",
"fields",
"",
12094 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
12097 DECLARE_OTHERS(AsmJvmFieldTable);
12098#if defined(SgAsmJvmFieldTable_OTHERS) || defined(DOCUMENTATION)
12101#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12103 friend class boost::serialization::access;
12106 void serialize(S &s,
const unsigned ) {
12109 s & BOOST_SERIALIZATION_NVP(p_fields);
12137 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12155#ifdef DOCUMENTATION
12164DECLARE_LEAF_CLASS(AsmJvmField);
12165IS_SERIALIZABLE(AsmJvmField);
12167#ifndef DOCUMENTATION
12168AsmJvmField.useSmallHeader(
true);
12171DECLARE_HEADERS(AsmJvmField);
12172#if defined(SgAsmJvmField_HEADERS) || defined(DOCUMENTATION)
12173#ifdef ROSE_SgAsmJvmField_IMPL
12174#include <SgAsmJvmAttributeTable.h>
12178#ifdef DOCUMENTATION
12185#ifndef DOCUMENTATION
12186 AsmJvmField.setDataPrototype(
12187 "uint16_t",
"access_flags",
"= 0",
12188 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12191#ifndef DOCUMENTATION
12192 AsmJvmField.setDataPrototype(
12193 "uint16_t",
"name_index",
"= 0",
12194 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12197#ifndef DOCUMENTATION
12198 AsmJvmField.setDataPrototype(
12199 "uint16_t",
"descriptor_index",
"= 0",
12200 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12203#ifndef DOCUMENTATION
12204 AsmJvmField.setDataPrototype(
12205 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
12206 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
12209 DECLARE_OTHERS(AsmJvmField);
12210#if defined(SgAsmJvmField_OTHERS) || defined(DOCUMENTATION)
12213#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12215 friend class boost::serialization::access;
12218 void serialize(S &s,
const unsigned ) {
12220 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
12221 s & BOOST_SERIALIZATION_NVP(p_access_flags);
12222 s & BOOST_SERIALIZATION_NVP(p_name_index);
12223 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
12224 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
12280 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12298#ifdef DOCUMENTATION
12307DECLARE_LEAF_CLASS(AsmJvmExceptions);
12308IS_SERIALIZABLE(AsmJvmExceptions);
12310#ifndef DOCUMENTATION
12311AsmJvmExceptions.useSmallHeader(
true);
12314DECLARE_HEADERS(AsmJvmExceptions);
12315#if defined(SgAsmJvmExceptions_HEADERS) || defined(DOCUMENTATION)
12316#include <sageContainer.h>
12319#ifdef DOCUMENTATION
12328#ifndef DOCUMENTATION
12329 AsmJvmExceptions.setDataPrototype(
12330 "SgUnsigned16List",
"exception_index_table",
"",
12331 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12334 DECLARE_OTHERS(AsmJvmExceptions);
12335#if defined(SgAsmJvmExceptions_OTHERS) || defined(DOCUMENTATION)
12338#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12340 friend class boost::serialization::access;
12343 void serialize(S &s,
const unsigned ) {
12346 s & BOOST_SERIALIZATION_NVP(p_exception_index_table);
12375 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12393#ifdef DOCUMENTATION
12402DECLARE_LEAF_CLASS(AsmJvmExceptionTable);
12403IS_SERIALIZABLE(AsmJvmExceptionTable);
12405#ifndef DOCUMENTATION
12406AsmJvmExceptionTable.useSmallHeader(
true);
12409DECLARE_HEADERS(AsmJvmExceptionTable);
12410#if defined(SgAsmJvmExceptionTable_HEADERS) || defined(DOCUMENTATION)
12411#include <sageContainer.h>
12414#ifdef DOCUMENTATION
12422#ifndef DOCUMENTATION
12423 AsmJvmExceptionTable.setDataPrototype(
12424 "SgAsmJvmExceptionHandlerPtrList",
"handlers",
"",
12425 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12428 DECLARE_OTHERS(AsmJvmExceptionTable);
12429#if defined(SgAsmJvmExceptionTable_OTHERS) || defined(DOCUMENTATION)
12432#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12434 friend class boost::serialization::access;
12437 void serialize(S &s,
const unsigned ) {
12439 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
12440 s & BOOST_SERIALIZATION_NVP(p_handlers);
12469 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12487#ifdef DOCUMENTATION
12496DECLARE_LEAF_CLASS(AsmJvmExceptionHandler);
12497IS_SERIALIZABLE(AsmJvmExceptionHandler);
12499#ifndef DOCUMENTATION
12500AsmJvmExceptionHandler.useSmallHeader(
true);
12503#ifdef DOCUMENTATION
12510#ifndef DOCUMENTATION
12511 AsmJvmExceptionHandler.setDataPrototype(
12512 "uint16_t",
"start_pc",
"= 0",
12513 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12516#ifndef DOCUMENTATION
12517 AsmJvmExceptionHandler.setDataPrototype(
12518 "uint16_t",
"end_pc",
"= 0",
12519 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12522#ifndef DOCUMENTATION
12523 AsmJvmExceptionHandler.setDataPrototype(
12524 "uint16_t",
"handler_pc",
"= 0",
12525 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12528#ifndef DOCUMENTATION
12529 AsmJvmExceptionHandler.setDataPrototype(
12530 "uint16_t",
"catch_type",
"= 0",
12531 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12534 DECLARE_OTHERS(AsmJvmExceptionHandler);
12535#if defined(SgAsmJvmExceptionHandler_OTHERS) || defined(DOCUMENTATION)
12538#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12540 friend class boost::serialization::access;
12543 void serialize(S &s,
const unsigned ) {
12545 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
12546 s & BOOST_SERIALIZATION_NVP(p_start_pc);
12547 s & BOOST_SERIALIZATION_NVP(p_end_pc);
12548 s & BOOST_SERIALIZATION_NVP(p_handler_pc);
12549 s & BOOST_SERIALIZATION_NVP(p_catch_type);
12610 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12628#ifdef DOCUMENTATION
12637DECLARE_LEAF_CLASS(AsmJvmEnclosingMethod);
12638IS_SERIALIZABLE(AsmJvmEnclosingMethod);
12640#ifndef DOCUMENTATION
12641AsmJvmEnclosingMethod.useSmallHeader(
true);
12644#ifdef DOCUMENTATION
12653#ifndef DOCUMENTATION
12654 AsmJvmEnclosingMethod.setDataPrototype(
12655 "uint16_t",
"class_index",
"= 0",
12656 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12659#ifndef DOCUMENTATION
12660 AsmJvmEnclosingMethod.setDataPrototype(
12661 "uint16_t",
"method_index",
"= 0",
12662 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12665 DECLARE_OTHERS(AsmJvmEnclosingMethod);
12666#if defined(SgAsmJvmEnclosingMethod_OTHERS) || defined(DOCUMENTATION)
12669#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12671 friend class boost::serialization::access;
12674 void serialize(S &s,
const unsigned ) {
12677 s & BOOST_SERIALIZATION_NVP(p_class_index);
12678 s & BOOST_SERIALIZATION_NVP(p_method_index);
12716 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12734#ifdef DOCUMENTATION
12743DECLARE_LEAF_CLASS(AsmJvmDeprecated);
12744IS_SERIALIZABLE(AsmJvmDeprecated);
12746#ifndef DOCUMENTATION
12747AsmJvmDeprecated.useSmallHeader(
true);
12750#ifdef DOCUMENTATION
12758 DECLARE_OTHERS(AsmJvmDeprecated);
12759#if defined(SgAsmJvmDeprecated_OTHERS) || defined(DOCUMENTATION)
12762#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12764 friend class boost::serialization::access;
12767 void serialize(S &s,
const unsigned ) {
12798#ifdef DOCUMENTATION
12807DECLARE_LEAF_CLASS(AsmJvmConstantValue);
12808IS_SERIALIZABLE(AsmJvmConstantValue);
12810#ifndef DOCUMENTATION
12811AsmJvmConstantValue.useSmallHeader(
true);
12814#ifdef DOCUMENTATION
12822#ifndef DOCUMENTATION
12823 AsmJvmConstantValue.setDataPrototype(
12824 "uint16_t",
"constantvalue_index",
"= 0",
12825 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12828 DECLARE_OTHERS(AsmJvmConstantValue);
12829#if defined(SgAsmJvmConstantValue_OTHERS) || defined(DOCUMENTATION)
12832#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12834 friend class boost::serialization::access;
12837 void serialize(S &s,
const unsigned ) {
12840 s & BOOST_SERIALIZATION_NVP(p_constantvalue_index);
12867 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12885#ifdef DOCUMENTATION
12894DECLARE_LEAF_CLASS(AsmJvmConstantPoolEntry);
12895IS_SERIALIZABLE(AsmJvmConstantPoolEntry);
12897#ifndef DOCUMENTATION
12898AsmJvmConstantPoolEntry.useSmallHeader(
true);
12901#ifdef DOCUMENTATION
12909#ifndef DOCUMENTATION
12910 AsmJvmConstantPoolEntry.setDataPrototype(
12911 "SgAsmJvmConstantPoolEntry::Kind",
"tag",
"= SgAsmJvmConstantPoolEntry::EMPTY",
12912 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12915#ifndef DOCUMENTATION
12916 AsmJvmConstantPoolEntry.setDataPrototype(
12917 "uint32_t",
"bytes",
"= 0",
12918 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12921#ifndef DOCUMENTATION
12922 AsmJvmConstantPoolEntry.setDataPrototype(
12923 "uint32_t",
"hi_bytes",
"= 0",
12924 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12927#ifndef DOCUMENTATION
12928 AsmJvmConstantPoolEntry.setDataPrototype(
12929 "uint32_t",
"low_bytes",
"= 0",
12930 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12933#ifndef DOCUMENTATION
12934 AsmJvmConstantPoolEntry.setDataPrototype(
12935 "uint16_t",
"bootstrap_method_attr_index",
"= 0",
12936 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12939#ifndef DOCUMENTATION
12940 AsmJvmConstantPoolEntry.setDataPrototype(
12941 "uint16_t",
"class_index",
"= 0",
12942 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12945#ifndef DOCUMENTATION
12946 AsmJvmConstantPoolEntry.setDataPrototype(
12947 "uint16_t",
"descriptor_index",
"= 0",
12948 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12951#ifndef DOCUMENTATION
12952 AsmJvmConstantPoolEntry.setDataPrototype(
12953 "uint16_t",
"name_index",
"= 0",
12954 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12957#ifndef DOCUMENTATION
12958 AsmJvmConstantPoolEntry.setDataPrototype(
12959 "uint16_t",
"name_and_type_index",
"= 0",
12960 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12963#ifndef DOCUMENTATION
12964 AsmJvmConstantPoolEntry.setDataPrototype(
12965 "uint16_t",
"reference_index",
"= 0",
12966 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12969#ifndef DOCUMENTATION
12970 AsmJvmConstantPoolEntry.setDataPrototype(
12971 "uint8_t",
"reference_kind",
"= 0",
12972 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12975#ifndef DOCUMENTATION
12976 AsmJvmConstantPoolEntry.setDataPrototype(
12977 "uint16_t",
"string_index",
"= 0",
12978 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12981#ifndef DOCUMENTATION
12982 AsmJvmConstantPoolEntry.setDataPrototype(
12983 "uint16_t",
"length",
"= 0",
12984 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12987#ifndef DOCUMENTATION
12988 AsmJvmConstantPoolEntry.setDataPrototype(
12989 "char*",
"utf8_bytes",
"= nullptr",
12990 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12993 DECLARE_OTHERS(AsmJvmConstantPoolEntry);
12994#if defined(SgAsmJvmConstantPoolEntry_OTHERS) || defined(DOCUMENTATION)
12997#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12999 friend class boost::serialization::access;
13002 void serialize(S &s,
const unsigned ) {
13004 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
13005 s & BOOST_SERIALIZATION_NVP(p_tag);
13006 s & BOOST_SERIALIZATION_NVP(p_bytes);
13007 s & BOOST_SERIALIZATION_NVP(p_hi_bytes);
13008 s & BOOST_SERIALIZATION_NVP(p_low_bytes);
13009 s & BOOST_SERIALIZATION_NVP(p_bootstrap_method_attr_index);
13010 s & BOOST_SERIALIZATION_NVP(p_class_index);
13011 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
13012 s & BOOST_SERIALIZATION_NVP(p_name_index);
13013 s & BOOST_SERIALIZATION_NVP(p_name_and_type_index);
13014 s & BOOST_SERIALIZATION_NVP(p_reference_index);
13015 s & BOOST_SERIALIZATION_NVP(p_reference_kind);
13016 s & BOOST_SERIALIZATION_NVP(p_string_index);
13017 s & BOOST_SERIALIZATION_NVP(p_length);
13032 CONSTANT_Integer = 3,
13033 CONSTANT_Float = 4,
13035 CONSTANT_Double = 6,
13036 CONSTANT_Class = 7,
13037 CONSTANT_String = 8,
13038 CONSTANT_Fieldref = 9,
13039 CONSTANT_Methodref = 10,
13040 CONSTANT_InterfaceMethodref = 11,
13041 CONSTANT_NameAndType = 12,
13042 CONSTANT_MethodHandle = 15,
13043 CONSTANT_MethodType = 16,
13044 CONSTANT_Dynamic = 17,
13045 CONSTANT_InvokeDynamic = 18,
13046 CONSTANT_Module = 19,
13047 CONSTANT_Package = 20
13050#ifdef DOCUMENTATION
13058 uint16_t name_index;
13065 uint16_t class_index;
13066 uint16_t name_and_type_index;
13070 uint16_t class_index;
13071 uint16_t name_and_type_index;
13075 uint16_t class_index;
13076 uint16_t name_and_type_index;
13082 uint16_t string_index;
13097 uint32_t low_bytes;
13102 uint32_t low_bytes;
13108 uint16_t name_index;
13109 uint16_t descriptor_index;
13122 uint8_t reference_kind;
13123 uint16_t reference_index;
13129 uint16_t descriptor_index;
13135 uint16_t bootstrap_method_attr_index;
13136 uint16_t name_and_type_index;
13140 uint16_t bootstrap_method_attr_index;
13141 uint16_t name_and_type_index;
13147 uint16_t name_index;
13153 uint16_t name_index;
13335 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13356#ifdef DOCUMENTATION
13365DECLARE_LEAF_CLASS(AsmJvmConstantPool);
13366IS_SERIALIZABLE(AsmJvmConstantPool);
13368#ifndef DOCUMENTATION
13369AsmJvmConstantPool.useSmallHeader(
true);
13372#ifdef DOCUMENTATION
13381#ifndef DOCUMENTATION
13382 AsmJvmConstantPool.setDataPrototype(
13383 "SgAsmJvmConstantPoolEntryPtrList",
"entries",
"",
13384 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13387 DECLARE_OTHERS(AsmJvmConstantPool);
13388#if defined(SgAsmJvmConstantPool_OTHERS) || defined(DOCUMENTATION)
13391#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13393 friend class boost::serialization::access;
13396 void serialize(S &s,
const unsigned ) {
13399 s & BOOST_SERIALIZATION_NVP(p_entries);
13441 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13463#ifdef DOCUMENTATION
13472DECLARE_LEAF_CLASS(AsmJvmCodeAttribute);
13473IS_SERIALIZABLE(AsmJvmCodeAttribute);
13475#ifndef DOCUMENTATION
13476AsmJvmCodeAttribute.useSmallHeader(
true);
13479DECLARE_HEADERS(AsmJvmCodeAttribute);
13480#if defined(SgAsmJvmCodeAttribute_HEADERS) || defined(DOCUMENTATION)
13481#include <Rose/BinaryAnalysis/Address.h>
13484#ifdef DOCUMENTATION
13493#ifndef DOCUMENTATION
13494 AsmJvmCodeAttribute.setDataPrototype(
13495 "uint16_t",
"max_stack",
"= 0",
13496 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13499#ifndef DOCUMENTATION
13500 AsmJvmCodeAttribute.setDataPrototype(
13501 "uint16_t",
"max_locals",
"= 0",
13502 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13505#ifndef DOCUMENTATION
13506 AsmJvmCodeAttribute.setDataPrototype(
13507 "uint32_t",
"code_length",
"= 0",
13508 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13511#ifndef DOCUMENTATION
13512 AsmJvmCodeAttribute.setDataPrototype(
13513 "const char*",
"code",
"= nullptr",
13514 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13517#ifndef DOCUMENTATION
13518 AsmJvmCodeAttribute.setDataPrototype(
13519 "SgAsmJvmExceptionTable*",
"exception_table",
"= nullptr",
13520 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13523#ifndef DOCUMENTATION
13524 AsmJvmCodeAttribute.setDataPrototype(
13525 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
13526 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13529#ifndef DOCUMENTATION
13530 AsmJvmCodeAttribute.setDataPrototype(
13531 "Rose::BinaryAnalysis::Address",
"code_offset",
"= 0",
13532 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13535 DECLARE_OTHERS(AsmJvmCodeAttribute);
13536#if defined(SgAsmJvmCodeAttribute_OTHERS) || defined(DOCUMENTATION)
13539#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13541 friend class boost::serialization::access;
13544 void serialize(S &s,
const unsigned ) {
13547 s & BOOST_SERIALIZATION_NVP(p_max_stack);
13548 s & BOOST_SERIALIZATION_NVP(p_max_locals);
13549 s & BOOST_SERIALIZATION_NVP(p_code_length);
13550 s & BOOST_SERIALIZATION_NVP(p_exception_table);
13551 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
13552 s & BOOST_SERIALIZATION_NVP(p_code_offset);
13643 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13661#ifdef DOCUMENTATION
13670DECLARE_LEAF_CLASS(AsmJvmClass);
13671IS_SERIALIZABLE(AsmJvmClass);
13673#ifndef DOCUMENTATION
13674AsmJvmClass.useSmallHeader(
true);
13677#ifdef DOCUMENTATION
13684 DECLARE_OTHERS(AsmJvmClass);
13685#if defined(SgAsmJvmClass_OTHERS) || defined(DOCUMENTATION)
13688#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13690 friend class boost::serialization::access;
13693 void serialize(S &s,
const unsigned ) {
13695 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
13717#ifdef DOCUMENTATION
13726DECLARE_LEAF_CLASS(AsmJvmBootstrapMethods);
13727IS_SERIALIZABLE(AsmJvmBootstrapMethods);
13729#ifndef DOCUMENTATION
13730AsmJvmBootstrapMethods.useSmallHeader(
true);
13733DECLARE_HEADERS(AsmJvmBootstrapMethods);
13734#if defined(SgAsmJvmBootstrapMethods_HEADERS) || defined(DOCUMENTATION)
13735#include <sageContainer.h>
13738#ifdef DOCUMENTATION
13746#ifndef DOCUMENTATION
13747 AsmJvmBootstrapMethods.setDataPrototype(
13748 "SgAsmJvmBootstrapMethodPtrList",
"bootstrap_methods",
"",
13749 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13752 DECLARE_OTHERS(AsmJvmBootstrapMethods);
13753#if defined(SgAsmJvmBootstrapMethods_OTHERS) || defined(DOCUMENTATION)
13756#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13758 friend class boost::serialization::access;
13761 void serialize(S &s,
const unsigned ) {
13764 s & BOOST_SERIALIZATION_NVP(p_bootstrap_methods);
13796 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13814#ifdef DOCUMENTATION
13823DECLARE_LEAF_CLASS(AsmJvmBootstrapMethod);
13824IS_SERIALIZABLE(AsmJvmBootstrapMethod);
13826#ifndef DOCUMENTATION
13827AsmJvmBootstrapMethod.useSmallHeader(
true);
13830DECLARE_HEADERS(AsmJvmBootstrapMethod);
13831#if defined(SgAsmJvmBootstrapMethod_HEADERS) || defined(DOCUMENTATION)
13832#include <sageContainer.h>
13835#ifdef DOCUMENTATION
13844#ifndef DOCUMENTATION
13845 AsmJvmBootstrapMethod.setDataPrototype(
13846 "uint16_t",
"bootstrap_method_ref",
"= 0",
13847 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13850#ifndef DOCUMENTATION
13851 AsmJvmBootstrapMethod.setDataPrototype(
13852 "SgUnsigned16List",
"bootstrap_arguments",
"",
13853 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13856 DECLARE_OTHERS(AsmJvmBootstrapMethod);
13857#if defined(SgAsmJvmBootstrapMethod_OTHERS) || defined(DOCUMENTATION)
13860#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13862 friend class boost::serialization::access;
13865 void serialize(S &s,
const unsigned ) {
13867 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
13868 s & BOOST_SERIALIZATION_NVP(p_bootstrap_method_ref);
13869 s & BOOST_SERIALIZATION_NVP(p_bootstrap_arguments);
13908 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13926#ifdef DOCUMENTATION
13935DECLARE_LEAF_CLASS(AsmJvmAttributeTable);
13936IS_SERIALIZABLE(AsmJvmAttributeTable);
13938#ifndef DOCUMENTATION
13939AsmJvmAttributeTable.useSmallHeader(
true);
13942#ifdef DOCUMENTATION
13951#ifndef DOCUMENTATION
13952 AsmJvmAttributeTable.setDataPrototype(
13953 "SgAsmJvmAttributePtrList",
"attributes",
"",
13954 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
13957 DECLARE_OTHERS(AsmJvmAttributeTable);
13958#if defined(SgAsmJvmAttributeTable_OTHERS) || defined(DOCUMENTATION)
13961#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13963 friend class boost::serialization::access;
13966 void serialize(S &s,
const unsigned ) {
13969 s & BOOST_SERIALIZATION_NVP(p_attributes);
14000 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
14018#ifdef DOCUMENTATION
14027#ifndef DOCUMENTATION
14028AstNodeClass& AsmJvmAttribute = nonTerminalConstructor(
14032 "AsmJvmAttributeTag",
14033 SubclassListBuilder()
14034 | AsmJvmBootstrapMethods
14035 | AsmJvmCodeAttribute
14036 | AsmJvmConstantValue
14038 | AsmJvmEnclosingMethod
14040 | AsmJvmInnerClasses
14041 | AsmJvmLineNumberTable
14042 | AsmJvmLocalVariableTable
14043 | AsmJvmLocalVariableTypeTable
14044 | AsmJvmMethodParameters
14045 | AsmJvmModuleMainClass
14047 | AsmJvmNestMembers
14050 | AsmJvmStackMapTable
14053assert(AsmJvmAttribute.associatedGrammar !=
nullptr);
14054AsmJvmAttribute.setCppCondition(
"!defined(DOCUMENTATION)");
14055AsmJvmAttribute.isBoostSerializable(
true);
14056AsmJvmAttribute.setAutomaticGenerationOfConstructor(
false);
14057AsmJvmAttribute.setAutomaticGenerationOfDestructor(
false);
14060#ifndef DOCUMENTATION
14061AsmJvmAttribute.useSmallHeader(
true);
14064#ifdef DOCUMENTATION
14069#ifndef DOCUMENTATION
14070 AsmJvmAttribute.setDataPrototype(
14071 "uint16_t",
"attribute_name_index",
"= 0",
14072 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14075#ifndef DOCUMENTATION
14076 AsmJvmAttribute.setDataPrototype(
14077 "uint32_t",
"attribute_length",
"= 0",
14078 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14081 DECLARE_OTHERS(AsmJvmAttribute);
14082#if defined(SgAsmJvmAttribute_OTHERS) || defined(DOCUMENTATION)
14085#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14087 friend class boost::serialization::access;
14090 void serialize(S &s,
const unsigned ) {
14092 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
14093 s & BOOST_SERIALIZATION_NVP(p_attribute_name_index);
14094 s & BOOST_SERIALIZATION_NVP(p_attribute_length);
14130 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
14148#ifdef DOCUMENTATION
14157#ifndef DOCUMENTATION
14158AstNodeClass& AsmJvmNode = nonTerminalConstructor(
14163 SubclassListBuilder()
14165 | AsmJvmBootstrapMethod
14167 | AsmJvmConstantPoolEntry
14168 | AsmJvmExceptionHandler
14169 | AsmJvmExceptionTable
14171 | AsmJvmInnerClassesEntry
14172 | AsmJvmLineNumberEntry
14173 | AsmJvmLocalVariableEntry
14174 | AsmJvmLocalVariableTypeEntry
14176 | AsmJvmMethodParametersEntry
14177 | AsmJvmStackMapFrame
14178 | AsmJvmStackMapVerificationType
14180assert(AsmJvmNode.associatedGrammar !=
nullptr);
14181AsmJvmNode.setCppCondition(
"!defined(DOCUMENTATION)");
14182AsmJvmNode.isBoostSerializable(
true);
14183AsmJvmNode.setAutomaticGenerationOfConstructor(
false);
14184AsmJvmNode.setAutomaticGenerationOfDestructor(
false);
14187#ifndef DOCUMENTATION
14188AsmJvmNode.useSmallHeader(
true);
14191#ifdef DOCUMENTATION
14196 DECLARE_OTHERS(AsmJvmNode);
14197#if defined(SgAsmJvmNode_OTHERS) || defined(DOCUMENTATION)
14200#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14202 friend class boost::serialization::access;
14205 void serialize(S &s,
const unsigned ) {
14207 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
14216 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
14234#ifdef DOCUMENTATION
14243DECLARE_LEAF_CLASS(AsmInterpretationList);
14244IS_SERIALIZABLE(AsmInterpretationList);
14246#ifndef DOCUMENTATION
14247AsmInterpretationList.useSmallHeader(
true);
14250DECLARE_HEADERS(AsmInterpretationList);
14251#if defined(SgAsmInterpretationList_HEADERS) || defined(DOCUMENTATION)
14252#include <sageContainer.h>
14255#ifdef DOCUMENTATION
14259#ifndef DOCUMENTATION
14260 AsmInterpretationList.setDataPrototype(
14261 "SgAsmInterpretationPtrList",
"interpretations",
"",
14262 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
14265 DECLARE_OTHERS(AsmInterpretationList);
14266#if defined(SgAsmInterpretationList_OTHERS) || defined(DOCUMENTATION)
14269#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14271 friend class boost::serialization::access;
14274 void serialize(S &s,
const unsigned ) {
14276 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
14277 s & BOOST_SERIALIZATION_NVP(p_interpretations);
14311#ifdef DOCUMENTATION
14320DECLARE_LEAF_CLASS(AsmInterpretation);
14321IS_SERIALIZABLE(AsmInterpretation);
14323#ifndef DOCUMENTATION
14324AsmInterpretation.useSmallHeader(
true);
14327DECLARE_HEADERS(AsmInterpretation);
14328#if defined(SgAsmInterpretation_HEADERS) || defined(DOCUMENTATION)
14329#include <Rose/BinaryAnalysis/BasicTypes.h>
14330#include <Rose/BinaryAnalysis/InstructionMap.h>
14331#include <Rose/BinaryAnalysis/MemoryMap.h>
14333#ifdef ROSE_SgAsmInterpretation_IMPL
14334#include <SgAsmBlock.h>
14335#include <SgAsmGenericHeaderList.h>
14339#ifdef DOCUMENTATION
14349#ifndef DOCUMENTATION
14350 AsmInterpretation.setDataPrototype(
14351 "SgAsmGenericHeaderList*",
"headers",
"= createAndParent<SgAsmGenericHeaderList>(this)",
14352 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14355#ifndef DOCUMENTATION
14356 AsmInterpretation.setDataPrototype(
14357 "SgAsmBlock*",
"globalBlock",
"= nullptr",
14358 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
14361#ifndef DOCUMENTATION
14362 AsmInterpretation.setDataPrototype(
14363 "bool",
"coverageComputed",
"= false",
14364 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14367#ifndef DOCUMENTATION
14368 AsmInterpretation.setDataPrototype(
14369 "double",
"percentageCoverage",
"= NAN",
14370 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14373 DECLARE_OTHERS(AsmInterpretation);
14374#if defined(SgAsmInterpretation_OTHERS) || defined(DOCUMENTATION)
14377#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14379 friend class boost::serialization::access;
14382 void serialize(S &s,
const unsigned ) {
14384 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
14385 s & BOOST_SERIALIZATION_NVP(p_headers);
14386 s & BOOST_SERIALIZATION_NVP(p_globalBlock);
14387 s & BOOST_SERIALIZATION_NVP(p_map);
14388 s & BOOST_SERIALIZATION_NVP(instruction_map);
14389 s & BOOST_SERIALIZATION_NVP(p_coverageComputed);
14390 s & BOOST_SERIALIZATION_NVP(p_percentageCoverage);
14496 Rose::BinaryAnalysis::InstructionMap& get_instruction_map(
bool=false) ROSE_DEPRECATED("use
get_instructionMap");
14497 void set_instruction_map(const
Rose::BinaryAnalysis::InstructionMap&) ROSE_DEPRECATED("use
set_instructionMap");
14498 void insert_instructions(
Rose::BinaryAnalysis::InstructionMap&) ROSE_DEPRECATED("use
insertInstructions");
14499 void erase_instructions(
Rose::BinaryAnalysis::InstructionMap&) ROSE_DEPRECATED("use
eraseInstructions");
14517#ifdef DOCUMENTATION
14526DECLARE_LEAF_CLASS(AsmIntegerValueExpression);
14527IS_SERIALIZABLE(AsmIntegerValueExpression);
14529#ifndef DOCUMENTATION
14530AsmIntegerValueExpression.useSmallHeader(
true);
14533#ifdef DOCUMENTATION
14552#ifndef DOCUMENTATION
14553 AsmIntegerValueExpression.setDataPrototype(
14554 "SgNode*",
"baseNode",
"= nullptr",
14555 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14558 DECLARE_OTHERS(AsmIntegerValueExpression);
14559#if defined(SgAsmIntegerValueExpression_OTHERS) || defined(DOCUMENTATION)
14562#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14564 friend class boost::serialization::access;
14567 void serialize(S &s,
const unsigned ) {
14570 s & BOOST_SERIALIZATION_NVP(p_baseNode);
14687#ifdef DOCUMENTATION
14696DECLARE_LEAF_CLASS(AsmIntegerType);
14697IS_SERIALIZABLE(AsmIntegerType);
14699#ifndef DOCUMENTATION
14700AsmIntegerType.useSmallHeader(
true);
14703DECLARE_HEADERS(AsmIntegerType);
14704#if defined(SgAsmIntegerType_HEADERS) || defined(DOCUMENTATION)
14705#include <Rose/BinaryAnalysis/ByteOrder.h>
14708#ifdef DOCUMENTATION
14713#ifndef DOCUMENTATION
14714 AsmIntegerType.setDataPrototype(
14715 "bool",
"isSigned",
"= false",
14716 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14719 DECLARE_OTHERS(AsmIntegerType);
14720#if defined(SgAsmIntegerType_OTHERS) || defined(DOCUMENTATION)
14723#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14725 friend class boost::serialization::access;
14728 void serialize(S &s,
const unsigned ) {
14731 s & BOOST_SERIALIZATION_NVP(p_isSigned);
14777#ifdef DOCUMENTATION
14786DECLARE_LEAF_CLASS(AsmInstructionList);
14787IS_SERIALIZABLE(AsmInstructionList);
14789#ifndef DOCUMENTATION
14790AsmInstructionList.useSmallHeader(
true);
14793DECLARE_HEADERS(AsmInstructionList);
14794#if defined(SgAsmInstructionList_HEADERS) || defined(DOCUMENTATION)
14795#include <sageContainer.h>
14798#ifdef DOCUMENTATION
14803#ifndef DOCUMENTATION
14804 AsmInstructionList.setDataPrototype(
14805 "SgAsmInstructionPtrList",
"instructions",
"",
14806 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14809 DECLARE_OTHERS(AsmInstructionList);
14810#if defined(SgAsmInstructionList_OTHERS) || defined(DOCUMENTATION)
14813#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14815 friend class boost::serialization::access;
14818 void serialize(S &s,
const unsigned ) {
14820 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
14821 s & BOOST_SERIALIZATION_NVP(p_instructions);
14856#ifdef DOCUMENTATION
14865DECLARE_LEAF_CLASS(AsmIndirectRegisterExpression);
14866IS_SERIALIZABLE(AsmIndirectRegisterExpression);
14868#ifndef DOCUMENTATION
14869AsmIndirectRegisterExpression.useSmallHeader(
true);
14872#ifdef DOCUMENTATION
14891#ifndef DOCUMENTATION
14892 AsmIndirectRegisterExpression.setDataPrototype(
14893 "Rose::BinaryAnalysis::RegisterDescriptor",
"stride",
"",
14894 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14897#ifndef DOCUMENTATION
14898 AsmIndirectRegisterExpression.setDataPrototype(
14899 "Rose::BinaryAnalysis::RegisterDescriptor",
"offset",
"",
14900 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14903#ifndef DOCUMENTATION
14904 AsmIndirectRegisterExpression.setDataPrototype(
14905 "size_t",
"index",
"= 0",
14906 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14909#ifndef DOCUMENTATION
14910 AsmIndirectRegisterExpression.setDataPrototype(
14911 "size_t",
"modulus",
"= 0",
14912 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14915 DECLARE_OTHERS(AsmIndirectRegisterExpression);
14916#if defined(SgAsmIndirectRegisterExpression_OTHERS) || defined(DOCUMENTATION)
14919#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14921 friend class boost::serialization::access;
14924 void serialize(S &s,
const unsigned ) {
14927 s & BOOST_SERIALIZATION_NVP(p_stride);
14928 s & BOOST_SERIALIZATION_NVP(p_offset);
14929 s & BOOST_SERIALIZATION_NVP(p_index);
14930 s & BOOST_SERIALIZATION_NVP(p_modulus);
14988 size_t const& index,
14989 size_t const& modulus);
15000#ifdef DOCUMENTATION
15009DECLARE_LEAF_CLASS(AsmGenericSymbolList);
15010IS_SERIALIZABLE(AsmGenericSymbolList);
15012#ifndef DOCUMENTATION
15013AsmGenericSymbolList.useSmallHeader(
true);
15016DECLARE_HEADERS(AsmGenericSymbolList);
15017#if defined(SgAsmGenericSymbolList_HEADERS) || defined(DOCUMENTATION)
15018#include <sageContainer.h>
15021#ifdef DOCUMENTATION
15029#ifndef DOCUMENTATION
15030 AsmGenericSymbolList.setDataPrototype(
15031 "SgAsmGenericSymbolPtrList",
"symbols",
"",
15032 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15035 DECLARE_OTHERS(AsmGenericSymbolList);
15036#if defined(SgAsmGenericSymbolList_OTHERS) || defined(DOCUMENTATION)
15039#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15041 friend class boost::serialization::access;
15044 void serialize(S &s,
const unsigned ) {
15047 s & BOOST_SERIALIZATION_NVP(p_symbols);
15078#ifdef DOCUMENTATION
15087DECLARE_LEAF_CLASS(AsmGenericSectionList);
15088IS_SERIALIZABLE(AsmGenericSectionList);
15090#ifndef DOCUMENTATION
15091AsmGenericSectionList.useSmallHeader(
true);
15094DECLARE_HEADERS(AsmGenericSectionList);
15095#if defined(SgAsmGenericSectionList_HEADERS) || defined(DOCUMENTATION)
15096#include <sageContainer.h>
15099#ifdef DOCUMENTATION
15107#ifndef DOCUMENTATION
15108 AsmGenericSectionList.setDataPrototype(
15109 "SgAsmGenericSectionPtrList",
"sections",
"",
15110 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15113 DECLARE_OTHERS(AsmGenericSectionList);
15114#if defined(SgAsmGenericSectionList_OTHERS) || defined(DOCUMENTATION)
15117#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15119 friend class boost::serialization::access;
15122 void serialize(S &s,
const unsigned ) {
15125 s & BOOST_SERIALIZATION_NVP(p_sections);
15156#ifdef DOCUMENTATION
15165DECLARE_LEAF_CLASS(AsmGenericHeaderList);
15166IS_SERIALIZABLE(AsmGenericHeaderList);
15168#ifndef DOCUMENTATION
15169AsmGenericHeaderList.useSmallHeader(
true);
15172DECLARE_HEADERS(AsmGenericHeaderList);
15173#if defined(SgAsmGenericHeaderList_HEADERS) || defined(DOCUMENTATION)
15174#include <sageContainer.h>
15177#ifdef DOCUMENTATION
15185#ifndef DOCUMENTATION
15186 AsmGenericHeaderList.setDataPrototype(
15187 "SgAsmGenericHeaderPtrList",
"headers",
"",
15188 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15191 DECLARE_OTHERS(AsmGenericHeaderList);
15192#if defined(SgAsmGenericHeaderList_OTHERS) || defined(DOCUMENTATION)
15195#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15197 friend class boost::serialization::access;
15200 void serialize(S &s,
const unsigned ) {
15203 s & BOOST_SERIALIZATION_NVP(p_headers);
15234#ifdef DOCUMENTATION
15243DECLARE_LEAF_CLASS(AsmGenericFormat);
15244IS_SERIALIZABLE(AsmGenericFormat);
15246#ifndef DOCUMENTATION
15247AsmGenericFormat.useSmallHeader(
true);
15250DECLARE_HEADERS(AsmGenericFormat);
15251#if defined(SgAsmGenericFormat_HEADERS) || defined(DOCUMENTATION)
15252#include <Rose/BinaryAnalysis/ByteOrder.h>
15255#ifdef DOCUMENTATION
15260#ifndef DOCUMENTATION
15261 AsmGenericFormat.setDataPrototype(
15262 "SgAsmGenericFormat::ExecFamily",
"family",
"= SgAsmGenericFormat::FAMILY_UNSPECIFIED",
15263 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15266#ifndef DOCUMENTATION
15267 AsmGenericFormat.setDataPrototype(
15268 "SgAsmGenericFormat::ExecPurpose",
"purpose",
"= SgAsmGenericFormat::PURPOSE_EXECUTABLE",
15269 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15272#ifndef DOCUMENTATION
15273 AsmGenericFormat.setDataPrototype(
15274 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"sex",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
15275 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15278#ifndef DOCUMENTATION
15279 AsmGenericFormat.setDataPrototype(
15280 "unsigned",
"version",
"= 0",
15281 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15284#ifndef DOCUMENTATION
15285 AsmGenericFormat.setDataPrototype(
15286 "bool",
"isCurrentVersion",
"= false",
15287 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15290#ifndef DOCUMENTATION
15291 AsmGenericFormat.setDataPrototype(
15292 "SgAsmGenericFormat::ExecABI",
"abi",
"= SgAsmGenericFormat::ABI_UNSPECIFIED",
15293 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15296#ifndef DOCUMENTATION
15297 AsmGenericFormat.setDataPrototype(
15298 "unsigned",
"abiVersion",
"= 0",
15299 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15302#ifndef DOCUMENTATION
15303 AsmGenericFormat.setDataPrototype(
15304 "size_t",
"wordSize",
"= 0",
15305 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15308 DECLARE_OTHERS(AsmGenericFormat);
15309#if defined(SgAsmGenericFormat_OTHERS) || defined(DOCUMENTATION)
15312#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15314 friend class boost::serialization::access;
15317 void serialize(S &s,
const unsigned ) {
15320 s & BOOST_SERIALIZATION_NVP(p_family);
15321 s & BOOST_SERIALIZATION_NVP(p_purpose);
15322 s & BOOST_SERIALIZATION_NVP(p_sex);
15323 s & BOOST_SERIALIZATION_NVP(p_version);
15324 s & BOOST_SERIALIZATION_NVP(p_isCurrentVersion);
15325 s & BOOST_SERIALIZATION_NVP(p_abi);
15326 s & BOOST_SERIALIZATION_NVP(p_abiVersion);
15327 s & BOOST_SERIALIZATION_NVP(p_wordSize);
15400 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
15408 unsigned get_abi_version() const ROSE_DEPRECATED("use
get_abiVersion");
15409 void set_abi_version(
unsigned) ROSE_DEPRECATED("use
set_abiVersion");
15410 size_t get_word_size() const ROSE_DEPRECATED("use
get_wordSize");
15411 void set_word_size(
size_t) ROSE_DEPRECATED("use
set_wordSize");
15429#ifdef DOCUMENTATION
15438DECLARE_LEAF_CLASS(AsmGenericFileList);
15439IS_SERIALIZABLE(AsmGenericFileList);
15441#ifndef DOCUMENTATION
15442AsmGenericFileList.useSmallHeader(
true);
15445DECLARE_HEADERS(AsmGenericFileList);
15446#if defined(SgAsmGenericFileList_HEADERS) || defined(DOCUMENTATION)
15447#include <sageContainer.h>
15450#ifdef DOCUMENTATION
15458#ifndef DOCUMENTATION
15459 AsmGenericFileList.setDataPrototype(
15460 "SgAsmGenericFilePtrList",
"files",
"",
15461 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15464 DECLARE_OTHERS(AsmGenericFileList);
15465#if defined(SgAsmGenericFileList_OTHERS) || defined(DOCUMENTATION)
15468#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15470 friend class boost::serialization::access;
15473 void serialize(S &s,
const unsigned ) {
15475 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
15476 s & BOOST_SERIALIZATION_NVP(p_files);
15507#ifdef DOCUMENTATION
15516DECLARE_LEAF_CLASS(AsmGenericFile);
15517IS_SERIALIZABLE(AsmGenericFile);
15519#ifndef DOCUMENTATION
15520AsmGenericFile.useSmallHeader(
true);
15523DECLARE_HEADERS(AsmGenericFile);
15524#if defined(SgAsmGenericFile_HEADERS) || defined(DOCUMENTATION)
15525#include <Rose/BinaryAnalysis/Address.h>
15526#include <Rose/BinaryAnalysis/MemoryMap.h>
15527#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
15529#include "DataConversion.h"
15530#include "StatSerializer.h"
15532#ifdef ROSE_SgAsmGenericFile_IMPL
15533#include <SgAsmDwarfCompilationUnitList.h>
15534#include <SgAsmGenericSectionList.h>
15535#include <SgAsmGenericHeaderList.h>
15538#include <sys/stat.h>
15541#ifdef DOCUMENTATION
15546#ifndef DOCUMENTATION
15547 AsmGenericFile.setDataPrototype(
15548 "SgAsmDwarfCompilationUnitList*",
"dwarfInfo",
"= nullptr",
15549 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15552#ifndef DOCUMENTATION
15553 AsmGenericFile.setDataPrototype(
15554 "std::string",
"name",
"",
15555 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15558#ifndef DOCUMENTATION
15559 AsmGenericFile.setDataPrototype(
15560 "int",
"fd",
"= -1",
15561 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15564#ifndef DOCUMENTATION
15565 AsmGenericFile.setDataPrototype(
15566 "struct stat",
"sb",
"",
15567 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15570#ifndef DOCUMENTATION
15571 AsmGenericFile.setDataPrototype(
15572 "SgFileContentList",
"data",
"",
15573 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15576#ifndef DOCUMENTATION
15577 AsmGenericFile.setDataPrototype(
15578 "SgAsmGenericHeaderList*",
"headers",
"= createAndParent<SgAsmGenericHeaderList>(this)",
15579 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15582#ifndef DOCUMENTATION
15583 AsmGenericFile.setDataPrototype(
15584 "SgAsmGenericSectionList*",
"holes",
"= createAndParent<SgAsmGenericSectionList>(this)",
15585 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15588#ifndef DOCUMENTATION
15589 AsmGenericFile.setDataPrototype(
15590 "bool",
"truncateZeros",
"= false",
15591 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15594#ifndef DOCUMENTATION
15595 AsmGenericFile.setDataPrototype(
15596 "bool",
"trackingReferences",
"= true",
15597 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15600#ifndef DOCUMENTATION
15601 AsmGenericFile.setDataPrototype(
15602 "Rose::BinaryAnalysis::AddressIntervalSet",
"referencedExtents",
"",
15603 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15606#ifndef DOCUMENTATION
15607 AsmGenericFile.setDataPrototype(
15608 "bool",
"neuter",
"= false",
15609 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15612 DECLARE_OTHERS(AsmGenericFile);
15613#if defined(SgAsmGenericFile_OTHERS) || defined(DOCUMENTATION)
15616#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15618 friend class boost::serialization::access;
15621 void serialize(S &s,
const unsigned ) {
15624 s & BOOST_SERIALIZATION_NVP(p_dwarfInfo);
15625 s & BOOST_SERIALIZATION_NVP(p_name);
15626 s & BOOST_SERIALIZATION_NVP(p_sb);
15627 s & BOOST_SERIALIZATION_NVP(p_data);
15628 s & BOOST_SERIALIZATION_NVP(p_headers);
15629 s & BOOST_SERIALIZATION_NVP(p_holes);
15630 s & BOOST_SERIALIZATION_NVP(p_truncateZeros);
15631 s & BOOST_SERIALIZATION_NVP(p_trackingReferences);
15632 s & BOOST_SERIALIZATION_NVP(p_referencedExtents);
15633 s & BOOST_SERIALIZATION_NVP(p_neuter);
15643 ADDRSP_MEMORY = 0x0001,
15644 ADDRSP_FILE = 0x0002,
15645 ADDRSP_ALL = 0x0003
15686 struct stat const& get_sb()
const;
16039 const
Rose::BinaryAnalysis::AddressIntervalSet& get_referenced_extents() const ROSE_DEPRECATED("use
get_referencedExtents");
16040 void set_referenced_extents(const
Rose::BinaryAnalysis::AddressIntervalSet&) ROSE_DEPRECATED("use
set_referencedExtents");
16041 void extend_to_eof(std::ostream&) const ROSE_DEPRECATED("use
extendToEof");
16042 void dump_all(
bool in_cwd=true, const
char *ext=NULL) ROSE_DEPRECATED("use
dumpAll");
16043 void dump_all(const std::
string& dumpname) ROSE_DEPRECATED("use
dumpAll");
16044 const
Rose::BinaryAnalysis::AddressIntervalSet& get_unreferenced_extents() const
16046 void mark_referenced_extent(
Rose::BinaryAnalysis::Address,
Rose::BinaryAnalysis::Address)
16050 Rose::BinaryAnalysis::Address get_current_size() const ROSE_DEPRECATED("use
get_currentSize");
16052 size_t read_content(
Rose::BinaryAnalysis::Address,
void*,
Rose::BinaryAnalysis::Address,
bool=true)
16054 size_t read_content(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::Address,
void*,
16055 Rose::BinaryAnalysis::Address,
bool=true) ROSE_DEPRECATED("use
readContent");
16056 std::
string read_content_str(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::Address,
bool=true)
16058 std::
string read_content_str(
Rose::BinaryAnalysis::Address,
bool=true) ROSE_DEPRECATED("use
readContentString");
16059 SgAsmGenericSectionPtrList get_mapped_sections() const ROSE_DEPRECATED("use
get_mappedSections");
16060 SgAsmGenericSectionPtrList get_sections_by_id(
int id) const ROSE_DEPRECATED("use
get_sectionById");
16061 SgAsmGenericSectionPtrList get_sections_by_name(std::
string,
char='\0') const ROSE_DEPRECATED("use
get_sectionsByName");
16062 SgAsmGenericSectionPtrList get_sections_by_offset(
Rose::BinaryAnalysis::Address,
Rose::BinaryAnalysis::Address) const
16064 SgAsmGenericSectionPtrList get_sections_by_rva(
Rose::BinaryAnalysis::Address) const ROSE_DEPRECATED("use
get_sectionsByRva");
16065 SgAsmGenericSectionPtrList get_sections_by_va(
Rose::BinaryAnalysis::Address) const ROSE_DEPRECATED("use
get_sectionsByVa");
16067 SgAsmGenericSection *get_section_by_name(const std::
string&,
char=0,
size_t* =
nullptr) const
16077 static
SgAsmGenericSection *best_section_by_va(const SgAsmGenericSectionPtrList&,
Rose::BinaryAnalysis::Address)
16083 Rose::BinaryAnalysis::Address get_next_section_offset(
Rose::BinaryAnalysis::Address)
16087 void fill_holes() ROSE_DEPRECATED("use
fillHoles");
16088 void unfill_holes() ROSE_DEPRECATED("use
unfillHoles");
16091 const
char *format_name() const ROSE_DEPRECATED("use
formatName");
16109#ifdef DOCUMENTATION
16118DECLARE_LEAF_CLASS(AsmGenericDLLList);
16119IS_SERIALIZABLE(AsmGenericDLLList);
16121#ifndef DOCUMENTATION
16122AsmGenericDLLList.useSmallHeader(
true);
16125DECLARE_HEADERS(AsmGenericDLLList);
16126#if defined(SgAsmGenericDLLList_HEADERS) || defined(DOCUMENTATION)
16127#include <sageContainer.h>
16130#ifdef DOCUMENTATION
16138#ifndef DOCUMENTATION
16139 AsmGenericDLLList.setDataPrototype(
16140 "SgAsmGenericDLLPtrList",
"dlls",
"",
16141 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16144 DECLARE_OTHERS(AsmGenericDLLList);
16145#if defined(SgAsmGenericDLLList_OTHERS) || defined(DOCUMENTATION)
16148#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
16150 friend class boost::serialization::access;
16153 void serialize(S &s,
const unsigned ) {
16156 s & BOOST_SERIALIZATION_NVP(p_dlls);
16187#ifdef DOCUMENTATION
16196DECLARE_LEAF_CLASS(AsmGenericDLL);
16197IS_SERIALIZABLE(AsmGenericDLL);
16199#ifndef DOCUMENTATION
16200AsmGenericDLL.useSmallHeader(
true);
16203DECLARE_HEADERS(AsmGenericDLL);
16204#if defined(SgAsmGenericDLL_HEADERS) || defined(DOCUMENTATION)
16205#include <sageContainer.h>
16207#ifdef ROSE_SgAsmGenericDLL_IMPL
16208#include <SgAsmBasicString.h>
16212#ifdef DOCUMENTATION
16217#ifndef DOCUMENTATION
16218 AsmGenericDLL.setDataPrototype(
16219 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
16220 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16223#ifndef DOCUMENTATION
16224 AsmGenericDLL.setDataPrototype(
16225 "SgStringList",
"symbols",
"",
16226 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16229 DECLARE_OTHERS(AsmGenericDLL);
16230#if defined(SgAsmGenericDLL_OTHERS) || defined(DOCUMENTATION)
16233#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
16235 friend class boost::serialization::access;
16238 void serialize(S &s,
const unsigned ) {
16241 s & BOOST_SERIALIZATION_NVP(p_name);
16242 s & BOOST_SERIALIZATION_NVP(p_symbols);
16266 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
16275 void add_symbol(
const std::string&) ROSE_DEPRECATED(
"use addSymbol");
16293#ifdef DOCUMENTATION
16302DECLARE_LEAF_CLASS(AsmFunction);
16303IS_SERIALIZABLE(AsmFunction);
16305#ifndef DOCUMENTATION
16306AsmFunction.useSmallHeader(
true);
16309DECLARE_HEADERS(AsmFunction);
16310#if defined(SgAsmFunction_HEADERS) || defined(DOCUMENTATION)
16311#include <Rose/BinaryAnalysis/Address.h>
16312#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
16313#include <sageContainer.h>
16315#ifdef ROSE_SgAsmFunction_IMPL
16316#include <SgAsmInstruction.h>
16320#ifdef DOCUMENTATION
16339#ifndef DOCUMENTATION
16340 AsmFunction.setDataPrototype(
16341 "std::string",
"name",
"",
16342 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16345#ifndef DOCUMENTATION
16346 AsmFunction.setDataPrototype(
16347 "unsigned",
"reason",
"= SgAsmFunction::FUNC_NONE",
16348 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16351#ifndef DOCUMENTATION
16352 AsmFunction.setDataPrototype(
16353 "std::string",
"reasonComment",
"",
16354 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16357#ifndef DOCUMENTATION
16358 AsmFunction.setDataPrototype(
16359 "SgAsmFunction::function_kind_enum",
"functionKind",
"= SgAsmFunction::e_unknown",
16360 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16363#ifndef DOCUMENTATION
16364 AsmFunction.setDataPrototype(
16365 "SgAsmFunction::MayReturn",
"mayReturn",
"= SgAsmFunction::RET_UNKNOWN",
16366 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16369#ifndef DOCUMENTATION
16370 AsmFunction.setDataPrototype(
16371 "std::string",
"nameMd5",
"",
16372 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16375#ifndef DOCUMENTATION
16376 AsmFunction.setDataPrototype(
16377 "SgAsmStatementPtrList",
"statementList",
"",
16378 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16381#ifndef DOCUMENTATION
16382 AsmFunction.setDataPrototype(
16383 "SgAsmStatementPtrList",
"dest",
"",
16384 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16387#ifndef DOCUMENTATION
16388 AsmFunction.setDataPrototype(
16389 "Rose::BinaryAnalysis::Address",
"entryVa",
"= 0",
16390 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16393#ifndef DOCUMENTATION
16394 AsmFunction.setDataPrototype(
16395 "SgSymbolTable*",
"symbolTable",
"= nullptr",
16396 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16399#ifndef DOCUMENTATION
16400 AsmFunction.setDataPrototype(
16401 "size_t",
"cachedVertex",
"= (size_t)(-1)",
16402 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16405#ifndef DOCUMENTATION
16406 AsmFunction.setDataPrototype(
16407 "int64_t",
"stackDelta",
"= SgAsmInstruction::INVALID_STACK_DELTA",
16408 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16411#ifndef DOCUMENTATION
16412 AsmFunction.setDataPrototype(
16413 "std::string",
"callingConvention",
"",
16414 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16417 DECLARE_OTHERS(AsmFunction);
16418#if defined(SgAsmFunction_OTHERS) || defined(DOCUMENTATION)
16421#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
16423 friend class boost::serialization::access;
16426 void serialize(S &s,
const unsigned ) {
16429 s & BOOST_SERIALIZATION_NVP(p_name);
16430 s & BOOST_SERIALIZATION_NVP(p_reason);
16431 s & BOOST_SERIALIZATION_NVP(p_reasonComment);
16432 s & BOOST_SERIALIZATION_NVP(p_functionKind);
16433 s & BOOST_SERIALIZATION_NVP(p_mayReturn);
16434 s & BOOST_SERIALIZATION_NVP(p_nameMd5);
16435 s & BOOST_SERIALIZATION_NVP(p_statementList);
16436 s & BOOST_SERIALIZATION_NVP(p_dest);
16437 s & BOOST_SERIALIZATION_NVP(p_entryVa);
16438 s & BOOST_SERIALIZATION_NVP(p_cachedVertex);
16439 s & BOOST_SERIALIZATION_NVP(p_stackDelta);
16440 s & BOOST_SERIALIZATION_NVP(p_callingConvention);
16632 SgAsmStatementPtrList
const& get_dest()
const;
16633 void set_dest(SgAsmStatementPtrList
const&);
16658 size_t const& get_cachedVertex()
const;
16659 void set_cachedVertex(
size_t const&);
16722 virtual bool operator()(
SgNode*) = 0;
16782 const std::
string& get_name_md5() const ROSE_DEPRECATED("use
get_nameMd5");
16783 void set_name_md5(const std::
string&) ROSE_DEPRECATED("use
set_nameMd5");
16784 Rose::BinaryAnalysis::Address get_entry_va() const ROSE_DEPRECATED("use
get_entryVa");
16785 void set_entry_va(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use
set_entryVa");
16788 size_t get_cached_vertex() const ROSE_DEPRECATED("use get_cachedVertex");
16789 void set_cached_vertex(
size_t) ROSE_DEPRECATED("use set_cachedVertex");
16793 static std::
string reason_key(const std::
string &prefix="") ROSE_DEPRECATED("use
reasonKey");
16794 std::
string reason_str(
bool) const ROSE_DEPRECATED("use
reasonString");
16795 static std::
string reason_str(
bool,
unsigned) ROSE_DEPRECATED("use
reasonString");
16807 std::
string const& name,
16808 unsigned const& reason,
16820#ifdef DOCUMENTATION
16829#ifndef DOCUMENTATION
16830AstNodeClass& AsmSynthesizedDeclaration = nonTerminalConstructor(
16831 "AsmSynthesizedDeclaration",
16833 "AsmSynthesizedDeclaration",
16834 "AsmSynthesizedDeclarationTag",
16835 SubclassListBuilder()
16837 | AsmSynthesizedDataStructureDeclaration
16838 | AsmSynthesizedFieldDeclaration
16840assert(AsmSynthesizedDeclaration.associatedGrammar !=
nullptr);
16841AsmSynthesizedDeclaration.setCppCondition(
"!defined(DOCUMENTATION)");
16842AsmSynthesizedDeclaration.isBoostSerializable(
true);
16843AsmSynthesizedDeclaration.setAutomaticGenerationOfConstructor(
false);
16844AsmSynthesizedDeclaration.setAutomaticGenerationOfDestructor(
false);
16847#ifndef DOCUMENTATION
16848AsmSynthesizedDeclaration.useSmallHeader(
true);
16851#ifdef DOCUMENTATION
16861 DECLARE_OTHERS(AsmSynthesizedDeclaration);
16862#if defined(SgAsmSynthesizedDeclaration_OTHERS) || defined(DOCUMENTATION)
16865#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
16867 friend class boost::serialization::access;
16870 void serialize(S &s,
const unsigned ) {
16898#ifdef DOCUMENTATION
16907DECLARE_LEAF_CLASS(AsmFloatValueExpression);
16908IS_SERIALIZABLE(AsmFloatValueExpression);
16910#ifndef DOCUMENTATION
16911AsmFloatValueExpression.useSmallHeader(
true);
16914#ifdef DOCUMENTATION
16922 DECLARE_OTHERS(AsmFloatValueExpression);
16923#if defined(SgAsmFloatValueExpression_OTHERS) || defined(DOCUMENTATION)
16926#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
16928 friend class boost::serialization::access;
16931 void serialize(S &s,
const unsigned ) {
16934 s & BOOST_SERIALIZATION_NVP(p_nativeValue);
16935 s & BOOST_SERIALIZATION_NVP(p_nativeValueIsValid);
16948 mutable double p_nativeValue;
16953 mutable bool p_nativeValueIsValid;
17008#ifdef DOCUMENTATION
17017DECLARE_LEAF_CLASS(AsmFloatType);
17018IS_SERIALIZABLE(AsmFloatType);
17020#ifndef DOCUMENTATION
17021AsmFloatType.useSmallHeader(
true);
17024DECLARE_HEADERS(AsmFloatType);
17025#if defined(SgAsmFloatType_HEADERS) || defined(DOCUMENTATION)
17026#include <Sawyer/BitVector.h>
17027#include <Rose/BitFlags.h>
17028#include <Rose/BinaryAnalysis/ByteOrder.h>
17031#ifdef DOCUMENTATION
17036#ifndef DOCUMENTATION
17037 AsmFloatType.setDataPrototype(
17038 "size_t",
"significandOffset",
"= (size_t)(-1)",
17039 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17042#ifndef DOCUMENTATION
17043 AsmFloatType.setDataPrototype(
17044 "size_t",
"significandNBits",
"= (size_t)(-1)",
17045 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17048#ifndef DOCUMENTATION
17049 AsmFloatType.setDataPrototype(
17050 "size_t",
"signBitOffset",
"= (size_t)(-1)",
17051 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17054#ifndef DOCUMENTATION
17055 AsmFloatType.setDataPrototype(
17056 "size_t",
"exponentOffset",
"= (size_t)(-1)",
17057 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17060#ifndef DOCUMENTATION
17061 AsmFloatType.setDataPrototype(
17062 "size_t",
"exponentNBits",
"= (size_t)(-1)",
17063 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17066#ifndef DOCUMENTATION
17067 AsmFloatType.setDataPrototype(
17068 "uint64_t",
"exponentBias",
"= 0",
17069 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17072#ifndef DOCUMENTATION
17073 AsmFloatType.setDataPrototype(
17074 "unsigned",
"flags",
"= 0",
17075 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17078 DECLARE_OTHERS(AsmFloatType);
17079#if defined(SgAsmFloatType_OTHERS) || defined(DOCUMENTATION)
17082#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17084 friend class boost::serialization::access;
17087 void serialize(S &s,
const unsigned ) {
17090 s & BOOST_SERIALIZATION_NVP(p_significandOffset);
17091 s & BOOST_SERIALIZATION_NVP(p_significandNBits);
17092 s & BOOST_SERIALIZATION_NVP(p_signBitOffset);
17093 s & BOOST_SERIALIZATION_NVP(p_exponentOffset);
17094 s & BOOST_SERIALIZATION_NVP(p_exponentNBits);
17095 s & BOOST_SERIALIZATION_NVP(p_exponentBias);
17096 s & BOOST_SERIALIZATION_NVP(p_flags);
17195#ifdef DOCUMENTATION
17204#ifndef DOCUMENTATION
17205AstNodeClass& AsmScalarType = nonTerminalConstructor(
17209 "AsmScalarTypeTag",
17210 SubclassListBuilder()
17215assert(AsmScalarType.associatedGrammar !=
nullptr);
17216AsmScalarType.setCppCondition(
"!defined(DOCUMENTATION)");
17217AsmScalarType.isBoostSerializable(
true);
17218AsmScalarType.setAutomaticGenerationOfConstructor(
false);
17219AsmScalarType.setAutomaticGenerationOfDestructor(
false);
17222#ifndef DOCUMENTATION
17223AsmScalarType.useSmallHeader(
true);
17226DECLARE_HEADERS(AsmScalarType);
17227#if defined(SgAsmScalarType_HEADERS) || defined(DOCUMENTATION)
17228#include <Rose/BinaryAnalysis/ByteOrder.h>
17231#ifdef DOCUMENTATION
17236#ifndef DOCUMENTATION
17237 AsmScalarType.setDataPrototype(
17238 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"minorOrder",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
17239 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17242#ifndef DOCUMENTATION
17243 AsmScalarType.setDataPrototype(
17244 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"majorOrder",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
17245 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17248#ifndef DOCUMENTATION
17249 AsmScalarType.setDataPrototype(
17250 "size_t",
"majorNBytes",
"= 0",
17251 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17254#ifndef DOCUMENTATION
17255 AsmScalarType.setDataPrototype(
17256 "size_t",
"nBits",
"= 0",
17257 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17260 DECLARE_OTHERS(AsmScalarType);
17261#if defined(SgAsmScalarType_OTHERS) || defined(DOCUMENTATION)
17264#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17266 friend class boost::serialization::access;
17269 void serialize(S &s,
const unsigned ) {
17271 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmType);
17272 s & BOOST_SERIALIZATION_NVP(p_minorOrder);
17273 s & BOOST_SERIALIZATION_NVP(p_majorOrder);
17274 s & BOOST_SERIALIZATION_NVP(p_majorNBytes);
17275 s & BOOST_SERIALIZATION_NVP(p_nBits);
17339#ifdef DOCUMENTATION
17348#ifndef DOCUMENTATION
17349AstNodeClass& AsmType = nonTerminalConstructor(
17354 SubclassListBuilder()
17359assert(AsmType.associatedGrammar !=
nullptr);
17360AsmType.setCppCondition(
"!defined(DOCUMENTATION)");
17361AsmType.isBoostSerializable(
true);
17362AsmType.setAutomaticGenerationOfConstructor(
false);
17363AsmType.setAutomaticGenerationOfDestructor(
false);
17366#ifndef DOCUMENTATION
17367AsmType.useSmallHeader(
true);
17370#ifdef DOCUMENTATION
17375 DECLARE_OTHERS(AsmType);
17376#if defined(SgAsmType_OTHERS) || defined(DOCUMENTATION)
17379#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17381 friend class boost::serialization::access;
17384 void serialize(S &s,
const unsigned ) {
17386 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
17427 template<
class Type>
17429 ASSERT_not_null(toInsert);
17430 std::string key = toInsert->toString();
17431 Type *retval =
dynamic_cast<Type*
>(p_typeRegistry.
insertMaybe(key, toInsert));
17432 ASSERT_not_null(retval);
17433 if (retval!=toInsert)
17454#ifdef DOCUMENTATION
17463DECLARE_LEAF_CLASS(AsmExprListExp);
17464IS_SERIALIZABLE(AsmExprListExp);
17466#ifndef DOCUMENTATION
17467AsmExprListExp.useSmallHeader(
true);
17470DECLARE_HEADERS(AsmExprListExp);
17471#if defined(SgAsmExprListExp_HEADERS) || defined(DOCUMENTATION)
17472#include <sageContainer.h>
17475#ifdef DOCUMENTATION
17480#ifndef DOCUMENTATION
17481 AsmExprListExp.setDataPrototype(
17482 "SgAsmExpressionPtrList",
"expressions",
"",
17483 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17486 DECLARE_OTHERS(AsmExprListExp);
17487#if defined(SgAsmExprListExp_OTHERS) || defined(DOCUMENTATION)
17490#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17492 friend class boost::serialization::access;
17495 void serialize(S &s,
const unsigned ) {
17498 s & BOOST_SERIALIZATION_NVP(p_expressions);
17532#ifdef DOCUMENTATION
17541DECLARE_LEAF_CLASS(AsmElfSymverSection);
17542IS_SERIALIZABLE(AsmElfSymverSection);
17544#ifndef DOCUMENTATION
17545AsmElfSymverSection.useSmallHeader(
true);
17548DECLARE_HEADERS(AsmElfSymverSection);
17549#if defined(SgAsmElfSymverSection_HEADERS) || defined(DOCUMENTATION)
17550#include <Rose/BinaryAnalysis/Address.h>
17552#ifdef ROSE_SgAsmElfSymverSection_IMPL
17553#include <SgAsmElfSymverEntryList.h>
17557#ifdef DOCUMENTATION
17565#ifndef DOCUMENTATION
17566 AsmElfSymverSection.setDataPrototype(
17567 "SgAsmElfSymverEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverEntryList>(this)",
17568 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17571 DECLARE_OTHERS(AsmElfSymverSection);
17572#if defined(SgAsmElfSymverSection_OTHERS) || defined(DOCUMENTATION)
17575#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17577 friend class boost::serialization::access;
17580 void serialize(S &s,
const unsigned ) {
17583 s & BOOST_SERIALIZATION_NVP(p_entries);
17610 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
17616 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
17622 using SgAsmElfSection::calculate_sizes;
17624 ROSE_DEPRECATED(
"use calculateSizes");
17642#ifdef DOCUMENTATION
17651DECLARE_LEAF_CLASS(AsmElfSymverNeededSection);
17652IS_SERIALIZABLE(AsmElfSymverNeededSection);
17654#ifndef DOCUMENTATION
17655AsmElfSymverNeededSection.useSmallHeader(
true);
17658DECLARE_HEADERS(AsmElfSymverNeededSection);
17659#if defined(SgAsmElfSymverNeededSection_HEADERS) || defined(DOCUMENTATION)
17660#include <Rose/BinaryAnalysis/Address.h>
17662#ifdef ROSE_SgAsmElfSymverNeededSection_IMPL
17663#include <SgAsmElfSymverNeededEntryList.h>
17667#ifdef DOCUMENTATION
17676#ifndef DOCUMENTATION
17677 AsmElfSymverNeededSection.setDataPrototype(
17678 "SgAsmElfSymverNeededEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverNeededEntryList>(this)",
17679 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17682 DECLARE_OTHERS(AsmElfSymverNeededSection);
17683#if defined(SgAsmElfSymverNeededSection_OTHERS) || defined(DOCUMENTATION)
17686#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17688 friend class boost::serialization::access;
17691 void serialize(S &s,
const unsigned ) {
17694 s & BOOST_SERIALIZATION_NVP(p_entries);
17726 using SgAsmElfSection::calculate_sizes;
17731 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
17739 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
17746 ROSE_DEPRECATED(
"use calculateSizes");
17764#ifdef DOCUMENTATION
17773DECLARE_LEAF_CLASS(AsmElfSymverNeededEntryList);
17774IS_SERIALIZABLE(AsmElfSymverNeededEntryList);
17776#ifndef DOCUMENTATION
17777AsmElfSymverNeededEntryList.useSmallHeader(
true);
17780DECLARE_HEADERS(AsmElfSymverNeededEntryList);
17781#if defined(SgAsmElfSymverNeededEntryList_HEADERS) || defined(DOCUMENTATION)
17782#include <sageContainer.h>
17785#ifdef DOCUMENTATION
17793#ifndef DOCUMENTATION
17794 AsmElfSymverNeededEntryList.setDataPrototype(
17795 "SgAsmElfSymverNeededEntryPtrList",
"entries",
"",
17796 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17799 DECLARE_OTHERS(AsmElfSymverNeededEntryList);
17800#if defined(SgAsmElfSymverNeededEntryList_OTHERS) || defined(DOCUMENTATION)
17803#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17805 friend class boost::serialization::access;
17808 void serialize(S &s,
const unsigned ) {
17811 s & BOOST_SERIALIZATION_NVP(p_entries);
17842#ifdef DOCUMENTATION
17851DECLARE_LEAF_CLASS(AsmElfSymverNeededEntry);
17852IS_SERIALIZABLE(AsmElfSymverNeededEntry);
17854#ifndef DOCUMENTATION
17855AsmElfSymverNeededEntry.useSmallHeader(
true);
17858DECLARE_HEADERS(AsmElfSymverNeededEntry);
17859#if defined(SgAsmElfSymverNeededEntry_HEADERS) || defined(DOCUMENTATION)
17860#include <Rose/BinaryAnalysis/ByteOrder.h>
17862#ifdef ROSE_SgAsmElfSymverNeededEntry_IMPL
17863#include <SgAsmElfSymverNeededAuxList.h>
17864#include <SgAsmGenericString.h>
17868#ifdef DOCUMENTATION
17873#ifndef DOCUMENTATION
17874 AsmElfSymverNeededEntry.setDataPrototype(
17875 "size_t",
"version",
"= 0",
17876 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17879#ifndef DOCUMENTATION
17880 AsmElfSymverNeededEntry.setDataPrototype(
17881 "SgAsmGenericString*",
"fileName",
"= nullptr",
17882 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17885#ifndef DOCUMENTATION
17886 AsmElfSymverNeededEntry.setDataPrototype(
17887 "SgAsmElfSymverNeededAuxList*",
"entries",
"= createAndParent<SgAsmElfSymverNeededAuxList>(this)",
17888 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17891 DECLARE_OTHERS(AsmElfSymverNeededEntry);
17892#if defined(SgAsmElfSymverNeededEntry_OTHERS) || defined(DOCUMENTATION)
17895#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17897 friend class boost::serialization::access;
17900 void serialize(S &s,
const unsigned ) {
17903 s & BOOST_SERIALIZATION_NVP(p_version);
17904 s & BOOST_SERIALIZATION_NVP(p_fileName);
17905 s & BOOST_SERIALIZATION_NVP(p_entries);
17925#if !defined(SWIG) && !defined(_MSC_VER)
17926 __attribute__((packed))
17980 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
18005#ifdef DOCUMENTATION
18014DECLARE_LEAF_CLASS(AsmElfSymverNeededAuxList);
18015IS_SERIALIZABLE(AsmElfSymverNeededAuxList);
18017#ifndef DOCUMENTATION
18018AsmElfSymverNeededAuxList.useSmallHeader(
true);
18021DECLARE_HEADERS(AsmElfSymverNeededAuxList);
18022#if defined(SgAsmElfSymverNeededAuxList_HEADERS) || defined(DOCUMENTATION)
18023#include <sageContainer.h>
18026#ifdef DOCUMENTATION
18034#ifndef DOCUMENTATION
18035 AsmElfSymverNeededAuxList.setDataPrototype(
18036 "SgAsmElfSymverNeededAuxPtrList",
"entries",
"",
18037 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18040 DECLARE_OTHERS(AsmElfSymverNeededAuxList);
18041#if defined(SgAsmElfSymverNeededAuxList_OTHERS) || defined(DOCUMENTATION)
18044#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18046 friend class boost::serialization::access;
18049 void serialize(S &s,
const unsigned ) {
18052 s & BOOST_SERIALIZATION_NVP(p_entries);
18083#ifdef DOCUMENTATION
18092DECLARE_LEAF_CLASS(AsmElfSymverNeededAux);
18093IS_SERIALIZABLE(AsmElfSymverNeededAux);
18095#ifndef DOCUMENTATION
18096AsmElfSymverNeededAux.useSmallHeader(
true);
18099DECLARE_HEADERS(AsmElfSymverNeededAux);
18100#if defined(SgAsmElfSymverNeededAux_HEADERS) || defined(DOCUMENTATION)
18101#include <Rose/BinaryAnalysis/ByteOrder.h>
18103#ifdef ROSE_SgAsmElfSymverNeededAux_IMPL
18104#include <SgAsmGenericString.h>
18108#ifdef DOCUMENTATION
18113#ifndef DOCUMENTATION
18114 AsmElfSymverNeededAux.setDataPrototype(
18115 "uint32_t",
"hash",
"= 0",
18116 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18119#ifndef DOCUMENTATION
18120 AsmElfSymverNeededAux.setDataPrototype(
18121 "int",
"flags",
"= 0",
18122 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18125#ifndef DOCUMENTATION
18126 AsmElfSymverNeededAux.setDataPrototype(
18127 "size_t",
"other",
"= 0",
18128 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18131#ifndef DOCUMENTATION
18132 AsmElfSymverNeededAux.setDataPrototype(
18133 "SgAsmGenericString*",
"name",
"= 0",
18134 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18137 DECLARE_OTHERS(AsmElfSymverNeededAux);
18138#if defined(SgAsmElfSymverNeededAux_OTHERS) || defined(DOCUMENTATION)
18141#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18143 friend class boost::serialization::access;
18146 void serialize(S &s,
const unsigned ) {
18149 s & BOOST_SERIALIZATION_NVP(p_hash);
18150 s & BOOST_SERIALIZATION_NVP(p_flags);
18151 s & BOOST_SERIALIZATION_NVP(p_other);
18152 s & BOOST_SERIALIZATION_NVP(p_name);
18172#if !defined(SWIG) && !defined(_MSC_VER)
18173 __attribute__((packed))
18243 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
18261#ifdef DOCUMENTATION
18270DECLARE_LEAF_CLASS(AsmElfSymverEntryList);
18271IS_SERIALIZABLE(AsmElfSymverEntryList);
18273#ifndef DOCUMENTATION
18274AsmElfSymverEntryList.useSmallHeader(
true);
18277DECLARE_HEADERS(AsmElfSymverEntryList);
18278#if defined(SgAsmElfSymverEntryList_HEADERS) || defined(DOCUMENTATION)
18279#include <sageContainer.h>
18282#ifdef DOCUMENTATION
18290#ifndef DOCUMENTATION
18291 AsmElfSymverEntryList.setDataPrototype(
18292 "SgAsmElfSymverEntryPtrList",
"entries",
"",
18293 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18296 DECLARE_OTHERS(AsmElfSymverEntryList);
18297#if defined(SgAsmElfSymverEntryList_OTHERS) || defined(DOCUMENTATION)
18300#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18302 friend class boost::serialization::access;
18305 void serialize(S &s,
const unsigned ) {
18308 s & BOOST_SERIALIZATION_NVP(p_entries);
18339#ifdef DOCUMENTATION
18348DECLARE_LEAF_CLASS(AsmElfSymverEntry);
18349IS_SERIALIZABLE(AsmElfSymverEntry);
18351#ifndef DOCUMENTATION
18352AsmElfSymverEntry.useSmallHeader(
true);
18355#ifdef DOCUMENTATION
18360#ifndef DOCUMENTATION
18361 AsmElfSymverEntry.setDataPrototype(
18362 "size_t",
"value",
"= 0",
18363 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18366 DECLARE_OTHERS(AsmElfSymverEntry);
18367#if defined(SgAsmElfSymverEntry_OTHERS) || defined(DOCUMENTATION)
18370#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18372 friend class boost::serialization::access;
18375 void serialize(S &s,
const unsigned ) {
18378 s & BOOST_SERIALIZATION_NVP(p_value);
18397 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
18415#ifdef DOCUMENTATION
18424DECLARE_LEAF_CLASS(AsmElfSymverDefinedSection);
18425IS_SERIALIZABLE(AsmElfSymverDefinedSection);
18427#ifndef DOCUMENTATION
18428AsmElfSymverDefinedSection.useSmallHeader(
true);
18431DECLARE_HEADERS(AsmElfSymverDefinedSection);
18432#if defined(SgAsmElfSymverDefinedSection_HEADERS) || defined(DOCUMENTATION)
18433#include <Rose/BinaryAnalysis/Address.h>
18435#ifdef ROSE_SgAsmElfSymverDefinedSection_IMPL
18436#include <SgAsmElfSymverDefinedEntryList.h>
18440#ifdef DOCUMENTATION
18449#ifndef DOCUMENTATION
18450 AsmElfSymverDefinedSection.setDataPrototype(
18451 "SgAsmElfSymverDefinedEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverDefinedEntryList>(this)",
18452 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18455 DECLARE_OTHERS(AsmElfSymverDefinedSection);
18456#if defined(SgAsmElfSymverDefinedSection_OTHERS) || defined(DOCUMENTATION)
18459#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18461 friend class boost::serialization::access;
18464 void serialize(S &s,
const unsigned ) {
18467 s & BOOST_SERIALIZATION_NVP(p_entries);
18559 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
18567 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
18573 using SgAsmElfSection::calculate_sizes;
18575 ROSE_DEPRECATED(
"use calculateSizes");
18593#ifdef DOCUMENTATION
18602DECLARE_LEAF_CLASS(AsmElfSymverDefinedEntryList);
18603IS_SERIALIZABLE(AsmElfSymverDefinedEntryList);
18605#ifndef DOCUMENTATION
18606AsmElfSymverDefinedEntryList.useSmallHeader(
true);
18609DECLARE_HEADERS(AsmElfSymverDefinedEntryList);
18610#if defined(SgAsmElfSymverDefinedEntryList_HEADERS) || defined(DOCUMENTATION)
18611#include <sageContainer.h>
18614#ifdef DOCUMENTATION
18622#ifndef DOCUMENTATION
18623 AsmElfSymverDefinedEntryList.setDataPrototype(
18624 "SgAsmElfSymverDefinedEntryPtrList",
"entries",
"",
18625 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18628 DECLARE_OTHERS(AsmElfSymverDefinedEntryList);
18629#if defined(SgAsmElfSymverDefinedEntryList_OTHERS) || defined(DOCUMENTATION)
18632#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18634 friend class boost::serialization::access;
18637 void serialize(S &s,
const unsigned ) {
18640 s & BOOST_SERIALIZATION_NVP(p_entries);
18671#ifdef DOCUMENTATION
18680DECLARE_LEAF_CLASS(AsmElfSymverDefinedEntry);
18681IS_SERIALIZABLE(AsmElfSymverDefinedEntry);
18683#ifndef DOCUMENTATION
18684AsmElfSymverDefinedEntry.useSmallHeader(
true);
18687DECLARE_HEADERS(AsmElfSymverDefinedEntry);
18688#if defined(SgAsmElfSymverDefinedEntry_HEADERS) || defined(DOCUMENTATION)
18689#include <Rose/BinaryAnalysis/ByteOrder.h>
18691#ifdef ROSE_SgAsmElfSymverDefinedEntry_IMPL
18692#include <SgAsmElfSymverDefinedAuxList.h>
18696#ifdef DOCUMENTATION
18701#ifndef DOCUMENTATION
18702 AsmElfSymverDefinedEntry.setDataPrototype(
18703 "size_t",
"version",
"= 0",
18704 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18707#ifndef DOCUMENTATION
18708 AsmElfSymverDefinedEntry.setDataPrototype(
18709 "int",
"flags",
"= 0",
18710 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18713#ifndef DOCUMENTATION
18714 AsmElfSymverDefinedEntry.setDataPrototype(
18715 "size_t",
"index",
"= 0",
18716 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18719#ifndef DOCUMENTATION
18720 AsmElfSymverDefinedEntry.setDataPrototype(
18721 "uint32_t",
"hash",
"= 0",
18722 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18725#ifndef DOCUMENTATION
18726 AsmElfSymverDefinedEntry.setDataPrototype(
18727 "SgAsmElfSymverDefinedAuxList*",
"entries",
"= createAndParent<SgAsmElfSymverDefinedAuxList>(this)",
18728 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18731 DECLARE_OTHERS(AsmElfSymverDefinedEntry);
18732#if defined(SgAsmElfSymverDefinedEntry_OTHERS) || defined(DOCUMENTATION)
18735#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18737 friend class boost::serialization::access;
18740 void serialize(S &s,
const unsigned ) {
18743 s & BOOST_SERIALIZATION_NVP(p_version);
18744 s & BOOST_SERIALIZATION_NVP(p_flags);
18745 s & BOOST_SERIALIZATION_NVP(p_index);
18746 s & BOOST_SERIALIZATION_NVP(p_hash);
18747 s & BOOST_SERIALIZATION_NVP(p_entries);
18768#if !defined(SWIG) && !defined(_MSC_VER)
18769 __attribute__((packed))
18845 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
18863#ifdef DOCUMENTATION
18872DECLARE_LEAF_CLASS(AsmElfSymverDefinedAuxList);
18873IS_SERIALIZABLE(AsmElfSymverDefinedAuxList);
18875#ifndef DOCUMENTATION
18876AsmElfSymverDefinedAuxList.useSmallHeader(
true);
18879DECLARE_HEADERS(AsmElfSymverDefinedAuxList);
18880#if defined(SgAsmElfSymverDefinedAuxList_HEADERS) || defined(DOCUMENTATION)
18881#include <sageContainer.h>
18884#ifdef DOCUMENTATION
18892#ifndef DOCUMENTATION
18893 AsmElfSymverDefinedAuxList.setDataPrototype(
18894 "SgAsmElfSymverDefinedAuxPtrList",
"entries",
"",
18895 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18898 DECLARE_OTHERS(AsmElfSymverDefinedAuxList);
18899#if defined(SgAsmElfSymverDefinedAuxList_OTHERS) || defined(DOCUMENTATION)
18902#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18904 friend class boost::serialization::access;
18907 void serialize(S &s,
const unsigned ) {
18910 s & BOOST_SERIALIZATION_NVP(p_entries);
18941#ifdef DOCUMENTATION
18950DECLARE_LEAF_CLASS(AsmElfSymverDefinedAux);
18951IS_SERIALIZABLE(AsmElfSymverDefinedAux);
18953#ifndef DOCUMENTATION
18954AsmElfSymverDefinedAux.useSmallHeader(
true);
18957DECLARE_HEADERS(AsmElfSymverDefinedAux);
18958#if defined(SgAsmElfSymverDefinedAux_HEADERS) || defined(DOCUMENTATION)
18959#include <Rose/BinaryAnalysis/ByteOrder.h>
18961#ifdef ROSE_SgAsmElfSymverDefinedAux_IMPL
18962#include <SgAsmGenericString.h>
18966#ifdef DOCUMENTATION
18971#ifndef DOCUMENTATION
18972 AsmElfSymverDefinedAux.setDataPrototype(
18973 "SgAsmGenericString*",
"name",
"= 0",
18974 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18977 DECLARE_OTHERS(AsmElfSymverDefinedAux);
18978#if defined(SgAsmElfSymverDefinedAux_OTHERS) || defined(DOCUMENTATION)
18981#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18983 friend class boost::serialization::access;
18986 void serialize(S &s,
const unsigned ) {
18989 s & BOOST_SERIALIZATION_NVP(p_name);
19006#if !defined(SWIG) && !defined(_MSC_VER)
19007 __attribute__((packed))
19046 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
19064#ifdef DOCUMENTATION
19073DECLARE_LEAF_CLASS(AsmElfSymbolSection);
19074IS_SERIALIZABLE(AsmElfSymbolSection);
19076#ifndef DOCUMENTATION
19077AsmElfSymbolSection.useSmallHeader(
true);
19080DECLARE_HEADERS(AsmElfSymbolSection);
19081#if defined(SgAsmElfSymbolSection_HEADERS) || defined(DOCUMENTATION)
19082#include <Rose/BinaryAnalysis/Address.h>
19084#ifdef ROSE_SgAsmElfSymbolSection_IMPL
19085#include <SgAsmElfSymbolList.h>
19089#ifdef DOCUMENTATION
19094#ifndef DOCUMENTATION
19095 AsmElfSymbolSection.setDataPrototype(
19096 "bool",
"isDynamic",
"= false",
19097 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19100#ifndef DOCUMENTATION
19101 AsmElfSymbolSection.setDataPrototype(
19102 "SgAsmElfSymbolList*",
"symbols",
"= createAndParent<SgAsmElfSymbolList>(this)",
19103 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19106 DECLARE_OTHERS(AsmElfSymbolSection);
19107#if defined(SgAsmElfSymbolSection_OTHERS) || defined(DOCUMENTATION)
19110#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19112 friend class boost::serialization::access;
19115 void serialize(S &s,
const unsigned ) {
19118 s & BOOST_SERIALIZATION_NVP(p_isDynamic);
19119 s & BOOST_SERIALIZATION_NVP(p_symbols);
19171 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
19182 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
19188 bool get_is_dynamic() const ROSE_DEPRECATED("use
get_isDynamic");
19189 void set_is_dynamic(
bool) ROSE_DEPRECATED("use
set_isDynamic");
19190 virtual
void finish_parsing() override ROSE_DEPRECATED("use
finishParsing");
19193 virtual
Rose::BinaryAnalysis::Address calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const override
19212#ifdef DOCUMENTATION
19221DECLARE_LEAF_CLASS(AsmElfSymbolList);
19222IS_SERIALIZABLE(AsmElfSymbolList);
19224#ifndef DOCUMENTATION
19225AsmElfSymbolList.useSmallHeader(
true);
19228DECLARE_HEADERS(AsmElfSymbolList);
19229#if defined(SgAsmElfSymbolList_HEADERS) || defined(DOCUMENTATION)
19230#include <sageContainer.h>
19233#ifdef DOCUMENTATION
19237#ifndef DOCUMENTATION
19238 AsmElfSymbolList.setDataPrototype(
19239 "SgAsmElfSymbolPtrList",
"symbols",
"",
19240 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19243 DECLARE_OTHERS(AsmElfSymbolList);
19244#if defined(SgAsmElfSymbolList_OTHERS) || defined(DOCUMENTATION)
19247#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19249 friend class boost::serialization::access;
19252 void serialize(S &s,
const unsigned ) {
19255 s & BOOST_SERIALIZATION_NVP(p_symbols);
19289#ifdef DOCUMENTATION
19298DECLARE_LEAF_CLASS(AsmElfSymbol);
19299IS_SERIALIZABLE(AsmElfSymbol);
19301#ifndef DOCUMENTATION
19302AsmElfSymbol.useSmallHeader(
true);
19305DECLARE_HEADERS(AsmElfSymbol);
19306#if defined(SgAsmElfSymbol_HEADERS) || defined(DOCUMENTATION)
19307#include <Rose/BinaryAnalysis/Address.h>
19308#include <Rose/BinaryAnalysis/ByteOrder.h>
19309#include <sageContainer.h>
19312#ifdef DOCUMENTATION
19320#ifndef DOCUMENTATION
19321 AsmElfSymbol.setDataPrototype(
19322 "unsigned char",
"st_info",
"= 0",
19323 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19326#ifndef DOCUMENTATION
19327 AsmElfSymbol.setDataPrototype(
19328 "unsigned char",
"st_res1",
"= 0",
19329 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19332#ifndef DOCUMENTATION
19333 AsmElfSymbol.setDataPrototype(
19334 "unsigned",
"st_shndx",
"= 0",
19335 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19338#ifndef DOCUMENTATION
19339 AsmElfSymbol.setDataPrototype(
19340 "Rose::BinaryAnalysis::Address",
"st_size",
"= 0",
19341 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19344#ifndef DOCUMENTATION
19345 AsmElfSymbol.setDataPrototype(
19346 "SgUnsignedCharList",
"extra",
"",
19347 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19350 DECLARE_OTHERS(AsmElfSymbol);
19351#if defined(SgAsmElfSymbol_OTHERS) || defined(DOCUMENTATION)
19354#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19356 friend class boost::serialization::access;
19359 void serialize(S &s,
const unsigned ) {
19362 s & BOOST_SERIALIZATION_NVP(p_st_info);
19363 s & BOOST_SERIALIZATION_NVP(p_st_res1);
19364 s & BOOST_SERIALIZATION_NVP(p_st_shndx);
19365 s & BOOST_SERIALIZATION_NVP(p_st_size);
19366 s & BOOST_SERIALIZATION_NVP(p_extra);
19374 enum ElfSymBinding {
19404#if !defined(SWIG) && !defined(_MSC_VER)
19405 __attribute__((packed))
19411 unsigned char st_info;
19412 unsigned char st_res1;
19417#if !defined(SWIG) && !defined(_MSC_VER)
19418 __attribute__((packed))
19509 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const override;
19520 static std::string
toString(SgAsmElfSymbol::ElfSymBinding);
19526 void parse_common();
19532 SgAsmElfSymbol::ElfSymBinding get_elf_binding() const ROSE_DEPRECATED("use
get_elfBinding");
19553#ifdef DOCUMENTATION
19562DECLARE_LEAF_CLASS(AsmElfStrtab);
19563IS_SERIALIZABLE(AsmElfStrtab);
19565#ifndef DOCUMENTATION
19566AsmElfStrtab.useSmallHeader(
true);
19569DECLARE_HEADERS(AsmElfStrtab);
19570#if defined(SgAsmElfStrtab_HEADERS) || defined(DOCUMENTATION)
19571#include <Rose/BinaryAnalysis/Address.h>
19574#ifdef DOCUMENTATION
19579 DECLARE_OTHERS(AsmElfStrtab);
19580#if defined(SgAsmElfStrtab_OTHERS) || defined(DOCUMENTATION)
19583#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19585 friend class boost::serialization::access;
19588 void serialize(S &s,
const unsigned ) {
19649 ROSE_DEPRECATED(
"use get_storageSize");
19650 virtual void allocate_overlap(
SgAsmStringStorage*)
override ROSE_DEPRECATED(
"use allocateOverlap");
19668#ifdef DOCUMENTATION
19677DECLARE_LEAF_CLASS(AsmElfStringSection);
19678IS_SERIALIZABLE(AsmElfStringSection);
19680#ifndef DOCUMENTATION
19681AsmElfStringSection.useSmallHeader(
true);
19684DECLARE_HEADERS(AsmElfStringSection);
19685#if defined(SgAsmElfStringSection_HEADERS) || defined(DOCUMENTATION)
19686#include <Rose/BinaryAnalysis/Address.h>
19689#ifdef DOCUMENTATION
19696#ifndef DOCUMENTATION
19697 AsmElfStringSection.setDataPrototype(
19698 "SgAsmElfStrtab*",
"strtab",
"= nullptr",
19699 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19702 DECLARE_OTHERS(AsmElfStringSection);
19703#if defined(SgAsmElfStringSection_OTHERS) || defined(DOCUMENTATION)
19706#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19708 friend class boost::serialization::access;
19711 void serialize(S &s,
const unsigned ) {
19714 s & BOOST_SERIALIZATION_NVP(p_strtab);
19736 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
19771#ifdef DOCUMENTATION
19780DECLARE_LEAF_CLASS(AsmElfSegmentTableEntryList);
19781IS_SERIALIZABLE(AsmElfSegmentTableEntryList);
19783#ifndef DOCUMENTATION
19784AsmElfSegmentTableEntryList.useSmallHeader(
true);
19787DECLARE_HEADERS(AsmElfSegmentTableEntryList);
19788#if defined(SgAsmElfSegmentTableEntryList_HEADERS) || defined(DOCUMENTATION)
19789#include <sageContainer.h>
19792#ifdef DOCUMENTATION
19796#ifndef DOCUMENTATION
19797 AsmElfSegmentTableEntryList.setDataPrototype(
19798 "SgAsmElfSegmentTableEntryPtrList",
"entries",
"",
19799 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19802 DECLARE_OTHERS(AsmElfSegmentTableEntryList);
19803#if defined(SgAsmElfSegmentTableEntryList_OTHERS) || defined(DOCUMENTATION)
19806#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19808 friend class boost::serialization::access;
19811 void serialize(S &s,
const unsigned ) {
19814 s & BOOST_SERIALIZATION_NVP(p_entries);
19848#ifdef DOCUMENTATION
19857DECLARE_LEAF_CLASS(AsmElfSegmentTableEntry);
19858IS_SERIALIZABLE(AsmElfSegmentTableEntry);
19860#ifndef DOCUMENTATION
19861AsmElfSegmentTableEntry.useSmallHeader(
true);
19864DECLARE_HEADERS(AsmElfSegmentTableEntry);
19865#if defined(SgAsmElfSegmentTableEntry_HEADERS) || defined(DOCUMENTATION)
19866#include <Rose/BinaryAnalysis/Address.h>
19867#include <Rose/BinaryAnalysis/ByteOrder.h>
19868#include <sageContainer.h>
19871#ifdef DOCUMENTATION
19876#ifndef DOCUMENTATION
19877 AsmElfSegmentTableEntry.setDataPrototype(
19878 "size_t",
"index",
"= 0",
19879 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19882#ifndef DOCUMENTATION
19883 AsmElfSegmentTableEntry.setDataPrototype(
19884 "SgAsmElfSegmentTableEntry::SegmentType",
"type",
"= SgAsmElfSegmentTableEntry::PT_LOAD",
19885 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19888#ifndef DOCUMENTATION
19889 AsmElfSegmentTableEntry.setDataPrototype(
19890 "SgAsmElfSegmentTableEntry::SegmentFlags",
"flags",
"= SgAsmElfSegmentTableEntry::PF_NONE",
19891 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19894#ifndef DOCUMENTATION
19895 AsmElfSegmentTableEntry.setDataPrototype(
19896 "Rose::BinaryAnalysis::Address",
"offset",
"= 0",
19897 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19900#ifndef DOCUMENTATION
19901 AsmElfSegmentTableEntry.setDataPrototype(
19902 "Rose::BinaryAnalysis::Address",
"vaddr",
"= 0",
19903 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19906#ifndef DOCUMENTATION
19907 AsmElfSegmentTableEntry.setDataPrototype(
19908 "Rose::BinaryAnalysis::Address",
"paddr",
"= 0",
19909 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19912#ifndef DOCUMENTATION
19913 AsmElfSegmentTableEntry.setDataPrototype(
19914 "Rose::BinaryAnalysis::Address",
"filesz",
"= 0",
19915 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19918#ifndef DOCUMENTATION
19919 AsmElfSegmentTableEntry.setDataPrototype(
19920 "Rose::BinaryAnalysis::Address",
"memsz",
"= 0",
19921 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19924#ifndef DOCUMENTATION
19925 AsmElfSegmentTableEntry.setDataPrototype(
19926 "Rose::BinaryAnalysis::Address",
"align",
"= 0",
19927 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19930#ifndef DOCUMENTATION
19931 AsmElfSegmentTableEntry.setDataPrototype(
19932 "SgUnsignedCharList",
"extra",
"",
19933 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19936 DECLARE_OTHERS(AsmElfSegmentTableEntry);
19937#if defined(SgAsmElfSegmentTableEntry_OTHERS) || defined(DOCUMENTATION)
19940#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19942 friend class boost::serialization::access;
19945 void serialize(S &s,
const unsigned ) {
19948 s & BOOST_SERIALIZATION_NVP(p_index);
19949 s & BOOST_SERIALIZATION_NVP(p_type);
19950 s & BOOST_SERIALIZATION_NVP(p_flags);
19951 s & BOOST_SERIALIZATION_NVP(p_offset);
19952 s & BOOST_SERIALIZATION_NVP(p_vaddr);
19953 s & BOOST_SERIALIZATION_NVP(p_paddr);
19954 s & BOOST_SERIALIZATION_NVP(p_filesz);
19955 s & BOOST_SERIALIZATION_NVP(p_memsz);
19956 s & BOOST_SERIALIZATION_NVP(p_align);
19957 s & BOOST_SERIALIZATION_NVP(p_extra);
19978 PT_HIOS = 0x6fffffff,
19980 PT_HIPROC = 0x7fffffff,
20024#if !defined(SWIG) && !defined(_MSC_VER)
20025 __attribute__((packed))
20039#if !defined(SWIG) && !defined(_MSC_VER)
20040 __attribute__((packed))
20171 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
20183 void update_from_section(
SgAsmElfSection*) ROSE_DEPRECATED(
"use updateFromSection");
20203#ifdef DOCUMENTATION
20212DECLARE_LEAF_CLASS(AsmElfSegmentTable);
20213IS_SERIALIZABLE(AsmElfSegmentTable);
20215#ifndef DOCUMENTATION
20216AsmElfSegmentTable.useSmallHeader(
true);
20219DECLARE_HEADERS(AsmElfSegmentTable);
20220#if defined(SgAsmElfSegmentTable_HEADERS) || defined(DOCUMENTATION)
20221#include <Rose/BinaryAnalysis/Address.h>
20224#ifdef DOCUMENTATION
20234 DECLARE_OTHERS(AsmElfSegmentTable);
20235#if defined(SgAsmElfSegmentTable_OTHERS) || defined(DOCUMENTATION)
20238#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
20240 friend class boost::serialization::access;
20243 void serialize(S &s,
const unsigned ) {
20285 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
20310#ifdef DOCUMENTATION
20319DECLARE_LEAF_CLASS(AsmElfSectionTableEntry);
20320IS_SERIALIZABLE(AsmElfSectionTableEntry);
20322#ifndef DOCUMENTATION
20323AsmElfSectionTableEntry.useSmallHeader(
true);
20326DECLARE_HEADERS(AsmElfSectionTableEntry);
20327#if defined(SgAsmElfSectionTableEntry_HEADERS) || defined(DOCUMENTATION)
20328#include <Rose/BinaryAnalysis/Address.h>
20329#include <Rose/BinaryAnalysis/ByteOrder.h>
20330#include <sageContainer.h>
20333#ifdef DOCUMENTATION
20338#ifndef DOCUMENTATION
20339 AsmElfSectionTableEntry.setDataPrototype(
20340 "unsigned",
"sh_name",
"= 0",
20341 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20344#ifndef DOCUMENTATION
20345 AsmElfSectionTableEntry.setDataPrototype(
20346 "SgAsmElfSectionTableEntry::SectionType",
"sh_type",
"= SHT_PROGBITS",
20347 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20350#ifndef DOCUMENTATION
20351 AsmElfSectionTableEntry.setDataPrototype(
20352 "unsigned long",
"sh_link",
"= 0",
20353 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20356#ifndef DOCUMENTATION
20357 AsmElfSectionTableEntry.setDataPrototype(
20358 "unsigned long",
"sh_info",
"= 0",
20359 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20362#ifndef DOCUMENTATION
20363 AsmElfSectionTableEntry.setDataPrototype(
20364 "uint64_t",
"sh_flags",
"= 0",
20365 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20368#ifndef DOCUMENTATION
20369 AsmElfSectionTableEntry.setDataPrototype(
20370 "Rose::BinaryAnalysis::Address",
"sh_addr",
"= 0",
20371 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20374#ifndef DOCUMENTATION
20375 AsmElfSectionTableEntry.setDataPrototype(
20376 "Rose::BinaryAnalysis::Address",
"sh_offset",
"= 0",
20377 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20380#ifndef DOCUMENTATION
20381 AsmElfSectionTableEntry.setDataPrototype(
20382 "Rose::BinaryAnalysis::Address",
"sh_size",
"= 0",
20383 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20386#ifndef DOCUMENTATION
20387 AsmElfSectionTableEntry.setDataPrototype(
20388 "Rose::BinaryAnalysis::Address",
"sh_addralign",
"= 0",
20389 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20392#ifndef DOCUMENTATION
20393 AsmElfSectionTableEntry.setDataPrototype(
20394 "Rose::BinaryAnalysis::Address",
"sh_entsize",
"= 0",
20395 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20398#ifndef DOCUMENTATION
20399 AsmElfSectionTableEntry.setDataPrototype(
20400 "SgUnsignedCharList",
"extra",
"",
20401 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20404 DECLARE_OTHERS(AsmElfSectionTableEntry);
20405#if defined(SgAsmElfSectionTableEntry_OTHERS) || defined(DOCUMENTATION)
20408#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
20410 friend class boost::serialization::access;
20413 void serialize(S &s,
const unsigned ) {
20416 s & BOOST_SERIALIZATION_NVP(p_sh_name);
20417 s & BOOST_SERIALIZATION_NVP(p_sh_type);
20418 s & BOOST_SERIALIZATION_NVP(p_sh_link);
20419 s & BOOST_SERIALIZATION_NVP(p_sh_info);
20420 s & BOOST_SERIALIZATION_NVP(p_sh_flags);
20421 s & BOOST_SERIALIZATION_NVP(p_sh_addr);
20422 s & BOOST_SERIALIZATION_NVP(p_sh_offset);
20423 s & BOOST_SERIALIZATION_NVP(p_sh_size);
20424 s & BOOST_SERIALIZATION_NVP(p_sh_addralign);
20425 s & BOOST_SERIALIZATION_NVP(p_sh_entsize);
20426 s & BOOST_SERIALIZATION_NVP(p_extra);
20455 SHT_LOPROC = 0x70000000,
20456 SHT_HIPROC = 0x7fffffff,
20457 SHT_LOUSER = 0x80000000,
20458 SHT_HIUSER = 0xffffffff
20492 uint32_t sh_offset;
20496 uint32_t sh_addralign;
20497 uint32_t sh_entsize;
20499#if !defined(SWIG) && !defined(_MSC_VER)
20500 __attribute__((packed))
20509 uint64_t sh_offset;
20513 uint64_t sh_addralign;
20514 uint64_t sh_entsize;
20516#if !defined(SWIG) && !defined(_MSC_VER)
20517 __attribute__((packed))
20663 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
20673 void update_from_section(
SgAsmElfSection*) ROSE_DEPRECATED(
"use updateFromSection");
20693#ifdef DOCUMENTATION
20702DECLARE_LEAF_CLASS(AsmElfSectionTable);
20703IS_SERIALIZABLE(AsmElfSectionTable);
20705#ifndef DOCUMENTATION
20706AsmElfSectionTable.useSmallHeader(
true);
20709DECLARE_HEADERS(AsmElfSectionTable);
20710#if defined(SgAsmElfSectionTable_HEADERS) || defined(DOCUMENTATION)
20711#include <Rose/BinaryAnalysis/Address.h>
20714#ifdef DOCUMENTATION
20723 DECLARE_OTHERS(AsmElfSectionTable);
20724#if defined(SgAsmElfSectionTable_OTHERS) || defined(DOCUMENTATION)
20727#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
20729 friend class boost::serialization::access;
20732 void serialize(S &s,
const unsigned ) {
20772 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
20797#ifdef DOCUMENTATION
20806DECLARE_LEAF_CLASS(AsmElfRelocSection);
20807IS_SERIALIZABLE(AsmElfRelocSection);
20809#ifndef DOCUMENTATION
20810AsmElfRelocSection.useSmallHeader(
true);
20813DECLARE_HEADERS(AsmElfRelocSection);
20814#if defined(SgAsmElfRelocSection_HEADERS) || defined(DOCUMENTATION)
20815#include <Rose/BinaryAnalysis/Address.h>
20817#ifdef ROSE_SgAsmElfRelocSection_IMPL
20818#include <SgAsmElfRelocEntryList.h>
20822#ifdef DOCUMENTATION
20827#ifndef DOCUMENTATION
20828 AsmElfRelocSection.setDataPrototype(
20829 "bool",
"usesAddend",
"= true",
20830 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20833#ifndef DOCUMENTATION
20834 AsmElfRelocSection.setDataPrototype(
20835 "SgAsmElfSection*",
"targetSection",
"= nullptr",
20836 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20839#ifndef DOCUMENTATION
20840 AsmElfRelocSection.setDataPrototype(
20841 "SgAsmElfRelocEntryList*",
"entries",
"= createAndParent<SgAsmElfRelocEntryList>(this)",
20842 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
20845 DECLARE_OTHERS(AsmElfRelocSection);
20846#if defined(SgAsmElfRelocSection_OTHERS) || defined(DOCUMENTATION)
20849#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
20851 friend class boost::serialization::access;
20854 void serialize(S &s,
const unsigned ) {
20857 s & BOOST_SERIALIZATION_NVP(p_usesAddend);
20858 s & BOOST_SERIALIZATION_NVP(p_targetSection);
20859 s & BOOST_SERIALIZATION_NVP(p_entries);
20898 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
20906 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
20912 bool get_uses_addend() const ROSE_DEPRECATED("use
get_usesAddend");
20913 void set_uses_addend(
bool) ROSE_DEPRECATED("use
set_usesAddend");
20917 virtual
Rose::BinaryAnalysis::Address calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const override
20936#ifdef DOCUMENTATION
20945DECLARE_LEAF_CLASS(AsmElfRelocEntryList);
20946IS_SERIALIZABLE(AsmElfRelocEntryList);
20948#ifndef DOCUMENTATION
20949AsmElfRelocEntryList.useSmallHeader(
true);
20952DECLARE_HEADERS(AsmElfRelocEntryList);
20953#if defined(SgAsmElfRelocEntryList_HEADERS) || defined(DOCUMENTATION)
20954#include <sageContainer.h>
20957#ifdef DOCUMENTATION
20965#ifndef DOCUMENTATION
20966 AsmElfRelocEntryList.setDataPrototype(
20967 "SgAsmElfRelocEntryPtrList",
"entries",
"",
20968 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
20971 DECLARE_OTHERS(AsmElfRelocEntryList);
20972#if defined(SgAsmElfRelocEntryList_OTHERS) || defined(DOCUMENTATION)
20975#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
20977 friend class boost::serialization::access;
20980 void serialize(S &s,
const unsigned ) {
20983 s & BOOST_SERIALIZATION_NVP(p_entries);
21014#ifdef DOCUMENTATION
21023DECLARE_LEAF_CLASS(AsmElfRelocEntry);
21024IS_SERIALIZABLE(AsmElfRelocEntry);
21026#ifndef DOCUMENTATION
21027AsmElfRelocEntry.useSmallHeader(
true);
21030DECLARE_HEADERS(AsmElfRelocEntry);
21031#if defined(SgAsmElfRelocEntry_HEADERS) || defined(DOCUMENTATION)
21032#include <Rose/BinaryAnalysis/Address.h>
21033#include <Rose/BinaryAnalysis/ByteOrder.h>
21034#include <sageContainer.h>
21037#ifdef DOCUMENTATION
21042#ifndef DOCUMENTATION
21043 AsmElfRelocEntry.setDataPrototype(
21044 "Rose::BinaryAnalysis::Address",
"r_offset",
"= 0",
21045 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21048#ifndef DOCUMENTATION
21049 AsmElfRelocEntry.setDataPrototype(
21050 "Rose::BinaryAnalysis::Address",
"r_addend",
"= 0",
21051 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21054#ifndef DOCUMENTATION
21055 AsmElfRelocEntry.setDataPrototype(
21056 "unsigned long",
"sym",
"= 0",
21057 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21060#ifndef DOCUMENTATION
21061 AsmElfRelocEntry.setDataPrototype(
21062 "SgAsmElfRelocEntry::RelocType",
"type",
"= R_386_NONE",
21063 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21066#ifndef DOCUMENTATION
21067 AsmElfRelocEntry.setDataPrototype(
21068 "SgUnsignedCharList",
"extra",
"",
21069 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21072 DECLARE_OTHERS(AsmElfRelocEntry);
21073#if defined(SgAsmElfRelocEntry_OTHERS) || defined(DOCUMENTATION)
21076#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
21078 friend class boost::serialization::access;
21081 void serialize(S &s,
const unsigned ) {
21084 s & BOOST_SERIALIZATION_NVP(p_r_offset);
21085 s & BOOST_SERIALIZATION_NVP(p_r_addend);
21086 s & BOOST_SERIALIZATION_NVP(p_sym);
21087 s & BOOST_SERIALIZATION_NVP(p_type);
21088 s & BOOST_SERIALIZATION_NVP(p_extra);
21172#if !defined(SWIG) && !defined(_MSC_VER)
21173 __attribute__((packed))
21182#if !defined(SWIG) && !defined(_MSC_VER)
21183 __attribute__((packed))
21191#if !defined(SWIG) && !defined(_MSC_VER)
21192 __attribute__((packed))
21200#if !defined(SWIG) && !defined(_MSC_VER)
21201 __attribute__((packed))
21290 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const {
21291 dump(f, prefix, idx, NULL);
21290 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const {
…}
21302 std::string reloc_name() const ROSE_DEPRECATED("use
toString");
21320#ifdef DOCUMENTATION
21329DECLARE_LEAF_CLASS(AsmElfNoteSection);
21330IS_SERIALIZABLE(AsmElfNoteSection);
21332#ifndef DOCUMENTATION
21333AsmElfNoteSection.useSmallHeader(
true);
21336DECLARE_HEADERS(AsmElfNoteSection);
21337#if defined(SgAsmElfNoteSection_HEADERS) || defined(DOCUMENTATION)
21338#ifdef ROSE_SgAsmElfNoteSection_IMPL
21339#include <SgAsmElfNoteEntryList.h>
21343#ifdef DOCUMENTATION
21347#ifndef DOCUMENTATION
21348 AsmElfNoteSection.setDataPrototype(
21349 "SgAsmElfNoteEntryList*",
"entries",
"= createAndParent<SgAsmElfNoteEntryList>(this)",
21350 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21353 DECLARE_OTHERS(AsmElfNoteSection);
21354#if defined(SgAsmElfNoteSection_OTHERS) || defined(DOCUMENTATION)
21357#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
21359 friend class boost::serialization::access;
21362 void serialize(S &s,
const unsigned ) {
21365 s & BOOST_SERIALIZATION_NVP(p_entries);
21392 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
21410#ifdef DOCUMENTATION
21419DECLARE_LEAF_CLASS(AsmElfNoteEntryList);
21420IS_SERIALIZABLE(AsmElfNoteEntryList);
21422#ifndef DOCUMENTATION
21423AsmElfNoteEntryList.useSmallHeader(
true);
21426DECLARE_HEADERS(AsmElfNoteEntryList);
21427#if defined(SgAsmElfNoteEntryList_HEADERS) || defined(DOCUMENTATION)
21428#include <sageContainer.h>
21431#ifdef DOCUMENTATION
21439#ifndef DOCUMENTATION
21440 AsmElfNoteEntryList.setDataPrototype(
21441 "SgAsmElfNoteEntryPtrList",
"entries",
"",
21442 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21445 DECLARE_OTHERS(AsmElfNoteEntryList);
21446#if defined(SgAsmElfNoteEntryList_OTHERS) || defined(DOCUMENTATION)
21449#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
21451 friend class boost::serialization::access;
21454 void serialize(S &s,
const unsigned ) {
21457 s & BOOST_SERIALIZATION_NVP(p_entries);
21488#ifdef DOCUMENTATION
21497DECLARE_LEAF_CLASS(AsmElfNoteEntry);
21498IS_SERIALIZABLE(AsmElfNoteEntry);
21500#ifndef DOCUMENTATION
21501AsmElfNoteEntry.useSmallHeader(
true);
21504DECLARE_HEADERS(AsmElfNoteEntry);
21505#if defined(SgAsmElfNoteEntry_HEADERS) || defined(DOCUMENTATION)
21506#include <Rose/BinaryAnalysis/Address.h>
21508#include <sageContainer.h>
21510#ifdef ROSE_SgAsmElfNoteEntry_IMPL
21511#include <SgAsmBasicString.h>
21515#ifdef DOCUMENTATION
21520#ifndef DOCUMENTATION
21521 AsmElfNoteEntry.setDataPrototype(
21522 "unsigned",
"type",
"= 0",
21523 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21526#ifndef DOCUMENTATION
21527 AsmElfNoteEntry.setDataPrototype(
21528 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
21529 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21532#ifndef DOCUMENTATION
21533 AsmElfNoteEntry.setDataPrototype(
21534 "SgUnsignedCharList",
"payload",
"",
21535 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21538 DECLARE_OTHERS(AsmElfNoteEntry);
21539#if defined(SgAsmElfNoteEntry_OTHERS) || defined(DOCUMENTATION)
21542#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
21544 friend class boost::serialization::access;
21547 void serialize(S &s,
const unsigned ) {
21550 s & BOOST_SERIALIZATION_NVP(p_type);
21551 s & BOOST_SERIALIZATION_NVP(p_name);
21552 s & BOOST_SERIALIZATION_NVP(p_payload);
21611 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
21643#ifdef DOCUMENTATION
21652DECLARE_LEAF_CLASS(AsmElfFileHeader);
21653IS_SERIALIZABLE(AsmElfFileHeader);
21655#ifndef DOCUMENTATION
21656AsmElfFileHeader.useSmallHeader(
true);
21659DECLARE_HEADERS(AsmElfFileHeader);
21660#if defined(SgAsmElfFileHeader_HEADERS) || defined(DOCUMENTATION)
21661#include <Rose/BinaryAnalysis/ByteOrder.h>
21664#ifdef DOCUMENTATION
21676#ifndef DOCUMENTATION
21677 AsmElfFileHeader.setDataPrototype(
21678 "unsigned char",
"e_ident_file_class",
"= 0",
21679 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21682#ifndef DOCUMENTATION
21683 AsmElfFileHeader.setDataPrototype(
21684 "unsigned char",
"e_ident_data_encoding",
"= 0",
21685 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21688#ifndef DOCUMENTATION
21689 AsmElfFileHeader.setDataPrototype(
21690 "unsigned char",
"e_ident_file_version",
"= 0",
21691 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21694#ifndef DOCUMENTATION
21695 AsmElfFileHeader.setDataPrototype(
21696 "SgUnsignedCharList",
"e_ident_padding",
"",
21697 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21700#ifndef DOCUMENTATION
21701 AsmElfFileHeader.setDataPrototype(
21702 "unsigned long",
"e_type",
"= 0",
21703 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21706#ifndef DOCUMENTATION
21707 AsmElfFileHeader.setDataPrototype(
21708 "unsigned long",
"e_machine",
"= 0",
21709 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21712#ifndef DOCUMENTATION
21713 AsmElfFileHeader.setDataPrototype(
21714 "unsigned long",
"e_flags",
"= 0",
21715 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21718#ifndef DOCUMENTATION
21719 AsmElfFileHeader.setDataPrototype(
21720 "unsigned long",
"e_ehsize",
"= 0",
21721 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21724#ifndef DOCUMENTATION
21725 AsmElfFileHeader.setDataPrototype(
21726 "unsigned long",
"phextrasz",
"= 0",
21727 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21730#ifndef DOCUMENTATION
21731 AsmElfFileHeader.setDataPrototype(
21732 "unsigned long",
"e_phnum",
"= 0",
21733 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21736#ifndef DOCUMENTATION
21737 AsmElfFileHeader.setDataPrototype(
21738 "unsigned long",
"shextrasz",
"= 0",
21739 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21742#ifndef DOCUMENTATION
21743 AsmElfFileHeader.setDataPrototype(
21744 "unsigned long",
"e_shnum",
"= 0",
21745 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21748#ifndef DOCUMENTATION
21749 AsmElfFileHeader.setDataPrototype(
21750 "unsigned long",
"e_shstrndx",
"= 0",
21751 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21754#ifndef DOCUMENTATION
21755 AsmElfFileHeader.setDataPrototype(
21756 "SgAsmElfSectionTable*",
"sectionTable",
"= nullptr",
21757 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21760#ifndef DOCUMENTATION
21761 AsmElfFileHeader.setDataPrototype(
21762 "SgAsmElfSegmentTable*",
"segmentTable",
"= nullptr",
21763 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21766 DECLARE_OTHERS(AsmElfFileHeader);
21767#if defined(SgAsmElfFileHeader_OTHERS) || defined(DOCUMENTATION)
21770#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
21772 friend class boost::serialization::access;
21775 void serialize(S &s,
const unsigned ) {
21778 s & BOOST_SERIALIZATION_NVP(p_e_ident_file_class);
21779 s & BOOST_SERIALIZATION_NVP(p_e_ident_data_encoding);
21780 s & BOOST_SERIALIZATION_NVP(p_e_ident_file_version);
21781 s & BOOST_SERIALIZATION_NVP(p_e_ident_padding);
21782 s & BOOST_SERIALIZATION_NVP(p_e_type);
21783 s & BOOST_SERIALIZATION_NVP(p_e_machine);
21784 s & BOOST_SERIALIZATION_NVP(p_e_flags);
21785 s & BOOST_SERIALIZATION_NVP(p_e_ehsize);
21786 s & BOOST_SERIALIZATION_NVP(p_phextrasz);
21787 s & BOOST_SERIALIZATION_NVP(p_e_phnum);
21788 s & BOOST_SERIALIZATION_NVP(p_shextrasz);
21789 s & BOOST_SERIALIZATION_NVP(p_e_shnum);
21790 s & BOOST_SERIALIZATION_NVP(p_e_shstrndx);
21791 s & BOOST_SERIALIZATION_NVP(p_sectionTable);
21792 s & BOOST_SERIALIZATION_NVP(p_segmentTable);
21848#if !defined(SWIG) && !defined(_MSC_VER)
21849 __attribute__((packed))
21854 unsigned char e_ident_magic[4];
21855 unsigned char e_ident_file_class;
21856 unsigned char e_ident_data_encoding;
21857 unsigned char e_ident_file_version;
21858 unsigned char e_ident_padding[9];
21860 uint16_t e_machine;
21861 uint32_t e_version;
21867 uint16_t e_phentsize;
21869 uint16_t e_shentsize;
21871 uint16_t e_shstrndx;
21873#if !defined(SWIG) && !defined(_MSC_VER)
21874 __attribute__((packed))
22076 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
22108 virtual const
char *format_name() const override ROSE_DEPRECATED("use
formatName");
22126#ifdef DOCUMENTATION
22135DECLARE_LEAF_CLASS(AsmElfEHFrameSection);
22136IS_SERIALIZABLE(AsmElfEHFrameSection);
22138#ifndef DOCUMENTATION
22139AsmElfEHFrameSection.useSmallHeader(
true);
22142DECLARE_HEADERS(AsmElfEHFrameSection);
22143#if defined(SgAsmElfEHFrameSection_HEADERS) || defined(DOCUMENTATION)
22144#include <Rose/BinaryAnalysis/Address.h>
22146#ifdef ROSE_SgAsmElfEHFrameSection_IMPL
22147#include <SgAsmElfEHFrameEntryCIList.h>
22151#ifdef DOCUMENTATION
22156#ifndef DOCUMENTATION
22157 AsmElfEHFrameSection.setDataPrototype(
22158 "SgAsmElfEHFrameEntryCIList*",
"ci_entries",
"= createAndParent<SgAsmElfEHFrameEntryCIList>(this)",
22159 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22162 DECLARE_OTHERS(AsmElfEHFrameSection);
22163#if defined(SgAsmElfEHFrameSection_OTHERS) || defined(DOCUMENTATION)
22166#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22168 friend class boost::serialization::access;
22171 void serialize(S &s,
const unsigned ) {
22174 s & BOOST_SERIALIZATION_NVP(p_ci_entries);
22201 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
22213 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
22220 ROSE_DEPRECATED(
"use calculateSizes");
22238#ifdef DOCUMENTATION
22247DECLARE_LEAF_CLASS(AsmElfEHFrameEntryFDList);
22248IS_SERIALIZABLE(AsmElfEHFrameEntryFDList);
22250#ifndef DOCUMENTATION
22251AsmElfEHFrameEntryFDList.useSmallHeader(
true);
22254DECLARE_HEADERS(AsmElfEHFrameEntryFDList);
22255#if defined(SgAsmElfEHFrameEntryFDList_HEADERS) || defined(DOCUMENTATION)
22256#include <sageContainer.h>
22259#ifdef DOCUMENTATION
22267#ifndef DOCUMENTATION
22268 AsmElfEHFrameEntryFDList.setDataPrototype(
22269 "SgAsmElfEHFrameEntryFDPtrList",
"entries",
"",
22270 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22273 DECLARE_OTHERS(AsmElfEHFrameEntryFDList);
22274#if defined(SgAsmElfEHFrameEntryFDList_OTHERS) || defined(DOCUMENTATION)
22277#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22279 friend class boost::serialization::access;
22282 void serialize(S &s,
const unsigned ) {
22285 s & BOOST_SERIALIZATION_NVP(p_entries);
22316#ifdef DOCUMENTATION
22325DECLARE_LEAF_CLASS(AsmElfEHFrameEntryFD);
22326IS_SERIALIZABLE(AsmElfEHFrameEntryFD);
22328#ifndef DOCUMENTATION
22329AsmElfEHFrameEntryFD.useSmallHeader(
true);
22332DECLARE_HEADERS(AsmElfEHFrameEntryFD);
22333#if defined(SgAsmElfEHFrameEntryFD_HEADERS) || defined(DOCUMENTATION)
22334#include <Rose/BinaryAnalysis/Address.h>
22335#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
22336#include <sageContainer.h>
22339#ifdef DOCUMENTATION
22344#ifndef DOCUMENTATION
22345 AsmElfEHFrameEntryFD.setDataPrototype(
22346 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"begin_rva",
"",
22347 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22350#ifndef DOCUMENTATION
22351 AsmElfEHFrameEntryFD.setDataPrototype(
22352 "Rose::BinaryAnalysis::Address",
"size",
"= 0",
22353 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22356#ifndef DOCUMENTATION
22357 AsmElfEHFrameEntryFD.setDataPrototype(
22358 "SgUnsignedCharList",
"augmentation_data",
"",
22359 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22362#ifndef DOCUMENTATION
22363 AsmElfEHFrameEntryFD.setDataPrototype(
22364 "SgUnsignedCharList",
"instructions",
"",
22365 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22368 DECLARE_OTHERS(AsmElfEHFrameEntryFD);
22369#if defined(SgAsmElfEHFrameEntryFD_OTHERS) || defined(DOCUMENTATION)
22372#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22374 friend class boost::serialization::access;
22377 void serialize(S &s,
const unsigned ) {
22380 s & BOOST_SERIALIZATION_NVP(p_begin_rva);
22381 s & BOOST_SERIALIZATION_NVP(p_size);
22382 s & BOOST_SERIALIZATION_NVP(p_augmentation_data);
22383 s & BOOST_SERIALIZATION_NVP(p_instructions);
22435 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
22459#ifdef DOCUMENTATION
22468DECLARE_LEAF_CLASS(AsmElfEHFrameEntryCIList);
22469IS_SERIALIZABLE(AsmElfEHFrameEntryCIList);
22471#ifndef DOCUMENTATION
22472AsmElfEHFrameEntryCIList.useSmallHeader(
true);
22475DECLARE_HEADERS(AsmElfEHFrameEntryCIList);
22476#if defined(SgAsmElfEHFrameEntryCIList_HEADERS) || defined(DOCUMENTATION)
22477#include <sageContainer.h>
22480#ifdef DOCUMENTATION
22488#ifndef DOCUMENTATION
22489 AsmElfEHFrameEntryCIList.setDataPrototype(
22490 "SgAsmElfEHFrameEntryCIPtrList",
"entries",
"",
22491 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22494 DECLARE_OTHERS(AsmElfEHFrameEntryCIList);
22495#if defined(SgAsmElfEHFrameEntryCIList_OTHERS) || defined(DOCUMENTATION)
22498#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22500 friend class boost::serialization::access;
22503 void serialize(S &s,
const unsigned ) {
22506 s & BOOST_SERIALIZATION_NVP(p_entries);
22537#ifdef DOCUMENTATION
22546DECLARE_LEAF_CLASS(AsmElfEHFrameEntryCI);
22547IS_SERIALIZABLE(AsmElfEHFrameEntryCI);
22549#ifndef DOCUMENTATION
22550AsmElfEHFrameEntryCI.useSmallHeader(
true);
22553DECLARE_HEADERS(AsmElfEHFrameEntryCI);
22554#if defined(SgAsmElfEHFrameEntryCI_HEADERS) || defined(DOCUMENTATION)
22555#include <Rose/BinaryAnalysis/Address.h>
22557#include <sageContainer.h>
22559#ifdef ROSE_SgAsmElfEHFrameEntryCI_IMPL
22560#include <SgAsmElfEHFrameEntryFDList.h>
22564#ifdef DOCUMENTATION
22571#ifndef DOCUMENTATION
22572 AsmElfEHFrameEntryCI.setDataPrototype(
22573 "int",
"version",
"= 0",
22574 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22577#ifndef DOCUMENTATION
22578 AsmElfEHFrameEntryCI.setDataPrototype(
22579 "std::string",
"augmentation_string",
"",
22580 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22583#ifndef DOCUMENTATION
22584 AsmElfEHFrameEntryCI.setDataPrototype(
22585 "uint64_t",
"eh_data",
"= 0",
22586 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22589#ifndef DOCUMENTATION
22590 AsmElfEHFrameEntryCI.setDataPrototype(
22591 "uint64_t",
"code_alignment_factor",
"= 0",
22592 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22595#ifndef DOCUMENTATION
22596 AsmElfEHFrameEntryCI.setDataPrototype(
22597 "int64_t",
"data_alignment_factor",
"= 0",
22598 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22601#ifndef DOCUMENTATION
22602 AsmElfEHFrameEntryCI.setDataPrototype(
22603 "uint64_t",
"augmentation_data_length",
"= 0",
22604 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22607#ifndef DOCUMENTATION
22608 AsmElfEHFrameEntryCI.setDataPrototype(
22609 "int",
"lsda_encoding",
"= -1",
22610 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22613#ifndef DOCUMENTATION
22614 AsmElfEHFrameEntryCI.setDataPrototype(
22615 "int",
"prh_encoding",
"= -1",
22616 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22619#ifndef DOCUMENTATION
22620 AsmElfEHFrameEntryCI.setDataPrototype(
22621 "unsigned",
"prh_arg",
"= 0",
22622 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22625#ifndef DOCUMENTATION
22626 AsmElfEHFrameEntryCI.setDataPrototype(
22627 "Rose::BinaryAnalysis::Address",
"prh_addr",
"= 0",
22628 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22631#ifndef DOCUMENTATION
22632 AsmElfEHFrameEntryCI.setDataPrototype(
22633 "int",
"addr_encoding",
"= -1",
22634 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22637#ifndef DOCUMENTATION
22638 AsmElfEHFrameEntryCI.setDataPrototype(
22639 "bool",
"sig_frame",
"= false",
22640 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22643#ifndef DOCUMENTATION
22644 AsmElfEHFrameEntryCI.setDataPrototype(
22645 "SgUnsignedCharList",
"instructions",
"",
22646 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22649#ifndef DOCUMENTATION
22650 AsmElfEHFrameEntryCI.setDataPrototype(
22651 "SgAsmElfEHFrameEntryFDList*",
"fd_entries",
"= createAndParent<SgAsmElfEHFrameEntryFDList>(this)",
22652 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22655 DECLARE_OTHERS(AsmElfEHFrameEntryCI);
22656#if defined(SgAsmElfEHFrameEntryCI_OTHERS) || defined(DOCUMENTATION)
22659#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22661 friend class boost::serialization::access;
22664 void serialize(S &s,
const unsigned ) {
22667 s & BOOST_SERIALIZATION_NVP(p_version);
22668 s & BOOST_SERIALIZATION_NVP(p_augmentation_string);
22669 s & BOOST_SERIALIZATION_NVP(p_eh_data);
22670 s & BOOST_SERIALIZATION_NVP(p_code_alignment_factor);
22671 s & BOOST_SERIALIZATION_NVP(p_data_alignment_factor);
22672 s & BOOST_SERIALIZATION_NVP(p_augmentation_data_length);
22673 s & BOOST_SERIALIZATION_NVP(p_lsda_encoding);
22674 s & BOOST_SERIALIZATION_NVP(p_prh_encoding);
22675 s & BOOST_SERIALIZATION_NVP(p_prh_arg);
22676 s & BOOST_SERIALIZATION_NVP(p_prh_addr);
22677 s & BOOST_SERIALIZATION_NVP(p_addr_encoding);
22678 s & BOOST_SERIALIZATION_NVP(p_sig_frame);
22679 s & BOOST_SERIALIZATION_NVP(p_instructions);
22680 s & BOOST_SERIALIZATION_NVP(p_fd_entries);
22831 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
22855#ifdef DOCUMENTATION
22864DECLARE_LEAF_CLASS(AsmElfDynamicSection);
22865IS_SERIALIZABLE(AsmElfDynamicSection);
22867#ifndef DOCUMENTATION
22868AsmElfDynamicSection.useSmallHeader(
true);
22871DECLARE_HEADERS(AsmElfDynamicSection);
22872#if defined(SgAsmElfDynamicSection_HEADERS) || defined(DOCUMENTATION)
22873#include <Rose/BinaryAnalysis/Address.h>
22875#ifdef ROSE_SgAsmElfDynamicSection_IMPL
22876#include <SgAsmElfDynamicEntryList.h>
22880#ifdef DOCUMENTATION
22885#ifndef DOCUMENTATION
22886 AsmElfDynamicSection.setDataPrototype(
22887 "SgAsmElfDynamicEntryList*",
"entries",
"= createAndParent<SgAsmElfDynamicEntryList>(this)",
22888 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22891 DECLARE_OTHERS(AsmElfDynamicSection);
22892#if defined(SgAsmElfDynamicSection_OTHERS) || defined(DOCUMENTATION)
22895#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22897 friend class boost::serialization::access;
22900 void serialize(S &s,
const unsigned ) {
22903 s & BOOST_SERIALIZATION_NVP(p_entries);
22931 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
22939 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
22947 virtual
Rose::BinaryAnalysis::Address calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const override
22966#ifdef DOCUMENTATION
22975#ifndef DOCUMENTATION
22976AstNodeClass& AsmElfSection = nonTerminalConstructor(
22980 "AsmElfSectionTag",
22981 SubclassListBuilder()
22982 | AsmElfDynamicSection
22983 | AsmElfEHFrameSection
22984 | AsmElfNoteSection
22985 | AsmElfRelocSection
22986 | AsmElfStringSection
22987 | AsmElfSymbolSection
22988 | AsmElfSymverDefinedSection
22989 | AsmElfSymverNeededSection
22990 | AsmElfSymverSection
22992assert(AsmElfSection.associatedGrammar !=
nullptr);
22993AsmElfSection.setCppCondition(
"!defined(DOCUMENTATION)");
22994AsmElfSection.isBoostSerializable(
true);
22995AsmElfSection.setAutomaticGenerationOfConstructor(
false);
22996AsmElfSection.setAutomaticGenerationOfDestructor(
false);
22999#ifndef DOCUMENTATION
23000AsmElfSection.useSmallHeader(
true);
23003DECLARE_HEADERS(AsmElfSection);
23004#if defined(SgAsmElfSection_HEADERS) || defined(DOCUMENTATION)
23005#include <Rose/BinaryAnalysis/Address.h>
23007#ifdef ROSE_SgAsmElfSection_IMPL
23008#include <SgAsmElfSectionTableEntry.h>
23009#include <SgAsmElfSegmentTableEntry.h>
23013#ifdef DOCUMENTATION
23018#ifndef DOCUMENTATION
23019 AsmElfSection.setDataPrototype(
23020 "SgAsmElfSection*",
"linkedSection",
"= nullptr",
23021 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23024#ifndef DOCUMENTATION
23025 AsmElfSection.setDataPrototype(
23026 "SgAsmElfSectionTableEntry*",
"sectionEntry",
"= nullptr",
23027 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23030#ifndef DOCUMENTATION
23031 AsmElfSection.setDataPrototype(
23032 "SgAsmElfSegmentTableEntry*",
"segmentEntry",
"= nullptr",
23033 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23036 DECLARE_OTHERS(AsmElfSection);
23037#if defined(SgAsmElfSection_OTHERS) || defined(DOCUMENTATION)
23040#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23042 friend class boost::serialization::access;
23045 void serialize(S &s,
const unsigned ) {
23048 s & BOOST_SERIALIZATION_NVP(p_linkedSection);
23049 s & BOOST_SERIALIZATION_NVP(p_sectionEntry);
23050 s & BOOST_SERIALIZATION_NVP(p_segmentEntry);
23119 size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
23121 virtual void finishParsing();
23140 calculateSizes(
size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
23145 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
23160 virtual
void set_linked_section(
SgAsmElfSection*) ROSE_DEPRECATED("use set_linkSection");
23169 Rose::BinaryAnalysis::Address
23170 calculate_sizes(
size_t,
size_t, const std::vector<
size_t>&,
size_t*,
size_t*,
size_t*,
size_t*) const
23172 virtual
void finish_parsing() ROSE_DEPRECATED("use finishParsing");
23173 virtual
Rose::BinaryAnalysis::Address
23174 calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const ROSE_DEPRECATED("use
calculateSizes");
23194#ifdef DOCUMENTATION
23203DECLARE_LEAF_CLASS(AsmElfDynamicEntryList);
23204IS_SERIALIZABLE(AsmElfDynamicEntryList);
23206#ifndef DOCUMENTATION
23207AsmElfDynamicEntryList.useSmallHeader(
true);
23210DECLARE_HEADERS(AsmElfDynamicEntryList);
23211#if defined(SgAsmElfDynamicEntryList_HEADERS) || defined(DOCUMENTATION)
23212#include <sageContainer.h>
23215#ifdef DOCUMENTATION
23223#ifndef DOCUMENTATION
23224 AsmElfDynamicEntryList.setDataPrototype(
23225 "SgAsmElfDynamicEntryPtrList",
"entries",
"",
23226 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23229 DECLARE_OTHERS(AsmElfDynamicEntryList);
23230#if defined(SgAsmElfDynamicEntryList_OTHERS) || defined(DOCUMENTATION)
23233#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23235 friend class boost::serialization::access;
23238 void serialize(S &s,
const unsigned ) {
23241 s & BOOST_SERIALIZATION_NVP(p_entries);
23272#ifdef DOCUMENTATION
23281DECLARE_LEAF_CLASS(AsmElfDynamicEntry);
23282IS_SERIALIZABLE(AsmElfDynamicEntry);
23284#ifndef DOCUMENTATION
23285AsmElfDynamicEntry.useSmallHeader(
true);
23288DECLARE_HEADERS(AsmElfDynamicEntry);
23289#if defined(SgAsmElfDynamicEntry_HEADERS) || defined(DOCUMENTATION)
23290#include <Rose/BinaryAnalysis/ByteOrder.h>
23291#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
23292#include <sageContainer.h>
23295#ifdef DOCUMENTATION
23300#ifndef DOCUMENTATION
23301 AsmElfDynamicEntry.setDataPrototype(
23302 "SgAsmElfDynamicEntry::EntryType",
"d_tag",
"= SgAsmElfDynamicEntry::DT_NULL",
23303 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23306#ifndef DOCUMENTATION
23307 AsmElfDynamicEntry.setDataPrototype(
23308 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"d_val",
"",
23309 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23312#ifndef DOCUMENTATION
23313 AsmElfDynamicEntry.setDataPrototype(
23314 "SgAsmGenericString*",
"name",
"= nullptr",
23315 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23318#ifndef DOCUMENTATION
23319 AsmElfDynamicEntry.setDataPrototype(
23320 "SgUnsignedCharList",
"extra",
"",
23321 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23324 DECLARE_OTHERS(AsmElfDynamicEntry);
23325#if defined(SgAsmElfDynamicEntry_OTHERS) || defined(DOCUMENTATION)
23328#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23330 friend class boost::serialization::access;
23333 void serialize(S &s,
const unsigned ) {
23336 s & BOOST_SERIALIZATION_NVP(p_d_tag);
23337 s & BOOST_SERIALIZATION_NVP(p_d_val);
23338 s & BOOST_SERIALIZATION_NVP(p_name);
23339 s & BOOST_SERIALIZATION_NVP(p_extra);
23373 DT_INIT_ARRAY = 25,
23374 DT_FINI_ARRAY = 26,
23375 DT_INIT_ARRAYSZ = 27,
23376 DT_FINI_ARRAYSZ = 28,
23379 DT_PREINIT_ARRAY = 32,
23380 DT_PREINIT_ARRAYSZ = 33,
23383 DT_GNU_PRELINKED =0x6ffffdf5,
23384 DT_GNU_CONFLICTSZ=0x6ffffdf6,
23385 DT_GNU_LIBLISTSZ=0x6ffffdf7,
23386 DT_CHECKSUM = 0x6ffffdf8,
23387 DT_PLTPADSZ = 0x6ffffdf9,
23388 DT_MOVEENT = 0x6ffffdfa,
23389 DT_MOVESZ = 0x6ffffdfb,
23390 DT_FEATURE_1= 0x6ffffdfc,
23391 DT_POSFLAG_1= 0x6ffffdfd,
23392 DT_SYMINSZ = 0x6ffffdfe,
23393 DT_SYMINENT = 0x6ffffdff,
23395 DT_GNU_HASH = 0x6ffffef5,
23396 DT_TLSDESC_PLT=0x6ffffef6,
23397 DT_TLSDESC_GOT=0x6ffffef7,
23398 DT_GNU_CONFLICT=0x6ffffef8,
23399 DT_GNU_LIBLIST=0x6ffffef9,
23400 DT_CONFIG = 0x6ffffefa,
23401 DT_DEPAUDIT = 0x6ffffefb,
23402 DT_AUDIT = 0x6ffffefc,
23403 DT_PLTPAD = 0x6ffffefd,
23404 DT_MOVETAB = 0x6ffffefe,
23405 DT_SYMINFO = 0x6ffffeff,
23407 DT_VERSYM = 0x6ffffff0,
23408 DT_RELACOUNT= 0x6ffffff9,
23409 DT_RELCOUNT = 0x6ffffffa,
23410 DT_FLAGS_1 = 0x6ffffffb,
23411 DT_VERDEF = 0x6ffffffc,
23412 DT_VERDEFNUM= 0x6ffffffd,
23413 DT_VERNEED = 0x6ffffffe,
23414 DT_VERNEEDNUM=0x6fffffff,
23416 DT_AUXILIARY= 0x7ffffffd,
23417 DT_FILTER = 0x7fffffff
23429#if !defined(SWIG) && !defined(_MSC_VER)
23430 __attribute__((packed))
23438#if !defined(SWIG) && !defined(_MSC_VER)
23439 __attribute__((packed))
23509 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
23512 static std::string
toString(SgAsmElfDynamicEntry::EntryType);
23518 static std::string to_string(SgAsmElfDynamicEntry::EntryType) ROSE_DEPRECATED(
"use toString");
23536#ifdef DOCUMENTATION
23545DECLARE_LEAF_CLASS(AsmDwarfWithStmt);
23546IS_SERIALIZABLE(AsmDwarfWithStmt);
23548#ifndef DOCUMENTATION
23549AsmDwarfWithStmt.useSmallHeader(
true);
23552#ifdef DOCUMENTATION
23556 DECLARE_OTHERS(AsmDwarfWithStmt);
23557#if defined(SgAsmDwarfWithStmt_OTHERS) || defined(DOCUMENTATION)
23560#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23562 friend class boost::serialization::access;
23565 void serialize(S &s,
const unsigned ) {
23583 uint64_t
const& offset,
23584 uint64_t
const& overall_offset);
23595#ifdef DOCUMENTATION
23604DECLARE_LEAF_CLASS(AsmDwarfVolatileType);
23605IS_SERIALIZABLE(AsmDwarfVolatileType);
23607#ifndef DOCUMENTATION
23608AsmDwarfVolatileType.useSmallHeader(
true);
23611#ifdef DOCUMENTATION
23615 DECLARE_OTHERS(AsmDwarfVolatileType);
23616#if defined(SgAsmDwarfVolatileType_OTHERS) || defined(DOCUMENTATION)
23619#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23621 friend class boost::serialization::access;
23624 void serialize(S &s,
const unsigned ) {
23642 uint64_t
const& offset,
23643 uint64_t
const& overall_offset);
23654#ifdef DOCUMENTATION
23663DECLARE_LEAF_CLASS(AsmDwarfVariantPart);
23664IS_SERIALIZABLE(AsmDwarfVariantPart);
23666#ifndef DOCUMENTATION
23667AsmDwarfVariantPart.useSmallHeader(
true);
23670#ifdef DOCUMENTATION
23674 DECLARE_OTHERS(AsmDwarfVariantPart);
23675#if defined(SgAsmDwarfVariantPart_OTHERS) || defined(DOCUMENTATION)
23678#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23680 friend class boost::serialization::access;
23683 void serialize(S &s,
const unsigned ) {
23701 uint64_t
const& offset,
23702 uint64_t
const& overall_offset);
23713#ifdef DOCUMENTATION
23722DECLARE_LEAF_CLASS(AsmDwarfVariant);
23723IS_SERIALIZABLE(AsmDwarfVariant);
23725#ifndef DOCUMENTATION
23726AsmDwarfVariant.useSmallHeader(
true);
23729#ifdef DOCUMENTATION
23733 DECLARE_OTHERS(AsmDwarfVariant);
23734#if defined(SgAsmDwarfVariant_OTHERS) || defined(DOCUMENTATION)
23737#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23739 friend class boost::serialization::access;
23742 void serialize(S &s,
const unsigned ) {
23760 uint64_t
const& offset,
23761 uint64_t
const& overall_offset);
23772#ifdef DOCUMENTATION
23781DECLARE_LEAF_CLASS(AsmDwarfVariable);
23782IS_SERIALIZABLE(AsmDwarfVariable);
23784#ifndef DOCUMENTATION
23785AsmDwarfVariable.useSmallHeader(
true);
23788#ifdef DOCUMENTATION
23792 DECLARE_OTHERS(AsmDwarfVariable);
23793#if defined(SgAsmDwarfVariable_OTHERS) || defined(DOCUMENTATION)
23796#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23798 friend class boost::serialization::access;
23801 void serialize(S &s,
const unsigned ) {
23819 uint64_t
const& offset,
23820 uint64_t
const& overall_offset);
23831#ifdef DOCUMENTATION
23840DECLARE_LEAF_CLASS(AsmDwarfUpcStrictType);
23841IS_SERIALIZABLE(AsmDwarfUpcStrictType);
23843#ifndef DOCUMENTATION
23844AsmDwarfUpcStrictType.useSmallHeader(
true);
23847#ifdef DOCUMENTATION
23851 DECLARE_OTHERS(AsmDwarfUpcStrictType);
23852#if defined(SgAsmDwarfUpcStrictType_OTHERS) || defined(DOCUMENTATION)
23855#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23857 friend class boost::serialization::access;
23860 void serialize(S &s,
const unsigned ) {
23878 uint64_t
const& offset,
23879 uint64_t
const& overall_offset);
23890#ifdef DOCUMENTATION
23899DECLARE_LEAF_CLASS(AsmDwarfUpcSharedType);
23900IS_SERIALIZABLE(AsmDwarfUpcSharedType);
23902#ifndef DOCUMENTATION
23903AsmDwarfUpcSharedType.useSmallHeader(
true);
23906#ifdef DOCUMENTATION
23910 DECLARE_OTHERS(AsmDwarfUpcSharedType);
23911#if defined(SgAsmDwarfUpcSharedType_OTHERS) || defined(DOCUMENTATION)
23914#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23916 friend class boost::serialization::access;
23919 void serialize(S &s,
const unsigned ) {
23937 uint64_t
const& offset,
23938 uint64_t
const& overall_offset);
23949#ifdef DOCUMENTATION
23958DECLARE_LEAF_CLASS(AsmDwarfUpcRelaxedType);
23959IS_SERIALIZABLE(AsmDwarfUpcRelaxedType);
23961#ifndef DOCUMENTATION
23962AsmDwarfUpcRelaxedType.useSmallHeader(
true);
23965#ifdef DOCUMENTATION
23969 DECLARE_OTHERS(AsmDwarfUpcRelaxedType);
23970#if defined(SgAsmDwarfUpcRelaxedType_OTHERS) || defined(DOCUMENTATION)
23973#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23975 friend class boost::serialization::access;
23978 void serialize(S &s,
const unsigned ) {
23996 uint64_t
const& offset,
23997 uint64_t
const& overall_offset);
24008#ifdef DOCUMENTATION
24017DECLARE_LEAF_CLASS(AsmDwarfUnspecifiedType);
24018IS_SERIALIZABLE(AsmDwarfUnspecifiedType);
24020#ifndef DOCUMENTATION
24021AsmDwarfUnspecifiedType.useSmallHeader(
true);
24024#ifdef DOCUMENTATION
24028 DECLARE_OTHERS(AsmDwarfUnspecifiedType);
24029#if defined(SgAsmDwarfUnspecifiedType_OTHERS) || defined(DOCUMENTATION)
24032#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24034 friend class boost::serialization::access;
24037 void serialize(S &s,
const unsigned ) {
24055 uint64_t
const& offset,
24056 uint64_t
const& overall_offset);
24067#ifdef DOCUMENTATION
24076DECLARE_LEAF_CLASS(AsmDwarfUnspecifiedParameters);
24077IS_SERIALIZABLE(AsmDwarfUnspecifiedParameters);
24079#ifndef DOCUMENTATION
24080AsmDwarfUnspecifiedParameters.useSmallHeader(
true);
24083#ifdef DOCUMENTATION
24087 DECLARE_OTHERS(AsmDwarfUnspecifiedParameters);
24088#if defined(SgAsmDwarfUnspecifiedParameters_OTHERS) || defined(DOCUMENTATION)
24091#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24093 friend class boost::serialization::access;
24096 void serialize(S &s,
const unsigned ) {
24114 uint64_t
const& offset,
24115 uint64_t
const& overall_offset);
24126#ifdef DOCUMENTATION
24135DECLARE_LEAF_CLASS(AsmDwarfUnknownConstruct);
24136IS_SERIALIZABLE(AsmDwarfUnknownConstruct);
24138#ifndef DOCUMENTATION
24139AsmDwarfUnknownConstruct.useSmallHeader(
true);
24142#ifdef DOCUMENTATION
24146 DECLARE_OTHERS(AsmDwarfUnknownConstruct);
24147#if defined(SgAsmDwarfUnknownConstruct_OTHERS) || defined(DOCUMENTATION)
24150#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24152 friend class boost::serialization::access;
24155 void serialize(S &s,
const unsigned ) {
24173 uint64_t
const& offset,
24174 uint64_t
const& overall_offset);
24185#ifdef DOCUMENTATION
24194DECLARE_LEAF_CLASS(AsmDwarfUnionType);
24195IS_SERIALIZABLE(AsmDwarfUnionType);
24197#ifndef DOCUMENTATION
24198AsmDwarfUnionType.useSmallHeader(
true);
24201DECLARE_HEADERS(AsmDwarfUnionType);
24202#if defined(SgAsmDwarfUnionType_HEADERS) || defined(DOCUMENTATION)
24203#ifdef ROSE_SgAsmDwarfUnionType_IMPL
24204#include <SgAsmDwarfConstructList.h>
24208#ifdef DOCUMENTATION
24212#ifndef DOCUMENTATION
24213 AsmDwarfUnionType.setDataPrototype(
24214 "SgAsmDwarfConstructList*",
"body",
"= NULL",
24215 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24218 DECLARE_OTHERS(AsmDwarfUnionType);
24219#if defined(SgAsmDwarfUnionType_OTHERS) || defined(DOCUMENTATION)
24222#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24224 friend class boost::serialization::access;
24227 void serialize(S &s,
const unsigned ) {
24230 s & BOOST_SERIALIZATION_NVP(p_body);
24251 uint64_t
const& offset,
24252 uint64_t
const& overall_offset);
24263#ifdef DOCUMENTATION
24272DECLARE_LEAF_CLASS(AsmDwarfTypedef);
24273IS_SERIALIZABLE(AsmDwarfTypedef);
24275#ifndef DOCUMENTATION
24276AsmDwarfTypedef.useSmallHeader(
true);
24279#ifdef DOCUMENTATION
24283 DECLARE_OTHERS(AsmDwarfTypedef);
24284#if defined(SgAsmDwarfTypedef_OTHERS) || defined(DOCUMENTATION)
24287#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24289 friend class boost::serialization::access;
24292 void serialize(S &s,
const unsigned ) {
24310 uint64_t
const& offset,
24311 uint64_t
const& overall_offset);
24322#ifdef DOCUMENTATION
24331DECLARE_LEAF_CLASS(AsmDwarfTryBlock);
24332IS_SERIALIZABLE(AsmDwarfTryBlock);
24334#ifndef DOCUMENTATION
24335AsmDwarfTryBlock.useSmallHeader(
true);
24338#ifdef DOCUMENTATION
24342 DECLARE_OTHERS(AsmDwarfTryBlock);
24343#if defined(SgAsmDwarfTryBlock_OTHERS) || defined(DOCUMENTATION)
24346#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24348 friend class boost::serialization::access;
24351 void serialize(S &s,
const unsigned ) {
24369 uint64_t
const& offset,
24370 uint64_t
const& overall_offset);
24381#ifdef DOCUMENTATION
24390DECLARE_LEAF_CLASS(AsmDwarfThrownType);
24391IS_SERIALIZABLE(AsmDwarfThrownType);
24393#ifndef DOCUMENTATION
24394AsmDwarfThrownType.useSmallHeader(
true);
24397#ifdef DOCUMENTATION
24401 DECLARE_OTHERS(AsmDwarfThrownType);
24402#if defined(SgAsmDwarfThrownType_OTHERS) || defined(DOCUMENTATION)
24405#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24407 friend class boost::serialization::access;
24410 void serialize(S &s,
const unsigned ) {
24428 uint64_t
const& offset,
24429 uint64_t
const& overall_offset);
24440#ifdef DOCUMENTATION
24449DECLARE_LEAF_CLASS(AsmDwarfTemplateValueParameter);
24450IS_SERIALIZABLE(AsmDwarfTemplateValueParameter);
24452#ifndef DOCUMENTATION
24453AsmDwarfTemplateValueParameter.useSmallHeader(
true);
24456#ifdef DOCUMENTATION
24460 DECLARE_OTHERS(AsmDwarfTemplateValueParameter);
24461#if defined(SgAsmDwarfTemplateValueParameter_OTHERS) || defined(DOCUMENTATION)
24464#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24466 friend class boost::serialization::access;
24469 void serialize(S &s,
const unsigned ) {
24487 uint64_t
const& offset,
24488 uint64_t
const& overall_offset);
24499#ifdef DOCUMENTATION
24508DECLARE_LEAF_CLASS(AsmDwarfTemplateTypeParameter);
24509IS_SERIALIZABLE(AsmDwarfTemplateTypeParameter);
24511#ifndef DOCUMENTATION
24512AsmDwarfTemplateTypeParameter.useSmallHeader(
true);
24515#ifdef DOCUMENTATION
24519 DECLARE_OTHERS(AsmDwarfTemplateTypeParameter);
24520#if defined(SgAsmDwarfTemplateTypeParameter_OTHERS) || defined(DOCUMENTATION)
24523#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24525 friend class boost::serialization::access;
24528 void serialize(S &s,
const unsigned ) {
24546 uint64_t
const& offset,
24547 uint64_t
const& overall_offset);
24558#ifdef DOCUMENTATION
24567DECLARE_LEAF_CLASS(AsmDwarfSubroutineType);
24568IS_SERIALIZABLE(AsmDwarfSubroutineType);
24570#ifndef DOCUMENTATION
24571AsmDwarfSubroutineType.useSmallHeader(
true);
24574DECLARE_HEADERS(AsmDwarfSubroutineType);
24575#if defined(SgAsmDwarfSubroutineType_HEADERS) || defined(DOCUMENTATION)
24576#ifdef ROSE_SgAsmDwarfSubroutineType_IMPL
24577#include <SgAsmDwarfConstructList.h>
24581#ifdef DOCUMENTATION
24585#ifndef DOCUMENTATION
24586 AsmDwarfSubroutineType.setDataPrototype(
24587 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
24588 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24591 DECLARE_OTHERS(AsmDwarfSubroutineType);
24592#if defined(SgAsmDwarfSubroutineType_OTHERS) || defined(DOCUMENTATION)
24595#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24597 friend class boost::serialization::access;
24600 void serialize(S &s,
const unsigned ) {
24603 s & BOOST_SERIALIZATION_NVP(p_body);
24624 uint64_t
const& offset,
24625 uint64_t
const& overall_offset);
24636#ifdef DOCUMENTATION
24645DECLARE_LEAF_CLASS(AsmDwarfSubrangeType);
24646IS_SERIALIZABLE(AsmDwarfSubrangeType);
24648#ifndef DOCUMENTATION
24649AsmDwarfSubrangeType.useSmallHeader(
true);
24652#ifdef DOCUMENTATION
24656 DECLARE_OTHERS(AsmDwarfSubrangeType);
24657#if defined(SgAsmDwarfSubrangeType_OTHERS) || defined(DOCUMENTATION)
24660#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24662 friend class boost::serialization::access;
24665 void serialize(S &s,
const unsigned ) {
24683 uint64_t
const& offset,
24684 uint64_t
const& overall_offset);
24695#ifdef DOCUMENTATION
24704DECLARE_LEAF_CLASS(AsmDwarfSubprogram);
24705IS_SERIALIZABLE(AsmDwarfSubprogram);
24707#ifndef DOCUMENTATION
24708AsmDwarfSubprogram.useSmallHeader(
true);
24711DECLARE_HEADERS(AsmDwarfSubprogram);
24712#if defined(SgAsmDwarfSubprogram_HEADERS) || defined(DOCUMENTATION)
24713#ifdef ROSE_SgAsmDwarfSubprogram_IMPL
24714#include <SgAsmDwarfConstructList.h>
24718#ifdef DOCUMENTATION
24722#ifndef DOCUMENTATION
24723 AsmDwarfSubprogram.setDataPrototype(
24724 "SgAsmDwarfConstructList*",
"body",
"= NULL",
24725 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24728 DECLARE_OTHERS(AsmDwarfSubprogram);
24729#if defined(SgAsmDwarfSubprogram_OTHERS) || defined(DOCUMENTATION)
24732#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24734 friend class boost::serialization::access;
24737 void serialize(S &s,
const unsigned ) {
24740 s & BOOST_SERIALIZATION_NVP(p_body);
24761 uint64_t
const& offset,
24762 uint64_t
const& overall_offset);
24773#ifdef DOCUMENTATION
24782DECLARE_LEAF_CLASS(AsmDwarfStructureType);
24783IS_SERIALIZABLE(AsmDwarfStructureType);
24785#ifndef DOCUMENTATION
24786AsmDwarfStructureType.useSmallHeader(
true);
24789DECLARE_HEADERS(AsmDwarfStructureType);
24790#if defined(SgAsmDwarfStructureType_HEADERS) || defined(DOCUMENTATION)
24791#ifdef ROSE_SgAsmDwarfStructureType_IMPL
24792#include <SgAsmDwarfConstructList.h>
24796#ifdef DOCUMENTATION
24800#ifndef DOCUMENTATION
24801 AsmDwarfStructureType.setDataPrototype(
24802 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
24803 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24806 DECLARE_OTHERS(AsmDwarfStructureType);
24807#if defined(SgAsmDwarfStructureType_OTHERS) || defined(DOCUMENTATION)
24810#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24812 friend class boost::serialization::access;
24815 void serialize(S &s,
const unsigned ) {
24818 s & BOOST_SERIALIZATION_NVP(p_body);
24839 uint64_t
const& offset,
24840 uint64_t
const& overall_offset);
24851#ifdef DOCUMENTATION
24860DECLARE_LEAF_CLASS(AsmDwarfStringType);
24861IS_SERIALIZABLE(AsmDwarfStringType);
24863#ifndef DOCUMENTATION
24864AsmDwarfStringType.useSmallHeader(
true);
24867#ifdef DOCUMENTATION
24871 DECLARE_OTHERS(AsmDwarfStringType);
24872#if defined(SgAsmDwarfStringType_OTHERS) || defined(DOCUMENTATION)
24875#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24877 friend class boost::serialization::access;
24880 void serialize(S &s,
const unsigned ) {
24898 uint64_t
const& offset,
24899 uint64_t
const& overall_offset);
24910#ifdef DOCUMENTATION
24919DECLARE_LEAF_CLASS(AsmDwarfSharedType);
24920IS_SERIALIZABLE(AsmDwarfSharedType);
24922#ifndef DOCUMENTATION
24923AsmDwarfSharedType.useSmallHeader(
true);
24926#ifdef DOCUMENTATION
24930 DECLARE_OTHERS(AsmDwarfSharedType);
24931#if defined(SgAsmDwarfSharedType_OTHERS) || defined(DOCUMENTATION)
24934#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24936 friend class boost::serialization::access;
24939 void serialize(S &s,
const unsigned ) {
24957 uint64_t
const& offset,
24958 uint64_t
const& overall_offset);
24969#ifdef DOCUMENTATION
24978DECLARE_LEAF_CLASS(AsmDwarfSetType);
24979IS_SERIALIZABLE(AsmDwarfSetType);
24981#ifndef DOCUMENTATION
24982AsmDwarfSetType.useSmallHeader(
true);
24985#ifdef DOCUMENTATION
24989 DECLARE_OTHERS(AsmDwarfSetType);
24990#if defined(SgAsmDwarfSetType_OTHERS) || defined(DOCUMENTATION)
24993#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24995 friend class boost::serialization::access;
24998 void serialize(S &s,
const unsigned ) {
25016 uint64_t
const& offset,
25017 uint64_t
const& overall_offset);
25028#ifdef DOCUMENTATION
25037DECLARE_LEAF_CLASS(AsmDwarfRestrictType);
25038IS_SERIALIZABLE(AsmDwarfRestrictType);
25040#ifndef DOCUMENTATION
25041AsmDwarfRestrictType.useSmallHeader(
true);
25044#ifdef DOCUMENTATION
25048 DECLARE_OTHERS(AsmDwarfRestrictType);
25049#if defined(SgAsmDwarfRestrictType_OTHERS) || defined(DOCUMENTATION)
25052#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25054 friend class boost::serialization::access;
25057 void serialize(S &s,
const unsigned ) {
25075 uint64_t
const& offset,
25076 uint64_t
const& overall_offset);
25087#ifdef DOCUMENTATION
25096DECLARE_LEAF_CLASS(AsmDwarfReferenceType);
25097IS_SERIALIZABLE(AsmDwarfReferenceType);
25099#ifndef DOCUMENTATION
25100AsmDwarfReferenceType.useSmallHeader(
true);
25103#ifdef DOCUMENTATION
25107 DECLARE_OTHERS(AsmDwarfReferenceType);
25108#if defined(SgAsmDwarfReferenceType_OTHERS) || defined(DOCUMENTATION)
25111#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25113 friend class boost::serialization::access;
25116 void serialize(S &s,
const unsigned ) {
25134 uint64_t
const& offset,
25135 uint64_t
const& overall_offset);
25146#ifdef DOCUMENTATION
25155DECLARE_LEAF_CLASS(AsmDwarfPtrToMemberType);
25156IS_SERIALIZABLE(AsmDwarfPtrToMemberType);
25158#ifndef DOCUMENTATION
25159AsmDwarfPtrToMemberType.useSmallHeader(
true);
25162#ifdef DOCUMENTATION
25166 DECLARE_OTHERS(AsmDwarfPtrToMemberType);
25167#if defined(SgAsmDwarfPtrToMemberType_OTHERS) || defined(DOCUMENTATION)
25170#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25172 friend class boost::serialization::access;
25175 void serialize(S &s,
const unsigned ) {
25193 uint64_t
const& offset,
25194 uint64_t
const& overall_offset);
25205#ifdef DOCUMENTATION
25214DECLARE_LEAF_CLASS(AsmDwarfPointerType);
25215IS_SERIALIZABLE(AsmDwarfPointerType);
25217#ifndef DOCUMENTATION
25218AsmDwarfPointerType.useSmallHeader(
true);
25221#ifdef DOCUMENTATION
25225 DECLARE_OTHERS(AsmDwarfPointerType);
25226#if defined(SgAsmDwarfPointerType_OTHERS) || defined(DOCUMENTATION)
25229#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25231 friend class boost::serialization::access;
25234 void serialize(S &s,
const unsigned ) {
25252 uint64_t
const& offset,
25253 uint64_t
const& overall_offset);
25264#ifdef DOCUMENTATION
25273DECLARE_LEAF_CLASS(AsmDwarfPartialUnit);
25274IS_SERIALIZABLE(AsmDwarfPartialUnit);
25276#ifndef DOCUMENTATION
25277AsmDwarfPartialUnit.useSmallHeader(
true);
25280#ifdef DOCUMENTATION
25284 DECLARE_OTHERS(AsmDwarfPartialUnit);
25285#if defined(SgAsmDwarfPartialUnit_OTHERS) || defined(DOCUMENTATION)
25288#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25290 friend class boost::serialization::access;
25293 void serialize(S &s,
const unsigned ) {
25311 uint64_t
const& offset,
25312 uint64_t
const& overall_offset);
25323#ifdef DOCUMENTATION
25332DECLARE_LEAF_CLASS(AsmDwarfPackedType);
25333IS_SERIALIZABLE(AsmDwarfPackedType);
25335#ifndef DOCUMENTATION
25336AsmDwarfPackedType.useSmallHeader(
true);
25339#ifdef DOCUMENTATION
25343 DECLARE_OTHERS(AsmDwarfPackedType);
25344#if defined(SgAsmDwarfPackedType_OTHERS) || defined(DOCUMENTATION)
25347#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25349 friend class boost::serialization::access;
25352 void serialize(S &s,
const unsigned ) {
25370 uint64_t
const& offset,
25371 uint64_t
const& overall_offset);
25382#ifdef DOCUMENTATION
25391DECLARE_LEAF_CLASS(AsmDwarfNamespace);
25392IS_SERIALIZABLE(AsmDwarfNamespace);
25394#ifndef DOCUMENTATION
25395AsmDwarfNamespace.useSmallHeader(
true);
25398DECLARE_HEADERS(AsmDwarfNamespace);
25399#if defined(SgAsmDwarfNamespace_HEADERS) || defined(DOCUMENTATION)
25400#ifdef ROSE_SgAsmDwarfNamespace_IMPL
25401#include <SgAsmDwarfConstructList.h>
25405#ifdef DOCUMENTATION
25409#ifndef DOCUMENTATION
25410 AsmDwarfNamespace.setDataPrototype(
25411 "SgAsmDwarfConstructList*",
"body",
"= NULL",
25412 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25415 DECLARE_OTHERS(AsmDwarfNamespace);
25416#if defined(SgAsmDwarfNamespace_OTHERS) || defined(DOCUMENTATION)
25419#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25421 friend class boost::serialization::access;
25424 void serialize(S &s,
const unsigned ) {
25427 s & BOOST_SERIALIZATION_NVP(p_body);
25448 uint64_t
const& offset,
25449 uint64_t
const& overall_offset);
25460#ifdef DOCUMENTATION
25469DECLARE_LEAF_CLASS(AsmDwarfNamelistItem);
25470IS_SERIALIZABLE(AsmDwarfNamelistItem);
25472#ifndef DOCUMENTATION
25473AsmDwarfNamelistItem.useSmallHeader(
true);
25476#ifdef DOCUMENTATION
25480 DECLARE_OTHERS(AsmDwarfNamelistItem);
25481#if defined(SgAsmDwarfNamelistItem_OTHERS) || defined(DOCUMENTATION)
25484#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25486 friend class boost::serialization::access;
25489 void serialize(S &s,
const unsigned ) {
25507 uint64_t
const& offset,
25508 uint64_t
const& overall_offset);
25519#ifdef DOCUMENTATION
25528DECLARE_LEAF_CLASS(AsmDwarfNamelist);
25529IS_SERIALIZABLE(AsmDwarfNamelist);
25531#ifndef DOCUMENTATION
25532AsmDwarfNamelist.useSmallHeader(
true);
25535#ifdef DOCUMENTATION
25539 DECLARE_OTHERS(AsmDwarfNamelist);
25540#if defined(SgAsmDwarfNamelist_OTHERS) || defined(DOCUMENTATION)
25543#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25545 friend class boost::serialization::access;
25548 void serialize(S &s,
const unsigned ) {
25566 uint64_t
const& offset,
25567 uint64_t
const& overall_offset);
25578#ifdef DOCUMENTATION
25587DECLARE_LEAF_CLASS(AsmDwarfMutableType);
25588IS_SERIALIZABLE(AsmDwarfMutableType);
25590#ifndef DOCUMENTATION
25591AsmDwarfMutableType.useSmallHeader(
true);
25594#ifdef DOCUMENTATION
25598 DECLARE_OTHERS(AsmDwarfMutableType);
25599#if defined(SgAsmDwarfMutableType_OTHERS) || defined(DOCUMENTATION)
25602#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25604 friend class boost::serialization::access;
25607 void serialize(S &s,
const unsigned ) {
25625 uint64_t
const& offset,
25626 uint64_t
const& overall_offset);
25637#ifdef DOCUMENTATION
25646DECLARE_LEAF_CLASS(AsmDwarfModule);
25647IS_SERIALIZABLE(AsmDwarfModule);
25649#ifndef DOCUMENTATION
25650AsmDwarfModule.useSmallHeader(
true);
25653#ifdef DOCUMENTATION
25657 DECLARE_OTHERS(AsmDwarfModule);
25658#if defined(SgAsmDwarfModule_OTHERS) || defined(DOCUMENTATION)
25661#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25663 friend class boost::serialization::access;
25666 void serialize(S &s,
const unsigned ) {
25684 uint64_t
const& offset,
25685 uint64_t
const& overall_offset);
25696#ifdef DOCUMENTATION
25705DECLARE_LEAF_CLASS(AsmDwarfMember);
25706IS_SERIALIZABLE(AsmDwarfMember);
25708#ifndef DOCUMENTATION
25709AsmDwarfMember.useSmallHeader(
true);
25712#ifdef DOCUMENTATION
25716 DECLARE_OTHERS(AsmDwarfMember);
25717#if defined(SgAsmDwarfMember_OTHERS) || defined(DOCUMENTATION)
25720#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25722 friend class boost::serialization::access;
25725 void serialize(S &s,
const unsigned ) {
25743 uint64_t
const& offset,
25744 uint64_t
const& overall_offset);
25755#ifdef DOCUMENTATION
25764DECLARE_LEAF_CLASS(AsmDwarfMacroList);
25765IS_SERIALIZABLE(AsmDwarfMacroList);
25767#ifndef DOCUMENTATION
25768AsmDwarfMacroList.useSmallHeader(
true);
25771DECLARE_HEADERS(AsmDwarfMacroList);
25772#if defined(SgAsmDwarfMacroList_HEADERS) || defined(DOCUMENTATION)
25773#include <sageContainer.h>
25776#ifdef DOCUMENTATION
25780#ifndef DOCUMENTATION
25781 AsmDwarfMacroList.setDataPrototype(
25782 "SgAsmDwarfMacroPtrList",
"macro_list",
"",
25783 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25786 DECLARE_OTHERS(AsmDwarfMacroList);
25787#if defined(SgAsmDwarfMacroList_OTHERS) || defined(DOCUMENTATION)
25790#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25792 friend class boost::serialization::access;
25795 void serialize(S &s,
const unsigned ) {
25798 s & BOOST_SERIALIZATION_NVP(p_macro_list);
25804 SgAsmDwarfMacroPtrList
const& get_macro_list()
const;
25805 void set_macro_list(SgAsmDwarfMacroPtrList
const&);
25824#ifdef DOCUMENTATION
25833DECLARE_LEAF_CLASS(AsmDwarfMacro);
25834IS_SERIALIZABLE(AsmDwarfMacro);
25836#ifndef DOCUMENTATION
25837AsmDwarfMacro.useSmallHeader(
true);
25840#ifdef DOCUMENTATION
25844#ifndef DOCUMENTATION
25845 AsmDwarfMacro.setDataPrototype(
25846 "std::string",
"macro_string",
"",
25847 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
25850 DECLARE_OTHERS(AsmDwarfMacro);
25851#if defined(SgAsmDwarfMacro_OTHERS) || defined(DOCUMENTATION)
25854#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25856 friend class boost::serialization::access;
25859 void serialize(S &s,
const unsigned ) {
25862 s & BOOST_SERIALIZATION_NVP(p_macro_string);
25868 std::string
const& get_macro_string()
const;
25869 void set_macro_string(std::string
const&);
25888#ifdef DOCUMENTATION
25897DECLARE_LEAF_CLASS(AsmDwarfLineList);
25898IS_SERIALIZABLE(AsmDwarfLineList);
25900#ifndef DOCUMENTATION
25901AsmDwarfLineList.useSmallHeader(
true);
25904DECLARE_HEADERS(AsmDwarfLineList);
25905#if defined(SgAsmDwarfLineList_HEADERS) || defined(DOCUMENTATION)
25906#include <sageContainer.h>
25909#ifdef DOCUMENTATION
25913#ifndef DOCUMENTATION
25914 AsmDwarfLineList.setDataPrototype(
25915 "SgAsmDwarfLinePtrList",
"line_list",
"",
25916 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25919 DECLARE_OTHERS(AsmDwarfLineList);
25920#if defined(SgAsmDwarfLineList_OTHERS) || defined(DOCUMENTATION)
25923#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25925 friend class boost::serialization::access;
25928 void serialize(S &s,
const unsigned ) {
25931 s & BOOST_SERIALIZATION_NVP(p_line_list);
25937 SgAsmDwarfLinePtrList
const& get_line_list()
const;
25938 SgAsmDwarfLinePtrList& get_line_list();
25939 void set_line_list(SgAsmDwarfLinePtrList
const&);
25943 AsmDwarfLineList.setDataPrototype(
"SgInstructionAddressSourcePositionMapPtrList",
"instructionToSourceMap",
"",
25944 NO_CONSTRUCTOR_PARAMETER, BUILD_LIST_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE);
25945 AsmDwarfLineList.setDataPrototype(
"SgSourcePositionInstructionAddressMapPtrList",
"sourceToInstructionMap",
"",
25946 NO_CONSTRUCTOR_PARAMETER, BUILD_LIST_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE);
25957 static std::pair<uint64_t,uint64_t> instructionRange();
25958 static std::pair<LineColumnFilePosition,LineColumnFilePosition> sourceCodeRange(
int file_id );
25960 static uint64_t sourceCodeToAddress ( FileIdLineColumnFilePosition sourcePosition );
25961 static FileIdLineColumnFilePosition addressToSourceCode ( uint64_t address );
25979#ifdef DOCUMENTATION
25988DECLARE_LEAF_CLASS(AsmDwarfLine);
25989IS_SERIALIZABLE(AsmDwarfLine);
25991#ifndef DOCUMENTATION
25992AsmDwarfLine.useSmallHeader(
true);
25995#ifdef DOCUMENTATION
25999#ifndef DOCUMENTATION
26000 AsmDwarfLine.setDataPrototype(
26001 "uint64_t",
"address",
"= 0",
26002 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26005#ifndef DOCUMENTATION
26006 AsmDwarfLine.setDataPrototype(
26007 "int",
"file_id",
"= -2",
26008 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26011#ifndef DOCUMENTATION
26012 AsmDwarfLine.setDataPrototype(
26013 "int",
"line",
"= 0",
26014 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26017#ifndef DOCUMENTATION
26018 AsmDwarfLine.setDataPrototype(
26019 "int",
"column",
"= 0",
26020 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26023 DECLARE_OTHERS(AsmDwarfLine);
26024#if defined(SgAsmDwarfLine_OTHERS) || defined(DOCUMENTATION)
26027#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26029 friend class boost::serialization::access;
26032 void serialize(S &s,
const unsigned ) {
26035 s & BOOST_SERIALIZATION_NVP(p_address);
26036 s & BOOST_SERIALIZATION_NVP(p_file_id);
26037 s & BOOST_SERIALIZATION_NVP(p_line);
26038 s & BOOST_SERIALIZATION_NVP(p_column);
26044 uint64_t
const& get_address()
const;
26045 void set_address(uint64_t
const&);
26049 int const& get_file_id()
const;
26050 void set_file_id(
int const&);
26053 int const& get_line()
const;
26054 void set_line(
int const&);
26057 int const& get_column()
const;
26058 void set_column(
int const&);
26071 int const& file_id,
26073 int const& column);
26084#ifdef DOCUMENTATION
26093DECLARE_LEAF_CLASS(AsmDwarfLexicalBlock);
26094IS_SERIALIZABLE(AsmDwarfLexicalBlock);
26096#ifndef DOCUMENTATION
26097AsmDwarfLexicalBlock.useSmallHeader(
true);
26100DECLARE_HEADERS(AsmDwarfLexicalBlock);
26101#if defined(SgAsmDwarfLexicalBlock_HEADERS) || defined(DOCUMENTATION)
26102#ifdef ROSE_SgAsmDwarfLexicalBlock_IMPL
26103#include <SgAsmDwarfConstructList.h>
26107#ifdef DOCUMENTATION
26111#ifndef DOCUMENTATION
26112 AsmDwarfLexicalBlock.setDataPrototype(
26113 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
26114 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26117 DECLARE_OTHERS(AsmDwarfLexicalBlock);
26118#if defined(SgAsmDwarfLexicalBlock_OTHERS) || defined(DOCUMENTATION)
26121#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26123 friend class boost::serialization::access;
26126 void serialize(S &s,
const unsigned ) {
26129 s & BOOST_SERIALIZATION_NVP(p_body);
26150 uint64_t
const& offset,
26151 uint64_t
const& overall_offset);
26162#ifdef DOCUMENTATION
26171DECLARE_LEAF_CLASS(AsmDwarfLabel);
26172IS_SERIALIZABLE(AsmDwarfLabel);
26174#ifndef DOCUMENTATION
26175AsmDwarfLabel.useSmallHeader(
true);
26178#ifdef DOCUMENTATION
26182 DECLARE_OTHERS(AsmDwarfLabel);
26183#if defined(SgAsmDwarfLabel_OTHERS) || defined(DOCUMENTATION)
26186#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26188 friend class boost::serialization::access;
26191 void serialize(S &s,
const unsigned ) {
26209 uint64_t
const& offset,
26210 uint64_t
const& overall_offset);
26221#ifdef DOCUMENTATION
26230DECLARE_LEAF_CLASS(AsmDwarfInterfaceType);
26231IS_SERIALIZABLE(AsmDwarfInterfaceType);
26233#ifndef DOCUMENTATION
26234AsmDwarfInterfaceType.useSmallHeader(
true);
26237#ifdef DOCUMENTATION
26241 DECLARE_OTHERS(AsmDwarfInterfaceType);
26242#if defined(SgAsmDwarfInterfaceType_OTHERS) || defined(DOCUMENTATION)
26245#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26247 friend class boost::serialization::access;
26250 void serialize(S &s,
const unsigned ) {
26268 uint64_t
const& offset,
26269 uint64_t
const& overall_offset);
26280#ifdef DOCUMENTATION
26289DECLARE_LEAF_CLASS(AsmDwarfInlinedSubroutine);
26290IS_SERIALIZABLE(AsmDwarfInlinedSubroutine);
26292#ifndef DOCUMENTATION
26293AsmDwarfInlinedSubroutine.useSmallHeader(
true);
26296DECLARE_HEADERS(AsmDwarfInlinedSubroutine);
26297#if defined(SgAsmDwarfInlinedSubroutine_HEADERS) || defined(DOCUMENTATION)
26298#ifdef ROSE_SgAsmDwarfInlinedSubroutine_IMPL
26299#include <SgAsmDwarfConstructList.h>
26303#ifdef DOCUMENTATION
26307#ifndef DOCUMENTATION
26308 AsmDwarfInlinedSubroutine.setDataPrototype(
26309 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
26310 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26313 DECLARE_OTHERS(AsmDwarfInlinedSubroutine);
26314#if defined(SgAsmDwarfInlinedSubroutine_OTHERS) || defined(DOCUMENTATION)
26317#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26319 friend class boost::serialization::access;
26322 void serialize(S &s,
const unsigned ) {
26325 s & BOOST_SERIALIZATION_NVP(p_body);
26346 uint64_t
const& offset,
26347 uint64_t
const& overall_offset);
26358#ifdef DOCUMENTATION
26367DECLARE_LEAF_CLASS(AsmDwarfInheritance);
26368IS_SERIALIZABLE(AsmDwarfInheritance);
26370#ifndef DOCUMENTATION
26371AsmDwarfInheritance.useSmallHeader(
true);
26374#ifdef DOCUMENTATION
26378 DECLARE_OTHERS(AsmDwarfInheritance);
26379#if defined(SgAsmDwarfInheritance_OTHERS) || defined(DOCUMENTATION)
26382#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26384 friend class boost::serialization::access;
26387 void serialize(S &s,
const unsigned ) {
26405 uint64_t
const& offset,
26406 uint64_t
const& overall_offset);
26417#ifdef DOCUMENTATION
26426DECLARE_LEAF_CLASS(AsmDwarfImportedUnit);
26427IS_SERIALIZABLE(AsmDwarfImportedUnit);
26429#ifndef DOCUMENTATION
26430AsmDwarfImportedUnit.useSmallHeader(
true);
26433#ifdef DOCUMENTATION
26437 DECLARE_OTHERS(AsmDwarfImportedUnit);
26438#if defined(SgAsmDwarfImportedUnit_OTHERS) || defined(DOCUMENTATION)
26441#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26443 friend class boost::serialization::access;
26446 void serialize(S &s,
const unsigned ) {
26464 uint64_t
const& offset,
26465 uint64_t
const& overall_offset);
26476#ifdef DOCUMENTATION
26485DECLARE_LEAF_CLASS(AsmDwarfImportedModule);
26486IS_SERIALIZABLE(AsmDwarfImportedModule);
26488#ifndef DOCUMENTATION
26489AsmDwarfImportedModule.useSmallHeader(
true);
26492#ifdef DOCUMENTATION
26496 DECLARE_OTHERS(AsmDwarfImportedModule);
26497#if defined(SgAsmDwarfImportedModule_OTHERS) || defined(DOCUMENTATION)
26500#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26502 friend class boost::serialization::access;
26505 void serialize(S &s,
const unsigned ) {
26523 uint64_t
const& offset,
26524 uint64_t
const& overall_offset);
26535#ifdef DOCUMENTATION
26544DECLARE_LEAF_CLASS(AsmDwarfImportedDeclaration);
26545IS_SERIALIZABLE(AsmDwarfImportedDeclaration);
26547#ifndef DOCUMENTATION
26548AsmDwarfImportedDeclaration.useSmallHeader(
true);
26551#ifdef DOCUMENTATION
26555 DECLARE_OTHERS(AsmDwarfImportedDeclaration);
26556#if defined(SgAsmDwarfImportedDeclaration_OTHERS) || defined(DOCUMENTATION)
26559#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26561 friend class boost::serialization::access;
26564 void serialize(S &s,
const unsigned ) {
26582 uint64_t
const& offset,
26583 uint64_t
const& overall_offset);
26594#ifdef DOCUMENTATION
26603DECLARE_LEAF_CLASS(AsmDwarfFunctionTemplate);
26604IS_SERIALIZABLE(AsmDwarfFunctionTemplate);
26606#ifndef DOCUMENTATION
26607AsmDwarfFunctionTemplate.useSmallHeader(
true);
26610#ifdef DOCUMENTATION
26614 DECLARE_OTHERS(AsmDwarfFunctionTemplate);
26615#if defined(SgAsmDwarfFunctionTemplate_OTHERS) || defined(DOCUMENTATION)
26618#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26620 friend class boost::serialization::access;
26623 void serialize(S &s,
const unsigned ) {
26641 uint64_t
const& offset,
26642 uint64_t
const& overall_offset);
26653#ifdef DOCUMENTATION
26662DECLARE_LEAF_CLASS(AsmDwarfFriend);
26663IS_SERIALIZABLE(AsmDwarfFriend);
26665#ifndef DOCUMENTATION
26666AsmDwarfFriend.useSmallHeader(
true);
26669#ifdef DOCUMENTATION
26673 DECLARE_OTHERS(AsmDwarfFriend);
26674#if defined(SgAsmDwarfFriend_OTHERS) || defined(DOCUMENTATION)
26677#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26679 friend class boost::serialization::access;
26682 void serialize(S &s,
const unsigned ) {
26700 uint64_t
const& offset,
26701 uint64_t
const& overall_offset);
26712#ifdef DOCUMENTATION
26721DECLARE_LEAF_CLASS(AsmDwarfFormatLabel);
26722IS_SERIALIZABLE(AsmDwarfFormatLabel);
26724#ifndef DOCUMENTATION
26725AsmDwarfFormatLabel.useSmallHeader(
true);
26728#ifdef DOCUMENTATION
26732 DECLARE_OTHERS(AsmDwarfFormatLabel);
26733#if defined(SgAsmDwarfFormatLabel_OTHERS) || defined(DOCUMENTATION)
26736#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26738 friend class boost::serialization::access;
26741 void serialize(S &s,
const unsigned ) {
26759 uint64_t
const& offset,
26760 uint64_t
const& overall_offset);
26771#ifdef DOCUMENTATION
26780DECLARE_LEAF_CLASS(AsmDwarfFormalParameter);
26781IS_SERIALIZABLE(AsmDwarfFormalParameter);
26783#ifndef DOCUMENTATION
26784AsmDwarfFormalParameter.useSmallHeader(
true);
26787#ifdef DOCUMENTATION
26791 DECLARE_OTHERS(AsmDwarfFormalParameter);
26792#if defined(SgAsmDwarfFormalParameter_OTHERS) || defined(DOCUMENTATION)
26795#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26797 friend class boost::serialization::access;
26800 void serialize(S &s,
const unsigned ) {
26818 uint64_t
const& offset,
26819 uint64_t
const& overall_offset);
26830#ifdef DOCUMENTATION
26839DECLARE_LEAF_CLASS(AsmDwarfFileType);
26840IS_SERIALIZABLE(AsmDwarfFileType);
26842#ifndef DOCUMENTATION
26843AsmDwarfFileType.useSmallHeader(
true);
26846#ifdef DOCUMENTATION
26850 DECLARE_OTHERS(AsmDwarfFileType);
26851#if defined(SgAsmDwarfFileType_OTHERS) || defined(DOCUMENTATION)
26854#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26856 friend class boost::serialization::access;
26859 void serialize(S &s,
const unsigned ) {
26877 uint64_t
const& offset,
26878 uint64_t
const& overall_offset);
26889#ifdef DOCUMENTATION
26898DECLARE_LEAF_CLASS(AsmDwarfEnumerator);
26899IS_SERIALIZABLE(AsmDwarfEnumerator);
26901#ifndef DOCUMENTATION
26902AsmDwarfEnumerator.useSmallHeader(
true);
26905#ifdef DOCUMENTATION
26909 DECLARE_OTHERS(AsmDwarfEnumerator);
26910#if defined(SgAsmDwarfEnumerator_OTHERS) || defined(DOCUMENTATION)
26913#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26915 friend class boost::serialization::access;
26918 void serialize(S &s,
const unsigned ) {
26936 uint64_t
const& offset,
26937 uint64_t
const& overall_offset);
26948#ifdef DOCUMENTATION
26957DECLARE_LEAF_CLASS(AsmDwarfEnumerationType);
26958IS_SERIALIZABLE(AsmDwarfEnumerationType);
26960#ifndef DOCUMENTATION
26961AsmDwarfEnumerationType.useSmallHeader(
true);
26964DECLARE_HEADERS(AsmDwarfEnumerationType);
26965#if defined(SgAsmDwarfEnumerationType_HEADERS) || defined(DOCUMENTATION)
26966#ifdef ROSE_SgAsmDwarfEnumerationType_IMPL
26967#include <SgAsmDwarfConstructList.h>
26971#ifdef DOCUMENTATION
26975#ifndef DOCUMENTATION
26976 AsmDwarfEnumerationType.setDataPrototype(
26977 "SgAsmDwarfConstructList*",
"body",
"= NULL",
26978 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26981 DECLARE_OTHERS(AsmDwarfEnumerationType);
26982#if defined(SgAsmDwarfEnumerationType_OTHERS) || defined(DOCUMENTATION)
26985#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26987 friend class boost::serialization::access;
26990 void serialize(S &s,
const unsigned ) {
26993 s & BOOST_SERIALIZATION_NVP(p_body);
27014 uint64_t
const& offset,
27015 uint64_t
const& overall_offset);
27026#ifdef DOCUMENTATION
27035DECLARE_LEAF_CLASS(AsmDwarfEntryPoint);
27036IS_SERIALIZABLE(AsmDwarfEntryPoint);
27038#ifndef DOCUMENTATION
27039AsmDwarfEntryPoint.useSmallHeader(
true);
27042#ifdef DOCUMENTATION
27046 DECLARE_OTHERS(AsmDwarfEntryPoint);
27047#if defined(SgAsmDwarfEntryPoint_OTHERS) || defined(DOCUMENTATION)
27050#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27052 friend class boost::serialization::access;
27055 void serialize(S &s,
const unsigned ) {
27073 uint64_t
const& offset,
27074 uint64_t
const& overall_offset);
27085#ifdef DOCUMENTATION
27094DECLARE_LEAF_CLASS(AsmDwarfDwarfProcedure);
27095IS_SERIALIZABLE(AsmDwarfDwarfProcedure);
27097#ifndef DOCUMENTATION
27098AsmDwarfDwarfProcedure.useSmallHeader(
true);
27101#ifdef DOCUMENTATION
27105 DECLARE_OTHERS(AsmDwarfDwarfProcedure);
27106#if defined(SgAsmDwarfDwarfProcedure_OTHERS) || defined(DOCUMENTATION)
27109#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27111 friend class boost::serialization::access;
27114 void serialize(S &s,
const unsigned ) {
27132 uint64_t
const& offset,
27133 uint64_t
const& overall_offset);
27144#ifdef DOCUMENTATION
27153DECLARE_LEAF_CLASS(AsmDwarfConstructList);
27154IS_SERIALIZABLE(AsmDwarfConstructList);
27156#ifndef DOCUMENTATION
27157AsmDwarfConstructList.useSmallHeader(
true);
27160DECLARE_HEADERS(AsmDwarfConstructList);
27161#if defined(SgAsmDwarfConstructList_HEADERS) || defined(DOCUMENTATION)
27162#include <sageContainer.h>
27165#ifdef DOCUMENTATION
27169#ifndef DOCUMENTATION
27170 AsmDwarfConstructList.setDataPrototype(
27171 "SgAsmDwarfConstructPtrList",
"list",
"",
27172 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27175 DECLARE_OTHERS(AsmDwarfConstructList);
27176#if defined(SgAsmDwarfConstructList_OTHERS) || defined(DOCUMENTATION)
27179#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27181 friend class boost::serialization::access;
27184 void serialize(S &s,
const unsigned ) {
27187 s & BOOST_SERIALIZATION_NVP(p_list);
27193 SgAsmDwarfConstructPtrList
const& get_list()
const;
27194 SgAsmDwarfConstructPtrList& get_list();
27195 void set_list(SgAsmDwarfConstructPtrList
const&);
27214#ifdef DOCUMENTATION
27223DECLARE_LEAF_CLASS(AsmDwarfConstant);
27224IS_SERIALIZABLE(AsmDwarfConstant);
27226#ifndef DOCUMENTATION
27227AsmDwarfConstant.useSmallHeader(
true);
27230#ifdef DOCUMENTATION
27234 DECLARE_OTHERS(AsmDwarfConstant);
27235#if defined(SgAsmDwarfConstant_OTHERS) || defined(DOCUMENTATION)
27238#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27240 friend class boost::serialization::access;
27243 void serialize(S &s,
const unsigned ) {
27261 uint64_t
const& offset,
27262 uint64_t
const& overall_offset);
27273#ifdef DOCUMENTATION
27282DECLARE_LEAF_CLASS(AsmDwarfConstType);
27283IS_SERIALIZABLE(AsmDwarfConstType);
27285#ifndef DOCUMENTATION
27286AsmDwarfConstType.useSmallHeader(
true);
27289#ifdef DOCUMENTATION
27293 DECLARE_OTHERS(AsmDwarfConstType);
27294#if defined(SgAsmDwarfConstType_OTHERS) || defined(DOCUMENTATION)
27297#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27299 friend class boost::serialization::access;
27302 void serialize(S &s,
const unsigned ) {
27320 uint64_t
const& offset,
27321 uint64_t
const& overall_offset);
27332#ifdef DOCUMENTATION
27341DECLARE_LEAF_CLASS(AsmDwarfCondition);
27342IS_SERIALIZABLE(AsmDwarfCondition);
27344#ifndef DOCUMENTATION
27345AsmDwarfCondition.useSmallHeader(
true);
27348#ifdef DOCUMENTATION
27352 DECLARE_OTHERS(AsmDwarfCondition);
27353#if defined(SgAsmDwarfCondition_OTHERS) || defined(DOCUMENTATION)
27356#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27358 friend class boost::serialization::access;
27361 void serialize(S &s,
const unsigned ) {
27379 uint64_t
const& offset,
27380 uint64_t
const& overall_offset);
27391#ifdef DOCUMENTATION
27400DECLARE_LEAF_CLASS(AsmDwarfCompilationUnitList);
27401IS_SERIALIZABLE(AsmDwarfCompilationUnitList);
27403#ifndef DOCUMENTATION
27404AsmDwarfCompilationUnitList.useSmallHeader(
true);
27407DECLARE_HEADERS(AsmDwarfCompilationUnitList);
27408#if defined(SgAsmDwarfCompilationUnitList_HEADERS) || defined(DOCUMENTATION)
27409#include <sageContainer.h>
27412#ifdef DOCUMENTATION
27416#ifndef DOCUMENTATION
27417 AsmDwarfCompilationUnitList.setDataPrototype(
27418 "SgAsmDwarfCompilationUnitPtrList",
"cu_list",
"",
27419 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27422 DECLARE_OTHERS(AsmDwarfCompilationUnitList);
27423#if defined(SgAsmDwarfCompilationUnitList_OTHERS) || defined(DOCUMENTATION)
27426#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27428 friend class boost::serialization::access;
27431 void serialize(S &s,
const unsigned ) {
27434 s & BOOST_SERIALIZATION_NVP(p_cu_list);
27440 SgAsmDwarfCompilationUnitPtrList
const& get_cu_list()
const;
27441 SgAsmDwarfCompilationUnitPtrList& get_cu_list();
27442 void set_cu_list(SgAsmDwarfCompilationUnitPtrList
const&);
27461#ifdef DOCUMENTATION
27470DECLARE_LEAF_CLASS(AsmDwarfCompilationUnit);
27471IS_SERIALIZABLE(AsmDwarfCompilationUnit);
27473#ifndef DOCUMENTATION
27474AsmDwarfCompilationUnit.useSmallHeader(
true);
27477DECLARE_HEADERS(AsmDwarfCompilationUnit);
27478#if defined(SgAsmDwarfCompilationUnit_HEADERS) || defined(DOCUMENTATION)
27479#ifdef ROSE_SgAsmDwarfCompilationUnit_IMPL
27480#include <SgAsmDwarfConstructList.h>
27481#include <SgAsmDwarfLineList.h>
27482#include <SgAsmDwarfMacroList.h>
27486#ifdef DOCUMENTATION
27490#ifndef DOCUMENTATION
27491 AsmDwarfCompilationUnit.setDataPrototype(
27492 "std::string",
"producer",
"",
27493 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27496#ifndef DOCUMENTATION
27497 AsmDwarfCompilationUnit.setDataPrototype(
27498 "std::string",
"language",
"",
27499 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27502#ifndef DOCUMENTATION
27503 AsmDwarfCompilationUnit.setDataPrototype(
27504 "uint64_t",
"low_pc",
"= 0",
27505 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27508#ifndef DOCUMENTATION
27509 AsmDwarfCompilationUnit.setDataPrototype(
27510 "uint64_t",
"hi_pc",
"= 0",
27511 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27514#ifndef DOCUMENTATION
27515 AsmDwarfCompilationUnit.setDataPrototype(
27516 "int",
"version_stamp",
"= 0",
27517 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27520#ifndef DOCUMENTATION
27521 AsmDwarfCompilationUnit.setDataPrototype(
27522 "uint64_t",
"abbrev_offset",
"= 0",
27523 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27526#ifndef DOCUMENTATION
27527 AsmDwarfCompilationUnit.setDataPrototype(
27528 "uint64_t",
"address_size",
"= 0",
27529 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27532#ifndef DOCUMENTATION
27533 AsmDwarfCompilationUnit.setDataPrototype(
27534 "uint64_t",
"offset_length",
"= 0",
27535 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
27538#ifndef DOCUMENTATION
27539 AsmDwarfCompilationUnit.setDataPrototype(
27540 "SgAsmDwarfLineList*",
"line_info",
"= nullptr",
27541 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27544#ifndef DOCUMENTATION
27545 AsmDwarfCompilationUnit.setDataPrototype(
27546 "SgAsmDwarfConstructList*",
"language_constructs",
"= nullptr",
27547 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27550#ifndef DOCUMENTATION
27551 AsmDwarfCompilationUnit.setDataPrototype(
27552 "SgAsmDwarfMacroList*",
"macro_info",
"= nullptr",
27553 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27556 DECLARE_OTHERS(AsmDwarfCompilationUnit);
27557#if defined(SgAsmDwarfCompilationUnit_OTHERS) || defined(DOCUMENTATION)
27560#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27562 friend class boost::serialization::access;
27565 void serialize(S &s,
const unsigned ) {
27568 s & BOOST_SERIALIZATION_NVP(p_producer);
27569 s & BOOST_SERIALIZATION_NVP(p_language);
27570 s & BOOST_SERIALIZATION_NVP(p_low_pc);
27571 s & BOOST_SERIALIZATION_NVP(p_hi_pc);
27572 s & BOOST_SERIALIZATION_NVP(p_version_stamp);
27573 s & BOOST_SERIALIZATION_NVP(p_abbrev_offset);
27574 s & BOOST_SERIALIZATION_NVP(p_address_size);
27575 s & BOOST_SERIALIZATION_NVP(p_offset_length);
27576 s & BOOST_SERIALIZATION_NVP(p_line_info);
27577 s & BOOST_SERIALIZATION_NVP(p_language_constructs);
27578 s & BOOST_SERIALIZATION_NVP(p_macro_info);
27584 std::string
const& get_producer()
const;
27585 void set_producer(std::string
const&);
27588 std::string
const& get_language()
const;
27589 void set_language(std::string
const&);
27592 uint64_t
const& get_low_pc()
const;
27593 void set_low_pc(uint64_t
const&);
27596 uint64_t
const& get_hi_pc()
const;
27597 void set_hi_pc(uint64_t
const&);
27600 int const& get_version_stamp()
const;
27601 void set_version_stamp(
int const&);
27604 uint64_t
const& get_abbrev_offset()
const;
27605 void set_abbrev_offset(uint64_t
const&);
27608 uint64_t
const& get_address_size()
const;
27609 void set_address_size(uint64_t
const&);
27612 uint64_t
const& get_offset_length()
const;
27613 void set_offset_length(uint64_t
const&);
27639 uint64_t
const& offset,
27640 uint64_t
const& overall_offset);
27651#ifdef DOCUMENTATION
27660DECLARE_LEAF_CLASS(AsmDwarfCommonInclusion);
27661IS_SERIALIZABLE(AsmDwarfCommonInclusion);
27663#ifndef DOCUMENTATION
27664AsmDwarfCommonInclusion.useSmallHeader(
true);
27667#ifdef DOCUMENTATION
27671 DECLARE_OTHERS(AsmDwarfCommonInclusion);
27672#if defined(SgAsmDwarfCommonInclusion_OTHERS) || defined(DOCUMENTATION)
27675#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27677 friend class boost::serialization::access;
27680 void serialize(S &s,
const unsigned ) {
27698 uint64_t
const& offset,
27699 uint64_t
const& overall_offset);
27710#ifdef DOCUMENTATION
27719DECLARE_LEAF_CLASS(AsmDwarfCommonBlock);
27720IS_SERIALIZABLE(AsmDwarfCommonBlock);
27722#ifndef DOCUMENTATION
27723AsmDwarfCommonBlock.useSmallHeader(
true);
27726DECLARE_HEADERS(AsmDwarfCommonBlock);
27727#if defined(SgAsmDwarfCommonBlock_HEADERS) || defined(DOCUMENTATION)
27728#ifdef ROSE_SgAsmDwarfCommonBlock_IMPL
27729#include <SgAsmDwarfConstructList.h>
27733#ifdef DOCUMENTATION
27737#ifndef DOCUMENTATION
27738 AsmDwarfCommonBlock.setDataPrototype(
27739 "SgAsmDwarfConstructList*",
"body",
"= NULL",
27740 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27743 DECLARE_OTHERS(AsmDwarfCommonBlock);
27744#if defined(SgAsmDwarfCommonBlock_OTHERS) || defined(DOCUMENTATION)
27747#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27749 friend class boost::serialization::access;
27752 void serialize(S &s,
const unsigned ) {
27755 s & BOOST_SERIALIZATION_NVP(p_body);
27776 uint64_t
const& offset,
27777 uint64_t
const& overall_offset);
27788#ifdef DOCUMENTATION
27797DECLARE_LEAF_CLASS(AsmDwarfClassType);
27798IS_SERIALIZABLE(AsmDwarfClassType);
27800#ifndef DOCUMENTATION
27801AsmDwarfClassType.useSmallHeader(
true);
27804DECLARE_HEADERS(AsmDwarfClassType);
27805#if defined(SgAsmDwarfClassType_HEADERS) || defined(DOCUMENTATION)
27806#ifdef ROSE_SgAsmDwarfClassType_IMPL
27807#include <SgAsmDwarfConstructList.h>
27811#ifdef DOCUMENTATION
27815#ifndef DOCUMENTATION
27816 AsmDwarfClassType.setDataPrototype(
27817 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
27818 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27821 DECLARE_OTHERS(AsmDwarfClassType);
27822#if defined(SgAsmDwarfClassType_OTHERS) || defined(DOCUMENTATION)
27825#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27827 friend class boost::serialization::access;
27830 void serialize(S &s,
const unsigned ) {
27833 s & BOOST_SERIALIZATION_NVP(p_body);
27854 uint64_t
const& offset,
27855 uint64_t
const& overall_offset);
27866#ifdef DOCUMENTATION
27875DECLARE_LEAF_CLASS(AsmDwarfClassTemplate);
27876IS_SERIALIZABLE(AsmDwarfClassTemplate);
27878#ifndef DOCUMENTATION
27879AsmDwarfClassTemplate.useSmallHeader(
true);
27882#ifdef DOCUMENTATION
27886 DECLARE_OTHERS(AsmDwarfClassTemplate);
27887#if defined(SgAsmDwarfClassTemplate_OTHERS) || defined(DOCUMENTATION)
27890#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27892 friend class boost::serialization::access;
27895 void serialize(S &s,
const unsigned ) {
27913 uint64_t
const& offset,
27914 uint64_t
const& overall_offset);
27925#ifdef DOCUMENTATION
27934DECLARE_LEAF_CLASS(AsmDwarfCatchBlock);
27935IS_SERIALIZABLE(AsmDwarfCatchBlock);
27937#ifndef DOCUMENTATION
27938AsmDwarfCatchBlock.useSmallHeader(
true);
27941#ifdef DOCUMENTATION
27945 DECLARE_OTHERS(AsmDwarfCatchBlock);
27946#if defined(SgAsmDwarfCatchBlock_OTHERS) || defined(DOCUMENTATION)
27949#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27951 friend class boost::serialization::access;
27954 void serialize(S &s,
const unsigned ) {
27972 uint64_t
const& offset,
27973 uint64_t
const& overall_offset);
27984#ifdef DOCUMENTATION
27993DECLARE_LEAF_CLASS(AsmDwarfBaseType);
27994IS_SERIALIZABLE(AsmDwarfBaseType);
27996#ifndef DOCUMENTATION
27997AsmDwarfBaseType.useSmallHeader(
true);
28000#ifdef DOCUMENTATION
28004 DECLARE_OTHERS(AsmDwarfBaseType);
28005#if defined(SgAsmDwarfBaseType_OTHERS) || defined(DOCUMENTATION)
28008#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28010 friend class boost::serialization::access;
28013 void serialize(S &s,
const unsigned ) {
28031 uint64_t
const& offset,
28032 uint64_t
const& overall_offset);
28043#ifdef DOCUMENTATION
28052DECLARE_LEAF_CLASS(AsmDwarfArrayType);
28053IS_SERIALIZABLE(AsmDwarfArrayType);
28055#ifndef DOCUMENTATION
28056AsmDwarfArrayType.useSmallHeader(
true);
28059DECLARE_HEADERS(AsmDwarfArrayType);
28060#if defined(SgAsmDwarfArrayType_HEADERS) || defined(DOCUMENTATION)
28061#ifdef ROSE_SgAsmDwarfArrayType_IMPL
28062#include <SgAsmDwarfConstructList.h>
28066#ifdef DOCUMENTATION
28070#ifndef DOCUMENTATION
28071 AsmDwarfArrayType.setDataPrototype(
28072 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
28073 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28076 DECLARE_OTHERS(AsmDwarfArrayType);
28077#if defined(SgAsmDwarfArrayType_OTHERS) || defined(DOCUMENTATION)
28080#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28082 friend class boost::serialization::access;
28085 void serialize(S &s,
const unsigned ) {
28088 s & BOOST_SERIALIZATION_NVP(p_body);
28109 uint64_t
const& offset,
28110 uint64_t
const& overall_offset);
28121#ifdef DOCUMENTATION
28130DECLARE_LEAF_CLASS(AsmDwarfAccessDeclaration);
28131IS_SERIALIZABLE(AsmDwarfAccessDeclaration);
28133#ifndef DOCUMENTATION
28134AsmDwarfAccessDeclaration.useSmallHeader(
true);
28137#ifdef DOCUMENTATION
28141 DECLARE_OTHERS(AsmDwarfAccessDeclaration);
28142#if defined(SgAsmDwarfAccessDeclaration_OTHERS) || defined(DOCUMENTATION)
28145#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28147 friend class boost::serialization::access;
28150 void serialize(S &s,
const unsigned ) {
28168 uint64_t
const& offset,
28169 uint64_t
const& overall_offset);
28180#ifdef DOCUMENTATION
28189#ifndef DOCUMENTATION
28190AstNodeClass& AsmDwarfConstruct = nonTerminalConstructor(
28191 "AsmDwarfConstruct",
28193 "AsmDwarfConstruct",
28194 "AsmDwarfConstructTag",
28195 SubclassListBuilder()
28196 | AsmDwarfAccessDeclaration
28197 | AsmDwarfArrayType
28199 | AsmDwarfCatchBlock
28200 | AsmDwarfClassTemplate
28201 | AsmDwarfClassType
28202 | AsmDwarfCommonBlock
28203 | AsmDwarfCommonInclusion
28204 | AsmDwarfCompilationUnit
28205 | AsmDwarfCondition
28206 | AsmDwarfConstType
28208 | AsmDwarfDwarfProcedure
28209 | AsmDwarfEntryPoint
28210 | AsmDwarfEnumerationType
28211 | AsmDwarfEnumerator
28213 | AsmDwarfFormalParameter
28214 | AsmDwarfFormatLabel
28216 | AsmDwarfFunctionTemplate
28217 | AsmDwarfImportedDeclaration
28218 | AsmDwarfImportedModule
28219 | AsmDwarfImportedUnit
28220 | AsmDwarfInheritance
28221 | AsmDwarfInlinedSubroutine
28222 | AsmDwarfInterfaceType
28224 | AsmDwarfLexicalBlock
28227 | AsmDwarfMutableType
28229 | AsmDwarfNamelistItem
28230 | AsmDwarfNamespace
28231 | AsmDwarfPackedType
28232 | AsmDwarfPartialUnit
28233 | AsmDwarfPointerType
28234 | AsmDwarfPtrToMemberType
28235 | AsmDwarfReferenceType
28236 | AsmDwarfRestrictType
28238 | AsmDwarfSharedType
28239 | AsmDwarfStringType
28240 | AsmDwarfStructureType
28241 | AsmDwarfSubprogram
28242 | AsmDwarfSubrangeType
28243 | AsmDwarfSubroutineType
28244 | AsmDwarfTemplateTypeParameter
28245 | AsmDwarfTemplateValueParameter
28246 | AsmDwarfThrownType
28249 | AsmDwarfUnionType
28250 | AsmDwarfUnknownConstruct
28251 | AsmDwarfUnspecifiedParameters
28252 | AsmDwarfUnspecifiedType
28253 | AsmDwarfUpcRelaxedType
28254 | AsmDwarfUpcSharedType
28255 | AsmDwarfUpcStrictType
28258 | AsmDwarfVariantPart
28259 | AsmDwarfVolatileType
28262assert(AsmDwarfConstruct.associatedGrammar !=
nullptr);
28263AsmDwarfConstruct.setCppCondition(
"!defined(DOCUMENTATION)");
28264AsmDwarfConstruct.isBoostSerializable(
true);
28265AsmDwarfConstruct.setAutomaticGenerationOfConstructor(
false);
28266AsmDwarfConstruct.setAutomaticGenerationOfDestructor(
false);
28269#ifndef DOCUMENTATION
28270AsmDwarfConstruct.useSmallHeader(
true);
28273#ifdef DOCUMENTATION
28277#ifndef DOCUMENTATION
28278 AsmDwarfConstruct.setDataPrototype(
28279 "int",
"nesting_level",
"= 0",
28280 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28283#ifndef DOCUMENTATION
28284 AsmDwarfConstruct.setDataPrototype(
28285 "uint64_t",
"offset",
"= 0",
28286 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28289#ifndef DOCUMENTATION
28290 AsmDwarfConstruct.setDataPrototype(
28291 "uint64_t",
"overall_offset",
"= 0",
28292 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28295#ifndef DOCUMENTATION
28296 AsmDwarfConstruct.setDataPrototype(
28297 "std::string",
"name",
"",
28298 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28301#ifndef DOCUMENTATION
28302 AsmDwarfConstruct.setDataPrototype(
28303 "SgAsmDwarfLine*",
"source_position",
"= nullptr",
28304 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28307 DECLARE_OTHERS(AsmDwarfConstruct);
28308#if defined(SgAsmDwarfConstruct_OTHERS) || defined(DOCUMENTATION)
28311#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28313 friend class boost::serialization::access;
28316 void serialize(S &s,
const unsigned ) {
28319 s & BOOST_SERIALIZATION_NVP(p_nesting_level);
28320 s & BOOST_SERIALIZATION_NVP(p_offset);
28321 s & BOOST_SERIALIZATION_NVP(p_overall_offset);
28322 s & BOOST_SERIALIZATION_NVP(p_name);
28323 s & BOOST_SERIALIZATION_NVP(p_source_position);
28330 int const& get_nesting_level()
const;
28331 void set_nesting_level(
int const&);
28334 uint64_t
const& get_offset()
const;
28335 void set_offset(uint64_t
const&);
28338 uint64_t
const& get_overall_offset()
const;
28339 void set_overall_offset(uint64_t
const&);
28342 std::string
const& get_name()
const;
28343 void set_name(std::string
const&);
28369 uint64_t
const& offset,
28370 uint64_t
const& overall_offset);
28381#ifdef DOCUMENTATION
28390#ifndef DOCUMENTATION
28391AstNodeClass& AsmDwarfInformation = nonTerminalConstructor(
28392 "AsmDwarfInformation",
28394 "AsmDwarfInformation",
28395 "AsmDwarfInformationTag",
28396 SubclassListBuilder()
28397 | AsmDwarfCompilationUnitList
28398 | AsmDwarfConstruct
28399 | AsmDwarfConstructList
28403 | AsmDwarfMacroList
28405assert(AsmDwarfInformation.associatedGrammar !=
nullptr);
28406AsmDwarfInformation.setCppCondition(
"!defined(DOCUMENTATION)");
28407AsmDwarfInformation.isBoostSerializable(
true);
28408AsmDwarfInformation.setAutomaticGenerationOfConstructor(
false);
28409AsmDwarfInformation.setAutomaticGenerationOfDestructor(
false);
28412#ifndef DOCUMENTATION
28413AsmDwarfInformation.useSmallHeader(
true);
28416#ifdef DOCUMENTATION
28420 DECLARE_OTHERS(AsmDwarfInformation);
28421#if defined(SgAsmDwarfInformation_OTHERS) || defined(DOCUMENTATION)
28424#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28426 friend class boost::serialization::access;
28429 void serialize(S &s,
const unsigned ) {
28453#ifdef DOCUMENTATION
28462DECLARE_LEAF_CLASS(AsmDirectRegisterExpression);
28463IS_SERIALIZABLE(AsmDirectRegisterExpression);
28465#ifndef DOCUMENTATION
28466AsmDirectRegisterExpression.useSmallHeader(
true);
28469#ifdef DOCUMENTATION
28474 DECLARE_OTHERS(AsmDirectRegisterExpression);
28475#if defined(SgAsmDirectRegisterExpression_OTHERS) || defined(DOCUMENTATION)
28478#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28480 friend class boost::serialization::access;
28483 void serialize(S &s,
const unsigned ) {
28511#ifdef DOCUMENTATION
28520#ifndef DOCUMENTATION
28521AstNodeClass& AsmRegisterReferenceExpression = nonTerminalConstructor(
28522 "AsmRegisterReferenceExpression",
28524 "AsmRegisterReferenceExpression",
28525 "AsmRegisterReferenceExpressionTag",
28526 SubclassListBuilder()
28527 | AsmDirectRegisterExpression
28528 | AsmIndirectRegisterExpression
28530assert(AsmRegisterReferenceExpression.associatedGrammar !=
nullptr);
28531AsmRegisterReferenceExpression.setCppCondition(
"!defined(DOCUMENTATION)");
28532AsmRegisterReferenceExpression.isBoostSerializable(
true);
28533AsmRegisterReferenceExpression.setAutomaticGenerationOfConstructor(
false);
28534AsmRegisterReferenceExpression.setAutomaticGenerationOfDestructor(
false);
28537#ifndef DOCUMENTATION
28538AsmRegisterReferenceExpression.useSmallHeader(
true);
28541#ifdef DOCUMENTATION
28546#ifndef DOCUMENTATION
28547 AsmRegisterReferenceExpression.setDataPrototype(
28548 "Rose::BinaryAnalysis::RegisterDescriptor",
"descriptor",
"",
28549 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28552#ifndef DOCUMENTATION
28553 AsmRegisterReferenceExpression.setDataPrototype(
28554 "int",
"adjustment",
"= 0",
28555 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28558 DECLARE_OTHERS(AsmRegisterReferenceExpression);
28559#if defined(SgAsmRegisterReferenceExpression_OTHERS) || defined(DOCUMENTATION)
28562#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28564 friend class boost::serialization::access;
28567 void serialize(S &s,
const unsigned ) {
28570 s & BOOST_SERIALIZATION_NVP(p_descriptor);
28571 s & BOOST_SERIALIZATION_NVP(p_adjustment);
28615#ifdef DOCUMENTATION
28624DECLARE_LEAF_CLASS(AsmDOSFileHeader);
28625IS_SERIALIZABLE(AsmDOSFileHeader);
28627#ifndef DOCUMENTATION
28628AsmDOSFileHeader.useSmallHeader(
true);
28631DECLARE_HEADERS(AsmDOSFileHeader);
28632#if defined(SgAsmDOSFileHeader_HEADERS) || defined(DOCUMENTATION)
28633#include <Rose/BinaryAnalysis/Address.h>
28636#ifdef DOCUMENTATION
28644#ifndef DOCUMENTATION
28645 AsmDOSFileHeader.setDataPrototype(
28646 "uint16_t",
"e_last_page_size",
"= 0",
28647 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28650#ifndef DOCUMENTATION
28651 AsmDOSFileHeader.setDataPrototype(
28652 "uint16_t",
"e_total_pages",
"= 0",
28653 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28656#ifndef DOCUMENTATION
28657 AsmDOSFileHeader.setDataPrototype(
28658 "uint16_t",
"e_nrelocs",
"= 0",
28659 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28662#ifndef DOCUMENTATION
28663 AsmDOSFileHeader.setDataPrototype(
28664 "uint16_t",
"e_header_paragraphs",
"= 0",
28665 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28668#ifndef DOCUMENTATION
28669 AsmDOSFileHeader.setDataPrototype(
28670 "uint16_t",
"e_minalloc",
"= 0",
28671 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28674#ifndef DOCUMENTATION
28675 AsmDOSFileHeader.setDataPrototype(
28676 "uint16_t",
"e_maxalloc",
"= 0",
28677 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28680#ifndef DOCUMENTATION
28681 AsmDOSFileHeader.setDataPrototype(
28682 "uint16_t",
"e_ss",
"= 0",
28683 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28686#ifndef DOCUMENTATION
28687 AsmDOSFileHeader.setDataPrototype(
28688 "uint16_t",
"e_sp",
"= 0",
28689 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28692#ifndef DOCUMENTATION
28693 AsmDOSFileHeader.setDataPrototype(
28694 "uint16_t",
"e_cksum",
"= 0",
28695 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28698#ifndef DOCUMENTATION
28699 AsmDOSFileHeader.setDataPrototype(
28700 "uint16_t",
"e_ip",
"= 0",
28701 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28704#ifndef DOCUMENTATION
28705 AsmDOSFileHeader.setDataPrototype(
28706 "uint16_t",
"e_cs",
"= 0",
28707 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28710#ifndef DOCUMENTATION
28711 AsmDOSFileHeader.setDataPrototype(
28712 "uint16_t",
"e_overlay",
"= 0",
28713 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28716#ifndef DOCUMENTATION
28717 AsmDOSFileHeader.setDataPrototype(
28718 "Rose::BinaryAnalysis::Address",
"e_relocs_offset",
"= 0",
28719 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28722#ifndef DOCUMENTATION
28723 AsmDOSFileHeader.setDataPrototype(
28724 "unsigned",
"e_res1",
"= 0",
28725 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28728#ifndef DOCUMENTATION
28729 AsmDOSFileHeader.setDataPrototype(
28730 "SgAsmGenericSection*",
"relocs",
"= nullptr",
28731 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28734#ifndef DOCUMENTATION
28735 AsmDOSFileHeader.setDataPrototype(
28736 "SgAsmGenericSection*",
"rm_section",
"= nullptr",
28737 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28740 DECLARE_OTHERS(AsmDOSFileHeader);
28741#if defined(SgAsmDOSFileHeader_OTHERS) || defined(DOCUMENTATION)
28744#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28746 friend class boost::serialization::access;
28749 void serialize(S &s,
const unsigned ) {
28752 s & BOOST_SERIALIZATION_NVP(p_e_last_page_size);
28753 s & BOOST_SERIALIZATION_NVP(p_e_total_pages);
28754 s & BOOST_SERIALIZATION_NVP(p_e_nrelocs);
28755 s & BOOST_SERIALIZATION_NVP(p_e_header_paragraphs);
28756 s & BOOST_SERIALIZATION_NVP(p_e_minalloc);
28757 s & BOOST_SERIALIZATION_NVP(p_e_maxalloc);
28758 s & BOOST_SERIALIZATION_NVP(p_e_ss);
28759 s & BOOST_SERIALIZATION_NVP(p_e_sp);
28760 s & BOOST_SERIALIZATION_NVP(p_e_cksum);
28761 s & BOOST_SERIALIZATION_NVP(p_e_ip);
28762 s & BOOST_SERIALIZATION_NVP(p_e_cs);
28763 s & BOOST_SERIALIZATION_NVP(p_e_overlay);
28764 s & BOOST_SERIALIZATION_NVP(p_e_relocs_offset);
28765 s & BOOST_SERIALIZATION_NVP(p_e_res1);
28766 s & BOOST_SERIALIZATION_NVP(p_relocs);
28767 s & BOOST_SERIALIZATION_NVP(p_rm_section);
28798#if !defined(SWIG) && !defined(_MSC_VER)
28799 __attribute__((packed))
28807#if !defined(SWIG) && !defined(_MSC_VER)
28808 __attribute__((packed))
28984 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
29011 virtual const char* format_name() const override ROSE_DEPRECATED("use
formatName");
29032#ifdef DOCUMENTATION
29041#ifndef DOCUMENTATION
29042AstNodeClass& AsmGenericHeader = nonTerminalConstructor(
29043 "AsmGenericHeader",
29045 "AsmGenericHeader",
29046 "AsmGenericHeaderTag",
29047 SubclassListBuilder()
29055assert(AsmGenericHeader.associatedGrammar !=
nullptr);
29056AsmGenericHeader.setCppCondition(
"!defined(DOCUMENTATION)");
29057AsmGenericHeader.isBoostSerializable(
true);
29058AsmGenericHeader.setAutomaticGenerationOfConstructor(
false);
29059AsmGenericHeader.setAutomaticGenerationOfDestructor(
false);
29062#ifndef DOCUMENTATION
29063AsmGenericHeader.useSmallHeader(
true);
29066DECLARE_HEADERS(AsmGenericHeader);
29067#if defined(SgAsmGenericHeader_HEADERS) || defined(DOCUMENTATION)
29068#include <Rose/BinaryAnalysis/Address.h>
29069#include <Rose/BinaryAnalysis/ByteOrder.h>
29070#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
29071#include <sageContainer.h>
29072#include <SgAsmGenericFormat.h>
29074#ifdef ROSE_SgAsmGenericHeader_IMPL
29075#include <SgAsmGenericDLLList.h>
29076#include <SgAsmGenericSectionList.h>
29083#ifdef DOCUMENTATION
29088#ifndef DOCUMENTATION
29089 AsmGenericHeader.setDataPrototype(
29090 "SgAsmGenericFormat*",
"executableFormat",
"= createAndParent<SgAsmGenericFormat>(this)",
29091 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29094#ifndef DOCUMENTATION
29095 AsmGenericHeader.setDataPrototype(
29096 "SgCharList",
"magic",
"",
29097 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29100#ifndef DOCUMENTATION
29101 AsmGenericHeader.setDataPrototype(
29102 "SgAsmGenericFormat::InsSetArchitecture",
"isa",
"= SgAsmGenericFormat::ISA_UNSPECIFIED",
29103 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29106#ifndef DOCUMENTATION
29107 AsmGenericHeader.setDataPrototype(
29108 "Rose::BinaryAnalysis::Address",
"baseVa",
"= 0",
29109 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29112#ifndef DOCUMENTATION
29113 AsmGenericHeader.setDataPrototype(
29114 "SgRVAList",
"entryRvas",
"",
29115 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29118#ifndef DOCUMENTATION
29119 AsmGenericHeader.setDataPrototype(
29120 "SgAsmGenericDLLList*",
"dlls",
"= createAndParent<SgAsmGenericDLLList>(this)",
29121 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29124#ifndef DOCUMENTATION
29125 AsmGenericHeader.setDataPrototype(
29126 "SgAsmGenericSectionList*",
"sections",
"= createAndParent<SgAsmGenericSectionList>(this)",
29127 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29130 DECLARE_OTHERS(AsmGenericHeader);
29131#if defined(SgAsmGenericHeader_OTHERS) || defined(DOCUMENTATION)
29134#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
29136 friend class boost::serialization::access;
29139 void serialize(S &s,
const unsigned ) {
29142 s & BOOST_SERIALIZATION_NVP(p_executableFormat);
29143 s & BOOST_SERIALIZATION_NVP(p_magic);
29144 s & BOOST_SERIALIZATION_NVP(p_isa);
29145 s & BOOST_SERIALIZATION_NVP(p_baseVa);
29146 s & BOOST_SERIALIZATION_NVP(p_entryRvas);
29147 s & BOOST_SERIALIZATION_NVP(p_dlls);
29148 s & BOOST_SERIALIZATION_NVP(p_sections);
29226 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
29248 size_t get_wordSize()
const;
29291 size_t *nfound=0)
const;
29315 Rose::BinaryAnalysis::Address get_base_va() const ROSE_DEPRECATED("use
get_baseVa");
29316 void set_base_va(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use
set_baseVa");
29317 SgRVAList& get_entry_rvas() ROSE_DEPRECATED("use
get_entryRvas");
29318 const SgRVAList& get_entry_rvas() const ROSE_DEPRECATED("use
get_entryRvas");
29319 void set_entry_rvas(const SgRVAList&) ROSE_DEPRECATED("use
set_entryRvas");
29320 virtual const
char *format_name() const ROSE_DEPRECATED("use
formatName");
29322 Rose::BinaryAnalysis::Address get_entry_rva() const ROSE_DEPRECATED("use
get_entryRva");
29323 void add_entry_rva(const
Rose::BinaryAnalysis::RelativeVirtualAddress&) ROSE_DEPRECATED("use
addEntryRva");
29324 size_t get_word_size() const ROSE_DEPRECATED("use get_wordSize");
29327 SgAsmGenericSectionPtrList get_mapped_sections() const ROSE_DEPRECATED("use
get_mappedSections");
29328 SgAsmGenericSectionPtrList get_sections_by_id(
int) const ROSE_DEPRECATED("use
get_sectionsById");
29329 SgAsmGenericSectionPtrList get_sections_by_name(std::
string,
char=0) const ROSE_DEPRECATED("use
get_sectionsByName");
29330 SgAsmGenericSectionPtrList get_sections_by_offset(
Rose::BinaryAnalysis::Address,
Rose::BinaryAnalysis::Address) const
29332 SgAsmGenericSectionPtrList get_sections_by_rva(
Rose::BinaryAnalysis::Address) const ROSE_DEPRECATED("use
get_sectionsByRva");
29333 SgAsmGenericSectionPtrList get_sections_by_va(
Rose::BinaryAnalysis::Address,
bool) const
29336 SgAsmGenericSection *get_section_by_name(const std::
string&,
char=0,
size_t* =
nullptr) const
29363#ifdef DOCUMENTATION
29372DECLARE_LEAF_CLASS(AsmDOSExtendedHeader);
29373IS_SERIALIZABLE(AsmDOSExtendedHeader);
29375#ifndef DOCUMENTATION
29376AsmDOSExtendedHeader.useSmallHeader(
true);
29379DECLARE_HEADERS(AsmDOSExtendedHeader);
29380#if defined(SgAsmDOSExtendedHeader_HEADERS) || defined(DOCUMENTATION)
29381#include <Rose/BinaryAnalysis/Address.h>
29384#ifdef DOCUMENTATION
29391#ifndef DOCUMENTATION
29392 AsmDOSExtendedHeader.setDataPrototype(
29393 "unsigned",
"e_res1",
"= 0",
29394 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29397#ifndef DOCUMENTATION
29398 AsmDOSExtendedHeader.setDataPrototype(
29399 "unsigned",
"e_oemid",
"= 0",
29400 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29403#ifndef DOCUMENTATION
29404 AsmDOSExtendedHeader.setDataPrototype(
29405 "unsigned",
"e_oeminfo",
"= 0",
29406 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29409#ifndef DOCUMENTATION
29410 AsmDOSExtendedHeader.setDataPrototype(
29411 "unsigned",
"e_res2",
"= 0",
29412 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29415#ifndef DOCUMENTATION
29416 AsmDOSExtendedHeader.setDataPrototype(
29417 "unsigned",
"e_res3",
"= 0",
29418 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29421#ifndef DOCUMENTATION
29422 AsmDOSExtendedHeader.setDataPrototype(
29423 "unsigned",
"e_res4",
"= 0",
29424 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29427#ifndef DOCUMENTATION
29428 AsmDOSExtendedHeader.setDataPrototype(
29429 "unsigned",
"e_res5",
"= 0",
29430 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29433#ifndef DOCUMENTATION
29434 AsmDOSExtendedHeader.setDataPrototype(
29435 "unsigned",
"e_res6",
"= 0",
29436 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29439#ifndef DOCUMENTATION
29440 AsmDOSExtendedHeader.setDataPrototype(
29441 "Rose::BinaryAnalysis::Address",
"e_lfanew",
"= 0",
29442 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29445 DECLARE_OTHERS(AsmDOSExtendedHeader);
29446#if defined(SgAsmDOSExtendedHeader_OTHERS) || defined(DOCUMENTATION)
29449#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
29451 friend class boost::serialization::access;
29454 void serialize(S &s,
const unsigned ) {
29457 s & BOOST_SERIALIZATION_NVP(p_e_res1);
29458 s & BOOST_SERIALIZATION_NVP(p_e_oemid);
29459 s & BOOST_SERIALIZATION_NVP(p_e_oeminfo);
29460 s & BOOST_SERIALIZATION_NVP(p_e_res2);
29461 s & BOOST_SERIALIZATION_NVP(p_e_res3);
29462 s & BOOST_SERIALIZATION_NVP(p_e_res4);
29463 s & BOOST_SERIALIZATION_NVP(p_e_res5);
29464 s & BOOST_SERIALIZATION_NVP(p_e_res6);
29465 s & BOOST_SERIALIZATION_NVP(p_e_lfanew);
29479 uint16_t e_oeminfo;
29487#if !defined(SWIG) && !defined(_MSC_VER)
29488 __attribute__((packed))
29596 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
29614#ifdef DOCUMENTATION
29623DECLARE_LEAF_CLASS(AsmControlFlagsExpression);
29624IS_SERIALIZABLE(AsmControlFlagsExpression);
29626#ifndef DOCUMENTATION
29627AsmControlFlagsExpression.useSmallHeader(
true);
29630DECLARE_HEADERS(AsmControlFlagsExpression);
29631#if defined(SgAsmControlFlagsExpression_HEADERS) || defined(DOCUMENTATION)
29635#ifdef DOCUMENTATION
29639#ifndef DOCUMENTATION
29640 AsmControlFlagsExpression.setDataPrototype(
29641 "unsigned long",
"bitFlags",
"= 0",
29642 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29645 DECLARE_OTHERS(AsmControlFlagsExpression);
29646#if defined(SgAsmControlFlagsExpression_OTHERS) || defined(DOCUMENTATION)
29649#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
29651 friend class boost::serialization::access;
29654 void serialize(S &s,
const unsigned ) {
29657 s & BOOST_SERIALIZATION_NVP(p_bitFlags);
29663 unsigned long const& get_bitFlags()
const;
29664 void set_bitFlags(
unsigned long const&);
29666 unsigned long get_bit_flags()
const ROSE_DEPRECATED(
"use get_bitFlags");
29667 void set_bit_flags(
unsigned long) ROSE_DEPRECATED(
"use set_bitFlags");
29685#ifdef DOCUMENTATION
29694#ifndef DOCUMENTATION
29695AstNodeClass& AsmConstantExpression = nonTerminalConstructor(
29696 "AsmConstantExpression",
29698 "AsmConstantExpression",
29699 "AsmConstantExpressionTag",
29700 SubclassListBuilder()
29701 | AsmFloatValueExpression
29702 | AsmIntegerValueExpression
29704assert(AsmConstantExpression.associatedGrammar !=
nullptr);
29705AsmConstantExpression.setCppCondition(
"!defined(DOCUMENTATION)");
29706AsmConstantExpression.isBoostSerializable(
true);
29707AsmConstantExpression.setAutomaticGenerationOfConstructor(
false);
29708AsmConstantExpression.setAutomaticGenerationOfDestructor(
false);
29711#ifndef DOCUMENTATION
29712AsmConstantExpression.useSmallHeader(
true);
29715DECLARE_HEADERS(AsmConstantExpression);
29716#if defined(SgAsmConstantExpression_HEADERS) || defined(DOCUMENTATION)
29717#include <Sawyer/BitVector.h>
29720#ifdef DOCUMENTATION
29728#ifndef DOCUMENTATION
29729 AsmConstantExpression.setDataPrototype(
29730 "Sawyer::Container::BitVector",
"bitVector",
"",
29731 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29734 DECLARE_OTHERS(AsmConstantExpression);
29735#if defined(SgAsmConstantExpression_OTHERS) || defined(DOCUMENTATION)
29738#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
29740 friend class boost::serialization::access;
29743 void serialize(S &s,
const unsigned ) {
29746 s & BOOST_SERIALIZATION_NVP(p_bitVector);
29779#ifdef DOCUMENTATION
29788#ifndef DOCUMENTATION
29789AstNodeClass& AsmValueExpression = nonTerminalConstructor(
29790 "AsmValueExpression",
29792 "AsmValueExpression",
29793 "AsmValueExpressionTag",
29794 SubclassListBuilder()
29795 | AsmConstantExpression
29797assert(AsmValueExpression.associatedGrammar !=
nullptr);
29798AsmValueExpression.setCppCondition(
"!defined(DOCUMENTATION)");
29799AsmValueExpression.isBoostSerializable(
true);
29800AsmValueExpression.setAutomaticGenerationOfConstructor(
false);
29801AsmValueExpression.setAutomaticGenerationOfDestructor(
false);
29804#ifndef DOCUMENTATION
29805AsmValueExpression.useSmallHeader(
true);
29808#ifdef DOCUMENTATION
29819#ifndef DOCUMENTATION
29820 AsmValueExpression.setDataPrototype(
29821 "SgAsmValueExpression*",
"unfoldedExpression",
"= nullptr",
29822 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29825#ifndef DOCUMENTATION
29826 AsmValueExpression.setDataPrototype(
29827 "unsigned short",
"bitOffset",
"= 0",
29828 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29831#ifndef DOCUMENTATION
29832 AsmValueExpression.setDataPrototype(
29833 "unsigned short",
"bitSize",
"= 0",
29834 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29837#ifndef DOCUMENTATION
29838 AsmValueExpression.setDataPrototype(
29839 "SgSymbol*",
"symbol",
"= nullptr",
29840 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29843 DECLARE_OTHERS(AsmValueExpression);
29844#if defined(SgAsmValueExpression_OTHERS) || defined(DOCUMENTATION)
29847#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
29849 friend class boost::serialization::access;
29852 void serialize(S &s,
const unsigned ) {
29855 s & BOOST_SERIALIZATION_NVP(p_unfoldedExpression);
29856 s & BOOST_SERIALIZATION_NVP(p_bitOffset);
29857 s & BOOST_SERIALIZATION_NVP(p_bitSize);
29914 unsigned short get_bit_offset() const ROSE_DEPRECATED("use
get_bitOffset");
29915 void set_bit_offset(
unsigned short) ROSE_DEPRECATED("use
set_bitOffset");
29916 unsigned short get_bit_size() const ROSE_DEPRECATED("use
get_bitSize");
29917 void set_bit_size(
unsigned short) ROSE_DEPRECATED("use
set_bitSize");
29935#ifdef DOCUMENTATION
29944DECLARE_LEAF_CLASS(AsmCommonSubExpression);
29945IS_SERIALIZABLE(AsmCommonSubExpression);
29947#ifndef DOCUMENTATION
29948AsmCommonSubExpression.useSmallHeader(
true);
29951DECLARE_HEADERS(AsmCommonSubExpression);
29952#if defined(SgAsmCommonSubExpression_HEADERS) || defined(DOCUMENTATION)
29956#ifdef DOCUMENTATION
29960#ifndef DOCUMENTATION
29961 AsmCommonSubExpression.setDataPrototype(
29962 "SgAsmExpression*",
"subexpression",
"= nullptr",
29963 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29966 DECLARE_OTHERS(AsmCommonSubExpression);
29967#if defined(SgAsmCommonSubExpression_OTHERS) || defined(DOCUMENTATION)
29970#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
29972 friend class boost::serialization::access;
29975 void serialize(S &s,
const unsigned ) {
29978 s & BOOST_SERIALIZATION_NVP(p_subexpression);
30004#ifdef DOCUMENTATION
30013DECLARE_LEAF_CLASS(AsmCoffSymbolTable);
30014IS_SERIALIZABLE(AsmCoffSymbolTable);
30016#ifndef DOCUMENTATION
30017AsmCoffSymbolTable.useSmallHeader(
true);
30020DECLARE_HEADERS(AsmCoffSymbolTable);
30021#if defined(SgAsmCoffSymbolTable_HEADERS) || defined(DOCUMENTATION)
30022#ifdef ROSE_SgAsmCoffSymbolTable_IMPL
30023#include <SgAsmCoffSymbolList.h>
30027#ifdef DOCUMENTATION
30034#ifndef DOCUMENTATION
30035 AsmCoffSymbolTable.setDataPrototype(
30036 "SgAsmGenericSection*",
"strtab",
"= nullptr",
30037 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30040#ifndef DOCUMENTATION
30041 AsmCoffSymbolTable.setDataPrototype(
30042 "SgAsmCoffSymbolList*",
"symbols",
"= createAndParent<SgAsmCoffSymbolList>(this)",
30043 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30046 DECLARE_OTHERS(AsmCoffSymbolTable);
30047#if defined(SgAsmCoffSymbolTable_OTHERS) || defined(DOCUMENTATION)
30050#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30052 friend class boost::serialization::access;
30055 void serialize(S &s,
const unsigned ) {
30058 s & BOOST_SERIALIZATION_NVP(p_strtab);
30059 s & BOOST_SERIALIZATION_NVP(p_symbols);
30083 size_t get_nslots()
const;
30086 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
30104#ifdef DOCUMENTATION
30113DECLARE_LEAF_CLASS(AsmCoffSymbolList);
30114IS_SERIALIZABLE(AsmCoffSymbolList);
30116#ifndef DOCUMENTATION
30117AsmCoffSymbolList.useSmallHeader(
true);
30120DECLARE_HEADERS(AsmCoffSymbolList);
30121#if defined(SgAsmCoffSymbolList_HEADERS) || defined(DOCUMENTATION)
30122#include <sageContainer.h>
30125#ifdef DOCUMENTATION
30130#ifndef DOCUMENTATION
30131 AsmCoffSymbolList.setDataPrototype(
30132 "SgAsmCoffSymbolPtrList",
"symbols",
"",
30133 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30136 DECLARE_OTHERS(AsmCoffSymbolList);
30137#if defined(SgAsmCoffSymbolList_OTHERS) || defined(DOCUMENTATION)
30140#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30142 friend class boost::serialization::access;
30145 void serialize(S &s,
const unsigned ) {
30148 s & BOOST_SERIALIZATION_NVP(p_symbols);
30179#ifdef DOCUMENTATION
30188DECLARE_LEAF_CLASS(AsmCoffSymbol);
30189IS_SERIALIZABLE(AsmCoffSymbol);
30191#ifndef DOCUMENTATION
30192AsmCoffSymbol.useSmallHeader(
true);
30195DECLARE_HEADERS(AsmCoffSymbol);
30196#if defined(SgAsmCoffSymbol_HEADERS) || defined(DOCUMENTATION)
30197#include <Rose/BinaryAnalysis/Address.h>
30199#include <sageContainer.h>
30202#ifdef DOCUMENTATION
30207#ifndef DOCUMENTATION
30208 AsmCoffSymbol.setDataPrototype(
30209 "std::string",
"st_name",
"",
30210 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30213#ifndef DOCUMENTATION
30214 AsmCoffSymbol.setDataPrototype(
30215 "Rose::BinaryAnalysis::Address",
"st_name_offset",
"= 0",
30216 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30219#ifndef DOCUMENTATION
30220 AsmCoffSymbol.setDataPrototype(
30221 "int",
"st_section_num",
"= 0",
30222 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30225#ifndef DOCUMENTATION
30226 AsmCoffSymbol.setDataPrototype(
30227 "unsigned",
"st_type",
"= 0",
30228 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30231#ifndef DOCUMENTATION
30232 AsmCoffSymbol.setDataPrototype(
30233 "unsigned",
"st_storage_class",
"= 0",
30234 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30237#ifndef DOCUMENTATION
30238 AsmCoffSymbol.setDataPrototype(
30239 "unsigned",
"st_num_aux_entries",
"= 0",
30240 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30243#ifndef DOCUMENTATION
30244 AsmCoffSymbol.setDataPrototype(
30245 "SgUnsignedCharList",
"auxiliaryData",
"",
30246 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30249 DECLARE_OTHERS(AsmCoffSymbol);
30250#if defined(SgAsmCoffSymbol_OTHERS) || defined(DOCUMENTATION)
30253#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30255 friend class boost::serialization::access;
30258 void serialize(S &s,
const unsigned ) {
30261 s & BOOST_SERIALIZATION_NVP(p_st_name);
30262 s & BOOST_SERIALIZATION_NVP(p_st_name_offset);
30263 s & BOOST_SERIALIZATION_NVP(p_st_section_num);
30264 s & BOOST_SERIALIZATION_NVP(p_st_type);
30265 s & BOOST_SERIALIZATION_NVP(p_st_storage_class);
30266 s & BOOST_SERIALIZATION_NVP(p_st_num_aux_entries);
30267 s & BOOST_SERIALIZATION_NVP(p_auxiliaryData);
30283 uint32_t st_offset;
30287 int16_t st_section_num;
30289 unsigned char st_storage_class;
30290 unsigned char st_num_aux_entries;
30293#if !defined(SWIG) && !defined(_MSC_VER)
30294 __attribute__((packed))
30362 static const unsigned int COFFSymbol_disk_size = 18;
30370 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const override;
30376 const SgUnsignedCharList& get_aux_data() const ROSE_DEPRECATED("use
get_auxiliaryData");
30377 void set_aux_data(const SgUnsignedCharList&) ROSE_DEPRECATED("use
set_auxiliaryData");
30395#ifdef DOCUMENTATION
30404#ifndef DOCUMENTATION
30405AstNodeClass& AsmGenericSymbol = nonTerminalConstructor(
30406 "AsmGenericSymbol",
30408 "AsmGenericSymbol",
30409 "AsmGenericSymbolTag",
30410 SubclassListBuilder()
30414assert(AsmGenericSymbol.associatedGrammar !=
nullptr);
30415AsmGenericSymbol.setCppCondition(
"!defined(DOCUMENTATION)");
30416AsmGenericSymbol.isBoostSerializable(
true);
30417AsmGenericSymbol.setAutomaticGenerationOfConstructor(
false);
30418AsmGenericSymbol.setAutomaticGenerationOfDestructor(
false);
30421#ifndef DOCUMENTATION
30422AsmGenericSymbol.useSmallHeader(
true);
30425DECLARE_HEADERS(AsmGenericSymbol);
30426#if defined(SgAsmGenericSymbol_HEADERS) || defined(DOCUMENTATION)
30427#include <Rose/BinaryAnalysis/Address.h>
30432#ifdef DOCUMENTATION
30436#ifndef DOCUMENTATION
30437 AsmGenericSymbol.setDataPrototype(
30438 "SgAsmGenericSymbol::SymbolDefState",
"definitionState",
"= SgAsmGenericSymbol::SYM_UNDEFINED",
30439 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30442#ifndef DOCUMENTATION
30443 AsmGenericSymbol.setDataPrototype(
30444 "SgAsmGenericSymbol::SymbolBinding",
"binding",
"= SgAsmGenericSymbol::SYM_NO_BINDING",
30445 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30448#ifndef DOCUMENTATION
30449 AsmGenericSymbol.setDataPrototype(
30450 "SgAsmGenericSymbol::SymbolType",
"type",
"= SgAsmGenericSymbol::SYM_NO_TYPE",
30451 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30454#ifndef DOCUMENTATION
30455 AsmGenericSymbol.setDataPrototype(
30456 "Rose::BinaryAnalysis::Address",
"value",
"= 0",
30457 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30460#ifndef DOCUMENTATION
30461 AsmGenericSymbol.setDataPrototype(
30462 "Rose::BinaryAnalysis::Address",
"size",
"= 0",
30463 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30466#ifndef DOCUMENTATION
30467 AsmGenericSymbol.setDataPrototype(
30468 "SgAsmGenericSection*",
"bound",
"= nullptr",
30469 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30472#ifndef DOCUMENTATION
30473 AsmGenericSymbol.setDataPrototype(
30474 "SgAsmGenericString*",
"name",
"= nullptr",
30475 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30478 DECLARE_OTHERS(AsmGenericSymbol);
30479#if defined(SgAsmGenericSymbol_OTHERS) || defined(DOCUMENTATION)
30482#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30484 friend class boost::serialization::access;
30487 void serialize(S &s,
const unsigned ) {
30490 s & BOOST_SERIALIZATION_NVP(p_definitionState);
30491 s & BOOST_SERIALIZATION_NVP(p_binding);
30492 s & BOOST_SERIALIZATION_NVP(p_type);
30493 s & BOOST_SERIALIZATION_NVP(p_value);
30494 s & BOOST_SERIALIZATION_NVP(p_size);
30495 s & BOOST_SERIALIZATION_NVP(p_bound);
30496 s & BOOST_SERIALIZATION_NVP(p_name);
30598 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
30623#ifdef DOCUMENTATION
30632DECLARE_LEAF_CLASS(AsmCoffStrtab);
30633IS_SERIALIZABLE(AsmCoffStrtab);
30635#ifndef DOCUMENTATION
30636AsmCoffStrtab.useSmallHeader(
true);
30639DECLARE_HEADERS(AsmCoffStrtab);
30640#if defined(SgAsmCoffStrtab_HEADERS) || defined(DOCUMENTATION)
30641#include <Rose/BinaryAnalysis/Address.h>
30644#ifdef DOCUMENTATION
30649 DECLARE_OTHERS(AsmCoffStrtab);
30650#if defined(SgAsmCoffStrtab_OTHERS) || defined(DOCUMENTATION)
30653#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30655 friend class boost::serialization::access;
30658 void serialize(S &s,
const unsigned ) {
30667 virtual void unparse(std::ostream&)
const;
30676 ROSE_DEPRECATED(
"use get_storageSize");
30694#ifdef DOCUMENTATION
30703#ifndef DOCUMENTATION
30704AstNodeClass& AsmGenericStrtab = nonTerminalConstructor(
30705 "AsmGenericStrtab",
30707 "AsmGenericStrtab",
30708 "AsmGenericStrtabTag",
30709 SubclassListBuilder()
30713assert(AsmGenericStrtab.associatedGrammar !=
nullptr);
30714AsmGenericStrtab.setCppCondition(
"!defined(DOCUMENTATION)");
30715AsmGenericStrtab.isBoostSerializable(
true);
30716AsmGenericStrtab.setAutomaticGenerationOfConstructor(
false);
30717AsmGenericStrtab.setAutomaticGenerationOfDestructor(
false);
30720#ifndef DOCUMENTATION
30721AsmGenericStrtab.useSmallHeader(
true);
30724DECLARE_HEADERS(AsmGenericStrtab);
30725#if defined(SgAsmGenericStrtab_HEADERS) || defined(DOCUMENTATION)
30726#include <Rose/BinaryAnalysis/Address.h>
30727#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
30730#ifdef DOCUMENTATION
30735#ifndef DOCUMENTATION
30736 AsmGenericStrtab.setDataPrototype(
30737 "SgAsmGenericSection*",
"container",
"= nullptr",
30738 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30741#ifndef DOCUMENTATION
30742 AsmGenericStrtab.setDataPrototype(
30743 "SgAsmGenericStrtab::referenced_t",
"storageList",
"",
30744 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30747#ifndef DOCUMENTATION
30748 AsmGenericStrtab.setDataPrototype(
30749 "Rose::BinaryAnalysis::AddressIntervalSet",
"freeList",
"",
30750 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30753#ifndef DOCUMENTATION
30754 AsmGenericStrtab.setDataPrototype(
30755 "SgAsmStringStorage*",
"dontFree",
"= nullptr",
30756 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30759#ifndef DOCUMENTATION
30760 AsmGenericStrtab.setDataPrototype(
30761 "size_t",
"numberFreed",
"= 0",
30762 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30765 DECLARE_OTHERS(AsmGenericStrtab);
30766#if defined(SgAsmGenericStrtab_OTHERS) || defined(DOCUMENTATION)
30769#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30771 friend class boost::serialization::access;
30774 void serialize(S &s,
const unsigned ) {
30777 s & BOOST_SERIALIZATION_NVP(p_container);
30778 s & BOOST_SERIALIZATION_NVP(p_storageList);
30779 s & BOOST_SERIALIZATION_NVP(p_freeList);
30780 s & BOOST_SERIALIZATION_NVP(p_dontFree);
30781 s & BOOST_SERIALIZATION_NVP(p_numberFreed);
30789 typedef std::vector<class SgAsmStringStorage*> referenced_t;
30846 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
30886 const referenced_t& get_storage_list() const ROSE_DEPRECATED("use
get_storageList");
30887 void set_storage_list(const referenced_t&) ROSE_DEPRECATED("use
set_storageList");
30888 const
Rose::BinaryAnalysis::AddressIntervalSet& get_freelist() const ROSE_DEPRECATED("use
get_freeList");
30889 Rose::BinaryAnalysis::AddressIntervalSet& get_freelist() ROSE_DEPRECATED("use set_freeList");
30895 void free_all_strings(
bool=false) ROSE_DEPRECATED("use
freeAllStrings");
30896 virtual
void allocate_overlap(
SgAsmStringStorage*) ROSE_DEPRECATED("use allocateOverlap");
30897 virtual
SgAsmStringStorage *create_storage(
Rose::BinaryAnalysis::Address,
bool) ROSE_DEPRECATED("use createStorage");
30898 virtual
Rose::BinaryAnalysis::Address get_storage_size(const
SgAsmStringStorage*) ROSE_DEPRECATED("use get_storageSize");
30916#ifdef DOCUMENTATION
30925DECLARE_LEAF_CLASS(AsmCliHeader);
30926IS_SERIALIZABLE(AsmCliHeader);
30928#ifndef DOCUMENTATION
30929AsmCliHeader.useSmallHeader(
true);
30932DECLARE_HEADERS(AsmCliHeader);
30933#if defined(SgAsmCliHeader_HEADERS) || defined(DOCUMENTATION)
30934#ifdef ROSE_SgAsmCliHeader_IMPL
30935#include <SgAsmCilMetadataRoot.h>
30939#ifdef DOCUMENTATION
30946#ifndef DOCUMENTATION
30947 AsmCliHeader.setDataPrototype(
30948 "uint32_t",
"cb",
"= 0",
30949 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30952#ifndef DOCUMENTATION
30953 AsmCliHeader.setDataPrototype(
30954 "uint16_t",
"majorRuntimeVersion",
"= 0",
30955 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30958#ifndef DOCUMENTATION
30959 AsmCliHeader.setDataPrototype(
30960 "uint16_t",
"minorRuntimeVersion",
"= 0",
30961 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30964#ifndef DOCUMENTATION
30965 AsmCliHeader.setDataPrototype(
30966 "uint64_t",
"metaData",
"= 0",
30967 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30970#ifndef DOCUMENTATION
30971 AsmCliHeader.setDataPrototype(
30972 "uint32_t",
"flags",
"= 0",
30973 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30976#ifndef DOCUMENTATION
30977 AsmCliHeader.setDataPrototype(
30978 "uint32_t",
"entryPointToken",
"= 0",
30979 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30982#ifndef DOCUMENTATION
30983 AsmCliHeader.setDataPrototype(
30984 "uint64_t",
"resources",
"= 0",
30985 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30988#ifndef DOCUMENTATION
30989 AsmCliHeader.setDataPrototype(
30990 "uint64_t",
"strongNameSignature",
"= 0",
30991 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30994#ifndef DOCUMENTATION
30995 AsmCliHeader.setDataPrototype(
30996 "uint64_t",
"codeManagerTable",
"= 0",
30997 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31000#ifndef DOCUMENTATION
31001 AsmCliHeader.setDataPrototype(
31002 "uint64_t",
"vTableFixups",
"= 0",
31003 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31006#ifndef DOCUMENTATION
31007 AsmCliHeader.setDataPrototype(
31008 "uint64_t",
"exportAddressTableJumps",
"= 0",
31009 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31012#ifndef DOCUMENTATION
31013 AsmCliHeader.setDataPrototype(
31014 "uint64_t",
"managedNativeHeader",
"= 0",
31015 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31018#ifndef DOCUMENTATION
31019 AsmCliHeader.setDataPrototype(
31020 "SgAsmCilMetadataRoot*",
"metadataRoot",
"= nullptr",
31021 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31024 DECLARE_OTHERS(AsmCliHeader);
31025#if defined(SgAsmCliHeader_OTHERS) || defined(DOCUMENTATION)
31028#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
31030 friend class boost::serialization::access;
31033 void serialize(S &s,
const unsigned ) {
31036 s & BOOST_SERIALIZATION_NVP(p_cb);
31037 s & BOOST_SERIALIZATION_NVP(p_majorRuntimeVersion);
31038 s & BOOST_SERIALIZATION_NVP(p_minorRuntimeVersion);
31039 s & BOOST_SERIALIZATION_NVP(p_metaData);
31040 s & BOOST_SERIALIZATION_NVP(p_flags);
31041 s & BOOST_SERIALIZATION_NVP(p_entryPointToken);
31042 s & BOOST_SERIALIZATION_NVP(p_resources);
31043 s & BOOST_SERIALIZATION_NVP(p_strongNameSignature);
31044 s & BOOST_SERIALIZATION_NVP(p_codeManagerTable);
31045 s & BOOST_SERIALIZATION_NVP(p_vTableFixups);
31046 s & BOOST_SERIALIZATION_NVP(p_exportAddressTableJumps);
31047 s & BOOST_SERIALIZATION_NVP(p_managedNativeHeader);
31189 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
31207#ifdef DOCUMENTATION
31216#ifndef DOCUMENTATION
31217AstNodeClass& AsmGenericSection = nonTerminalConstructor(
31218 "AsmGenericSection",
31220 "AsmGenericSection",
31221 "AsmGenericSectionTag",
31222 SubclassListBuilder()
31224 | AsmCoffSymbolTable
31225 | AsmDOSExtendedHeader
31227 | AsmElfSectionTable
31228 | AsmElfSegmentTable
31230 | AsmJvmAttributeTable
31231 | AsmJvmConstantPool
31233 | AsmJvmMethodTable
31239 | AsmLESectionTable
31245 | AsmNESectionTable
31248 | AsmPESectionTable
31250assert(AsmGenericSection.associatedGrammar !=
nullptr);
31251AsmGenericSection.setCppCondition(
"!defined(DOCUMENTATION)");
31252AsmGenericSection.isBoostSerializable(
true);
31253AsmGenericSection.setAutomaticGenerationOfConstructor(
false);
31254AsmGenericSection.setAutomaticGenerationOfDestructor(
false);
31257#ifndef DOCUMENTATION
31258AsmGenericSection.useSmallHeader(
true);
31261DECLARE_HEADERS(AsmGenericSection);
31262#if defined(SgAsmGenericSection_HEADERS) || defined(DOCUMENTATION)
31263#include <Rose/BinaryAnalysis/Address.h>
31264#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
31265#include <Rose/BinaryAnalysis/MemoryMap.h>
31266#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
31267#include <sageContainer.h>
31269#ifdef ROSE_SgAsmGenericSection_IMPL
31270#include <SgAsmBasicString.h>
31274#ifdef DOCUMENTATION
31282#ifndef DOCUMENTATION
31283 AsmGenericSection.setDataPrototype(
31284 "SgAsmGenericFile*",
"file",
"= nullptr",
31285 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31288#ifndef DOCUMENTATION
31289 AsmGenericSection.setDataPrototype(
31290 "SgAsmGenericHeader*",
"header",
"= nullptr",
31291 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31294#ifndef DOCUMENTATION
31295 AsmGenericSection.setDataPrototype(
31296 "Rose::BinaryAnalysis::Address",
"size",
"= 0",
31297 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31300#ifndef DOCUMENTATION
31301 AsmGenericSection.setDataPrototype(
31302 "Rose::BinaryAnalysis::Address",
"offset",
"= 0",
31303 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31306#ifndef DOCUMENTATION
31307 AsmGenericSection.setDataPrototype(
31308 "Rose::BinaryAnalysis::Address",
"fileAlignment",
"= 0",
31309 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31312#ifndef DOCUMENTATION
31313 AsmGenericSection.setDataPrototype(
31314 "SgFileContentList",
"data",
"",
31315 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31318#ifndef DOCUMENTATION
31319 AsmGenericSection.setDataPrototype(
31320 "SgAsmGenericSection::SectionPurpose",
"purpose",
"= SgAsmGenericSection::SP_UNSPECIFIED",
31321 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31324#ifndef DOCUMENTATION
31325 AsmGenericSection.setDataPrototype(
31326 "bool",
"synthesized",
"= false",
31327 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31330#ifndef DOCUMENTATION
31331 AsmGenericSection.setDataPrototype(
31332 "int",
"id",
"= -1",
31333 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31336#ifndef DOCUMENTATION
31337 AsmGenericSection.setDataPrototype(
31338 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
31339 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31342#ifndef DOCUMENTATION
31343 AsmGenericSection.setDataPrototype(
31344 "std::string",
"shortName",
"",
31345 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31348#ifndef DOCUMENTATION
31349 AsmGenericSection.setDataPrototype(
31350 "Rose::BinaryAnalysis::Address",
"mappedPreferredRva",
"= 0",
31351 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31354#ifndef DOCUMENTATION
31355 AsmGenericSection.setDataPrototype(
31356 "Rose::BinaryAnalysis::Address",
"mappedSize",
"= 0",
31357 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31360#ifndef DOCUMENTATION
31361 AsmGenericSection.setDataPrototype(
31362 "Rose::BinaryAnalysis::Address",
"mappedAlignment",
"= 0",
31363 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31366#ifndef DOCUMENTATION
31367 AsmGenericSection.setDataPrototype(
31368 "bool",
"mappedReadPermission",
"= false",
31369 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31372#ifndef DOCUMENTATION
31373 AsmGenericSection.setDataPrototype(
31374 "bool",
"mappedWritePermission",
"= false",
31375 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31378#ifndef DOCUMENTATION
31379 AsmGenericSection.setDataPrototype(
31380 "bool",
"mappedExecutePermission",
"= false",
31381 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31384#ifndef DOCUMENTATION
31385 AsmGenericSection.setDataPrototype(
31386 "bool",
"containsCode",
"= false",
31387 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31390#ifndef DOCUMENTATION
31391 AsmGenericSection.setDataPrototype(
31392 "Rose::BinaryAnalysis::Address",
"mappedActualVa",
"= 0",
31393 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31396 DECLARE_OTHERS(AsmGenericSection);
31397#if defined(SgAsmGenericSection_OTHERS) || defined(DOCUMENTATION)
31400#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
31402 friend class boost::serialization::access;
31405 void serialize(S &s,
const unsigned ) {
31408 s & BOOST_SERIALIZATION_NVP(p_file);
31409 s & BOOST_SERIALIZATION_NVP(p_header);
31410 s & BOOST_SERIALIZATION_NVP(p_size);
31411 s & BOOST_SERIALIZATION_NVP(p_offset);
31412 s & BOOST_SERIALIZATION_NVP(p_fileAlignment);
31413 s & BOOST_SERIALIZATION_NVP(p_data);
31414 s & BOOST_SERIALIZATION_NVP(p_purpose);
31415 s & BOOST_SERIALIZATION_NVP(p_synthesized);
31416 s & BOOST_SERIALIZATION_NVP(p_id);
31417 s & BOOST_SERIALIZATION_NVP(p_name);
31418 s & BOOST_SERIALIZATION_NVP(p_shortName);
31419 s & BOOST_SERIALIZATION_NVP(p_mappedPreferredRva);
31420 s & BOOST_SERIALIZATION_NVP(p_mappedSize);
31421 s & BOOST_SERIALIZATION_NVP(p_mappedAlignment);
31422 s & BOOST_SERIALIZATION_NVP(p_mappedReadPermission);
31423 s & BOOST_SERIALIZATION_NVP(p_mappedWritePermission);
31424 s & BOOST_SERIALIZATION_NVP(p_mappedExecutePermission);
31425 s & BOOST_SERIALIZATION_NVP(p_containsCode);
31426 s & BOOST_SERIALIZATION_NVP(p_mappedActualVa);
31659 unsigned char *local_data_pool;
31675 const SgAsmGenericSectionPtrList&);
31689 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
31925 std::
string get_short_name() const ROSE_DEPRECATED("use
get_shortName");
31926 void set_short_name(const std::
string&) ROSE_DEPRECATED("use
set_shortName");
31929 Rose::BinaryAnalysis::Address get_mapped_size() const ROSE_DEPRECATED("use
get_mappedSize");
31930 void set_mapped_size(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use
set_mappedSize");
31943 static
void dump_containing_sections(FILE*, const std::
string&,
Rose::BinaryAnalysis::RelativeVirtualAddress,
31944 const SgAsmGenericSectionPtrList&)
31946 void grab_content() ROSE_DEPRECATED("use
grabContent");
31947 void unparse_holes(std::ostream&) const ROSE_DEPRECATED("use
unparseHoles");
31949 Rose::BinaryAnalysis::Address get_end_offset() const ROSE_DEPRECATED("use
get_endOffset");
31950 Rose::BinaryAnalysis::Address write_uleb128(
unsigned char*,
Rose::BinaryAnalysis::Address, uint64_t) const
31952 Rose::BinaryAnalysis::Address write_sleb128(
unsigned char*,
Rose::BinaryAnalysis::Address, int64_t) const
31954 size_t read_content(
Rose::BinaryAnalysis::Address,
void*,
Rose::BinaryAnalysis::Address,
bool=true)
31956 size_t read_content(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::Address,
void*,
31957 Rose::BinaryAnalysis::Address,
bool=true) ROSE_DEPRECATED("use
readContent");
31958 size_t read_content(const
Rose::BinaryAnalysis::MemoryMap::Ptr&, const
Rose::BinaryAnalysis::RelativeVirtualAddress&,
void*,
31959 Rose::BinaryAnalysis::Address,
bool=true)
31961 size_t read_content_local(
Rose::BinaryAnalysis::Address,
void*,
Rose::BinaryAnalysis::Address,
bool=true)
31963 std::
string read_content_str(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::Address,
bool=true)
31965 std::
string read_content_str(
Rose::BinaryAnalysis::Address,
bool=true) ROSE_DEPRECATED("use
readContentString");
31966 std::
string read_content_str(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::RelativeVirtualAddress,
31970 SgUnsignedCharList read_content_local_ucl(
Rose::BinaryAnalysis::Address,
Rose::BinaryAnalysis::Address)
31974 unsigned char *writable_content(
size_t) ROSE_DEPRECATED("use
writableContent");
31977 bool is_mapped() const ROSE_DEPRECATED("use
isMapped");
31978 void clear_mapped() ROSE_DEPRECATED("use
clearMapped");
31979 Rose::BinaryAnalysis::Address get_base_va() const ROSE_DEPRECATED("use
get_baseVa");
31981 Rose::BinaryAnalysis::Address get_va_offset(
Rose::BinaryAnalysis::Address) const ROSE_DEPRECATED("use
get_vaOffset");
31982 Rose::BinaryAnalysis::Address get_rva_offset(
Rose::BinaryAnalysis::Address) const ROSE_DEPRECATED("use
get_rvaOffset");
32002#ifdef DOCUMENTATION
32011DECLARE_LEAF_CLASS(AsmCilUint8Heap);
32012IS_SERIALIZABLE(AsmCilUint8Heap);
32014#ifndef DOCUMENTATION
32015AsmCilUint8Heap.useSmallHeader(
true);
32018#ifdef DOCUMENTATION
32023#ifndef DOCUMENTATION
32024 AsmCilUint8Heap.setDataPrototype(
32025 "std::vector<uint8_t>",
"Stream",
"",
32026 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32029 DECLARE_OTHERS(AsmCilUint8Heap);
32030#if defined(SgAsmCilUint8Heap_OTHERS) || defined(DOCUMENTATION)
32033#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32035 friend class boost::serialization::access;
32038 void serialize(S &s,
const unsigned ) {
32041 s & BOOST_SERIALIZATION_NVP(p_Stream);
32047 std::vector<uint8_t>
const& get_Stream()
const;
32048 std::vector<uint8_t>& get_Stream();
32050 void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
32051 void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const override;
32052 void dump(std::ostream& os)
const override;
32064 uint32_t
const& Size,
32065 std::string
const& Name,
32066 uint32_t
const& NamePadding);
32077#ifdef DOCUMENTATION
32086DECLARE_LEAF_CLASS(AsmCilUint32Heap);
32087IS_SERIALIZABLE(AsmCilUint32Heap);
32089#ifndef DOCUMENTATION
32090AsmCilUint32Heap.useSmallHeader(
true);
32093#ifdef DOCUMENTATION
32098#ifndef DOCUMENTATION
32099 AsmCilUint32Heap.setDataPrototype(
32100 "std::vector<uint32_t>",
"Stream",
"",
32101 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32104 DECLARE_OTHERS(AsmCilUint32Heap);
32105#if defined(SgAsmCilUint32Heap_OTHERS) || defined(DOCUMENTATION)
32108#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32110 friend class boost::serialization::access;
32113 void serialize(S &s,
const unsigned ) {
32116 s & BOOST_SERIALIZATION_NVP(p_Stream);
32122 std::vector<uint32_t>
const& get_Stream()
const;
32123 std::vector<uint32_t>& get_Stream();
32125 void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
32126 void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const override;
32127 void dump(std::ostream& os)
const override;
32139 uint32_t
const& Size,
32140 std::string
const& Name,
32141 uint32_t
const& NamePadding);
32152#ifdef DOCUMENTATION
32161DECLARE_LEAF_CLASS(AsmCilTypeSpecTable);
32162IS_SERIALIZABLE(AsmCilTypeSpecTable);
32164#ifndef DOCUMENTATION
32165AsmCilTypeSpecTable.useSmallHeader(
true);
32168#ifdef DOCUMENTATION
32173#ifndef DOCUMENTATION
32174 AsmCilTypeSpecTable.setDataPrototype(
32175 "std::vector<SgAsmCilTypeSpec*>",
"elements",
"",
32176 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32179 DECLARE_OTHERS(AsmCilTypeSpecTable);
32180#if defined(SgAsmCilTypeSpecTable_OTHERS) || defined(DOCUMENTATION)
32183#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32185 friend class boost::serialization::access;
32188 void serialize(S &s,
const unsigned ) {
32191 s & BOOST_SERIALIZATION_NVP(p_elements);
32197 std::vector<SgAsmCilTypeSpec*>
const& get_elements()
const;
32198 std::vector<SgAsmCilTypeSpec*>& get_elements();
32218#ifdef DOCUMENTATION
32227DECLARE_LEAF_CLASS(AsmCilTypeSpec);
32228IS_SERIALIZABLE(AsmCilTypeSpec);
32230#ifndef DOCUMENTATION
32231AsmCilTypeSpec.useSmallHeader(
true);
32234#ifdef DOCUMENTATION
32239#ifndef DOCUMENTATION
32240 AsmCilTypeSpec.setDataPrototype(
32241 "uint32_t",
"Signature",
"= 0",
32242 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32245 DECLARE_OTHERS(AsmCilTypeSpec);
32246#if defined(SgAsmCilTypeSpec_OTHERS) || defined(DOCUMENTATION)
32249#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32251 friend class boost::serialization::access;
32254 void serialize(S &s,
const unsigned ) {
32257 s & BOOST_SERIALIZATION_NVP(p_Signature);
32272 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32273 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
32274 void dump(std::ostream&)
const;
32276 const std::uint8_t* get_Signature_blob()
const;
32294#ifdef DOCUMENTATION
32303DECLARE_LEAF_CLASS(AsmCilTypeRefTable);
32304IS_SERIALIZABLE(AsmCilTypeRefTable);
32306#ifndef DOCUMENTATION
32307AsmCilTypeRefTable.useSmallHeader(
true);
32310#ifdef DOCUMENTATION
32315#ifndef DOCUMENTATION
32316 AsmCilTypeRefTable.setDataPrototype(
32317 "std::vector<SgAsmCilTypeRef*>",
"elements",
"",
32318 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32321 DECLARE_OTHERS(AsmCilTypeRefTable);
32322#if defined(SgAsmCilTypeRefTable_OTHERS) || defined(DOCUMENTATION)
32325#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32327 friend class boost::serialization::access;
32330 void serialize(S &s,
const unsigned ) {
32333 s & BOOST_SERIALIZATION_NVP(p_elements);
32339 std::vector<SgAsmCilTypeRef*>
const& get_elements()
const;
32340 std::vector<SgAsmCilTypeRef*>& get_elements();
32360#ifdef DOCUMENTATION
32369DECLARE_LEAF_CLASS(AsmCilTypeRef);
32370IS_SERIALIZABLE(AsmCilTypeRef);
32372#ifndef DOCUMENTATION
32373AsmCilTypeRef.useSmallHeader(
true);
32376#ifdef DOCUMENTATION
32381#ifndef DOCUMENTATION
32382 AsmCilTypeRef.setDataPrototype(
32383 "uint16_t",
"ResolutionScope",
"= 0",
32384 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32387#ifndef DOCUMENTATION
32388 AsmCilTypeRef.setDataPrototype(
32389 "uint32_t",
"TypeName",
"= 0",
32390 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32393#ifndef DOCUMENTATION
32394 AsmCilTypeRef.setDataPrototype(
32395 "uint32_t",
"TypeNamespace",
"= 0",
32396 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32399 DECLARE_OTHERS(AsmCilTypeRef);
32400#if defined(SgAsmCilTypeRef_OTHERS) || defined(DOCUMENTATION)
32403#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32405 friend class boost::serialization::access;
32408 void serialize(S &s,
const unsigned ) {
32411 s & BOOST_SERIALIZATION_NVP(p_ResolutionScope);
32412 s & BOOST_SERIALIZATION_NVP(p_TypeName);
32413 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
32448 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32449 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
32450 void dump(std::ostream&)
const;
32453 const std::uint8_t* get_TypeName_string()
const;
32454 const std::uint8_t* get_TypeNamespace_string()
const;
32472#ifdef DOCUMENTATION
32481DECLARE_LEAF_CLASS(AsmCilTypeDefTable);
32482IS_SERIALIZABLE(AsmCilTypeDefTable);
32484#ifndef DOCUMENTATION
32485AsmCilTypeDefTable.useSmallHeader(
true);
32488#ifdef DOCUMENTATION
32493#ifndef DOCUMENTATION
32494 AsmCilTypeDefTable.setDataPrototype(
32495 "std::vector<SgAsmCilTypeDef*>",
"elements",
"",
32496 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32499 DECLARE_OTHERS(AsmCilTypeDefTable);
32500#if defined(SgAsmCilTypeDefTable_OTHERS) || defined(DOCUMENTATION)
32503#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32505 friend class boost::serialization::access;
32508 void serialize(S &s,
const unsigned ) {
32511 s & BOOST_SERIALIZATION_NVP(p_elements);
32517 std::vector<SgAsmCilTypeDef*>
const& get_elements()
const;
32518 std::vector<SgAsmCilTypeDef*>& get_elements();
32538#ifdef DOCUMENTATION
32547DECLARE_LEAF_CLASS(AsmCilTypeDef);
32548IS_SERIALIZABLE(AsmCilTypeDef);
32550#ifndef DOCUMENTATION
32551AsmCilTypeDef.useSmallHeader(
true);
32554#ifdef DOCUMENTATION
32559#ifndef DOCUMENTATION
32560 AsmCilTypeDef.setDataPrototype(
32561 "uint32_t",
"Flags",
"= 0",
32562 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32565#ifndef DOCUMENTATION
32566 AsmCilTypeDef.setDataPrototype(
32567 "uint32_t",
"TypeName",
"= 0",
32568 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32571#ifndef DOCUMENTATION
32572 AsmCilTypeDef.setDataPrototype(
32573 "uint32_t",
"TypeNamespace",
"= 0",
32574 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32577#ifndef DOCUMENTATION
32578 AsmCilTypeDef.setDataPrototype(
32579 "uint32_t",
"Extends",
"= 0",
32580 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32583#ifndef DOCUMENTATION
32584 AsmCilTypeDef.setDataPrototype(
32585 "uint32_t",
"FieldList",
"= 0",
32586 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32589#ifndef DOCUMENTATION
32590 AsmCilTypeDef.setDataPrototype(
32591 "uint32_t",
"MethodList",
"= 0",
32592 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32595 DECLARE_OTHERS(AsmCilTypeDef);
32596#if defined(SgAsmCilTypeDef_OTHERS) || defined(DOCUMENTATION)
32599#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32601 friend class boost::serialization::access;
32604 void serialize(S &s,
const unsigned ) {
32607 s & BOOST_SERIALIZATION_NVP(p_Flags);
32608 s & BOOST_SERIALIZATION_NVP(p_TypeName);
32609 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
32610 s & BOOST_SERIALIZATION_NVP(p_Extends);
32611 s & BOOST_SERIALIZATION_NVP(p_FieldList);
32612 s & BOOST_SERIALIZATION_NVP(p_MethodList);
32677 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32678 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
32679 void dump(std::ostream&)
const;
32681 const std::uint8_t* get_TypeName_string()
const;
32682 const std::uint8_t* get_TypeNamespace_string()
const;
32704#ifdef DOCUMENTATION
32713DECLARE_LEAF_CLASS(AsmCilStandAloneSigTable);
32714IS_SERIALIZABLE(AsmCilStandAloneSigTable);
32716#ifndef DOCUMENTATION
32717AsmCilStandAloneSigTable.useSmallHeader(
true);
32720#ifdef DOCUMENTATION
32725#ifndef DOCUMENTATION
32726 AsmCilStandAloneSigTable.setDataPrototype(
32727 "std::vector<SgAsmCilStandAloneSig*>",
"elements",
"",
32728 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32731 DECLARE_OTHERS(AsmCilStandAloneSigTable);
32732#if defined(SgAsmCilStandAloneSigTable_OTHERS) || defined(DOCUMENTATION)
32735#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32737 friend class boost::serialization::access;
32740 void serialize(S &s,
const unsigned ) {
32743 s & BOOST_SERIALIZATION_NVP(p_elements);
32749 std::vector<SgAsmCilStandAloneSig*>
const& get_elements()
const;
32750 std::vector<SgAsmCilStandAloneSig*>& get_elements();
32770#ifdef DOCUMENTATION
32779DECLARE_LEAF_CLASS(AsmCilStandAloneSig);
32780IS_SERIALIZABLE(AsmCilStandAloneSig);
32782#ifndef DOCUMENTATION
32783AsmCilStandAloneSig.useSmallHeader(
true);
32786#ifdef DOCUMENTATION
32791#ifndef DOCUMENTATION
32792 AsmCilStandAloneSig.setDataPrototype(
32793 "uint32_t",
"Signature",
"= 0",
32794 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32797 DECLARE_OTHERS(AsmCilStandAloneSig);
32798#if defined(SgAsmCilStandAloneSig_OTHERS) || defined(DOCUMENTATION)
32801#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32803 friend class boost::serialization::access;
32806 void serialize(S &s,
const unsigned ) {
32809 s & BOOST_SERIALIZATION_NVP(p_Signature);
32824 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32825 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
32826 void dump(std::ostream&)
const;
32828 const std::uint8_t* get_Signature_blob()
const;
32846#ifdef DOCUMENTATION
32855DECLARE_LEAF_CLASS(AsmCilPropertyTable);
32856IS_SERIALIZABLE(AsmCilPropertyTable);
32858#ifndef DOCUMENTATION
32859AsmCilPropertyTable.useSmallHeader(
true);
32862#ifdef DOCUMENTATION
32867#ifndef DOCUMENTATION
32868 AsmCilPropertyTable.setDataPrototype(
32869 "std::vector<SgAsmCilProperty*>",
"elements",
"",
32870 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32873 DECLARE_OTHERS(AsmCilPropertyTable);
32874#if defined(SgAsmCilPropertyTable_OTHERS) || defined(DOCUMENTATION)
32877#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32879 friend class boost::serialization::access;
32882 void serialize(S &s,
const unsigned ) {
32885 s & BOOST_SERIALIZATION_NVP(p_elements);
32891 std::vector<SgAsmCilProperty*>
const& get_elements()
const;
32892 std::vector<SgAsmCilProperty*>& get_elements();
32912#ifdef DOCUMENTATION
32921DECLARE_LEAF_CLASS(AsmCilPropertyMapTable);
32922IS_SERIALIZABLE(AsmCilPropertyMapTable);
32924#ifndef DOCUMENTATION
32925AsmCilPropertyMapTable.useSmallHeader(
true);
32928#ifdef DOCUMENTATION
32933#ifndef DOCUMENTATION
32934 AsmCilPropertyMapTable.setDataPrototype(
32935 "std::vector<SgAsmCilPropertyMap*>",
"elements",
"",
32936 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32939 DECLARE_OTHERS(AsmCilPropertyMapTable);
32940#if defined(SgAsmCilPropertyMapTable_OTHERS) || defined(DOCUMENTATION)
32943#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32945 friend class boost::serialization::access;
32948 void serialize(S &s,
const unsigned ) {
32951 s & BOOST_SERIALIZATION_NVP(p_elements);
32957 std::vector<SgAsmCilPropertyMap*>
const& get_elements()
const;
32958 std::vector<SgAsmCilPropertyMap*>& get_elements();
32978#ifdef DOCUMENTATION
32987DECLARE_LEAF_CLASS(AsmCilPropertyMap);
32988IS_SERIALIZABLE(AsmCilPropertyMap);
32990#ifndef DOCUMENTATION
32991AsmCilPropertyMap.useSmallHeader(
true);
32994#ifdef DOCUMENTATION
32999#ifndef DOCUMENTATION
33000 AsmCilPropertyMap.setDataPrototype(
33001 "uint32_t",
"Parent",
"= 0",
33002 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33005#ifndef DOCUMENTATION
33006 AsmCilPropertyMap.setDataPrototype(
33007 "uint32_t",
"PropertyList",
"= 0",
33008 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33011 DECLARE_OTHERS(AsmCilPropertyMap);
33012#if defined(SgAsmCilPropertyMap_OTHERS) || defined(DOCUMENTATION)
33015#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33017 friend class boost::serialization::access;
33020 void serialize(S &s,
const unsigned ) {
33023 s & BOOST_SERIALIZATION_NVP(p_Parent);
33024 s & BOOST_SERIALIZATION_NVP(p_PropertyList);
33049 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33050 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33051 void dump(std::ostream&)
const;
33072#ifdef DOCUMENTATION
33081DECLARE_LEAF_CLASS(AsmCilProperty);
33082IS_SERIALIZABLE(AsmCilProperty);
33084#ifndef DOCUMENTATION
33085AsmCilProperty.useSmallHeader(
true);
33088#ifdef DOCUMENTATION
33093#ifndef DOCUMENTATION
33094 AsmCilProperty.setDataPrototype(
33095 "uint16_t",
"Flags",
"= 0",
33096 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33099#ifndef DOCUMENTATION
33100 AsmCilProperty.setDataPrototype(
33101 "uint32_t",
"Name",
"= 0",
33102 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33105#ifndef DOCUMENTATION
33106 AsmCilProperty.setDataPrototype(
33107 "uint32_t",
"Type",
"= 0",
33108 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33111 DECLARE_OTHERS(AsmCilProperty);
33112#if defined(SgAsmCilProperty_OTHERS) || defined(DOCUMENTATION)
33115#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33117 friend class boost::serialization::access;
33120 void serialize(S &s,
const unsigned ) {
33123 s & BOOST_SERIALIZATION_NVP(p_Flags);
33124 s & BOOST_SERIALIZATION_NVP(p_Name);
33125 s & BOOST_SERIALIZATION_NVP(p_Type);
33160 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33161 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33162 void dump(std::ostream&)
const;
33164 const std::uint8_t* get_Name_string()
const;
33165 const std::uint8_t* get_Type_blob()
const;
33183#ifdef DOCUMENTATION
33192DECLARE_LEAF_CLASS(AsmCilParamTable);
33193IS_SERIALIZABLE(AsmCilParamTable);
33195#ifndef DOCUMENTATION
33196AsmCilParamTable.useSmallHeader(
true);
33199#ifdef DOCUMENTATION
33204#ifndef DOCUMENTATION
33205 AsmCilParamTable.setDataPrototype(
33206 "std::vector<SgAsmCilParam*>",
"elements",
"",
33207 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33210 DECLARE_OTHERS(AsmCilParamTable);
33211#if defined(SgAsmCilParamTable_OTHERS) || defined(DOCUMENTATION)
33214#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33216 friend class boost::serialization::access;
33219 void serialize(S &s,
const unsigned ) {
33222 s & BOOST_SERIALIZATION_NVP(p_elements);
33228 std::vector<SgAsmCilParam*>
const& get_elements()
const;
33229 std::vector<SgAsmCilParam*>& get_elements();
33249#ifdef DOCUMENTATION
33258DECLARE_LEAF_CLASS(AsmCilParam);
33259IS_SERIALIZABLE(AsmCilParam);
33261#ifndef DOCUMENTATION
33262AsmCilParam.useSmallHeader(
true);
33265#ifdef DOCUMENTATION
33270#ifndef DOCUMENTATION
33271 AsmCilParam.setDataPrototype(
33272 "uint16_t",
"Flags",
"= 0",
33273 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33276#ifndef DOCUMENTATION
33277 AsmCilParam.setDataPrototype(
33278 "uint16_t",
"Sequence",
"= 0",
33279 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33282#ifndef DOCUMENTATION
33283 AsmCilParam.setDataPrototype(
33284 "uint32_t",
"Name",
"= 0",
33285 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33288 DECLARE_OTHERS(AsmCilParam);
33289#if defined(SgAsmCilParam_OTHERS) || defined(DOCUMENTATION)
33292#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33294 friend class boost::serialization::access;
33297 void serialize(S &s,
const unsigned ) {
33300 s & BOOST_SERIALIZATION_NVP(p_Flags);
33301 s & BOOST_SERIALIZATION_NVP(p_Sequence);
33302 s & BOOST_SERIALIZATION_NVP(p_Name);
33337 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33338 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33339 void dump(std::ostream&)
const;
33341 const std::uint8_t* get_Name_string()
const;
33359#ifdef DOCUMENTATION
33368DECLARE_LEAF_CLASS(AsmCilNestedClassTable);
33369IS_SERIALIZABLE(AsmCilNestedClassTable);
33371#ifndef DOCUMENTATION
33372AsmCilNestedClassTable.useSmallHeader(
true);
33375#ifdef DOCUMENTATION
33380#ifndef DOCUMENTATION
33381 AsmCilNestedClassTable.setDataPrototype(
33382 "std::vector<SgAsmCilNestedClass*>",
"elements",
"",
33383 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33386 DECLARE_OTHERS(AsmCilNestedClassTable);
33387#if defined(SgAsmCilNestedClassTable_OTHERS) || defined(DOCUMENTATION)
33390#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33392 friend class boost::serialization::access;
33395 void serialize(S &s,
const unsigned ) {
33398 s & BOOST_SERIALIZATION_NVP(p_elements);
33404 std::vector<SgAsmCilNestedClass*>
const& get_elements()
const;
33405 std::vector<SgAsmCilNestedClass*>& get_elements();
33425#ifdef DOCUMENTATION
33434DECLARE_LEAF_CLASS(AsmCilNestedClass);
33435IS_SERIALIZABLE(AsmCilNestedClass);
33437#ifndef DOCUMENTATION
33438AsmCilNestedClass.useSmallHeader(
true);
33441#ifdef DOCUMENTATION
33446#ifndef DOCUMENTATION
33447 AsmCilNestedClass.setDataPrototype(
33448 "uint32_t",
"NestedClass",
"= 0",
33449 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33452#ifndef DOCUMENTATION
33453 AsmCilNestedClass.setDataPrototype(
33454 "uint32_t",
"EnclosingClass",
"= 0",
33455 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33458 DECLARE_OTHERS(AsmCilNestedClass);
33459#if defined(SgAsmCilNestedClass_OTHERS) || defined(DOCUMENTATION)
33462#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33464 friend class boost::serialization::access;
33467 void serialize(S &s,
const unsigned ) {
33470 s & BOOST_SERIALIZATION_NVP(p_NestedClass);
33471 s & BOOST_SERIALIZATION_NVP(p_EnclosingClass);
33496 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33497 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33498 void dump(std::ostream&)
const;
33519#ifdef DOCUMENTATION
33528DECLARE_LEAF_CLASS(AsmCilModuleTable);
33529IS_SERIALIZABLE(AsmCilModuleTable);
33531#ifndef DOCUMENTATION
33532AsmCilModuleTable.useSmallHeader(
true);
33535#ifdef DOCUMENTATION
33540#ifndef DOCUMENTATION
33541 AsmCilModuleTable.setDataPrototype(
33542 "std::vector<SgAsmCilModule*>",
"elements",
"",
33543 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33546 DECLARE_OTHERS(AsmCilModuleTable);
33547#if defined(SgAsmCilModuleTable_OTHERS) || defined(DOCUMENTATION)
33550#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33552 friend class boost::serialization::access;
33555 void serialize(S &s,
const unsigned ) {
33558 s & BOOST_SERIALIZATION_NVP(p_elements);
33564 std::vector<SgAsmCilModule*>
const& get_elements()
const;
33565 std::vector<SgAsmCilModule*>& get_elements();
33585#ifdef DOCUMENTATION
33594DECLARE_LEAF_CLASS(AsmCilModuleRefTable);
33595IS_SERIALIZABLE(AsmCilModuleRefTable);
33597#ifndef DOCUMENTATION
33598AsmCilModuleRefTable.useSmallHeader(
true);
33601#ifdef DOCUMENTATION
33606#ifndef DOCUMENTATION
33607 AsmCilModuleRefTable.setDataPrototype(
33608 "std::vector<SgAsmCilModuleRef*>",
"elements",
"",
33609 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33612 DECLARE_OTHERS(AsmCilModuleRefTable);
33613#if defined(SgAsmCilModuleRefTable_OTHERS) || defined(DOCUMENTATION)
33616#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33618 friend class boost::serialization::access;
33621 void serialize(S &s,
const unsigned ) {
33624 s & BOOST_SERIALIZATION_NVP(p_elements);
33630 std::vector<SgAsmCilModuleRef*>
const& get_elements()
const;
33631 std::vector<SgAsmCilModuleRef*>& get_elements();
33651#ifdef DOCUMENTATION
33660DECLARE_LEAF_CLASS(AsmCilModuleRef);
33661IS_SERIALIZABLE(AsmCilModuleRef);
33663#ifndef DOCUMENTATION
33664AsmCilModuleRef.useSmallHeader(
true);
33667#ifdef DOCUMENTATION
33672#ifndef DOCUMENTATION
33673 AsmCilModuleRef.setDataPrototype(
33674 "uint32_t",
"Name",
"= 0",
33675 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33678 DECLARE_OTHERS(AsmCilModuleRef);
33679#if defined(SgAsmCilModuleRef_OTHERS) || defined(DOCUMENTATION)
33682#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33684 friend class boost::serialization::access;
33687 void serialize(S &s,
const unsigned ) {
33690 s & BOOST_SERIALIZATION_NVP(p_Name);
33705 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33706 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33707 void dump(std::ostream&)
const;
33709 const std::uint8_t* get_Name_string()
const;
33727#ifdef DOCUMENTATION
33736DECLARE_LEAF_CLASS(AsmCilModule);
33737IS_SERIALIZABLE(AsmCilModule);
33739#ifndef DOCUMENTATION
33740AsmCilModule.useSmallHeader(
true);
33743#ifdef DOCUMENTATION
33748#ifndef DOCUMENTATION
33749 AsmCilModule.setDataPrototype(
33750 "uint16_t",
"Generation",
"= 0",
33751 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33754#ifndef DOCUMENTATION
33755 AsmCilModule.setDataPrototype(
33756 "uint32_t",
"Name",
"= 0",
33757 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33760#ifndef DOCUMENTATION
33761 AsmCilModule.setDataPrototype(
33762 "uint32_t",
"Mvid",
"= 0",
33763 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33766#ifndef DOCUMENTATION
33767 AsmCilModule.setDataPrototype(
33768 "uint32_t",
"Encld",
"= 0",
33769 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33772#ifndef DOCUMENTATION
33773 AsmCilModule.setDataPrototype(
33774 "uint32_t",
"EncBaseId",
"= 0",
33775 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33778 DECLARE_OTHERS(AsmCilModule);
33779#if defined(SgAsmCilModule_OTHERS) || defined(DOCUMENTATION)
33782#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33784 friend class boost::serialization::access;
33787 void serialize(S &s,
const unsigned ) {
33790 s & BOOST_SERIALIZATION_NVP(p_Generation);
33791 s & BOOST_SERIALIZATION_NVP(p_Name);
33792 s & BOOST_SERIALIZATION_NVP(p_Mvid);
33793 s & BOOST_SERIALIZATION_NVP(p_Encld);
33794 s & BOOST_SERIALIZATION_NVP(p_EncBaseId);
33849 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33850 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33851 void dump(std::ostream&)
const;
33853 const std::uint8_t* get_Name_string()
const;
33854 const std::uint32_t* get_Mvid_guid()
const;
33855 const std::uint32_t* get_Encld_guid()
const;
33856 const std::uint32_t* get_EncBaseId_guid()
const;
33874#ifdef DOCUMENTATION
33883DECLARE_LEAF_CLASS(AsmCilMethodSpecTable);
33884IS_SERIALIZABLE(AsmCilMethodSpecTable);
33886#ifndef DOCUMENTATION
33887AsmCilMethodSpecTable.useSmallHeader(
true);
33890#ifdef DOCUMENTATION
33895#ifndef DOCUMENTATION
33896 AsmCilMethodSpecTable.setDataPrototype(
33897 "std::vector<SgAsmCilMethodSpec*>",
"elements",
"",
33898 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33901 DECLARE_OTHERS(AsmCilMethodSpecTable);
33902#if defined(SgAsmCilMethodSpecTable_OTHERS) || defined(DOCUMENTATION)
33905#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33907 friend class boost::serialization::access;
33910 void serialize(S &s,
const unsigned ) {
33913 s & BOOST_SERIALIZATION_NVP(p_elements);
33919 std::vector<SgAsmCilMethodSpec*>
const& get_elements()
const;
33920 std::vector<SgAsmCilMethodSpec*>& get_elements();
33940#ifdef DOCUMENTATION
33949DECLARE_LEAF_CLASS(AsmCilMethodSpec);
33950IS_SERIALIZABLE(AsmCilMethodSpec);
33952#ifndef DOCUMENTATION
33953AsmCilMethodSpec.useSmallHeader(
true);
33956#ifdef DOCUMENTATION
33961#ifndef DOCUMENTATION
33962 AsmCilMethodSpec.setDataPrototype(
33963 "uint32_t",
"Method",
"= 0",
33964 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33967#ifndef DOCUMENTATION
33968 AsmCilMethodSpec.setDataPrototype(
33969 "uint32_t",
"Instantiation",
"= 0",
33970 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33973 DECLARE_OTHERS(AsmCilMethodSpec);
33974#if defined(SgAsmCilMethodSpec_OTHERS) || defined(DOCUMENTATION)
33977#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33979 friend class boost::serialization::access;
33982 void serialize(S &s,
const unsigned ) {
33985 s & BOOST_SERIALIZATION_NVP(p_Method);
33986 s & BOOST_SERIALIZATION_NVP(p_Instantiation);
34011 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34012 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34013 void dump(std::ostream&)
const;
34016 const std::uint8_t* get_Instantiation_blob()
const;
34034#ifdef DOCUMENTATION
34043DECLARE_LEAF_CLASS(AsmCilMethodSemanticsTable);
34044IS_SERIALIZABLE(AsmCilMethodSemanticsTable);
34046#ifndef DOCUMENTATION
34047AsmCilMethodSemanticsTable.useSmallHeader(
true);
34050#ifdef DOCUMENTATION
34055#ifndef DOCUMENTATION
34056 AsmCilMethodSemanticsTable.setDataPrototype(
34057 "std::vector<SgAsmCilMethodSemantics*>",
"elements",
"",
34058 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34061 DECLARE_OTHERS(AsmCilMethodSemanticsTable);
34062#if defined(SgAsmCilMethodSemanticsTable_OTHERS) || defined(DOCUMENTATION)
34065#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34067 friend class boost::serialization::access;
34070 void serialize(S &s,
const unsigned ) {
34073 s & BOOST_SERIALIZATION_NVP(p_elements);
34079 std::vector<SgAsmCilMethodSemantics*>
const& get_elements()
const;
34080 std::vector<SgAsmCilMethodSemantics*>& get_elements();
34100#ifdef DOCUMENTATION
34109DECLARE_LEAF_CLASS(AsmCilMethodSemantics);
34110IS_SERIALIZABLE(AsmCilMethodSemantics);
34112#ifndef DOCUMENTATION
34113AsmCilMethodSemantics.useSmallHeader(
true);
34116#ifdef DOCUMENTATION
34121#ifndef DOCUMENTATION
34122 AsmCilMethodSemantics.setDataPrototype(
34123 "uint16_t",
"Semantics",
"= 0",
34124 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34127#ifndef DOCUMENTATION
34128 AsmCilMethodSemantics.setDataPrototype(
34129 "uint32_t",
"Method",
"= 0",
34130 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34133#ifndef DOCUMENTATION
34134 AsmCilMethodSemantics.setDataPrototype(
34135 "uint32_t",
"Association",
"= 0",
34136 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34139 DECLARE_OTHERS(AsmCilMethodSemantics);
34140#if defined(SgAsmCilMethodSemantics_OTHERS) || defined(DOCUMENTATION)
34143#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34145 friend class boost::serialization::access;
34148 void serialize(S &s,
const unsigned ) {
34151 s & BOOST_SERIALIZATION_NVP(p_Semantics);
34152 s & BOOST_SERIALIZATION_NVP(p_Method);
34153 s & BOOST_SERIALIZATION_NVP(p_Association);
34188 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34189 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34190 void dump(std::ostream&)
const;
34211#ifdef DOCUMENTATION
34220DECLARE_LEAF_CLASS(AsmCilMethodImplTable);
34221IS_SERIALIZABLE(AsmCilMethodImplTable);
34223#ifndef DOCUMENTATION
34224AsmCilMethodImplTable.useSmallHeader(
true);
34227#ifdef DOCUMENTATION
34232#ifndef DOCUMENTATION
34233 AsmCilMethodImplTable.setDataPrototype(
34234 "std::vector<SgAsmCilMethodImpl*>",
"elements",
"",
34235 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34238 DECLARE_OTHERS(AsmCilMethodImplTable);
34239#if defined(SgAsmCilMethodImplTable_OTHERS) || defined(DOCUMENTATION)
34242#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34244 friend class boost::serialization::access;
34247 void serialize(S &s,
const unsigned ) {
34250 s & BOOST_SERIALIZATION_NVP(p_elements);
34256 std::vector<SgAsmCilMethodImpl*>
const& get_elements()
const;
34257 std::vector<SgAsmCilMethodImpl*>& get_elements();
34277#ifdef DOCUMENTATION
34286DECLARE_LEAF_CLASS(AsmCilMethodImpl);
34287IS_SERIALIZABLE(AsmCilMethodImpl);
34289#ifndef DOCUMENTATION
34290AsmCilMethodImpl.useSmallHeader(
true);
34293#ifdef DOCUMENTATION
34298#ifndef DOCUMENTATION
34299 AsmCilMethodImpl.setDataPrototype(
34300 "uint32_t",
"Class",
"= 0",
34301 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34304#ifndef DOCUMENTATION
34305 AsmCilMethodImpl.setDataPrototype(
34306 "uint32_t",
"MethodBody",
"= 0",
34307 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34310#ifndef DOCUMENTATION
34311 AsmCilMethodImpl.setDataPrototype(
34312 "uint32_t",
"MethodDeclaration",
"= 0",
34313 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34316 DECLARE_OTHERS(AsmCilMethodImpl);
34317#if defined(SgAsmCilMethodImpl_OTHERS) || defined(DOCUMENTATION)
34320#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34322 friend class boost::serialization::access;
34325 void serialize(S &s,
const unsigned ) {
34328 s & BOOST_SERIALIZATION_NVP(p_Class);
34329 s & BOOST_SERIALIZATION_NVP(p_MethodBody);
34330 s & BOOST_SERIALIZATION_NVP(p_MethodDeclaration);
34365 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34366 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34367 void dump(std::ostream&)
const;
34389#ifdef DOCUMENTATION
34398DECLARE_LEAF_CLASS(AsmCilMethodDefTable);
34399IS_SERIALIZABLE(AsmCilMethodDefTable);
34401#ifndef DOCUMENTATION
34402AsmCilMethodDefTable.useSmallHeader(
true);
34405#ifdef DOCUMENTATION
34410#ifndef DOCUMENTATION
34411 AsmCilMethodDefTable.setDataPrototype(
34412 "std::vector<SgAsmCilMethodDef*>",
"elements",
"",
34413 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34416 DECLARE_OTHERS(AsmCilMethodDefTable);
34417#if defined(SgAsmCilMethodDefTable_OTHERS) || defined(DOCUMENTATION)
34420#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34422 friend class boost::serialization::access;
34425 void serialize(S &s,
const unsigned ) {
34428 s & BOOST_SERIALIZATION_NVP(p_elements);
34434 std::vector<SgAsmCilMethodDef*>
const& get_elements()
const;
34435 std::vector<SgAsmCilMethodDef*>& get_elements();
34455#ifdef DOCUMENTATION
34464DECLARE_LEAF_CLASS(AsmCilMethodDef);
34465IS_SERIALIZABLE(AsmCilMethodDef);
34467#ifndef DOCUMENTATION
34468AsmCilMethodDef.useSmallHeader(
true);
34471#ifdef DOCUMENTATION
34476#ifndef DOCUMENTATION
34477 AsmCilMethodDef.setDataPrototype(
34478 "uint32_t",
"RVA",
"= 0",
34479 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34482#ifndef DOCUMENTATION
34483 AsmCilMethodDef.setDataPrototype(
34484 "uint16_t",
"ImplFlags",
"= 0",
34485 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34488#ifndef DOCUMENTATION
34489 AsmCilMethodDef.setDataPrototype(
34490 "uint16_t",
"Flags",
"= 0",
34491 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34494#ifndef DOCUMENTATION
34495 AsmCilMethodDef.setDataPrototype(
34496 "uint32_t",
"Name",
"= 0",
34497 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34500#ifndef DOCUMENTATION
34501 AsmCilMethodDef.setDataPrototype(
34502 "uint32_t",
"Signature",
"= 0",
34503 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34506#ifndef DOCUMENTATION
34507 AsmCilMethodDef.setDataPrototype(
34508 "uint32_t",
"ParamList",
"= 0",
34509 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34512#ifndef DOCUMENTATION
34513 AsmCilMethodDef.setDataPrototype(
34514 "SgAsmBlock*",
"body",
"= 0",
34515 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34518#ifndef DOCUMENTATION
34519 AsmCilMethodDef.setDataPrototype(
34520 "bool",
"initLocals",
"= 0",
34521 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34524#ifndef DOCUMENTATION
34525 AsmCilMethodDef.setDataPrototype(
34526 "uint32_t",
"stackSize",
"= 0",
34527 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34530#ifndef DOCUMENTATION
34531 AsmCilMethodDef.setDataPrototype(
34532 "bool",
"hasMoreSections",
"= 0",
34533 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34536#ifndef DOCUMENTATION
34537 AsmCilMethodDef.setDataPrototype(
34538 "uint32_t",
"localVarSigTok",
"= 0",
34539 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34542#ifndef DOCUMENTATION
34543 AsmCilMethodDef.setDataPrototype(
34544 "std::vector<SgAsmCilMethodData*>",
"methodData",
"",
34545 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34548 DECLARE_OTHERS(AsmCilMethodDef);
34549#if defined(SgAsmCilMethodDef_OTHERS) || defined(DOCUMENTATION)
34552#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34554 friend class boost::serialization::access;
34557 void serialize(S &s,
const unsigned ) {
34560 s & BOOST_SERIALIZATION_NVP(p_RVA);
34561 s & BOOST_SERIALIZATION_NVP(p_ImplFlags);
34562 s & BOOST_SERIALIZATION_NVP(p_Flags);
34563 s & BOOST_SERIALIZATION_NVP(p_Name);
34564 s & BOOST_SERIALIZATION_NVP(p_Signature);
34565 s & BOOST_SERIALIZATION_NVP(p_ParamList);
34566 s & BOOST_SERIALIZATION_NVP(p_body);
34567 s & BOOST_SERIALIZATION_NVP(p_initLocals);
34568 s & BOOST_SERIALIZATION_NVP(p_stackSize);
34569 s & BOOST_SERIALIZATION_NVP(p_hasMoreSections);
34570 s & BOOST_SERIALIZATION_NVP(p_localVarSigTok);
34571 s & BOOST_SERIALIZATION_NVP(p_methodData);
34698 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34699 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34700 void dump(std::ostream&)
const;
34702 const std::uint8_t* get_Name_string()
const;
34703 const std::uint8_t* get_Signature_blob()
const;
34722#ifdef DOCUMENTATION
34731DECLARE_LEAF_CLASS(AsmCilMethodData);
34732IS_SERIALIZABLE(AsmCilMethodData);
34734#ifndef DOCUMENTATION
34735AsmCilMethodData.useSmallHeader(
true);
34738DECLARE_HEADERS(AsmCilMethodData);
34739#if defined(SgAsmCilMethodData_HEADERS) || defined(DOCUMENTATION)
34743#ifdef DOCUMENTATION
34751#ifndef DOCUMENTATION
34752 AsmCilMethodData.setDataPrototype(
34753 "uint64_t",
"kind",
"= 0",
34754 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34757#ifndef DOCUMENTATION
34758 AsmCilMethodData.setDataPrototype(
34759 "std::uint32_t",
"dataSize",
"= 0",
34760 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34763#ifndef DOCUMENTATION
34764 AsmCilMethodData.setDataPrototype(
34765 "std::vector<SgAsmCilExceptionData*>",
"clauses",
"",
34766 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34769 DECLARE_OTHERS(AsmCilMethodData);
34770#if defined(SgAsmCilMethodData_OTHERS) || defined(DOCUMENTATION)
34773#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34775 friend class boost::serialization::access;
34778 void serialize(S &s,
const unsigned ) {
34780 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
34781 s & BOOST_SERIALIZATION_NVP(p_kind);
34782 s & BOOST_SERIALIZATION_NVP(p_dataSize);
34783 s & BOOST_SERIALIZATION_NVP(p_clauses);
34790 CorILMethod_Sect_EHTable = 0x01,
34791 CorILMethod_Sect_OptILTable = 0x02,
34792 CorILMethod_Sect_FatFormat = 0x40,
34793 CorILMethod_Sect_MoreSects = 0x80,
34798 uint64_t
const& get_kind()
const;
34799 void set_kind(uint64_t
const&);
34802 std::uint32_t
const& get_dataSize()
const;
34803 void set_dataSize(std::uint32_t
const&);
34806 std::vector<SgAsmCilExceptionData*>
const& get_Clauses()
const;
34807 std::vector<SgAsmCilExceptionData*>& get_Clauses();
34809 bool isEHTable()
const
34811 return (p_kind & CorILMethod_Sect_EHTable) == CorILMethod_Sect_EHTable;
34814 bool isOptILTable()
const
34816 const bool res = (p_kind & CorILMethod_Sect_OptILTable) == CorILMethod_Sect_OptILTable;
34818 ASSERT_require(!res);
34822 bool usesFatFormat()
const
34824 return (p_kind & CorILMethod_Sect_FatFormat) == CorILMethod_Sect_FatFormat;
34827 bool hasMoreSections()
const
34829 return (p_kind & CorILMethod_Sect_MoreSects) == CorILMethod_Sect_MoreSects;
34848#ifdef DOCUMENTATION
34857DECLARE_LEAF_CLASS(AsmCilMetadataRoot);
34858IS_SERIALIZABLE(AsmCilMetadataRoot);
34860#ifndef DOCUMENTATION
34861AsmCilMetadataRoot.useSmallHeader(
true);
34864#ifdef DOCUMENTATION
34869#ifndef DOCUMENTATION
34870 AsmCilMetadataRoot.setDataPrototype(
34871 "uint32_t",
"Signature",
"= 0",
34872 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34875#ifndef DOCUMENTATION
34876 AsmCilMetadataRoot.setDataPrototype(
34877 "uint16_t",
"MajorVersion",
"= 0",
34878 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34881#ifndef DOCUMENTATION
34882 AsmCilMetadataRoot.setDataPrototype(
34883 "uint16_t",
"MinorVersion",
"= 0",
34884 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34887#ifndef DOCUMENTATION
34888 AsmCilMetadataRoot.setDataPrototype(
34889 "uint32_t",
"Reserved0",
"= 0",
34890 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34893#ifndef DOCUMENTATION
34894 AsmCilMetadataRoot.setDataPrototype(
34895 "uint32_t",
"Length",
"= 0",
34896 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34899#ifndef DOCUMENTATION
34900 AsmCilMetadataRoot.setDataPrototype(
34901 "std::string",
"Version",
"",
34902 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34905#ifndef DOCUMENTATION
34906 AsmCilMetadataRoot.setDataPrototype(
34907 "uint32_t",
"VersionPadding",
"= 0",
34908 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34911#ifndef DOCUMENTATION
34912 AsmCilMetadataRoot.setDataPrototype(
34913 "uint16_t",
"Flags",
"= 0",
34914 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34917#ifndef DOCUMENTATION
34918 AsmCilMetadataRoot.setDataPrototype(
34919 "uint16_t",
"NumberOfStreams",
"= 0",
34920 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34923#ifndef DOCUMENTATION
34924 AsmCilMetadataRoot.setDataPrototype(
34925 "std::vector<SgAsmCilDataStream*>",
"Streams",
"",
34926 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34929 DECLARE_OTHERS(AsmCilMetadataRoot);
34930#if defined(SgAsmCilMetadataRoot_OTHERS) || defined(DOCUMENTATION)
34933#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34935 friend class boost::serialization::access;
34938 void serialize(S &s,
const unsigned ) {
34940 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
34941 s & BOOST_SERIALIZATION_NVP(p_Signature);
34942 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
34943 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
34944 s & BOOST_SERIALIZATION_NVP(p_Reserved0);
34945 s & BOOST_SERIALIZATION_NVP(p_Length);
34946 s & BOOST_SERIALIZATION_NVP(p_Version);
34947 s & BOOST_SERIALIZATION_NVP(p_VersionPadding);
34948 s & BOOST_SERIALIZATION_NVP(p_Flags);
34949 s & BOOST_SERIALIZATION_NVP(p_NumberOfStreams);
34950 s & BOOST_SERIALIZATION_NVP(p_Streams);
35039 mutable int8_t idxStringHeap = -1;
35040 mutable int8_t idxBlobHeap = -1;
35041 mutable int8_t idxUsHeap = -1;
35042 mutable int8_t idxGuidHeap = -1;
35043 mutable int8_t idxMetadataHeap = -1;
35061 void parse(
const std::vector<uint8_t>& buf,
size_t index);
35067 void unparse(std::vector<uint8_t>&, std::size_t)
const;
35098#ifdef DOCUMENTATION
35107DECLARE_LEAF_CLASS(AsmCilMetadataHeap);
35108IS_SERIALIZABLE(AsmCilMetadataHeap);
35110#ifndef DOCUMENTATION
35111AsmCilMetadataHeap.useSmallHeader(
true);
35114DECLARE_HEADERS(AsmCilMetadataHeap);
35115#if defined(SgAsmCilMetadataHeap_HEADERS) || defined(DOCUMENTATION)
35116#ifdef ROSE_SgAsmCilMetadataHeap_IMPL
35117#include <SgAsmCilAssemblyTable.h>
35118#include <SgAsmCilAssemblyOSTable.h>
35119#include <SgAsmCilAssemblyProcessorTable.h>
35120#include <SgAsmCilAssemblyRefTable.h>
35121#include <SgAsmCilAssemblyRefOSTable.h>
35122#include <SgAsmCilAssemblyRefProcessorTable.h>
35123#include <SgAsmCilClassLayoutTable.h>
35124#include <SgAsmCilConstantTable.h>
35125#include <SgAsmCilCustomAttributeTable.h>
35126#include <SgAsmCilDeclSecurityTable.h>
35127#include <SgAsmCilEventTable.h>
35128#include <SgAsmCilEventMapTable.h>
35129#include <SgAsmCilExportedTypeTable.h>
35130#include <SgAsmCilFieldTable.h>
35131#include <SgAsmCilFieldLayoutTable.h>
35132#include <SgAsmCilFieldMarshalTable.h>
35133#include <SgAsmCilFieldRVATable.h>
35134#include <SgAsmCilFileTable.h>
35135#include <SgAsmCilGenericParamTable.h>
35136#include <SgAsmCilGenericParamConstraintTable.h>
35137#include <SgAsmCilImplMapTable.h>
35138#include <SgAsmCilInterfaceImplTable.h>
35139#include <SgAsmCilManifestResourceTable.h>
35140#include <SgAsmCilMemberRefTable.h>
35141#include <SgAsmCilMethodDefTable.h>
35142#include <SgAsmCilMethodImplTable.h>
35143#include <SgAsmCilMethodSemanticsTable.h>
35144#include <SgAsmCilMethodSpecTable.h>
35145#include <SgAsmCilModuleTable.h>
35146#include <SgAsmCilModuleRefTable.h>
35147#include <SgAsmCilNestedClassTable.h>
35148#include <SgAsmCilParamTable.h>
35149#include <SgAsmCilPropertyTable.h>
35150#include <SgAsmCilPropertyMapTable.h>
35151#include <SgAsmCilStandAloneSigTable.h>
35152#include <SgAsmCilTypeDefTable.h>
35153#include <SgAsmCilTypeRefTable.h>
35154#include <SgAsmCilTypeSpecTable.h>
35158#ifdef DOCUMENTATION
35163#ifndef DOCUMENTATION
35164 AsmCilMetadataHeap.setDataPrototype(
35165 "uint32_t",
"ReservedAlwaysZero",
"= 0",
35166 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35169#ifndef DOCUMENTATION
35170 AsmCilMetadataHeap.setDataPrototype(
35171 "uint8_t",
"MajorVersion",
"= 0",
35172 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35175#ifndef DOCUMENTATION
35176 AsmCilMetadataHeap.setDataPrototype(
35177 "uint8_t",
"MinorVersion",
"= 0",
35178 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35181#ifndef DOCUMENTATION
35182 AsmCilMetadataHeap.setDataPrototype(
35183 "uint8_t",
"HeapSizes",
"= 0",
35184 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35187#ifndef DOCUMENTATION
35188 AsmCilMetadataHeap.setDataPrototype(
35189 "uint8_t",
"ReservedAlwaysOne",
"= 0",
35190 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35193#ifndef DOCUMENTATION
35194 AsmCilMetadataHeap.setDataPrototype(
35195 "uint64_t",
"Valid",
"= 0",
35196 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35199#ifndef DOCUMENTATION
35200 AsmCilMetadataHeap.setDataPrototype(
35201 "uint64_t",
"Sorted",
"= 0",
35202 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35205#ifndef DOCUMENTATION
35206 AsmCilMetadataHeap.setDataPrototype(
35207 "std::vector<uint32_t>",
"NumberOfRows",
"",
35208 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35211#ifndef DOCUMENTATION
35212 AsmCilMetadataHeap.setDataPrototype(
35213 "uint64_t",
"DataSizeFlags",
"= 0",
35214 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35217#ifndef DOCUMENTATION
35218 AsmCilMetadataHeap.setDataPrototype(
35219 "SgAsmCilAssemblyTable*",
"AssemblyTable",
"",
35220 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35223#ifndef DOCUMENTATION
35224 AsmCilMetadataHeap.setDataPrototype(
35225 "SgAsmCilAssemblyOSTable*",
"AssemblyOSTable",
"",
35226 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35229#ifndef DOCUMENTATION
35230 AsmCilMetadataHeap.setDataPrototype(
35231 "SgAsmCilAssemblyProcessorTable*",
"AssemblyProcessorTable",
"",
35232 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35235#ifndef DOCUMENTATION
35236 AsmCilMetadataHeap.setDataPrototype(
35237 "SgAsmCilAssemblyRefTable*",
"AssemblyRefTable",
"",
35238 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35241#ifndef DOCUMENTATION
35242 AsmCilMetadataHeap.setDataPrototype(
35243 "SgAsmCilAssemblyRefOSTable*",
"AssemblyRefOSTable",
"",
35244 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35247#ifndef DOCUMENTATION
35248 AsmCilMetadataHeap.setDataPrototype(
35249 "SgAsmCilAssemblyRefProcessorTable*",
"AssemblyRefProcessorTable",
"",
35250 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35253#ifndef DOCUMENTATION
35254 AsmCilMetadataHeap.setDataPrototype(
35255 "SgAsmCilClassLayoutTable*",
"ClassLayoutTable",
"",
35256 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35259#ifndef DOCUMENTATION
35260 AsmCilMetadataHeap.setDataPrototype(
35261 "SgAsmCilConstantTable*",
"ConstantTable",
"",
35262 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35265#ifndef DOCUMENTATION
35266 AsmCilMetadataHeap.setDataPrototype(
35267 "SgAsmCilCustomAttributeTable*",
"CustomAttributeTable",
"",
35268 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35271#ifndef DOCUMENTATION
35272 AsmCilMetadataHeap.setDataPrototype(
35273 "SgAsmCilDeclSecurityTable*",
"DeclSecurityTable",
"",
35274 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35277#ifndef DOCUMENTATION
35278 AsmCilMetadataHeap.setDataPrototype(
35279 "SgAsmCilEventTable*",
"EventTable",
"",
35280 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35283#ifndef DOCUMENTATION
35284 AsmCilMetadataHeap.setDataPrototype(
35285 "SgAsmCilEventMapTable*",
"EventMapTable",
"",
35286 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35289#ifndef DOCUMENTATION
35290 AsmCilMetadataHeap.setDataPrototype(
35291 "SgAsmCilExportedTypeTable*",
"ExportedTypeTable",
"",
35292 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35295#ifndef DOCUMENTATION
35296 AsmCilMetadataHeap.setDataPrototype(
35297 "SgAsmCilFieldTable*",
"FieldTable",
"",
35298 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35301#ifndef DOCUMENTATION
35302 AsmCilMetadataHeap.setDataPrototype(
35303 "SgAsmCilFieldLayoutTable*",
"FieldLayoutTable",
"",
35304 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35307#ifndef DOCUMENTATION
35308 AsmCilMetadataHeap.setDataPrototype(
35309 "SgAsmCilFieldMarshalTable*",
"FieldMarshalTable",
"",
35310 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35313#ifndef DOCUMENTATION
35314 AsmCilMetadataHeap.setDataPrototype(
35315 "SgAsmCilFieldRVATable*",
"FieldRVATable",
"",
35316 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35319#ifndef DOCUMENTATION
35320 AsmCilMetadataHeap.setDataPrototype(
35321 "SgAsmCilFileTable*",
"FileTable",
"",
35322 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35325#ifndef DOCUMENTATION
35326 AsmCilMetadataHeap.setDataPrototype(
35327 "SgAsmCilGenericParamTable*",
"GenericParamTable",
"",
35328 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35331#ifndef DOCUMENTATION
35332 AsmCilMetadataHeap.setDataPrototype(
35333 "SgAsmCilGenericParamConstraintTable*",
"GenericParamConstraintTable",
"",
35334 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35337#ifndef DOCUMENTATION
35338 AsmCilMetadataHeap.setDataPrototype(
35339 "SgAsmCilImplMapTable*",
"ImplMapTable",
"",
35340 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35343#ifndef DOCUMENTATION
35344 AsmCilMetadataHeap.setDataPrototype(
35345 "SgAsmCilInterfaceImplTable*",
"InterfaceImplTable",
"",
35346 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35349#ifndef DOCUMENTATION
35350 AsmCilMetadataHeap.setDataPrototype(
35351 "SgAsmCilManifestResourceTable*",
"ManifestResourceTable",
"",
35352 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35355#ifndef DOCUMENTATION
35356 AsmCilMetadataHeap.setDataPrototype(
35357 "SgAsmCilMemberRefTable*",
"MemberRefTable",
"",
35358 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35361#ifndef DOCUMENTATION
35362 AsmCilMetadataHeap.setDataPrototype(
35363 "SgAsmCilMethodDefTable*",
"MethodDefTable",
"",
35364 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35367#ifndef DOCUMENTATION
35368 AsmCilMetadataHeap.setDataPrototype(
35369 "SgAsmCilMethodImplTable*",
"MethodImplTable",
"",
35370 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35373#ifndef DOCUMENTATION
35374 AsmCilMetadataHeap.setDataPrototype(
35375 "SgAsmCilMethodSemanticsTable*",
"MethodSemanticsTable",
"",
35376 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35379#ifndef DOCUMENTATION
35380 AsmCilMetadataHeap.setDataPrototype(
35381 "SgAsmCilMethodSpecTable*",
"MethodSpecTable",
"",
35382 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35385#ifndef DOCUMENTATION
35386 AsmCilMetadataHeap.setDataPrototype(
35387 "SgAsmCilModuleTable*",
"ModuleTable",
"",
35388 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35391#ifndef DOCUMENTATION
35392 AsmCilMetadataHeap.setDataPrototype(
35393 "SgAsmCilModuleRefTable*",
"ModuleRefTable",
"",
35394 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35397#ifndef DOCUMENTATION
35398 AsmCilMetadataHeap.setDataPrototype(
35399 "SgAsmCilNestedClassTable*",
"NestedClassTable",
"",
35400 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35403#ifndef DOCUMENTATION
35404 AsmCilMetadataHeap.setDataPrototype(
35405 "SgAsmCilParamTable*",
"ParamTable",
"",
35406 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35409#ifndef DOCUMENTATION
35410 AsmCilMetadataHeap.setDataPrototype(
35411 "SgAsmCilPropertyTable*",
"PropertyTable",
"",
35412 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35415#ifndef DOCUMENTATION
35416 AsmCilMetadataHeap.setDataPrototype(
35417 "SgAsmCilPropertyMapTable*",
"PropertyMapTable",
"",
35418 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35421#ifndef DOCUMENTATION
35422 AsmCilMetadataHeap.setDataPrototype(
35423 "SgAsmCilStandAloneSigTable*",
"StandAloneSigTable",
"",
35424 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35427#ifndef DOCUMENTATION
35428 AsmCilMetadataHeap.setDataPrototype(
35429 "SgAsmCilTypeDefTable*",
"TypeDefTable",
"",
35430 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35433#ifndef DOCUMENTATION
35434 AsmCilMetadataHeap.setDataPrototype(
35435 "SgAsmCilTypeRefTable*",
"TypeRefTable",
"",
35436 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35439#ifndef DOCUMENTATION
35440 AsmCilMetadataHeap.setDataPrototype(
35441 "SgAsmCilTypeSpecTable*",
"TypeSpecTable",
"",
35442 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35445 DECLARE_OTHERS(AsmCilMetadataHeap);
35446#if defined(SgAsmCilMetadataHeap_OTHERS) || defined(DOCUMENTATION)
35449#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
35451 friend class boost::serialization::access;
35454 void serialize(S &s,
const unsigned ) {
35457 s & BOOST_SERIALIZATION_NVP(p_ReservedAlwaysZero);
35458 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
35459 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
35460 s & BOOST_SERIALIZATION_NVP(p_HeapSizes);
35461 s & BOOST_SERIALIZATION_NVP(p_ReservedAlwaysOne);
35462 s & BOOST_SERIALIZATION_NVP(p_Valid);
35463 s & BOOST_SERIALIZATION_NVP(p_Sorted);
35464 s & BOOST_SERIALIZATION_NVP(p_NumberOfRows);
35465 s & BOOST_SERIALIZATION_NVP(p_DataSizeFlags);
35466 s & BOOST_SERIALIZATION_NVP(p_AssemblyTable);
35467 s & BOOST_SERIALIZATION_NVP(p_AssemblyOSTable);
35468 s & BOOST_SERIALIZATION_NVP(p_AssemblyProcessorTable);
35469 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefTable);
35470 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefOSTable);
35471 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefProcessorTable);
35472 s & BOOST_SERIALIZATION_NVP(p_ClassLayoutTable);
35473 s & BOOST_SERIALIZATION_NVP(p_ConstantTable);
35474 s & BOOST_SERIALIZATION_NVP(p_CustomAttributeTable);
35475 s & BOOST_SERIALIZATION_NVP(p_DeclSecurityTable);
35476 s & BOOST_SERIALIZATION_NVP(p_EventTable);
35477 s & BOOST_SERIALIZATION_NVP(p_EventMapTable);
35478 s & BOOST_SERIALIZATION_NVP(p_ExportedTypeTable);
35479 s & BOOST_SERIALIZATION_NVP(p_FieldTable);
35480 s & BOOST_SERIALIZATION_NVP(p_FieldLayoutTable);
35481 s & BOOST_SERIALIZATION_NVP(p_FieldMarshalTable);
35482 s & BOOST_SERIALIZATION_NVP(p_FieldRVATable);
35483 s & BOOST_SERIALIZATION_NVP(p_FileTable);
35484 s & BOOST_SERIALIZATION_NVP(p_GenericParamTable);
35485 s & BOOST_SERIALIZATION_NVP(p_GenericParamConstraintTable);
35486 s & BOOST_SERIALIZATION_NVP(p_ImplMapTable);
35487 s & BOOST_SERIALIZATION_NVP(p_InterfaceImplTable);
35488 s & BOOST_SERIALIZATION_NVP(p_ManifestResourceTable);
35489 s & BOOST_SERIALIZATION_NVP(p_MemberRefTable);
35490 s & BOOST_SERIALIZATION_NVP(p_MethodDefTable);
35491 s & BOOST_SERIALIZATION_NVP(p_MethodImplTable);
35492 s & BOOST_SERIALIZATION_NVP(p_MethodSemanticsTable);
35493 s & BOOST_SERIALIZATION_NVP(p_MethodSpecTable);
35494 s & BOOST_SERIALIZATION_NVP(p_ModuleTable);
35495 s & BOOST_SERIALIZATION_NVP(p_ModuleRefTable);
35496 s & BOOST_SERIALIZATION_NVP(p_NestedClassTable);
35497 s & BOOST_SERIALIZATION_NVP(p_ParamTable);
35498 s & BOOST_SERIALIZATION_NVP(p_PropertyTable);
35499 s & BOOST_SERIALIZATION_NVP(p_PropertyMapTable);
35500 s & BOOST_SERIALIZATION_NVP(p_StandAloneSigTable);
35501 s & BOOST_SERIALIZATION_NVP(p_TypeDefTable);
35502 s & BOOST_SERIALIZATION_NVP(p_TypeRefTable);
35503 s & BOOST_SERIALIZATION_NVP(p_TypeSpecTable);
35888 e_ref_string_heap = 1 << 0,
35889 e_ref_guid_heap = 1 << 1,
35890 e_ref_blob_heap = 1 << 2,
35892 e_ref_assembly_ref = 1 << 3,
35893 e_ref_type_def = 1 << 4,
35894 e_ref_event = 1 << 5,
35895 e_ref_field = 1 << 6,
35896 e_ref_generic_param = 1 << 7,
35897 e_ref_module_ref = 1 << 8,
35898 e_ref_method_def = 1 << 9,
35899 e_ref_param = 1 << 10,
35900 e_ref_property = 1 << 11,
35902 e_ref_has_constant = 1 << 12,
35903 e_ref_has_custom_attribute = 1 << 13,
35904 e_ref_has_decl_security = 1 << 14,
35905 e_ref_has_field_marshall = 1 << 15,
35906 e_ref_has_semantics = 1 << 16,
35907 e_ref_method_def_or_ref = 1 << 17,
35908 e_ref_type_def_or_ref = 1 << 18,
35909 e_ref_implementation = 1 << 19,
35910 e_ref_member_forwarded = 1 << 20,
35911 e_ref_member_ref_parent = 1 << 21,
35912 e_ref_type_or_method_def = 1 << 22,
35913 e_ref_custom_attribute_type = 1 << 23,
35914 e_ref_resolution_scope = 1 << 24,
35915 e_ref_last = 1 << 25,
35918 enum TableKind : std::uint8_t
35922 e_AssemblyOS = 0x22,
35923 e_AssemblyProcessor = 0x21,
35924 e_AssemblyRef = 0x23,
35925 e_AssemblyRefOS = 0x25,
35926 e_AssemblyRefProcessor = 0x24,
35927 e_ClassLayout = 0x0F,
35929 e_CustomAttribute = 0x0C,
35930 e_DeclSecurity = 0x0E,
35933 e_ExportedType = 0x27,
35935 e_FieldLayout = 0x10,
35936 e_FieldMarshal = 0x0D,
35939 e_GenericParam = 0x2A,
35940 e_GenericParamConstraint = 0x2C,
35942 e_InterfaceImpl = 0x09,
35943 e_ManifestResource = 0x28,
35944 e_MemberRef = 0x0A,
35945 e_MethodDef = 0x06,
35946 e_MethodImpl = 0x19,
35947 e_MethodSemantics = 0x18,
35948 e_MethodSpec = 0x2B,
35950 e_ModuleRef = 0x1A,
35951 e_NestedClass = 0x29,
35954 e_PropertyMap = 0x15,
35955 e_StandAloneSig = 0x11,
35959 e_Unknown_table_kind = 0xFF
35963 void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
35966 void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const override;
35969 void dump(std::ostream& os)
const override;
35998 uint32_t
const& Size,
35999 std::string
const& Name,
36000 uint32_t
const& NamePadding);
36011#ifdef DOCUMENTATION
36020DECLARE_LEAF_CLASS(AsmCilMemberRefTable);
36021IS_SERIALIZABLE(AsmCilMemberRefTable);
36023#ifndef DOCUMENTATION
36024AsmCilMemberRefTable.useSmallHeader(
true);
36027#ifdef DOCUMENTATION
36032#ifndef DOCUMENTATION
36033 AsmCilMemberRefTable.setDataPrototype(
36034 "std::vector<SgAsmCilMemberRef*>",
"elements",
"",
36035 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36038 DECLARE_OTHERS(AsmCilMemberRefTable);
36039#if defined(SgAsmCilMemberRefTable_OTHERS) || defined(DOCUMENTATION)
36042#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36044 friend class boost::serialization::access;
36047 void serialize(S &s,
const unsigned ) {
36050 s & BOOST_SERIALIZATION_NVP(p_elements);
36056 std::vector<SgAsmCilMemberRef*>
const& get_elements()
const;
36057 std::vector<SgAsmCilMemberRef*>& get_elements();
36077#ifdef DOCUMENTATION
36086DECLARE_LEAF_CLASS(AsmCilMemberRef);
36087IS_SERIALIZABLE(AsmCilMemberRef);
36089#ifndef DOCUMENTATION
36090AsmCilMemberRef.useSmallHeader(
true);
36093#ifdef DOCUMENTATION
36098#ifndef DOCUMENTATION
36099 AsmCilMemberRef.setDataPrototype(
36100 "uint32_t",
"Class",
"= 0",
36101 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36104#ifndef DOCUMENTATION
36105 AsmCilMemberRef.setDataPrototype(
36106 "uint32_t",
"Name",
"= 0",
36107 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36110#ifndef DOCUMENTATION
36111 AsmCilMemberRef.setDataPrototype(
36112 "uint32_t",
"Signature",
"= 0",
36113 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36116 DECLARE_OTHERS(AsmCilMemberRef);
36117#if defined(SgAsmCilMemberRef_OTHERS) || defined(DOCUMENTATION)
36120#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36122 friend class boost::serialization::access;
36125 void serialize(S &s,
const unsigned ) {
36128 s & BOOST_SERIALIZATION_NVP(p_Class);
36129 s & BOOST_SERIALIZATION_NVP(p_Name);
36130 s & BOOST_SERIALIZATION_NVP(p_Signature);
36165 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36166 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
36167 void dump(std::ostream&)
const;
36170 const std::uint8_t* get_Name_string()
const;
36171 const std::uint8_t* get_Signature_blob()
const;
36189#ifdef DOCUMENTATION
36198DECLARE_LEAF_CLASS(AsmCilManifestResourceTable);
36199IS_SERIALIZABLE(AsmCilManifestResourceTable);
36201#ifndef DOCUMENTATION
36202AsmCilManifestResourceTable.useSmallHeader(
true);
36205#ifdef DOCUMENTATION
36210#ifndef DOCUMENTATION
36211 AsmCilManifestResourceTable.setDataPrototype(
36212 "std::vector<SgAsmCilManifestResource*>",
"elements",
"",
36213 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36216 DECLARE_OTHERS(AsmCilManifestResourceTable);
36217#if defined(SgAsmCilManifestResourceTable_OTHERS) || defined(DOCUMENTATION)
36220#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36222 friend class boost::serialization::access;
36225 void serialize(S &s,
const unsigned ) {
36228 s & BOOST_SERIALIZATION_NVP(p_elements);
36234 std::vector<SgAsmCilManifestResource*>
const& get_elements()
const;
36235 std::vector<SgAsmCilManifestResource*>& get_elements();
36255#ifdef DOCUMENTATION
36264DECLARE_LEAF_CLASS(AsmCilManifestResource);
36265IS_SERIALIZABLE(AsmCilManifestResource);
36267#ifndef DOCUMENTATION
36268AsmCilManifestResource.useSmallHeader(
true);
36271#ifdef DOCUMENTATION
36276#ifndef DOCUMENTATION
36277 AsmCilManifestResource.setDataPrototype(
36278 "uint32_t",
"Offset",
"= 0",
36279 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36282#ifndef DOCUMENTATION
36283 AsmCilManifestResource.setDataPrototype(
36284 "uint32_t",
"Flags",
"= 0",
36285 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36288#ifndef DOCUMENTATION
36289 AsmCilManifestResource.setDataPrototype(
36290 "uint32_t",
"Name",
"= 0",
36291 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36294#ifndef DOCUMENTATION
36295 AsmCilManifestResource.setDataPrototype(
36296 "uint32_t",
"Implementation",
"= 0",
36297 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36300 DECLARE_OTHERS(AsmCilManifestResource);
36301#if defined(SgAsmCilManifestResource_OTHERS) || defined(DOCUMENTATION)
36304#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36306 friend class boost::serialization::access;
36309 void serialize(S &s,
const unsigned ) {
36312 s & BOOST_SERIALIZATION_NVP(p_Offset);
36313 s & BOOST_SERIALIZATION_NVP(p_Flags);
36314 s & BOOST_SERIALIZATION_NVP(p_Name);
36315 s & BOOST_SERIALIZATION_NVP(p_Implementation);
36360 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36361 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
36362 void dump(std::ostream&)
const;
36364 const std::uint8_t* get_Name_string()
const;
36383#ifdef DOCUMENTATION
36392DECLARE_LEAF_CLASS(AsmCilInterfaceImplTable);
36393IS_SERIALIZABLE(AsmCilInterfaceImplTable);
36395#ifndef DOCUMENTATION
36396AsmCilInterfaceImplTable.useSmallHeader(
true);
36399#ifdef DOCUMENTATION
36404#ifndef DOCUMENTATION
36405 AsmCilInterfaceImplTable.setDataPrototype(
36406 "std::vector<SgAsmCilInterfaceImpl*>",
"elements",
"",
36407 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36410 DECLARE_OTHERS(AsmCilInterfaceImplTable);
36411#if defined(SgAsmCilInterfaceImplTable_OTHERS) || defined(DOCUMENTATION)
36414#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36416 friend class boost::serialization::access;
36419 void serialize(S &s,
const unsigned ) {
36422 s & BOOST_SERIALIZATION_NVP(p_elements);
36428 std::vector<SgAsmCilInterfaceImpl*>
const& get_elements()
const;
36429 std::vector<SgAsmCilInterfaceImpl*>& get_elements();
36449#ifdef DOCUMENTATION
36458DECLARE_LEAF_CLASS(AsmCilInterfaceImpl);
36459IS_SERIALIZABLE(AsmCilInterfaceImpl);
36461#ifndef DOCUMENTATION
36462AsmCilInterfaceImpl.useSmallHeader(
true);
36465#ifdef DOCUMENTATION
36470#ifndef DOCUMENTATION
36471 AsmCilInterfaceImpl.setDataPrototype(
36472 "uint32_t",
"Class",
"= 0",
36473 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36476#ifndef DOCUMENTATION
36477 AsmCilInterfaceImpl.setDataPrototype(
36478 "uint32_t",
"Interface",
"= 0",
36479 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36482 DECLARE_OTHERS(AsmCilInterfaceImpl);
36483#if defined(SgAsmCilInterfaceImpl_OTHERS) || defined(DOCUMENTATION)
36486#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36488 friend class boost::serialization::access;
36491 void serialize(S &s,
const unsigned ) {
36494 s & BOOST_SERIALIZATION_NVP(p_Class);
36495 s & BOOST_SERIALIZATION_NVP(p_Interface);
36520 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36521 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
36522 void dump(std::ostream&)
const;
36543#ifdef DOCUMENTATION
36552DECLARE_LEAF_CLASS(AsmCilInstruction);
36553IS_SERIALIZABLE(AsmCilInstruction);
36555#ifndef DOCUMENTATION
36556AsmCilInstruction.useSmallHeader(
true);
36559DECLARE_HEADERS(AsmCilInstruction);
36560#if defined(SgAsmCilInstruction_HEADERS) || defined(DOCUMENTATION)
36561#include <Rose/BinaryAnalysis/InstructionEnumsCil.h>
36564#ifdef DOCUMENTATION
36568#ifndef DOCUMENTATION
36569 AsmCilInstruction.setDataPrototype(
36570 "Rose::BinaryAnalysis::CilInstructionKind",
"kind",
"= Rose::BinaryAnalysis::Cil_unknown_instruction",
36571 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36574 DECLARE_OTHERS(AsmCilInstruction);
36575#if defined(SgAsmCilInstruction_OTHERS) || defined(DOCUMENTATION)
36578#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36580 friend class boost::serialization::access;
36583 void serialize(S &s,
const unsigned ) {
36586 s & BOOST_SERIALIZATION_NVP(p_kind);
36598 Rose::BinaryAnalysis::CilInstructionKind
const&
get_kind()
const;
36599 void set_kind(Rose::BinaryAnalysis::CilInstructionKind
const&);
36615 uint8_t
const& architectureId,
36616 Rose::BinaryAnalysis::CilInstructionKind
const& kind);
36627#ifdef DOCUMENTATION
36636DECLARE_LEAF_CLASS(AsmCilImplMapTable);
36637IS_SERIALIZABLE(AsmCilImplMapTable);
36639#ifndef DOCUMENTATION
36640AsmCilImplMapTable.useSmallHeader(
true);
36643#ifdef DOCUMENTATION
36648#ifndef DOCUMENTATION
36649 AsmCilImplMapTable.setDataPrototype(
36650 "std::vector<SgAsmCilImplMap*>",
"elements",
"",
36651 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36654 DECLARE_OTHERS(AsmCilImplMapTable);
36655#if defined(SgAsmCilImplMapTable_OTHERS) || defined(DOCUMENTATION)
36658#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36660 friend class boost::serialization::access;
36663 void serialize(S &s,
const unsigned ) {
36666 s & BOOST_SERIALIZATION_NVP(p_elements);
36672 std::vector<SgAsmCilImplMap*>
const& get_elements()
const;
36673 std::vector<SgAsmCilImplMap*>& get_elements();
36693#ifdef DOCUMENTATION
36702DECLARE_LEAF_CLASS(AsmCilImplMap);
36703IS_SERIALIZABLE(AsmCilImplMap);
36705#ifndef DOCUMENTATION
36706AsmCilImplMap.useSmallHeader(
true);
36709#ifdef DOCUMENTATION
36714#ifndef DOCUMENTATION
36715 AsmCilImplMap.setDataPrototype(
36716 "uint16_t",
"MappingFlags",
"= 0",
36717 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36720#ifndef DOCUMENTATION
36721 AsmCilImplMap.setDataPrototype(
36722 "uint32_t",
"MemberForwarded",
"= 0",
36723 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36726#ifndef DOCUMENTATION
36727 AsmCilImplMap.setDataPrototype(
36728 "uint32_t",
"ImportName",
"= 0",
36729 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36732#ifndef DOCUMENTATION
36733 AsmCilImplMap.setDataPrototype(
36734 "uint32_t",
"ImportScope",
"= 0",
36735 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36738 DECLARE_OTHERS(AsmCilImplMap);
36739#if defined(SgAsmCilImplMap_OTHERS) || defined(DOCUMENTATION)
36742#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36744 friend class boost::serialization::access;
36747 void serialize(S &s,
const unsigned ) {
36750 s & BOOST_SERIALIZATION_NVP(p_MappingFlags);
36751 s & BOOST_SERIALIZATION_NVP(p_MemberForwarded);
36752 s & BOOST_SERIALIZATION_NVP(p_ImportName);
36753 s & BOOST_SERIALIZATION_NVP(p_ImportScope);
36798 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36799 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
36800 void dump(std::ostream&)
const;
36803 const std::uint8_t* get_ImportName_string()
const;
36822#ifdef DOCUMENTATION
36831DECLARE_LEAF_CLASS(AsmCilGenericParamTable);
36832IS_SERIALIZABLE(AsmCilGenericParamTable);
36834#ifndef DOCUMENTATION
36835AsmCilGenericParamTable.useSmallHeader(
true);
36838#ifdef DOCUMENTATION
36843#ifndef DOCUMENTATION
36844 AsmCilGenericParamTable.setDataPrototype(
36845 "std::vector<SgAsmCilGenericParam*>",
"elements",
"",
36846 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36849 DECLARE_OTHERS(AsmCilGenericParamTable);
36850#if defined(SgAsmCilGenericParamTable_OTHERS) || defined(DOCUMENTATION)
36853#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36855 friend class boost::serialization::access;
36858 void serialize(S &s,
const unsigned ) {
36861 s & BOOST_SERIALIZATION_NVP(p_elements);
36867 std::vector<SgAsmCilGenericParam*>
const& get_elements()
const;
36868 std::vector<SgAsmCilGenericParam*>& get_elements();
36888#ifdef DOCUMENTATION
36897DECLARE_LEAF_CLASS(AsmCilGenericParamConstraintTable);
36898IS_SERIALIZABLE(AsmCilGenericParamConstraintTable);
36900#ifndef DOCUMENTATION
36901AsmCilGenericParamConstraintTable.useSmallHeader(
true);
36904#ifdef DOCUMENTATION
36909#ifndef DOCUMENTATION
36910 AsmCilGenericParamConstraintTable.setDataPrototype(
36911 "std::vector<SgAsmCilGenericParamConstraint*>",
"elements",
"",
36912 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36915 DECLARE_OTHERS(AsmCilGenericParamConstraintTable);
36916#if defined(SgAsmCilGenericParamConstraintTable_OTHERS) || defined(DOCUMENTATION)
36919#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36921 friend class boost::serialization::access;
36924 void serialize(S &s,
const unsigned ) {
36927 s & BOOST_SERIALIZATION_NVP(p_elements);
36933 std::vector<SgAsmCilGenericParamConstraint*>
const& get_elements()
const;
36934 std::vector<SgAsmCilGenericParamConstraint*>& get_elements();
36954#ifdef DOCUMENTATION
36963DECLARE_LEAF_CLASS(AsmCilGenericParamConstraint);
36964IS_SERIALIZABLE(AsmCilGenericParamConstraint);
36966#ifndef DOCUMENTATION
36967AsmCilGenericParamConstraint.useSmallHeader(
true);
36970#ifdef DOCUMENTATION
36975#ifndef DOCUMENTATION
36976 AsmCilGenericParamConstraint.setDataPrototype(
36977 "uint32_t",
"Owner",
"= 0",
36978 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36981#ifndef DOCUMENTATION
36982 AsmCilGenericParamConstraint.setDataPrototype(
36983 "uint32_t",
"Constraint",
"= 0",
36984 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36987 DECLARE_OTHERS(AsmCilGenericParamConstraint);
36988#if defined(SgAsmCilGenericParamConstraint_OTHERS) || defined(DOCUMENTATION)
36991#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36993 friend class boost::serialization::access;
36996 void serialize(S &s,
const unsigned ) {
36999 s & BOOST_SERIALIZATION_NVP(p_Owner);
37000 s & BOOST_SERIALIZATION_NVP(p_Constraint);
37025 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37026 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37027 void dump(std::ostream&)
const;
37048#ifdef DOCUMENTATION
37057DECLARE_LEAF_CLASS(AsmCilGenericParam);
37058IS_SERIALIZABLE(AsmCilGenericParam);
37060#ifndef DOCUMENTATION
37061AsmCilGenericParam.useSmallHeader(
true);
37064#ifdef DOCUMENTATION
37069#ifndef DOCUMENTATION
37070 AsmCilGenericParam.setDataPrototype(
37071 "uint16_t",
"Number",
"= 0",
37072 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37075#ifndef DOCUMENTATION
37076 AsmCilGenericParam.setDataPrototype(
37077 "uint16_t",
"Flags",
"= 0",
37078 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37081#ifndef DOCUMENTATION
37082 AsmCilGenericParam.setDataPrototype(
37083 "uint32_t",
"Owner",
"= 0",
37084 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37087#ifndef DOCUMENTATION
37088 AsmCilGenericParam.setDataPrototype(
37089 "uint32_t",
"Name",
"= 0",
37090 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37093 DECLARE_OTHERS(AsmCilGenericParam);
37094#if defined(SgAsmCilGenericParam_OTHERS) || defined(DOCUMENTATION)
37097#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37099 friend class boost::serialization::access;
37102 void serialize(S &s,
const unsigned ) {
37105 s & BOOST_SERIALIZATION_NVP(p_Number);
37106 s & BOOST_SERIALIZATION_NVP(p_Flags);
37107 s & BOOST_SERIALIZATION_NVP(p_Owner);
37108 s & BOOST_SERIALIZATION_NVP(p_Name);
37153 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37154 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37155 void dump(std::ostream&)
const;
37158 const std::uint8_t* get_Name_string()
const;
37176#ifdef DOCUMENTATION
37185DECLARE_LEAF_CLASS(AsmCilFileTable);
37186IS_SERIALIZABLE(AsmCilFileTable);
37188#ifndef DOCUMENTATION
37189AsmCilFileTable.useSmallHeader(
true);
37192#ifdef DOCUMENTATION
37197#ifndef DOCUMENTATION
37198 AsmCilFileTable.setDataPrototype(
37199 "std::vector<SgAsmCilFile*>",
"elements",
"",
37200 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37203 DECLARE_OTHERS(AsmCilFileTable);
37204#if defined(SgAsmCilFileTable_OTHERS) || defined(DOCUMENTATION)
37207#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37209 friend class boost::serialization::access;
37212 void serialize(S &s,
const unsigned ) {
37215 s & BOOST_SERIALIZATION_NVP(p_elements);
37221 std::vector<SgAsmCilFile*>
const& get_elements()
const;
37222 std::vector<SgAsmCilFile*>& get_elements();
37242#ifdef DOCUMENTATION
37251DECLARE_LEAF_CLASS(AsmCilFile);
37252IS_SERIALIZABLE(AsmCilFile);
37254#ifndef DOCUMENTATION
37255AsmCilFile.useSmallHeader(
true);
37258#ifdef DOCUMENTATION
37263#ifndef DOCUMENTATION
37264 AsmCilFile.setDataPrototype(
37265 "uint32_t",
"Flags",
"= 0",
37266 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37269#ifndef DOCUMENTATION
37270 AsmCilFile.setDataPrototype(
37271 "uint32_t",
"Name",
"= 0",
37272 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37275#ifndef DOCUMENTATION
37276 AsmCilFile.setDataPrototype(
37277 "uint32_t",
"HashValue",
"= 0",
37278 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37281 DECLARE_OTHERS(AsmCilFile);
37282#if defined(SgAsmCilFile_OTHERS) || defined(DOCUMENTATION)
37285#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37287 friend class boost::serialization::access;
37290 void serialize(S &s,
const unsigned ) {
37293 s & BOOST_SERIALIZATION_NVP(p_Flags);
37294 s & BOOST_SERIALIZATION_NVP(p_Name);
37295 s & BOOST_SERIALIZATION_NVP(p_HashValue);
37330 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37331 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37332 void dump(std::ostream&)
const;
37334 const std::uint8_t* get_Name_string()
const;
37335 const std::uint8_t* get_HashValue_blob()
const;
37353#ifdef DOCUMENTATION
37362DECLARE_LEAF_CLASS(AsmCilFieldTable);
37363IS_SERIALIZABLE(AsmCilFieldTable);
37365#ifndef DOCUMENTATION
37366AsmCilFieldTable.useSmallHeader(
true);
37369#ifdef DOCUMENTATION
37374#ifndef DOCUMENTATION
37375 AsmCilFieldTable.setDataPrototype(
37376 "std::vector<SgAsmCilField*>",
"elements",
"",
37377 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37380 DECLARE_OTHERS(AsmCilFieldTable);
37381#if defined(SgAsmCilFieldTable_OTHERS) || defined(DOCUMENTATION)
37384#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37386 friend class boost::serialization::access;
37389 void serialize(S &s,
const unsigned ) {
37392 s & BOOST_SERIALIZATION_NVP(p_elements);
37398 std::vector<SgAsmCilField*>
const& get_elements()
const;
37399 std::vector<SgAsmCilField*>& get_elements();
37419#ifdef DOCUMENTATION
37428DECLARE_LEAF_CLASS(AsmCilFieldRVATable);
37429IS_SERIALIZABLE(AsmCilFieldRVATable);
37431#ifndef DOCUMENTATION
37432AsmCilFieldRVATable.useSmallHeader(
true);
37435#ifdef DOCUMENTATION
37440#ifndef DOCUMENTATION
37441 AsmCilFieldRVATable.setDataPrototype(
37442 "std::vector<SgAsmCilFieldRVA*>",
"elements",
"",
37443 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37446 DECLARE_OTHERS(AsmCilFieldRVATable);
37447#if defined(SgAsmCilFieldRVATable_OTHERS) || defined(DOCUMENTATION)
37450#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37452 friend class boost::serialization::access;
37455 void serialize(S &s,
const unsigned ) {
37458 s & BOOST_SERIALIZATION_NVP(p_elements);
37464 std::vector<SgAsmCilFieldRVA*>
const& get_elements()
const;
37465 std::vector<SgAsmCilFieldRVA*>& get_elements();
37485#ifdef DOCUMENTATION
37494DECLARE_LEAF_CLASS(AsmCilFieldRVA);
37495IS_SERIALIZABLE(AsmCilFieldRVA);
37497#ifndef DOCUMENTATION
37498AsmCilFieldRVA.useSmallHeader(
true);
37501#ifdef DOCUMENTATION
37506#ifndef DOCUMENTATION
37507 AsmCilFieldRVA.setDataPrototype(
37508 "uint32_t",
"RVA",
"= 0",
37509 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37512#ifndef DOCUMENTATION
37513 AsmCilFieldRVA.setDataPrototype(
37514 "uint32_t",
"Field",
"= 0",
37515 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37518 DECLARE_OTHERS(AsmCilFieldRVA);
37519#if defined(SgAsmCilFieldRVA_OTHERS) || defined(DOCUMENTATION)
37522#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37524 friend class boost::serialization::access;
37527 void serialize(S &s,
const unsigned ) {
37530 s & BOOST_SERIALIZATION_NVP(p_RVA);
37531 s & BOOST_SERIALIZATION_NVP(p_Field);
37556 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37557 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37558 void dump(std::ostream&)
const;
37578#ifdef DOCUMENTATION
37587DECLARE_LEAF_CLASS(AsmCilFieldMarshalTable);
37588IS_SERIALIZABLE(AsmCilFieldMarshalTable);
37590#ifndef DOCUMENTATION
37591AsmCilFieldMarshalTable.useSmallHeader(
true);
37594#ifdef DOCUMENTATION
37599#ifndef DOCUMENTATION
37600 AsmCilFieldMarshalTable.setDataPrototype(
37601 "std::vector<SgAsmCilFieldMarshal*>",
"elements",
"",
37602 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37605 DECLARE_OTHERS(AsmCilFieldMarshalTable);
37606#if defined(SgAsmCilFieldMarshalTable_OTHERS) || defined(DOCUMENTATION)
37609#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37611 friend class boost::serialization::access;
37614 void serialize(S &s,
const unsigned ) {
37617 s & BOOST_SERIALIZATION_NVP(p_elements);
37623 std::vector<SgAsmCilFieldMarshal*>
const& get_elements()
const;
37624 std::vector<SgAsmCilFieldMarshal*>& get_elements();
37644#ifdef DOCUMENTATION
37653DECLARE_LEAF_CLASS(AsmCilFieldMarshal);
37654IS_SERIALIZABLE(AsmCilFieldMarshal);
37656#ifndef DOCUMENTATION
37657AsmCilFieldMarshal.useSmallHeader(
true);
37660#ifdef DOCUMENTATION
37665#ifndef DOCUMENTATION
37666 AsmCilFieldMarshal.setDataPrototype(
37667 "uint32_t",
"Parent",
"= 0",
37668 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37671#ifndef DOCUMENTATION
37672 AsmCilFieldMarshal.setDataPrototype(
37673 "uint32_t",
"NativeType",
"= 0",
37674 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37677 DECLARE_OTHERS(AsmCilFieldMarshal);
37678#if defined(SgAsmCilFieldMarshal_OTHERS) || defined(DOCUMENTATION)
37681#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37683 friend class boost::serialization::access;
37686 void serialize(S &s,
const unsigned ) {
37689 s & BOOST_SERIALIZATION_NVP(p_Parent);
37690 s & BOOST_SERIALIZATION_NVP(p_NativeType);
37715 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37716 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37717 void dump(std::ostream&)
const;
37720 const std::uint8_t* get_NativeType_blob()
const;
37738#ifdef DOCUMENTATION
37747DECLARE_LEAF_CLASS(AsmCilFieldLayoutTable);
37748IS_SERIALIZABLE(AsmCilFieldLayoutTable);
37750#ifndef DOCUMENTATION
37751AsmCilFieldLayoutTable.useSmallHeader(
true);
37754#ifdef DOCUMENTATION
37759#ifndef DOCUMENTATION
37760 AsmCilFieldLayoutTable.setDataPrototype(
37761 "std::vector<SgAsmCilFieldLayout*>",
"elements",
"",
37762 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37765 DECLARE_OTHERS(AsmCilFieldLayoutTable);
37766#if defined(SgAsmCilFieldLayoutTable_OTHERS) || defined(DOCUMENTATION)
37769#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37771 friend class boost::serialization::access;
37774 void serialize(S &s,
const unsigned ) {
37777 s & BOOST_SERIALIZATION_NVP(p_elements);
37783 std::vector<SgAsmCilFieldLayout*>
const& get_elements()
const;
37784 std::vector<SgAsmCilFieldLayout*>& get_elements();
37804#ifdef DOCUMENTATION
37813DECLARE_LEAF_CLASS(AsmCilFieldLayout);
37814IS_SERIALIZABLE(AsmCilFieldLayout);
37816#ifndef DOCUMENTATION
37817AsmCilFieldLayout.useSmallHeader(
true);
37820#ifdef DOCUMENTATION
37825#ifndef DOCUMENTATION
37826 AsmCilFieldLayout.setDataPrototype(
37827 "uint32_t",
"Offset",
"= 0",
37828 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37831#ifndef DOCUMENTATION
37832 AsmCilFieldLayout.setDataPrototype(
37833 "uint32_t",
"Field",
"= 0",
37834 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37837 DECLARE_OTHERS(AsmCilFieldLayout);
37838#if defined(SgAsmCilFieldLayout_OTHERS) || defined(DOCUMENTATION)
37841#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37843 friend class boost::serialization::access;
37846 void serialize(S &s,
const unsigned ) {
37849 s & BOOST_SERIALIZATION_NVP(p_Offset);
37850 s & BOOST_SERIALIZATION_NVP(p_Field);
37875 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37876 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37877 void dump(std::ostream&)
const;
37897#ifdef DOCUMENTATION
37906DECLARE_LEAF_CLASS(AsmCilField);
37907IS_SERIALIZABLE(AsmCilField);
37909#ifndef DOCUMENTATION
37910AsmCilField.useSmallHeader(
true);
37913#ifdef DOCUMENTATION
37918#ifndef DOCUMENTATION
37919 AsmCilField.setDataPrototype(
37920 "uint16_t",
"Flags",
"= 0",
37921 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37924#ifndef DOCUMENTATION
37925 AsmCilField.setDataPrototype(
37926 "uint32_t",
"Name",
"= 0",
37927 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37930#ifndef DOCUMENTATION
37931 AsmCilField.setDataPrototype(
37932 "uint32_t",
"Signature",
"= 0",
37933 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37936 DECLARE_OTHERS(AsmCilField);
37937#if defined(SgAsmCilField_OTHERS) || defined(DOCUMENTATION)
37940#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37942 friend class boost::serialization::access;
37945 void serialize(S &s,
const unsigned ) {
37948 s & BOOST_SERIALIZATION_NVP(p_Flags);
37949 s & BOOST_SERIALIZATION_NVP(p_Name);
37950 s & BOOST_SERIALIZATION_NVP(p_Signature);
37985 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37986 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37987 void dump(std::ostream&)
const;
37989 const std::uint8_t* get_Name_string()
const;
37990 const std::uint8_t* get_Signature_blob()
const;
38008#ifdef DOCUMENTATION
38017DECLARE_LEAF_CLASS(AsmCilExportedTypeTable);
38018IS_SERIALIZABLE(AsmCilExportedTypeTable);
38020#ifndef DOCUMENTATION
38021AsmCilExportedTypeTable.useSmallHeader(
true);
38024#ifdef DOCUMENTATION
38029#ifndef DOCUMENTATION
38030 AsmCilExportedTypeTable.setDataPrototype(
38031 "std::vector<SgAsmCilExportedType*>",
"elements",
"",
38032 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38035 DECLARE_OTHERS(AsmCilExportedTypeTable);
38036#if defined(SgAsmCilExportedTypeTable_OTHERS) || defined(DOCUMENTATION)
38039#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38041 friend class boost::serialization::access;
38044 void serialize(S &s,
const unsigned ) {
38047 s & BOOST_SERIALIZATION_NVP(p_elements);
38053 std::vector<SgAsmCilExportedType*>
const& get_elements()
const;
38054 std::vector<SgAsmCilExportedType*>& get_elements();
38074#ifdef DOCUMENTATION
38083DECLARE_LEAF_CLASS(AsmCilExportedType);
38084IS_SERIALIZABLE(AsmCilExportedType);
38086#ifndef DOCUMENTATION
38087AsmCilExportedType.useSmallHeader(
true);
38090#ifdef DOCUMENTATION
38095#ifndef DOCUMENTATION
38096 AsmCilExportedType.setDataPrototype(
38097 "uint32_t",
"EventFlags",
"= 0",
38098 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38101#ifndef DOCUMENTATION
38102 AsmCilExportedType.setDataPrototype(
38103 "uint32_t",
"TypeDefIdName",
"= 0",
38104 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38107#ifndef DOCUMENTATION
38108 AsmCilExportedType.setDataPrototype(
38109 "uint32_t",
"TypeName",
"= 0",
38110 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38113#ifndef DOCUMENTATION
38114 AsmCilExportedType.setDataPrototype(
38115 "uint32_t",
"TypeNamespace",
"= 0",
38116 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38119#ifndef DOCUMENTATION
38120 AsmCilExportedType.setDataPrototype(
38121 "uint32_t",
"Implementation",
"= 0",
38122 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38125 DECLARE_OTHERS(AsmCilExportedType);
38126#if defined(SgAsmCilExportedType_OTHERS) || defined(DOCUMENTATION)
38129#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38131 friend class boost::serialization::access;
38134 void serialize(S &s,
const unsigned ) {
38137 s & BOOST_SERIALIZATION_NVP(p_EventFlags);
38138 s & BOOST_SERIALIZATION_NVP(p_TypeDefIdName);
38139 s & BOOST_SERIALIZATION_NVP(p_TypeName);
38140 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
38141 s & BOOST_SERIALIZATION_NVP(p_Implementation);
38196 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38197 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38198 void dump(std::ostream&)
const;
38200 const std::uint8_t* get_TypeName_string()
const;
38201 const std::uint8_t* get_TypeNamespace_string()
const;
38220#ifdef DOCUMENTATION
38229DECLARE_LEAF_CLASS(AsmCilExceptionData);
38230IS_SERIALIZABLE(AsmCilExceptionData);
38232#ifndef DOCUMENTATION
38233AsmCilExceptionData.useSmallHeader(
true);
38236#ifdef DOCUMENTATION
38244#ifndef DOCUMENTATION
38245 AsmCilExceptionData.setDataPrototype(
38246 "std::uint32_t",
"flags",
"= 0",
38247 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38250#ifndef DOCUMENTATION
38251 AsmCilExceptionData.setDataPrototype(
38252 "std::uint32_t",
"tryOffset",
"= 0",
38253 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38256#ifndef DOCUMENTATION
38257 AsmCilExceptionData.setDataPrototype(
38258 "std::uint32_t",
"tryLength",
"= 0",
38259 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38262#ifndef DOCUMENTATION
38263 AsmCilExceptionData.setDataPrototype(
38264 "std::uint32_t",
"handlerOffset",
"= 0",
38265 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38268#ifndef DOCUMENTATION
38269 AsmCilExceptionData.setDataPrototype(
38270 "std::uint32_t",
"handlerLength",
"= 0",
38271 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38274#ifndef DOCUMENTATION
38275 AsmCilExceptionData.setDataPrototype(
38276 "std::uint32_t",
"classTokenOrFilterOffset",
"= 0",
38277 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38280 DECLARE_OTHERS(AsmCilExceptionData);
38281#if defined(SgAsmCilExceptionData_OTHERS) || defined(DOCUMENTATION)
38284#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38286 friend class boost::serialization::access;
38289 void serialize(S &s,
const unsigned ) {
38291 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
38292 s & BOOST_SERIALIZATION_NVP(p_flags);
38293 s & BOOST_SERIALIZATION_NVP(p_tryOffset);
38294 s & BOOST_SERIALIZATION_NVP(p_tryLength);
38295 s & BOOST_SERIALIZATION_NVP(p_handlerOffset);
38296 s & BOOST_SERIALIZATION_NVP(p_handlerLength);
38297 s & BOOST_SERIALIZATION_NVP(p_classTokenOrFilterOffset);
38304 COR_ILEXCEPTION_CLAUSE_EXCEPTION = 0x0000,
38305 COR_ILEXCEPTION_CLAUSE_FILTER = 0x0001,
38306 COR_ILEXCEPTION_CLAUSE_FINALLY = 0x0002,
38307 COR_ILEXCEPTION_CLAUSE_FAULT = 0x0004,
38308 COR_ILEXCEPTION_CLAUSE_MASK = ( COR_ILEXCEPTION_CLAUSE_EXCEPTION
38309 | COR_ILEXCEPTION_CLAUSE_FILTER
38310 | COR_ILEXCEPTION_CLAUSE_FINALLY
38311 | COR_ILEXCEPTION_CLAUSE_FAULT
38317 std::uint32_t
const& get_flags()
const;
38318 void set_flags(std::uint32_t
const&);
38321 std::uint32_t
const& get_tryOffset()
const;
38322 void set_tryOffset(std::uint32_t
const&);
38325 std::uint32_t
const& get_tryLength()
const;
38326 void set_tryLength(std::uint32_t
const&);
38329 std::uint32_t
const& get_handlerOffset()
const;
38330 void set_handlerOffset(std::uint32_t
const&);
38333 std::uint32_t
const& get_handlerLength()
const;
38334 void set_handlerLength(std::uint32_t
const&);
38337 std::uint32_t
const& get_classTokenOrFilterOffset()
const;
38338 void set_classTokenOrFilterOffset(std::uint32_t
const&);
38344 bool isException()
const {
return (get_flags() & COR_ILEXCEPTION_CLAUSE_MASK) == COR_ILEXCEPTION_CLAUSE_EXCEPTION; }
38345 bool isFilter()
const {
return (get_flags() & COR_ILEXCEPTION_CLAUSE_MASK) == COR_ILEXCEPTION_CLAUSE_FILTER; }
38346 bool isFinally()
const {
return (get_flags() & COR_ILEXCEPTION_CLAUSE_MASK) == COR_ILEXCEPTION_CLAUSE_FINALLY; }
38347 bool isFault()
const {
return (get_flags() & COR_ILEXCEPTION_CLAUSE_MASK) == COR_ILEXCEPTION_CLAUSE_FAULT; }
38366#ifdef DOCUMENTATION
38375DECLARE_LEAF_CLASS(AsmCilEventTable);
38376IS_SERIALIZABLE(AsmCilEventTable);
38378#ifndef DOCUMENTATION
38379AsmCilEventTable.useSmallHeader(
true);
38382#ifdef DOCUMENTATION
38387#ifndef DOCUMENTATION
38388 AsmCilEventTable.setDataPrototype(
38389 "std::vector<SgAsmCilEvent*>",
"elements",
"",
38390 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38393 DECLARE_OTHERS(AsmCilEventTable);
38394#if defined(SgAsmCilEventTable_OTHERS) || defined(DOCUMENTATION)
38397#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38399 friend class boost::serialization::access;
38402 void serialize(S &s,
const unsigned ) {
38405 s & BOOST_SERIALIZATION_NVP(p_elements);
38411 std::vector<SgAsmCilEvent*>
const& get_elements()
const;
38412 std::vector<SgAsmCilEvent*>& get_elements();
38432#ifdef DOCUMENTATION
38441DECLARE_LEAF_CLASS(AsmCilEventMapTable);
38442IS_SERIALIZABLE(AsmCilEventMapTable);
38444#ifndef DOCUMENTATION
38445AsmCilEventMapTable.useSmallHeader(
true);
38448#ifdef DOCUMENTATION
38453#ifndef DOCUMENTATION
38454 AsmCilEventMapTable.setDataPrototype(
38455 "std::vector<SgAsmCilEventMap*>",
"elements",
"",
38456 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38459 DECLARE_OTHERS(AsmCilEventMapTable);
38460#if defined(SgAsmCilEventMapTable_OTHERS) || defined(DOCUMENTATION)
38463#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38465 friend class boost::serialization::access;
38468 void serialize(S &s,
const unsigned ) {
38471 s & BOOST_SERIALIZATION_NVP(p_elements);
38477 std::vector<SgAsmCilEventMap*>
const& get_elements()
const;
38478 std::vector<SgAsmCilEventMap*>& get_elements();
38498#ifdef DOCUMENTATION
38507DECLARE_LEAF_CLASS(AsmCilEventMap);
38508IS_SERIALIZABLE(AsmCilEventMap);
38510#ifndef DOCUMENTATION
38511AsmCilEventMap.useSmallHeader(
true);
38514#ifdef DOCUMENTATION
38519#ifndef DOCUMENTATION
38520 AsmCilEventMap.setDataPrototype(
38521 "uint32_t",
"Parent",
"= 0",
38522 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38525#ifndef DOCUMENTATION
38526 AsmCilEventMap.setDataPrototype(
38527 "uint32_t",
"EventList",
"= 0",
38528 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38531 DECLARE_OTHERS(AsmCilEventMap);
38532#if defined(SgAsmCilEventMap_OTHERS) || defined(DOCUMENTATION)
38535#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38537 friend class boost::serialization::access;
38540 void serialize(S &s,
const unsigned ) {
38543 s & BOOST_SERIALIZATION_NVP(p_Parent);
38544 s & BOOST_SERIALIZATION_NVP(p_EventList);
38569 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38570 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38571 void dump(std::ostream&)
const;
38592#ifdef DOCUMENTATION
38601DECLARE_LEAF_CLASS(AsmCilEvent);
38602IS_SERIALIZABLE(AsmCilEvent);
38604#ifndef DOCUMENTATION
38605AsmCilEvent.useSmallHeader(
true);
38608#ifdef DOCUMENTATION
38613#ifndef DOCUMENTATION
38614 AsmCilEvent.setDataPrototype(
38615 "uint16_t",
"EventFlags",
"= 0",
38616 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38619#ifndef DOCUMENTATION
38620 AsmCilEvent.setDataPrototype(
38621 "uint32_t",
"Name",
"= 0",
38622 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38625#ifndef DOCUMENTATION
38626 AsmCilEvent.setDataPrototype(
38627 "uint32_t",
"EventType",
"= 0",
38628 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38631 DECLARE_OTHERS(AsmCilEvent);
38632#if defined(SgAsmCilEvent_OTHERS) || defined(DOCUMENTATION)
38635#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38637 friend class boost::serialization::access;
38640 void serialize(S &s,
const unsigned ) {
38643 s & BOOST_SERIALIZATION_NVP(p_EventFlags);
38644 s & BOOST_SERIALIZATION_NVP(p_Name);
38645 s & BOOST_SERIALIZATION_NVP(p_EventType);
38680 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38681 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38682 void dump(std::ostream&)
const;
38684 const std::uint8_t* get_Name_string()
const;
38703#ifdef DOCUMENTATION
38712DECLARE_LEAF_CLASS(AsmCilDeclSecurityTable);
38713IS_SERIALIZABLE(AsmCilDeclSecurityTable);
38715#ifndef DOCUMENTATION
38716AsmCilDeclSecurityTable.useSmallHeader(
true);
38719#ifdef DOCUMENTATION
38724#ifndef DOCUMENTATION
38725 AsmCilDeclSecurityTable.setDataPrototype(
38726 "std::vector<SgAsmCilDeclSecurity*>",
"elements",
"",
38727 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38730 DECLARE_OTHERS(AsmCilDeclSecurityTable);
38731#if defined(SgAsmCilDeclSecurityTable_OTHERS) || defined(DOCUMENTATION)
38734#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38736 friend class boost::serialization::access;
38739 void serialize(S &s,
const unsigned ) {
38742 s & BOOST_SERIALIZATION_NVP(p_elements);
38748 std::vector<SgAsmCilDeclSecurity*>
const& get_elements()
const;
38749 std::vector<SgAsmCilDeclSecurity*>& get_elements();
38769#ifdef DOCUMENTATION
38778DECLARE_LEAF_CLASS(AsmCilDeclSecurity);
38779IS_SERIALIZABLE(AsmCilDeclSecurity);
38781#ifndef DOCUMENTATION
38782AsmCilDeclSecurity.useSmallHeader(
true);
38785#ifdef DOCUMENTATION
38790#ifndef DOCUMENTATION
38791 AsmCilDeclSecurity.setDataPrototype(
38792 "uint16_t",
"Action",
"= 0",
38793 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38796#ifndef DOCUMENTATION
38797 AsmCilDeclSecurity.setDataPrototype(
38798 "uint32_t",
"Parent",
"= 0",
38799 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38802#ifndef DOCUMENTATION
38803 AsmCilDeclSecurity.setDataPrototype(
38804 "uint32_t",
"PermissionSet",
"= 0",
38805 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38808 DECLARE_OTHERS(AsmCilDeclSecurity);
38809#if defined(SgAsmCilDeclSecurity_OTHERS) || defined(DOCUMENTATION)
38812#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38814 friend class boost::serialization::access;
38817 void serialize(S &s,
const unsigned ) {
38820 s & BOOST_SERIALIZATION_NVP(p_Action);
38821 s & BOOST_SERIALIZATION_NVP(p_Parent);
38822 s & BOOST_SERIALIZATION_NVP(p_PermissionSet);
38857 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38858 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38859 void dump(std::ostream&)
const;
38862 const std::uint8_t* get_PermissionSet_blob()
const;
38880#ifdef DOCUMENTATION
38889#ifndef DOCUMENTATION
38890AstNodeClass& AsmCilDataStream = nonTerminalConstructor(
38891 "AsmCilDataStream",
38893 "AsmCilDataStream",
38894 "AsmCilDataStreamTag",
38895 SubclassListBuilder()
38896 | AsmCilMetadataHeap
38900assert(AsmCilDataStream.associatedGrammar !=
nullptr);
38901AsmCilDataStream.setCppCondition(
"!defined(DOCUMENTATION)");
38902AsmCilDataStream.isBoostSerializable(
true);
38903AsmCilDataStream.setAutomaticGenerationOfConstructor(
false);
38904AsmCilDataStream.setAutomaticGenerationOfDestructor(
false);
38907#ifndef DOCUMENTATION
38908AsmCilDataStream.useSmallHeader(
true);
38911#ifdef DOCUMENTATION
38916#ifndef DOCUMENTATION
38917 AsmCilDataStream.setDataPrototype(
38918 "uint32_t",
"Offset",
"",
38919 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38922#ifndef DOCUMENTATION
38923 AsmCilDataStream.setDataPrototype(
38924 "uint32_t",
"Size",
"",
38925 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38928#ifndef DOCUMENTATION
38929 AsmCilDataStream.setDataPrototype(
38930 "std::string",
"Name",
"",
38931 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38934#ifndef DOCUMENTATION
38935 AsmCilDataStream.setDataPrototype(
38936 "uint32_t",
"NamePadding",
"",
38937 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38940 DECLARE_OTHERS(AsmCilDataStream);
38941#if defined(SgAsmCilDataStream_OTHERS) || defined(DOCUMENTATION)
38944#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38946 friend class boost::serialization::access;
38949 void serialize(S &s,
const unsigned ) {
38951 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
38952 s & BOOST_SERIALIZATION_NVP(p_Offset);
38953 s & BOOST_SERIALIZATION_NVP(p_Size);
38954 s & BOOST_SERIALIZATION_NVP(p_Name);
38955 s & BOOST_SERIALIZATION_NVP(p_NamePadding);
39011 virtual void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData);
39014 virtual void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const;
39017 virtual void dump(std::ostream& os)
const;
39029 uint32_t
const& Size,
39030 std::string
const& Name,
39031 uint32_t
const& NamePadding);
39042#ifdef DOCUMENTATION
39051DECLARE_LEAF_CLASS(AsmCilCustomAttributeTable);
39052IS_SERIALIZABLE(AsmCilCustomAttributeTable);
39054#ifndef DOCUMENTATION
39055AsmCilCustomAttributeTable.useSmallHeader(
true);
39058#ifdef DOCUMENTATION
39063#ifndef DOCUMENTATION
39064 AsmCilCustomAttributeTable.setDataPrototype(
39065 "std::vector<SgAsmCilCustomAttribute*>",
"elements",
"",
39066 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39069 DECLARE_OTHERS(AsmCilCustomAttributeTable);
39070#if defined(SgAsmCilCustomAttributeTable_OTHERS) || defined(DOCUMENTATION)
39073#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39075 friend class boost::serialization::access;
39078 void serialize(S &s,
const unsigned ) {
39081 s & BOOST_SERIALIZATION_NVP(p_elements);
39087 std::vector<SgAsmCilCustomAttribute*>
const& get_elements()
const;
39088 std::vector<SgAsmCilCustomAttribute*>& get_elements();
39108#ifdef DOCUMENTATION
39117DECLARE_LEAF_CLASS(AsmCilCustomAttribute);
39118IS_SERIALIZABLE(AsmCilCustomAttribute);
39120#ifndef DOCUMENTATION
39121AsmCilCustomAttribute.useSmallHeader(
true);
39124#ifdef DOCUMENTATION
39129#ifndef DOCUMENTATION
39130 AsmCilCustomAttribute.setDataPrototype(
39131 "uint32_t",
"Parent",
"= 0",
39132 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39135#ifndef DOCUMENTATION
39136 AsmCilCustomAttribute.setDataPrototype(
39137 "uint32_t",
"Type",
"= 0",
39138 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39141#ifndef DOCUMENTATION
39142 AsmCilCustomAttribute.setDataPrototype(
39143 "uint32_t",
"Value",
"= 0",
39144 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39147 DECLARE_OTHERS(AsmCilCustomAttribute);
39148#if defined(SgAsmCilCustomAttribute_OTHERS) || defined(DOCUMENTATION)
39151#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39153 friend class boost::serialization::access;
39156 void serialize(S &s,
const unsigned ) {
39159 s & BOOST_SERIALIZATION_NVP(p_Parent);
39160 s & BOOST_SERIALIZATION_NVP(p_Type);
39161 s & BOOST_SERIALIZATION_NVP(p_Value);
39196 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39197 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39198 void dump(std::ostream&)
const;
39202 const std::uint8_t* get_Value_blob()
const;
39220#ifdef DOCUMENTATION
39229DECLARE_LEAF_CLASS(AsmCilConstantTable);
39230IS_SERIALIZABLE(AsmCilConstantTable);
39232#ifndef DOCUMENTATION
39233AsmCilConstantTable.useSmallHeader(
true);
39236#ifdef DOCUMENTATION
39241#ifndef DOCUMENTATION
39242 AsmCilConstantTable.setDataPrototype(
39243 "std::vector<SgAsmCilConstant*>",
"elements",
"",
39244 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39247 DECLARE_OTHERS(AsmCilConstantTable);
39248#if defined(SgAsmCilConstantTable_OTHERS) || defined(DOCUMENTATION)
39251#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39253 friend class boost::serialization::access;
39256 void serialize(S &s,
const unsigned ) {
39259 s & BOOST_SERIALIZATION_NVP(p_elements);
39265 std::vector<SgAsmCilConstant*>
const& get_elements()
const;
39266 std::vector<SgAsmCilConstant*>& get_elements();
39286#ifdef DOCUMENTATION
39295DECLARE_LEAF_CLASS(AsmCilConstant);
39296IS_SERIALIZABLE(AsmCilConstant);
39298#ifndef DOCUMENTATION
39299AsmCilConstant.useSmallHeader(
true);
39302#ifdef DOCUMENTATION
39307#ifndef DOCUMENTATION
39308 AsmCilConstant.setDataPrototype(
39309 "uint8_t",
"Type",
"= 0",
39310 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39313#ifndef DOCUMENTATION
39314 AsmCilConstant.setDataPrototype(
39315 "uint8_t",
"Padding",
"= 0",
39316 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39319#ifndef DOCUMENTATION
39320 AsmCilConstant.setDataPrototype(
39321 "uint32_t",
"Parent",
"= 0",
39322 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39325#ifndef DOCUMENTATION
39326 AsmCilConstant.setDataPrototype(
39327 "uint32_t",
"Value",
"= 0",
39328 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39331 DECLARE_OTHERS(AsmCilConstant);
39332#if defined(SgAsmCilConstant_OTHERS) || defined(DOCUMENTATION)
39335#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39337 friend class boost::serialization::access;
39340 void serialize(S &s,
const unsigned ) {
39343 s & BOOST_SERIALIZATION_NVP(p_Type);
39344 s & BOOST_SERIALIZATION_NVP(p_Padding);
39345 s & BOOST_SERIALIZATION_NVP(p_Parent);
39346 s & BOOST_SERIALIZATION_NVP(p_Value);
39391 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39392 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39393 void dump(std::ostream&)
const;
39396 const std::uint8_t* get_Value_blob()
const;
39414#ifdef DOCUMENTATION
39423DECLARE_LEAF_CLASS(AsmCilClassLayoutTable);
39424IS_SERIALIZABLE(AsmCilClassLayoutTable);
39426#ifndef DOCUMENTATION
39427AsmCilClassLayoutTable.useSmallHeader(
true);
39430#ifdef DOCUMENTATION
39435#ifndef DOCUMENTATION
39436 AsmCilClassLayoutTable.setDataPrototype(
39437 "std::vector<SgAsmCilClassLayout*>",
"elements",
"",
39438 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39441 DECLARE_OTHERS(AsmCilClassLayoutTable);
39442#if defined(SgAsmCilClassLayoutTable_OTHERS) || defined(DOCUMENTATION)
39445#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39447 friend class boost::serialization::access;
39450 void serialize(S &s,
const unsigned ) {
39453 s & BOOST_SERIALIZATION_NVP(p_elements);
39459 std::vector<SgAsmCilClassLayout*>
const& get_elements()
const;
39460 std::vector<SgAsmCilClassLayout*>& get_elements();
39480#ifdef DOCUMENTATION
39489DECLARE_LEAF_CLASS(AsmCilClassLayout);
39490IS_SERIALIZABLE(AsmCilClassLayout);
39492#ifndef DOCUMENTATION
39493AsmCilClassLayout.useSmallHeader(
true);
39496#ifdef DOCUMENTATION
39501#ifndef DOCUMENTATION
39502 AsmCilClassLayout.setDataPrototype(
39503 "uint16_t",
"PackingSize",
"= 0",
39504 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39507#ifndef DOCUMENTATION
39508 AsmCilClassLayout.setDataPrototype(
39509 "uint32_t",
"ClassSize",
"= 0",
39510 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39513#ifndef DOCUMENTATION
39514 AsmCilClassLayout.setDataPrototype(
39515 "uint32_t",
"Parent",
"= 0",
39516 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39519 DECLARE_OTHERS(AsmCilClassLayout);
39520#if defined(SgAsmCilClassLayout_OTHERS) || defined(DOCUMENTATION)
39523#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39525 friend class boost::serialization::access;
39528 void serialize(S &s,
const unsigned ) {
39531 s & BOOST_SERIALIZATION_NVP(p_PackingSize);
39532 s & BOOST_SERIALIZATION_NVP(p_ClassSize);
39533 s & BOOST_SERIALIZATION_NVP(p_Parent);
39568 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39569 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39570 void dump(std::ostream&)
const;
39590#ifdef DOCUMENTATION
39599DECLARE_LEAF_CLASS(AsmCilAssemblyTable);
39600IS_SERIALIZABLE(AsmCilAssemblyTable);
39602#ifndef DOCUMENTATION
39603AsmCilAssemblyTable.useSmallHeader(
true);
39606#ifdef DOCUMENTATION
39611#ifndef DOCUMENTATION
39612 AsmCilAssemblyTable.setDataPrototype(
39613 "std::vector<SgAsmCilAssembly*>",
"elements",
"",
39614 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39617 DECLARE_OTHERS(AsmCilAssemblyTable);
39618#if defined(SgAsmCilAssemblyTable_OTHERS) || defined(DOCUMENTATION)
39621#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39623 friend class boost::serialization::access;
39626 void serialize(S &s,
const unsigned ) {
39629 s & BOOST_SERIALIZATION_NVP(p_elements);
39635 std::vector<SgAsmCilAssembly*>
const& get_elements()
const;
39636 std::vector<SgAsmCilAssembly*>& get_elements();
39656#ifdef DOCUMENTATION
39665DECLARE_LEAF_CLASS(AsmCilAssemblyRefTable);
39666IS_SERIALIZABLE(AsmCilAssemblyRefTable);
39668#ifndef DOCUMENTATION
39669AsmCilAssemblyRefTable.useSmallHeader(
true);
39672#ifdef DOCUMENTATION
39677#ifndef DOCUMENTATION
39678 AsmCilAssemblyRefTable.setDataPrototype(
39679 "std::vector<SgAsmCilAssemblyRef*>",
"elements",
"",
39680 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39683 DECLARE_OTHERS(AsmCilAssemblyRefTable);
39684#if defined(SgAsmCilAssemblyRefTable_OTHERS) || defined(DOCUMENTATION)
39687#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39689 friend class boost::serialization::access;
39692 void serialize(S &s,
const unsigned ) {
39695 s & BOOST_SERIALIZATION_NVP(p_elements);
39701 std::vector<SgAsmCilAssemblyRef*>
const& get_elements()
const;
39702 std::vector<SgAsmCilAssemblyRef*>& get_elements();
39722#ifdef DOCUMENTATION
39731DECLARE_LEAF_CLASS(AsmCilAssemblyRefProcessorTable);
39732IS_SERIALIZABLE(AsmCilAssemblyRefProcessorTable);
39734#ifndef DOCUMENTATION
39735AsmCilAssemblyRefProcessorTable.useSmallHeader(
true);
39738#ifdef DOCUMENTATION
39743#ifndef DOCUMENTATION
39744 AsmCilAssemblyRefProcessorTable.setDataPrototype(
39745 "std::vector<SgAsmCilAssemblyRefProcessor*>",
"elements",
"",
39746 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39749 DECLARE_OTHERS(AsmCilAssemblyRefProcessorTable);
39750#if defined(SgAsmCilAssemblyRefProcessorTable_OTHERS) || defined(DOCUMENTATION)
39753#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39755 friend class boost::serialization::access;
39758 void serialize(S &s,
const unsigned ) {
39761 s & BOOST_SERIALIZATION_NVP(p_elements);
39767 std::vector<SgAsmCilAssemblyRefProcessor*>
const& get_elements()
const;
39768 std::vector<SgAsmCilAssemblyRefProcessor*>& get_elements();
39788#ifdef DOCUMENTATION
39797DECLARE_LEAF_CLASS(AsmCilAssemblyRefProcessor);
39798IS_SERIALIZABLE(AsmCilAssemblyRefProcessor);
39800#ifndef DOCUMENTATION
39801AsmCilAssemblyRefProcessor.useSmallHeader(
true);
39804#ifdef DOCUMENTATION
39809#ifndef DOCUMENTATION
39810 AsmCilAssemblyRefProcessor.setDataPrototype(
39811 "uint32_t",
"Processor",
"= 0",
39812 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39815#ifndef DOCUMENTATION
39816 AsmCilAssemblyRefProcessor.setDataPrototype(
39817 "uint32_t",
"AssemblyRef",
"= 0",
39818 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39821 DECLARE_OTHERS(AsmCilAssemblyRefProcessor);
39822#if defined(SgAsmCilAssemblyRefProcessor_OTHERS) || defined(DOCUMENTATION)
39825#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39827 friend class boost::serialization::access;
39830 void serialize(S &s,
const unsigned ) {
39833 s & BOOST_SERIALIZATION_NVP(p_Processor);
39834 s & BOOST_SERIALIZATION_NVP(p_AssemblyRef);
39859 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39860 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39861 void dump(std::ostream&)
const;
39881#ifdef DOCUMENTATION
39890DECLARE_LEAF_CLASS(AsmCilAssemblyRefOSTable);
39891IS_SERIALIZABLE(AsmCilAssemblyRefOSTable);
39893#ifndef DOCUMENTATION
39894AsmCilAssemblyRefOSTable.useSmallHeader(
true);
39897#ifdef DOCUMENTATION
39902#ifndef DOCUMENTATION
39903 AsmCilAssemblyRefOSTable.setDataPrototype(
39904 "std::vector<SgAsmCilAssemblyRefOS*>",
"elements",
"",
39905 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39908 DECLARE_OTHERS(AsmCilAssemblyRefOSTable);
39909#if defined(SgAsmCilAssemblyRefOSTable_OTHERS) || defined(DOCUMENTATION)
39912#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39914 friend class boost::serialization::access;
39917 void serialize(S &s,
const unsigned ) {
39920 s & BOOST_SERIALIZATION_NVP(p_elements);
39926 std::vector<SgAsmCilAssemblyRefOS*>
const& get_elements()
const;
39927 std::vector<SgAsmCilAssemblyRefOS*>& get_elements();
39947#ifdef DOCUMENTATION
39956DECLARE_LEAF_CLASS(AsmCilAssemblyRefOS);
39957IS_SERIALIZABLE(AsmCilAssemblyRefOS);
39959#ifndef DOCUMENTATION
39960AsmCilAssemblyRefOS.useSmallHeader(
true);
39963#ifdef DOCUMENTATION
39968#ifndef DOCUMENTATION
39969 AsmCilAssemblyRefOS.setDataPrototype(
39970 "uint32_t",
"OSPlatformID",
"= 0",
39971 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39974#ifndef DOCUMENTATION
39975 AsmCilAssemblyRefOS.setDataPrototype(
39976 "uint32_t",
"OSMajorVersion",
"= 0",
39977 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39980#ifndef DOCUMENTATION
39981 AsmCilAssemblyRefOS.setDataPrototype(
39982 "uint32_t",
"OSMinorVersion",
"= 0",
39983 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39986#ifndef DOCUMENTATION
39987 AsmCilAssemblyRefOS.setDataPrototype(
39988 "uint32_t",
"AssemblyRefOS",
"= 0",
39989 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39992 DECLARE_OTHERS(AsmCilAssemblyRefOS);
39993#if defined(SgAsmCilAssemblyRefOS_OTHERS) || defined(DOCUMENTATION)
39996#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39998 friend class boost::serialization::access;
40001 void serialize(S &s,
const unsigned ) {
40004 s & BOOST_SERIALIZATION_NVP(p_OSPlatformID);
40005 s & BOOST_SERIALIZATION_NVP(p_OSMajorVersion);
40006 s & BOOST_SERIALIZATION_NVP(p_OSMinorVersion);
40007 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefOS);
40052 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
40053 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
40054 void dump(std::ostream&)
const;
40074#ifdef DOCUMENTATION
40083DECLARE_LEAF_CLASS(AsmCilAssemblyRef);
40084IS_SERIALIZABLE(AsmCilAssemblyRef);
40086#ifndef DOCUMENTATION
40087AsmCilAssemblyRef.useSmallHeader(
true);
40090#ifdef DOCUMENTATION
40095#ifndef DOCUMENTATION
40096 AsmCilAssemblyRef.setDataPrototype(
40097 "uint16_t",
"MajorVersion",
"= 0",
40098 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40101#ifndef DOCUMENTATION
40102 AsmCilAssemblyRef.setDataPrototype(
40103 "uint16_t",
"MinorVersion",
"= 0",
40104 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40107#ifndef DOCUMENTATION
40108 AsmCilAssemblyRef.setDataPrototype(
40109 "uint16_t",
"BuildNumber",
"= 0",
40110 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40113#ifndef DOCUMENTATION
40114 AsmCilAssemblyRef.setDataPrototype(
40115 "uint16_t",
"RevisionNumber",
"= 0",
40116 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40119#ifndef DOCUMENTATION
40120 AsmCilAssemblyRef.setDataPrototype(
40121 "uint32_t",
"Flags",
"= 0",
40122 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40125#ifndef DOCUMENTATION
40126 AsmCilAssemblyRef.setDataPrototype(
40127 "uint32_t",
"PublicKeyOrToken",
"= 0",
40128 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40131#ifndef DOCUMENTATION
40132 AsmCilAssemblyRef.setDataPrototype(
40133 "uint32_t",
"Name",
"= 0",
40134 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40137#ifndef DOCUMENTATION
40138 AsmCilAssemblyRef.setDataPrototype(
40139 "uint32_t",
"Culture",
"= 0",
40140 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40143#ifndef DOCUMENTATION
40144 AsmCilAssemblyRef.setDataPrototype(
40145 "uint32_t",
"HashValue",
"= 0",
40146 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40149 DECLARE_OTHERS(AsmCilAssemblyRef);
40150#if defined(SgAsmCilAssemblyRef_OTHERS) || defined(DOCUMENTATION)
40153#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40155 friend class boost::serialization::access;
40158 void serialize(S &s,
const unsigned ) {
40161 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
40162 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
40163 s & BOOST_SERIALIZATION_NVP(p_BuildNumber);
40164 s & BOOST_SERIALIZATION_NVP(p_RevisionNumber);
40165 s & BOOST_SERIALIZATION_NVP(p_Flags);
40166 s & BOOST_SERIALIZATION_NVP(p_PublicKeyOrToken);
40167 s & BOOST_SERIALIZATION_NVP(p_Name);
40168 s & BOOST_SERIALIZATION_NVP(p_Culture);
40169 s & BOOST_SERIALIZATION_NVP(p_HashValue);
40264 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
40265 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
40266 void dump(std::ostream&)
const;
40268 const std::uint8_t* get_PublicKeyOrToken_blob()
const;
40269 const std::uint8_t* get_Name_string()
const;
40270 const std::uint8_t* get_Culture_string()
const;
40271 const std::uint8_t* get_HashValue_blob()
const;
40289#ifdef DOCUMENTATION
40298DECLARE_LEAF_CLASS(AsmCilAssemblyProcessorTable);
40299IS_SERIALIZABLE(AsmCilAssemblyProcessorTable);
40301#ifndef DOCUMENTATION
40302AsmCilAssemblyProcessorTable.useSmallHeader(
true);
40305#ifdef DOCUMENTATION
40310#ifndef DOCUMENTATION
40311 AsmCilAssemblyProcessorTable.setDataPrototype(
40312 "std::vector<SgAsmCilAssemblyProcessor*>",
"elements",
"",
40313 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
40316 DECLARE_OTHERS(AsmCilAssemblyProcessorTable);
40317#if defined(SgAsmCilAssemblyProcessorTable_OTHERS) || defined(DOCUMENTATION)
40320#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40322 friend class boost::serialization::access;
40325 void serialize(S &s,
const unsigned ) {
40328 s & BOOST_SERIALIZATION_NVP(p_elements);
40334 std::vector<SgAsmCilAssemblyProcessor*>
const& get_elements()
const;
40335 std::vector<SgAsmCilAssemblyProcessor*>& get_elements();
40355#ifdef DOCUMENTATION
40364DECLARE_LEAF_CLASS(AsmCilAssemblyProcessor);
40365IS_SERIALIZABLE(AsmCilAssemblyProcessor);
40367#ifndef DOCUMENTATION
40368AsmCilAssemblyProcessor.useSmallHeader(
true);
40371#ifdef DOCUMENTATION
40376#ifndef DOCUMENTATION
40377 AsmCilAssemblyProcessor.setDataPrototype(
40378 "uint32_t",
"Processor",
"= 0",
40379 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40382 DECLARE_OTHERS(AsmCilAssemblyProcessor);
40383#if defined(SgAsmCilAssemblyProcessor_OTHERS) || defined(DOCUMENTATION)
40386#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40388 friend class boost::serialization::access;
40391 void serialize(S &s,
const unsigned ) {
40394 s & BOOST_SERIALIZATION_NVP(p_Processor);
40409 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
40410 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
40411 void dump(std::ostream&)
const;
40429#ifdef DOCUMENTATION
40438DECLARE_LEAF_CLASS(AsmCilAssemblyOSTable);
40439IS_SERIALIZABLE(AsmCilAssemblyOSTable);
40441#ifndef DOCUMENTATION
40442AsmCilAssemblyOSTable.useSmallHeader(
true);
40445#ifdef DOCUMENTATION
40450#ifndef DOCUMENTATION
40451 AsmCilAssemblyOSTable.setDataPrototype(
40452 "std::vector<SgAsmCilAssemblyOS*>",
"elements",
"",
40453 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
40456 DECLARE_OTHERS(AsmCilAssemblyOSTable);
40457#if defined(SgAsmCilAssemblyOSTable_OTHERS) || defined(DOCUMENTATION)
40460#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40462 friend class boost::serialization::access;
40465 void serialize(S &s,
const unsigned ) {
40468 s & BOOST_SERIALIZATION_NVP(p_elements);
40474 std::vector<SgAsmCilAssemblyOS*>
const& get_elements()
const;
40475 std::vector<SgAsmCilAssemblyOS*>& get_elements();
40495#ifdef DOCUMENTATION
40504DECLARE_LEAF_CLASS(AsmCilAssemblyOS);
40505IS_SERIALIZABLE(AsmCilAssemblyOS);
40507#ifndef DOCUMENTATION
40508AsmCilAssemblyOS.useSmallHeader(
true);
40511#ifdef DOCUMENTATION
40516#ifndef DOCUMENTATION
40517 AsmCilAssemblyOS.setDataPrototype(
40518 "uint32_t",
"OSPlatformID",
"= 0",
40519 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40522#ifndef DOCUMENTATION
40523 AsmCilAssemblyOS.setDataPrototype(
40524 "uint32_t",
"OSMajorVersion",
"= 0",
40525 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40528#ifndef DOCUMENTATION
40529 AsmCilAssemblyOS.setDataPrototype(
40530 "uint32_t",
"OSMinorVersion",
"= 0",
40531 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40534 DECLARE_OTHERS(AsmCilAssemblyOS);
40535#if defined(SgAsmCilAssemblyOS_OTHERS) || defined(DOCUMENTATION)
40538#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40540 friend class boost::serialization::access;
40543 void serialize(S &s,
const unsigned ) {
40546 s & BOOST_SERIALIZATION_NVP(p_OSPlatformID);
40547 s & BOOST_SERIALIZATION_NVP(p_OSMajorVersion);
40548 s & BOOST_SERIALIZATION_NVP(p_OSMinorVersion);
40583 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
40584 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
40585 void dump(std::ostream&)
const;
40603#ifdef DOCUMENTATION
40612DECLARE_LEAF_CLASS(AsmCilAssembly);
40613IS_SERIALIZABLE(AsmCilAssembly);
40615#ifndef DOCUMENTATION
40616AsmCilAssembly.useSmallHeader(
true);
40619#ifdef DOCUMENTATION
40624#ifndef DOCUMENTATION
40625 AsmCilAssembly.setDataPrototype(
40626 "uint32_t",
"HashAlgId",
"= 0",
40627 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40630#ifndef DOCUMENTATION
40631 AsmCilAssembly.setDataPrototype(
40632 "uint16_t",
"MajorVersion",
"= 0",
40633 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40636#ifndef DOCUMENTATION
40637 AsmCilAssembly.setDataPrototype(
40638 "uint16_t",
"MinorVersion",
"= 0",
40639 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40642#ifndef DOCUMENTATION
40643 AsmCilAssembly.setDataPrototype(
40644 "uint16_t",
"BuildNumber",
"= 0",
40645 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40648#ifndef DOCUMENTATION
40649 AsmCilAssembly.setDataPrototype(
40650 "uint16_t",
"RevisionNumber",
"= 0",
40651 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40654#ifndef DOCUMENTATION
40655 AsmCilAssembly.setDataPrototype(
40656 "uint32_t",
"Flags",
"= 0",
40657 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40660#ifndef DOCUMENTATION
40661 AsmCilAssembly.setDataPrototype(
40662 "uint32_t",
"PublicKey",
"= 0",
40663 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40666#ifndef DOCUMENTATION
40667 AsmCilAssembly.setDataPrototype(
40668 "uint32_t",
"Name",
"= 0",
40669 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40672#ifndef DOCUMENTATION
40673 AsmCilAssembly.setDataPrototype(
40674 "uint32_t",
"Culture",
"= 0",
40675 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40678 DECLARE_OTHERS(AsmCilAssembly);
40679#if defined(SgAsmCilAssembly_OTHERS) || defined(DOCUMENTATION)
40682#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40684 friend class boost::serialization::access;
40687 void serialize(S &s,
const unsigned ) {
40690 s & BOOST_SERIALIZATION_NVP(p_HashAlgId);
40691 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
40692 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
40693 s & BOOST_SERIALIZATION_NVP(p_BuildNumber);
40694 s & BOOST_SERIALIZATION_NVP(p_RevisionNumber);
40695 s & BOOST_SERIALIZATION_NVP(p_Flags);
40696 s & BOOST_SERIALIZATION_NVP(p_PublicKey);
40697 s & BOOST_SERIALIZATION_NVP(p_Name);
40698 s & BOOST_SERIALIZATION_NVP(p_Culture);
40793 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
40794 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
40795 void dump(std::ostream&)
const;
40797 const std::uint8_t* get_PublicKey_blob()
const;
40798 const std::uint8_t* get_Name_string()
const;
40799 const std::uint8_t* get_Culture_string()
const;
40817#ifdef DOCUMENTATION
40826#ifndef DOCUMENTATION
40827AstNodeClass& AsmCilMetadata = nonTerminalConstructor(
40831 "AsmCilMetadataTag",
40832 SubclassListBuilder()
40835 | AsmCilAssemblyOSTable
40836 | AsmCilAssemblyProcessor
40837 | AsmCilAssemblyProcessorTable
40838 | AsmCilAssemblyRef
40839 | AsmCilAssemblyRefOS
40840 | AsmCilAssemblyRefOSTable
40841 | AsmCilAssemblyRefProcessor
40842 | AsmCilAssemblyRefProcessorTable
40843 | AsmCilAssemblyRefTable
40844 | AsmCilAssemblyTable
40845 | AsmCilClassLayout
40846 | AsmCilClassLayoutTable
40848 | AsmCilConstantTable
40849 | AsmCilCustomAttribute
40850 | AsmCilCustomAttributeTable
40851 | AsmCilDeclSecurity
40852 | AsmCilDeclSecurityTable
40855 | AsmCilEventMapTable
40857 | AsmCilExportedType
40858 | AsmCilExportedTypeTable
40860 | AsmCilFieldLayout
40861 | AsmCilFieldLayoutTable
40862 | AsmCilFieldMarshal
40863 | AsmCilFieldMarshalTable
40865 | AsmCilFieldRVATable
40869 | AsmCilGenericParam
40870 | AsmCilGenericParamConstraint
40871 | AsmCilGenericParamConstraintTable
40872 | AsmCilGenericParamTable
40874 | AsmCilImplMapTable
40875 | AsmCilInterfaceImpl
40876 | AsmCilInterfaceImplTable
40877 | AsmCilManifestResource
40878 | AsmCilManifestResourceTable
40880 | AsmCilMemberRefTable
40882 | AsmCilMethodDefTable
40884 | AsmCilMethodImplTable
40885 | AsmCilMethodSemantics
40886 | AsmCilMethodSemanticsTable
40888 | AsmCilMethodSpecTable
40891 | AsmCilModuleRefTable
40892 | AsmCilModuleTable
40893 | AsmCilNestedClass
40894 | AsmCilNestedClassTable
40898 | AsmCilPropertyMap
40899 | AsmCilPropertyMapTable
40900 | AsmCilPropertyTable
40901 | AsmCilStandAloneSig
40902 | AsmCilStandAloneSigTable
40904 | AsmCilTypeDefTable
40906 | AsmCilTypeRefTable
40908 | AsmCilTypeSpecTable
40910assert(AsmCilMetadata.associatedGrammar !=
nullptr);
40911AsmCilMetadata.setCppCondition(
"!defined(DOCUMENTATION)");
40912AsmCilMetadata.isBoostSerializable(
true);
40913AsmCilMetadata.setAutomaticGenerationOfConstructor(
false);
40914AsmCilMetadata.setAutomaticGenerationOfDestructor(
false);
40917#ifndef DOCUMENTATION
40918AsmCilMetadata.useSmallHeader(
true);
40921#ifdef DOCUMENTATION
40926 DECLARE_OTHERS(AsmCilMetadata);
40927#if defined(SgAsmCilMetadata_OTHERS) || defined(DOCUMENTATION)
40930#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40932 friend class boost::serialization::access;
40935 void serialize(S &s,
const unsigned ) {
40937 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
40959#ifdef DOCUMENTATION
40968#ifndef DOCUMENTATION
40969AstNodeClass& AsmCilNode = nonTerminalConstructor(
40974 SubclassListBuilder()
40976 | AsmCilExceptionData
40978 | AsmCilMetadataRoot
40981assert(AsmCilNode.associatedGrammar !=
nullptr);
40982AsmCilNode.setCppCondition(
"!defined(DOCUMENTATION)");
40983AsmCilNode.isBoostSerializable(
true);
40984AsmCilNode.setAutomaticGenerationOfConstructor(
false);
40985AsmCilNode.setAutomaticGenerationOfDestructor(
false);
40988#ifndef DOCUMENTATION
40989AsmCilNode.useSmallHeader(
true);
40992#ifdef DOCUMENTATION
40997 DECLARE_OTHERS(AsmCilNode);
40998#if defined(SgAsmCilNode_OTHERS) || defined(DOCUMENTATION)
41001#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41003 friend class boost::serialization::access;
41006 void serialize(S &s,
const unsigned ) {
41008 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
41030#ifdef DOCUMENTATION
41039DECLARE_LEAF_CLASS(AsmByteOrder);
41040IS_SERIALIZABLE(AsmByteOrder);
41042#ifndef DOCUMENTATION
41043AsmByteOrder.useSmallHeader(
true);
41046DECLARE_HEADERS(AsmByteOrder);
41047#if defined(SgAsmByteOrder_HEADERS) || defined(DOCUMENTATION)
41048#include <Rose/BinaryAnalysis/ByteOrder.h>
41051#ifdef DOCUMENTATION
41056 DECLARE_OTHERS(AsmByteOrder);
41057#if defined(SgAsmByteOrder_OTHERS) || defined(DOCUMENTATION)
41060#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41062 friend class boost::serialization::access;
41065 void serialize(S &s,
const unsigned ) {
41068 s & BOOST_SERIALIZATION_NVP(byteOrder_);
41105#ifdef DOCUMENTATION
41114DECLARE_LEAF_CLASS(AsmBlock);
41115IS_SERIALIZABLE(AsmBlock);
41117#ifndef DOCUMENTATION
41118AsmBlock.useSmallHeader(
true);
41121DECLARE_HEADERS(AsmBlock);
41122#if defined(SgAsmBlock_HEADERS) || defined(DOCUMENTATION)
41123#include <Rose/BinaryAnalysis/Address.h>
41125#include <sageContainer.h>
41127#ifdef ROSE_SgAsmBlock_IMPL
41128#include <SgAsmInstruction.h>
41132#ifdef DOCUMENTATION
41156#ifndef DOCUMENTATION
41157 AsmBlock.setDataPrototype(
41158 "Rose::BinaryAnalysis::Address",
"id",
"= 0",
41159 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41162#ifndef DOCUMENTATION
41163 AsmBlock.setDataPrototype(
41164 "unsigned",
"reason",
"= SgAsmBlock::BLK_NONE",
41165 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41168#ifndef DOCUMENTATION
41169 AsmBlock.setDataPrototype(
41170 "SgAsmStatementPtrList",
"statementList",
"",
41171 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
41174#ifndef DOCUMENTATION
41175 AsmBlock.setDataPrototype(
41176 "SgAsmIntegerValuePtrList",
"successors",
"",
41177 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41180#ifndef DOCUMENTATION
41181 AsmBlock.setDataPrototype(
41182 "bool",
"successorsComplete",
"= false",
41183 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41186#ifndef DOCUMENTATION
41187 AsmBlock.setDataPrototype(
41188 "SgAsmBlock*",
"immediateDominator",
"= nullptr",
41189 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41192#ifndef DOCUMENTATION
41193 AsmBlock.setDataPrototype(
41194 "size_t",
"cachedVertex",
"= (size_t)(-1)",
41195 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41198#ifndef DOCUMENTATION
41199 AsmBlock.setDataPrototype(
41200 "double",
"codeLikelihood",
"= 0.0",
41201 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41204#ifndef DOCUMENTATION
41205 AsmBlock.setDataPrototype(
41206 "int64_t",
"stackDeltaOut",
"= SgAsmInstruction::INVALID_STACK_DELTA",
41207 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41210 DECLARE_OTHERS(AsmBlock);
41211#if defined(SgAsmBlock_OTHERS) || defined(DOCUMENTATION)
41214#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41216 friend class boost::serialization::access;
41219 void serialize(S &s,
const unsigned ) {
41222 s & BOOST_SERIALIZATION_NVP(p_reason);
41223 s & BOOST_SERIALIZATION_NVP(p_statementList);
41224 s & BOOST_SERIALIZATION_NVP(p_successors);
41225 s & BOOST_SERIALIZATION_NVP(p_successorsComplete);
41226 s & BOOST_SERIALIZATION_NVP(p_immediateDominator);
41227 s & BOOST_SERIALIZATION_NVP(p_cachedVertex);
41228 s & BOOST_SERIALIZATION_NVP(p_codeLikelihood);
41229 s & BOOST_SERIALIZATION_NVP(p_stackDeltaOut);
41479 Rose::BinaryAnalysis::Address get_fallthrough_va() ROSE_DEPRECATED("use getFallthroughVa");
41481 bool has_instructions() const ROSE_DEPRECATED("use
hasInstructions");
41482 bool is_basic_block() const ROSE_DEPRECATED("use
isBasicBlock");
41483 bool is_function_call(
Rose::BinaryAnalysis::Address&,
Rose::BinaryAnalysis::Address&) ROSE_DEPRECATED("use
isFunctionCall");
41484 static std::
string reason_key(const std::
string& = "") ROSE_DEPRECATED("use
reasonKey");
41485 std::
string reason_str(
bool) const ROSE_DEPRECATED("use
reasonString");
41486 static std::
string reason_str(
bool,
unsigned) ROSE_DEPRECATED("use
reasonString");
41508#ifdef DOCUMENTATION
41517DECLARE_LEAF_CLASS(AsmBinarySubtract);
41518IS_SERIALIZABLE(AsmBinarySubtract);
41520#ifndef DOCUMENTATION
41521AsmBinarySubtract.useSmallHeader(
true);
41524#ifdef DOCUMENTATION
41529 DECLARE_OTHERS(AsmBinarySubtract);
41530#if defined(SgAsmBinarySubtract_OTHERS) || defined(DOCUMENTATION)
41533#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41535 friend class boost::serialization::access;
41538 void serialize(S &s,
const unsigned ) {
41567#ifdef DOCUMENTATION
41576DECLARE_LEAF_CLASS(AsmBinaryRor);
41577IS_SERIALIZABLE(AsmBinaryRor);
41579#ifndef DOCUMENTATION
41580AsmBinaryRor.useSmallHeader(
true);
41583#ifdef DOCUMENTATION
41588 DECLARE_OTHERS(AsmBinaryRor);
41589#if defined(SgAsmBinaryRor_OTHERS) || defined(DOCUMENTATION)
41592#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41594 friend class boost::serialization::access;
41597 void serialize(S &s,
const unsigned ) {
41626#ifdef DOCUMENTATION
41635DECLARE_LEAF_CLASS(AsmBinaryPreupdate);
41636IS_SERIALIZABLE(AsmBinaryPreupdate);
41638#ifndef DOCUMENTATION
41639AsmBinaryPreupdate.useSmallHeader(
true);
41642#ifdef DOCUMENTATION
41650 DECLARE_OTHERS(AsmBinaryPreupdate);
41651#if defined(SgAsmBinaryPreupdate_OTHERS) || defined(DOCUMENTATION)
41654#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41656 friend class boost::serialization::access;
41659 void serialize(S &s,
const unsigned ) {
41688#ifdef DOCUMENTATION
41697DECLARE_LEAF_CLASS(AsmBinaryPostupdate);
41698IS_SERIALIZABLE(AsmBinaryPostupdate);
41700#ifndef DOCUMENTATION
41701AsmBinaryPostupdate.useSmallHeader(
true);
41704#ifdef DOCUMENTATION
41712 DECLARE_OTHERS(AsmBinaryPostupdate);
41713#if defined(SgAsmBinaryPostupdate_OTHERS) || defined(DOCUMENTATION)
41716#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41718 friend class boost::serialization::access;
41721 void serialize(S &s,
const unsigned ) {
41750#ifdef DOCUMENTATION
41759DECLARE_LEAF_CLASS(AsmBinaryMultiply);
41760IS_SERIALIZABLE(AsmBinaryMultiply);
41762#ifndef DOCUMENTATION
41763AsmBinaryMultiply.useSmallHeader(
true);
41766#ifdef DOCUMENTATION
41771 DECLARE_OTHERS(AsmBinaryMultiply);
41772#if defined(SgAsmBinaryMultiply_OTHERS) || defined(DOCUMENTATION)
41775#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41777 friend class boost::serialization::access;
41780 void serialize(S &s,
const unsigned ) {
41809#ifdef DOCUMENTATION
41818DECLARE_LEAF_CLASS(AsmBinaryMsl);
41819IS_SERIALIZABLE(AsmBinaryMsl);
41821#ifndef DOCUMENTATION
41822AsmBinaryMsl.useSmallHeader(
true);
41825#ifdef DOCUMENTATION
41832 DECLARE_OTHERS(AsmBinaryMsl);
41833#if defined(SgAsmBinaryMsl_OTHERS) || defined(DOCUMENTATION)
41836#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41838 friend class boost::serialization::access;
41841 void serialize(S &s,
const unsigned ) {
41870#ifdef DOCUMENTATION
41879DECLARE_LEAF_CLASS(AsmBinaryMod);
41880IS_SERIALIZABLE(AsmBinaryMod);
41882#ifndef DOCUMENTATION
41883AsmBinaryMod.useSmallHeader(
true);
41886#ifdef DOCUMENTATION
41891 DECLARE_OTHERS(AsmBinaryMod);
41892#if defined(SgAsmBinaryMod_OTHERS) || defined(DOCUMENTATION)
41895#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41897 friend class boost::serialization::access;
41900 void serialize(S &s,
const unsigned ) {
41929#ifdef DOCUMENTATION
41938DECLARE_LEAF_CLASS(AsmBinaryLsr);
41939IS_SERIALIZABLE(AsmBinaryLsr);
41941#ifndef DOCUMENTATION
41942AsmBinaryLsr.useSmallHeader(
true);
41945#ifdef DOCUMENTATION
41950 DECLARE_OTHERS(AsmBinaryLsr);
41951#if defined(SgAsmBinaryLsr_OTHERS) || defined(DOCUMENTATION)
41954#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41956 friend class boost::serialization::access;
41959 void serialize(S &s,
const unsigned ) {
41988#ifdef DOCUMENTATION
41997DECLARE_LEAF_CLASS(AsmBinaryLsl);
41998IS_SERIALIZABLE(AsmBinaryLsl);
42000#ifndef DOCUMENTATION
42001AsmBinaryLsl.useSmallHeader(
true);
42004#ifdef DOCUMENTATION
42009 DECLARE_OTHERS(AsmBinaryLsl);
42010#if defined(SgAsmBinaryLsl_OTHERS) || defined(DOCUMENTATION)
42013#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42015 friend class boost::serialization::access;
42018 void serialize(S &s,
const unsigned ) {
42047#ifdef DOCUMENTATION
42056DECLARE_LEAF_CLASS(AsmBinaryDivide);
42057IS_SERIALIZABLE(AsmBinaryDivide);
42059#ifndef DOCUMENTATION
42060AsmBinaryDivide.useSmallHeader(
true);
42063#ifdef DOCUMENTATION
42068 DECLARE_OTHERS(AsmBinaryDivide);
42069#if defined(SgAsmBinaryDivide_OTHERS) || defined(DOCUMENTATION)
42072#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42074 friend class boost::serialization::access;
42077 void serialize(S &s,
const unsigned ) {
42106#ifdef DOCUMENTATION
42115DECLARE_LEAF_CLASS(AsmBinaryConcat);
42116IS_SERIALIZABLE(AsmBinaryConcat);
42118#ifndef DOCUMENTATION
42119AsmBinaryConcat.useSmallHeader(
true);
42122#ifdef DOCUMENTATION
42127 DECLARE_OTHERS(AsmBinaryConcat);
42128#if defined(SgAsmBinaryConcat_OTHERS) || defined(DOCUMENTATION)
42131#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42133 friend class boost::serialization::access;
42136 void serialize(S &s,
const unsigned ) {
42165#ifdef DOCUMENTATION
42174DECLARE_LEAF_CLASS(AsmBinaryAsr);
42175IS_SERIALIZABLE(AsmBinaryAsr);
42177#ifndef DOCUMENTATION
42178AsmBinaryAsr.useSmallHeader(
true);
42181#ifdef DOCUMENTATION
42186 DECLARE_OTHERS(AsmBinaryAsr);
42187#if defined(SgAsmBinaryAsr_OTHERS) || defined(DOCUMENTATION)
42190#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42192 friend class boost::serialization::access;
42195 void serialize(S &s,
const unsigned ) {
42224#ifdef DOCUMENTATION
42233DECLARE_LEAF_CLASS(AsmBinaryAdd);
42234IS_SERIALIZABLE(AsmBinaryAdd);
42236#ifndef DOCUMENTATION
42237AsmBinaryAdd.useSmallHeader(
true);
42240#ifdef DOCUMENTATION
42245 DECLARE_OTHERS(AsmBinaryAdd);
42246#if defined(SgAsmBinaryAdd_OTHERS) || defined(DOCUMENTATION)
42249#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42251 friend class boost::serialization::access;
42254 void serialize(S &s,
const unsigned ) {
42283#ifdef DOCUMENTATION
42292#ifndef DOCUMENTATION
42293AstNodeClass& AsmBinaryExpression = nonTerminalConstructor(
42294 "AsmBinaryExpression",
42296 "AsmBinaryExpression",
42297 "AsmBinaryExpressionTag",
42298 SubclassListBuilder()
42307 | AsmBinaryMultiply
42308 | AsmBinaryPostupdate
42309 | AsmBinaryPreupdate
42311 | AsmBinarySubtract
42313assert(AsmBinaryExpression.associatedGrammar !=
nullptr);
42314AsmBinaryExpression.setCppCondition(
"!defined(DOCUMENTATION)");
42315AsmBinaryExpression.isBoostSerializable(
true);
42316AsmBinaryExpression.setAutomaticGenerationOfConstructor(
false);
42317AsmBinaryExpression.setAutomaticGenerationOfDestructor(
false);
42320#ifndef DOCUMENTATION
42321AsmBinaryExpression.useSmallHeader(
true);
42324#ifdef DOCUMENTATION
42329#ifndef DOCUMENTATION
42330 AsmBinaryExpression.setDataPrototype(
42331 "SgAsmExpression*",
"lhs",
"= nullptr",
42332 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
42335#ifndef DOCUMENTATION
42336 AsmBinaryExpression.setDataPrototype(
42337 "SgAsmExpression*",
"rhs",
"= nullptr",
42338 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
42341 DECLARE_OTHERS(AsmBinaryExpression);
42342#if defined(SgAsmBinaryExpression_OTHERS) || defined(DOCUMENTATION)
42345#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42347 friend class boost::serialization::access;
42350 void serialize(S &s,
const unsigned ) {
42353 s & BOOST_SERIALIZATION_NVP(p_lhs);
42354 s & BOOST_SERIALIZATION_NVP(p_rhs);
42397#ifdef DOCUMENTATION
42406DECLARE_LEAF_CLASS(AsmBasicString);
42407IS_SERIALIZABLE(AsmBasicString);
42409#ifndef DOCUMENTATION
42410AsmBasicString.useSmallHeader(
true);
42413DECLARE_HEADERS(AsmBasicString);
42414#if defined(SgAsmBasicString_HEADERS) || defined(DOCUMENTATION)
42415#include <Rose/BinaryAnalysis/Address.h>
42418#ifdef DOCUMENTATION
42426#ifndef DOCUMENTATION
42427 AsmBasicString.setDataPrototype(
42428 "std::string",
"string",
"",
42429 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
42432 DECLARE_OTHERS(AsmBasicString);
42433#if defined(SgAsmBasicString_OTHERS) || defined(DOCUMENTATION)
42436#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42438 friend class boost::serialization::access;
42441 void serialize(S &s,
const unsigned ) {
42444 s & BOOST_SERIALIZATION_NVP(p_string);
42463 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
42481#ifdef DOCUMENTATION
42490#ifndef DOCUMENTATION
42491AstNodeClass& AsmGenericString = nonTerminalConstructor(
42492 "AsmGenericString",
42494 "AsmGenericString",
42495 "AsmGenericStringTag",
42496 SubclassListBuilder()
42500assert(AsmGenericString.associatedGrammar !=
nullptr);
42501AsmGenericString.setCppCondition(
"!defined(DOCUMENTATION)");
42502AsmGenericString.isBoostSerializable(
true);
42503AsmGenericString.setAutomaticGenerationOfConstructor(
false);
42504AsmGenericString.setAutomaticGenerationOfDestructor(
false);
42507#ifndef DOCUMENTATION
42508AsmGenericString.useSmallHeader(
true);
42511DECLARE_HEADERS(AsmGenericString);
42512#if defined(SgAsmGenericString_HEADERS) || defined(DOCUMENTATION)
42513#include <Rose/BinaryAnalysis/Address.h>
42516#ifdef DOCUMENTATION
42521 DECLARE_OTHERS(AsmGenericString);
42522#if defined(SgAsmGenericString_OTHERS) || defined(DOCUMENTATION)
42525#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42527 friend class boost::serialization::access;
42530 void serialize(S &s,
const unsigned ) {
42555 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
42573#ifdef DOCUMENTATION
42582#ifndef DOCUMENTATION
42583AstNodeClass& AsmExecutableFileFormat = nonTerminalConstructor(
42584 "AsmExecutableFileFormat",
42586 "AsmExecutableFileFormat",
42587 "AsmExecutableFileFormatTag",
42588 SubclassListBuilder()
42589 | AsmCoffSymbolList
42590 | AsmDwarfInformation
42591 | AsmElfDynamicEntry
42592 | AsmElfDynamicEntryList
42593 | AsmElfEHFrameEntryCI
42594 | AsmElfEHFrameEntryCIList
42595 | AsmElfEHFrameEntryFD
42596 | AsmElfEHFrameEntryFDList
42598 | AsmElfNoteEntryList
42600 | AsmElfRelocEntryList
42601 | AsmElfSectionTableEntry
42602 | AsmElfSegmentTableEntry
42603 | AsmElfSegmentTableEntryList
42605 | AsmElfSymverDefinedAux
42606 | AsmElfSymverDefinedAuxList
42607 | AsmElfSymverDefinedEntry
42608 | AsmElfSymverDefinedEntryList
42609 | AsmElfSymverEntry
42610 | AsmElfSymverEntryList
42611 | AsmElfSymverNeededAux
42612 | AsmElfSymverNeededAuxList
42613 | AsmElfSymverNeededEntry
42614 | AsmElfSymverNeededEntryList
42616 | AsmGenericDLLList
42619 | AsmGenericHeaderList
42620 | AsmGenericSection
42621 | AsmGenericSectionList
42625 | AsmGenericSymbolList
42627 | AsmLEPageTableEntry
42628 | AsmLESectionTableEntry
42631 | AsmNESectionTableEntry
42632 | AsmPEExportDirectory
42634 | AsmPEExportEntryList
42635 | AsmPEImportDirectory
42636 | AsmPEImportDirectoryList
42638 | AsmPEImportItemList
42640 | AsmPERVASizePairList
42641 | AsmPESectionTableEntry
42644assert(AsmExecutableFileFormat.associatedGrammar !=
nullptr);
42645AsmExecutableFileFormat.setCppCondition(
"!defined(DOCUMENTATION)");
42646AsmExecutableFileFormat.isBoostSerializable(
true);
42647AsmExecutableFileFormat.setAutomaticGenerationOfConstructor(
false);
42648AsmExecutableFileFormat.setAutomaticGenerationOfDestructor(
false);
42651#ifndef DOCUMENTATION
42652AsmExecutableFileFormat.useSmallHeader(
true);
42655DECLARE_HEADERS(AsmExecutableFileFormat);
42656#if defined(SgAsmExecutableFileFormat_HEADERS) || defined(DOCUMENTATION)
42657#include <Rose/BinaryAnalysis/Address.h>
42658#include <Rose/Exception.h>
42661#ifdef DOCUMENTATION
42666 DECLARE_OTHERS(AsmExecutableFileFormat);
42667#if defined(SgAsmExecutableFileFormat_OTHERS) || defined(DOCUMENTATION)
42670#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42672 friend class boost::serialization::access;
42675 void serialize(S &s,
const unsigned ) {
42677 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
42700 ~ShortRead() throw () {}
42798 ISA_SPARC_V7 = 0x0301,
42799 ISA_SPARC_V8 = 0x0302,
42800 ISA_SPARC_V8E = 0x0303,
42801 ISA_SPARC_V9 = 0x0304,
42802 ISA_SPARC_V9JPS1 = 0x0305,
42803 ISA_SPARC_V9UA = 0x0306,
42804 ISA_SPARC_V9JPS2 = 0x0307,
42808 ISA_M68K_68EC000 = 0x0402,
42809 ISA_M68K_68HC000 = 0x0403,
42810 ISA_M68K_68008 = 0x0404,
42811 ISA_M68K_68010 = 0x0405,
42812 ISA_M68K_68012 = 0x0406,
42814 ISA_M68K_68EC020 = 0x0408,
42815 ISA_M68K_68030 = 0x0409,
42816 ISA_M68K_68EC030 = 0x040a,
42818 ISA_M68K_68EC040 = 0x040c,
42819 ISA_M68K_68LC040 = 0x040d,
42849 ISA_MIPS_R16000A = 0x0613,
42886 ISA_OTHER_Family = 0xf000,
42889 ISA_IBM_System_370 = 0xf002,
42891 ISA_Fujitsu_VPP500 = 0xf004,
42892 ISA_Sun_v8plus = 0xf005,
42893 ISA_PowerPC = 0xf006,
42894 ISA_PowerPC_64bit = 0xf007,
42895 ISA_IBM_S390 = 0xf008,
42896 ISA_NEC_V800_series = 0xf009,
42897 ISA_Fujitsu_FR20 = 0xf00a,
42898 ISA_TRW_RH_32 = 0xf00b,
42899 ISA_Motorola_RCE = 0xf00c,
42900 ISA_Digital_Alpha_fake = 0xf00e,
42901 ISA_Hitachi_SH = 0xf00f,
42902 ISA_Siemens_Tricore = 0xf010,
42903 ISA_Argonaut_RISC_Core = 0xf011,
42904 ISA_Hitachi_H8_300 = 0xf012,
42905 ISA_Hitachi_H8_300H = 0xf013,
42906 ISA_Hitachi_H8S = 0xf014,
42907 ISA_Hitachi_H8_500 = 0xf015,
42908 ISA_Stanford_MIPS_X = 0xf016,
42909 ISA_Motorola_M68HC12 = 0xf017,
42910 ISA_Fujitsu_MMA_Multimedia_Accelerator=0xf018,
42911 ISA_Siemens_PCP = 0xf019,
42912 ISA_Sony_nCPU_embeeded_RISC = 0xf01a,
42913 ISA_Denso_NDR1_microprocessor=0xf01b,
42914 ISA_Motorola_Start_Core_processor=0xf01c,
42915 ISA_Toyota_ME16_processor = 0xf01d,
42916 ISA_STMicroelectronic_ST100_processor=0xf01e,
42917 ISA_Advanced_Logic_Corp_Tinyj_emb_family=0xf01f,
42918 ISA_AMD_x86_64_architecture = 0xf020,
42919 ISA_Sony_DSP_Processor = 0xf021,
42920 ISA_Siemens_FX66_microcontroller=0xf022,
42921 ISA_STMicroelectronics_ST9_plus_8_16_microcontroller=0xf023,
42922 ISA_STMicroelectronics_ST7_8bit_microcontroller=0xf024,
42923 ISA_Motorola_MC68HC16_microcontroller=0xf025,
42924 ISA_Motorola_MC68HC11_microcontroller=0xf026,
42925 ISA_Motorola_MC68HC08_microcontroller=0xf027,
42926 ISA_Motorola_MC68HC05_microcontroller=0xf028,
42927 ISA_Silicon_Graphics_SVx = 0xf029,
42928 ISA_STMicroelectronics_ST19_8bit_microcontroller=0xf02a,
42929 ISA_Digital_VAX = 0xf02b,
42930 ISA_Axis_Communications_32bit_embedded_processor=0xf02c,
42931 ISA_Infineon_Technologies_32bit_embedded_processor=0xf02d,
42932 ISA_Element_14_64bit_DSP_Processor=0xf02e,
42933 ISA_LSI_Logic_16bit_DSP_Processor=0xf02f,
42934 ISA_Donald_Knuths_educational_64bit_processor=0xf030,
42935 ISA_Harvard_University_machine_independent_object_files=0xf031,
42936 ISA_SiTera_Prism = 0xf032,
42937 ISA_Atmel_AVR_8bit_microcontroller=0xf033,
42938 ISA_Fujitsu_FR30 = 0xf034,
42939 ISA_Mitsubishi_D10V = 0xf035,
42940 ISA_Mitsubishi_D30V = 0xf036,
42941 ISA_NEC_v850 = 0xf037,
42942 ISA_Mitsubishi_M32R = 0xf038,
42943 ISA_Matsushita_MN10300 = 0xf039,
42944 ISA_Matsushita_MN10200 = 0xf03a,
42945 ISA_picoJava = 0xf03b,
42946 ISA_OpenRISC_32bit_embedded_processor=0xf03c,
42947 ISA_ARC_Cores_Tangent_A5 = 0xf03d,
42948 ISA_Tensilica_Xtensa_Architecture=0xf03e,
42949 ISA_Digital_Alpha = 0xf03f,
42950 ISA_Matsushita_AM33 = 0xf040,
42951 ISA_EFI_ByteCode = 0xf041
43028#ifdef DOCUMENTATION
43037#ifdef ROSE_ENABLE_ASM_AARCH64
43038DECLARE_LEAF_CLASS(AsmAarch64SysMoveOperand);
43039IS_SERIALIZABLE(AsmAarch64SysMoveOperand);
43041#ifndef DOCUMENTATION
43042AsmAarch64SysMoveOperand.useSmallHeader(
true);
43045DECLARE_HEADERS(AsmAarch64SysMoveOperand);
43046#if defined(SgAsmAarch64SysMoveOperand_HEADERS) || defined(DOCUMENTATION)
43047#ifdef ROSE_ENABLE_ASM_AARCH64
43051#ifdef DOCUMENTATION
43056 DECLARE_OTHERS(AsmAarch64SysMoveOperand);
43057#if defined(SgAsmAarch64SysMoveOperand_OTHERS) || defined(DOCUMENTATION)
43060#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43062 friend class boost::serialization::access;
43065 void serialize(S &s,
const unsigned ) {
43068 s & BOOST_SERIALIZATION_NVP(access_);
43082 unsigned const& access()
const;
43083 void access(
unsigned const&);
43088 virtual ~SgAsmAarch64SysMoveOperand();
43092 SgAsmAarch64SysMoveOperand();
43096 explicit SgAsmAarch64SysMoveOperand(
unsigned const& access);
43107#ifdef DOCUMENTATION
43117#ifdef ROSE_ENABLE_ASM_AARCH64
43118DECLARE_LEAF_CLASS(AsmAarch64PrefetchOperand);
43119IS_SERIALIZABLE(AsmAarch64PrefetchOperand);
43121#ifndef DOCUMENTATION
43122AsmAarch64PrefetchOperand.useSmallHeader(
true);
43125DECLARE_HEADERS(AsmAarch64PrefetchOperand);
43126#if defined(SgAsmAarch64PrefetchOperand_HEADERS) || defined(DOCUMENTATION)
43127#ifdef ROSE_ENABLE_ASM_AARCH64
43129#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
43133#ifdef DOCUMENTATION
43138 DECLARE_OTHERS(AsmAarch64PrefetchOperand);
43139#if defined(SgAsmAarch64PrefetchOperand_OTHERS) || defined(DOCUMENTATION)
43142#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43144 friend class boost::serialization::access;
43147 void serialize(S &s,
const unsigned ) {
43150 s & BOOST_SERIALIZATION_NVP(operation_);
43156 Rose::BinaryAnalysis::Aarch64PrefetchOperation operation_;
43164 Rose::BinaryAnalysis::Aarch64PrefetchOperation
const& operation()
const;
43165 void operation(Rose::BinaryAnalysis::Aarch64PrefetchOperation
const&);
43170 virtual ~SgAsmAarch64PrefetchOperand();
43174 SgAsmAarch64PrefetchOperand();
43178 explicit SgAsmAarch64PrefetchOperand(Rose::BinaryAnalysis::Aarch64PrefetchOperation
const& operation);
43189#ifdef DOCUMENTATION
43199#ifdef ROSE_ENABLE_ASM_AARCH64
43200DECLARE_LEAF_CLASS(AsmAarch64PState);
43201IS_SERIALIZABLE(AsmAarch64PState);
43203#ifndef DOCUMENTATION
43204AsmAarch64PState.useSmallHeader(
true);
43207DECLARE_HEADERS(AsmAarch64PState);
43208#if defined(SgAsmAarch64PState_HEADERS) || defined(DOCUMENTATION)
43209#ifdef ROSE_ENABLE_ASM_AARCH64
43211#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
43215#ifdef DOCUMENTATION
43220 DECLARE_OTHERS(AsmAarch64PState);
43221#if defined(SgAsmAarch64PState_OTHERS) || defined(DOCUMENTATION)
43224#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43226 friend class boost::serialization::access;
43229 void serialize(S &s,
const unsigned ) {
43232 s & BOOST_SERIALIZATION_NVP(pstate_);
43238 Rose::BinaryAnalysis::Aarch64PState pstate_;
43246 Rose::BinaryAnalysis::Aarch64PState
const& pstate()
const;
43247 void pstate(Rose::BinaryAnalysis::Aarch64PState
const&);
43252 virtual ~SgAsmAarch64PState();
43256 SgAsmAarch64PState();
43260 explicit SgAsmAarch64PState(Rose::BinaryAnalysis::Aarch64PState
const& pstate);
43271#ifdef DOCUMENTATION
43281#ifdef ROSE_ENABLE_ASM_AARCH64
43282DECLARE_LEAF_CLASS(AsmAarch64Instruction);
43283IS_SERIALIZABLE(AsmAarch64Instruction);
43285#ifndef DOCUMENTATION
43286AsmAarch64Instruction.useSmallHeader(
true);
43289DECLARE_HEADERS(AsmAarch64Instruction);
43290#if defined(SgAsmAarch64Instruction_HEADERS) || defined(DOCUMENTATION)
43291#ifdef ROSE_ENABLE_ASM_AARCH64
43292#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
43296#ifdef DOCUMENTATION
43301#ifndef DOCUMENTATION
43302 AsmAarch64Instruction.setDataPrototype(
43303 "Rose::BinaryAnalysis::Aarch64InstructionKind",
"kind",
"= Rose::BinaryAnalysis::Aarch64InstructionKind::ARM64_INS_INVALID",
43304 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43307#ifndef DOCUMENTATION
43308 AsmAarch64Instruction.setDataPrototype(
43309 "Rose::BinaryAnalysis::Aarch64InstructionCondition",
"condition",
"= Rose::BinaryAnalysis::Aarch64InstructionCondition::ARM64_CC_INVALID",
43310 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43313#ifndef DOCUMENTATION
43314 AsmAarch64Instruction.setDataPrototype(
43315 "bool",
"updatesFlags",
"= false",
43316 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43319 DECLARE_OTHERS(AsmAarch64Instruction);
43320#if defined(SgAsmAarch64Instruction_OTHERS) || defined(DOCUMENTATION)
43323#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43325 friend class boost::serialization::access;
43328 void serialize(S &s,
const unsigned ) {
43331 s & BOOST_SERIALIZATION_NVP(p_kind);
43332 s & BOOST_SERIALIZATION_NVP(p_condition);
43344 Rose::BinaryAnalysis::Aarch64InstructionKind
const& get_kind()
const;
43345 void set_kind(Rose::BinaryAnalysis::Aarch64InstructionKind
const&);
43352 Rose::BinaryAnalysis::Aarch64InstructionCondition
const& get_condition()
const;
43353 void set_condition(Rose::BinaryAnalysis::Aarch64InstructionCondition
const&);
43360 bool const& get_updatesFlags()
const;
43361 void set_updatesFlags(
bool const&);
43368 virtual ~SgAsmAarch64Instruction();
43372 SgAsmAarch64Instruction();
43377 uint8_t
const& architectureId,
43378 Rose::BinaryAnalysis::Aarch64InstructionKind
const& kind,
43379 Rose::BinaryAnalysis::Aarch64InstructionCondition
const& condition);
43390#ifdef DOCUMENTATION
43400#ifdef ROSE_ENABLE_ASM_AARCH64
43401DECLARE_LEAF_CLASS(AsmAarch64CImmediateOperand);
43402IS_SERIALIZABLE(AsmAarch64CImmediateOperand);
43404#ifndef DOCUMENTATION
43405AsmAarch64CImmediateOperand.useSmallHeader(
true);
43408DECLARE_HEADERS(AsmAarch64CImmediateOperand);
43409#if defined(SgAsmAarch64CImmediateOperand_HEADERS) || defined(DOCUMENTATION)
43410#ifdef ROSE_ENABLE_ASM_AARCH64
43414#ifdef DOCUMENTATION
43419 DECLARE_OTHERS(AsmAarch64CImmediateOperand);
43420#if defined(SgAsmAarch64CImmediateOperand_OTHERS) || defined(DOCUMENTATION)
43423#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43425 friend class boost::serialization::access;
43428 void serialize(S &s,
const unsigned ) {
43431 s & BOOST_SERIALIZATION_NVP(immediate_);
43437 unsigned immediate_;
43445 unsigned const& immediate()
const;
43446 void immediate(
unsigned const&);
43451 virtual ~SgAsmAarch64CImmediateOperand();
43455 SgAsmAarch64CImmediateOperand();
43459 explicit SgAsmAarch64CImmediateOperand(
unsigned const& immediate);
43470#ifdef DOCUMENTATION
43480#ifdef ROSE_ENABLE_ASM_AARCH64
43481DECLARE_LEAF_CLASS(AsmAarch64BarrierOperand);
43482IS_SERIALIZABLE(AsmAarch64BarrierOperand);
43484#ifndef DOCUMENTATION
43485AsmAarch64BarrierOperand.useSmallHeader(
true);
43488DECLARE_HEADERS(AsmAarch64BarrierOperand);
43489#if defined(SgAsmAarch64BarrierOperand_HEADERS) || defined(DOCUMENTATION)
43490#ifdef ROSE_ENABLE_ASM_AARCH64
43492#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
43496#ifdef DOCUMENTATION
43501 DECLARE_OTHERS(AsmAarch64BarrierOperand);
43502#if defined(SgAsmAarch64BarrierOperand_OTHERS) || defined(DOCUMENTATION)
43505#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43507 friend class boost::serialization::access;
43510 void serialize(S &s,
const unsigned ) {
43513 s & BOOST_SERIALIZATION_NVP(operation_);
43519 Rose::BinaryAnalysis::Aarch64BarrierOperation operation_;
43525 Rose::BinaryAnalysis::Aarch64BarrierOperation
const& operation()
const;
43526 void operation(Rose::BinaryAnalysis::Aarch64BarrierOperation
const&);
43531 virtual ~SgAsmAarch64BarrierOperand();
43535 SgAsmAarch64BarrierOperand();
43539 explicit SgAsmAarch64BarrierOperand(Rose::BinaryAnalysis::Aarch64BarrierOperation
const& operation);
43550#ifdef DOCUMENTATION
43560#ifdef ROSE_ENABLE_ASM_AARCH64
43561DECLARE_LEAF_CLASS(AsmAarch64AtOperand);
43562IS_SERIALIZABLE(AsmAarch64AtOperand);
43564#ifndef DOCUMENTATION
43565AsmAarch64AtOperand.useSmallHeader(
true);
43568DECLARE_HEADERS(AsmAarch64AtOperand);
43569#if defined(SgAsmAarch64AtOperand_HEADERS) || defined(DOCUMENTATION)
43570#ifdef ROSE_ENABLE_ASM_AARCH64
43572#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
43576#ifdef DOCUMENTATION
43581 DECLARE_OTHERS(AsmAarch64AtOperand);
43582#if defined(SgAsmAarch64AtOperand_OTHERS) || defined(DOCUMENTATION)
43585#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43587 friend class boost::serialization::access;
43590 void serialize(S &s,
const unsigned ) {
43593 s & BOOST_SERIALIZATION_NVP(operation_);
43599 Rose::BinaryAnalysis::Aarch64AtOperation operation_;
43607 Rose::BinaryAnalysis::Aarch64AtOperation
const& operation()
const;
43608 void operation(Rose::BinaryAnalysis::Aarch64AtOperation
const&);
43613 virtual ~SgAsmAarch64AtOperand();
43617 SgAsmAarch64AtOperand();
43621 explicit SgAsmAarch64AtOperand(Rose::BinaryAnalysis::Aarch64AtOperation
const& operation);
43632#ifdef DOCUMENTATION
43642#ifdef ROSE_ENABLE_ASM_AARCH32
43643DECLARE_LEAF_CLASS(AsmAarch32Instruction);
43644IS_SERIALIZABLE(AsmAarch32Instruction);
43646#ifndef DOCUMENTATION
43647AsmAarch32Instruction.useSmallHeader(
true);
43650DECLARE_HEADERS(AsmAarch32Instruction);
43651#if defined(SgAsmAarch32Instruction_HEADERS) || defined(DOCUMENTATION)
43652#ifdef ROSE_ENABLE_ASM_AARCH32
43653#include <Rose/BinaryAnalysis/InstructionEnumsAarch32.h>
43657#ifdef DOCUMENTATION
43662#ifndef DOCUMENTATION
43663 AsmAarch32Instruction.setDataPrototype(
43664 "Rose::BinaryAnalysis::Aarch32InstructionKind",
"kind",
"= Rose::BinaryAnalysis::Aarch32InstructionKind::ARM_INS_INVALID",
43665 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43668#ifndef DOCUMENTATION
43669 AsmAarch32Instruction.setDataPrototype(
43670 "Rose::BinaryAnalysis::Aarch32InstructionCondition",
"condition",
"= Rose::BinaryAnalysis::Aarch32InstructionCondition::ARM_CC_INVALID",
43671 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43674#ifndef DOCUMENTATION
43675 AsmAarch32Instruction.setDataPrototype(
43676 "bool",
"updatesFlags",
"= false",
43677 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43680#ifndef DOCUMENTATION
43681 AsmAarch32Instruction.setDataPrototype(
43682 "bool",
"writesBack",
"= false",
43683 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43686#ifndef DOCUMENTATION
43687 AsmAarch32Instruction.setDataPrototype(
43688 "bool",
"writesToIp",
"= false",
43689 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43692 DECLARE_OTHERS(AsmAarch32Instruction);
43693#if defined(SgAsmAarch32Instruction_OTHERS) || defined(DOCUMENTATION)
43696#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43698 friend class boost::serialization::access;
43701 void serialize(S &s,
const unsigned ) {
43704 s & BOOST_SERIALIZATION_NVP(p_kind);
43705 s & BOOST_SERIALIZATION_NVP(p_condition);
43706 s & BOOST_SERIALIZATION_NVP(p_updatesFlags);
43707 s & BOOST_SERIALIZATION_NVP(p_writesBack);
43708 s & BOOST_SERIALIZATION_NVP(p_writesToIp);
43720 Rose::BinaryAnalysis::Aarch32InstructionKind
const& get_kind()
const;
43721 void set_kind(Rose::BinaryAnalysis::Aarch32InstructionKind
const&);
43730 Rose::BinaryAnalysis::Aarch32InstructionCondition
const& get_condition()
const;
43731 void set_condition(Rose::BinaryAnalysis::Aarch32InstructionCondition
const&);
43738 bool const& get_updatesFlags()
const;
43739 void set_updatesFlags(
bool const&);
43746 bool const& get_writesBack()
const;
43747 void set_writesBack(
bool const&);
43757 bool const& get_writesToIp()
const;
43758 void set_writesToIp(
bool const&);
43765 virtual ~SgAsmAarch32Instruction();
43769 SgAsmAarch32Instruction();
43774 uint8_t
const& architectureId,
43775 Rose::BinaryAnalysis::Aarch32InstructionKind
const& kind,
43776 Rose::BinaryAnalysis::Aarch32InstructionCondition
const& condition);
43787#ifdef DOCUMENTATION
43797#ifndef DOCUMENTATION
43798AstNodeClass& AsmInstruction = nonTerminalConstructor(
43802 "AsmInstructionTag",
43803 SubclassListBuilder()
43804#ifdef ROSE_ENABLE_ASM_AARCH32
43805 | AsmAarch32Instruction
43807#ifdef ROSE_ENABLE_ASM_AARCH64
43808 | AsmAarch64Instruction
43810 | AsmCilInstruction
43811 | AsmJvmInstruction
43812 | AsmM68kInstruction
43813 | AsmMipsInstruction
43814 | AsmNullInstruction
43815 | AsmPowerpcInstruction
43816 | AsmUserInstruction
43817 | AsmX86Instruction
43819assert(AsmInstruction.associatedGrammar !=
nullptr);
43820AsmInstruction.setCppCondition(
"!defined(DOCUMENTATION)");
43821AsmInstruction.isBoostSerializable(
true);
43822AsmInstruction.setAutomaticGenerationOfConstructor(
false);
43823AsmInstruction.setAutomaticGenerationOfDestructor(
false);
43826#ifndef DOCUMENTATION
43827AsmInstruction.useSmallHeader(
true);
43830DECLARE_HEADERS(AsmInstruction);
43831#if defined(SgAsmInstruction_HEADERS) || defined(DOCUMENTATION)
43832#include <Rose/BinaryAnalysis/Address.h>
43833#include <Rose/BinaryAnalysis/Architecture/BasicTypes.h>
43834#include <Rose/BinaryAnalysis/MemoryMap.h>
43835#include <sageContainer.h>
43836#include <Sawyer/Cached.h>
43838#ifdef ROSE_SgAsmInstruction_IMPL
43839#include <SgAsmExprListExp.h>
43840#include <SgAsmOperandList.h>
43844#ifdef DOCUMENTATION
43869#ifndef DOCUMENTATION
43870 AsmInstruction.setDataPrototype(
43871 "uint8_t",
"architectureId",
"",
43872 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43875#ifndef DOCUMENTATION
43876 AsmInstruction.setDataPrototype(
43877 "SgUnsignedCharList",
"rawBytes",
"",
43878 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43881#ifndef DOCUMENTATION
43882 AsmInstruction.setDataPrototype(
43883 "SgAsmOperandList*",
"operandList",
"= nullptr",
43884 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
43887#ifndef DOCUMENTATION
43888 AsmInstruction.setDataPrototype(
43889 "SgAsmInstruction*",
"delaySlot",
"= nullptr",
43890 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43893#ifndef DOCUMENTATION
43894 AsmInstruction.setDataPrototype(
43895 "SgAsmExprListExp*",
"semantics",
"= nullptr",
43896 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
43899 DECLARE_OTHERS(AsmInstruction);
43900#if defined(SgAsmInstruction_OTHERS) || defined(DOCUMENTATION)
43903#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43905 friend class boost::serialization::access;
43908 void serialize(S &s,
const unsigned ) {
43912 auto temp = architectureIdSerialize(p_architectureId);
43913 s & boost::serialization::make_nvp(
"p_architectureId", temp);
43914 p_architectureId = architectureIdDeserialize(temp);
43916 s & BOOST_SERIALIZATION_NVP(p_rawBytes);
43917 s & BOOST_SERIALIZATION_NVP(p_operandList);
43918 s & BOOST_SERIALIZATION_NVP(p_delaySlot);
43919 userSerializeBoost(s);
43927 struct SemanticFailure {
43929 SemanticFailure(): n(0) {}
43931#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43933 friend class boost::serialization::access;
43935 void serialize(S &s,
const unsigned ) {
43936 s & BOOST_SERIALIZATION_NVP(n);
43961 std::string architectureIdSerialize(uint8_t
id)
const;
43962 uint8_t architectureIdDeserialize(
const std::string &name)
const;
44016 SemanticFailure semanticFailure_;
44047 virtual std::
string description() const final ROSE_DEPRECATED("use Architecture::Base::instructionDescription");
44058 virtual
bool terminatesBasicBlock() final ROSE_DEPRECATED("use Architecture::Base::terminatesBasicBlock");
44059 virtual
bool isFunctionCallFast(const std::vector<
SgAsmInstruction*>&,
Rose::BinaryAnalysis::Address *target,
44060 Rose::BinaryAnalysis::Address *ret) final
44061 ROSE_DEPRECATED("use Architecture::Base::isFunctionCallFast");
44062 virtual
bool isFunctionCallSlow(const std::vector<
SgAsmInstruction*>&,
Rose::BinaryAnalysis::Address *target,
44063 Rose::BinaryAnalysis::Address *ret) final
44064 ROSE_DEPRECATED("use Architecture::Base::isFunctionCallSlow");
44065 virtual
bool isFunctionReturnFast(const std::vector<
SgAsmInstruction*>&) final
44066 ROSE_DEPRECATED("use Architecture::Base::isFunctionReturnFast");
44067 virtual
bool isFunctionReturnSlow(const std::vector<
SgAsmInstruction*>&) final
44068 ROSE_DEPRECATED("use Architecture::Base::isFunctionReturnSlow");
44069 virtual
Sawyer::Optional<
Rose::BinaryAnalysis::Address> branchTarget() final
44070 ROSE_DEPRECATED("use Architecture::Base::branchTarget");
44227 bool relax_stack_semantics=false);
44238 virtual std::vector<std::pair<
size_t,
size_t> >
44240 bool relax_stack_semantics=false);
44243 virtual
Rose::BinaryAnalysis::AddressSet getSuccessors(
bool &complete)
44244 ROSE_DEPRECATED("use Architecture::Base::getSuccessors");
44245 virtual
Rose::BinaryAnalysis::AddressSet getSuccessors(const std::vector<
SgAsmInstruction*> &basicBlock,
44247 const
Rose::BinaryAnalysis::MemoryMap::Ptr &initial_memory =
44248 Rose::BinaryAnalysis::MemoryMap::Ptr())
44249 ROSE_DEPRECATED("use Architecture::Base::getSuccessors");
44259 virtual
bool isUnknown() const final ROSE_DEPRECATED("use Architecture::Base::isUnknown");
44339#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44342 void userSerializeBoost(S &s) {
44343 s & BOOST_SERIALIZATION_NVP(semanticFailure_);
44352 const SgUnsignedCharList& get_raw_bytes() const ROSE_DEPRECATED("use
get_rawBytes");
44353 void set_raw_bytes(const SgUnsignedCharList&) ROSE_DEPRECATED("use
set_rawBytes");
44365 uint8_t const& architectureId);
44376#ifdef DOCUMENTATION
44385#ifndef DOCUMENTATION
44386AstNodeClass& AsmStatement = nonTerminalConstructor(
44391 SubclassListBuilder()
44395 | AsmSynthesizedDeclaration
44397assert(AsmStatement.associatedGrammar !=
nullptr);
44398AsmStatement.setCppCondition(
"!defined(DOCUMENTATION)");
44399AsmStatement.isBoostSerializable(
true);
44400AsmStatement.setAutomaticGenerationOfConstructor(
false);
44401AsmStatement.setAutomaticGenerationOfDestructor(
false);
44404#ifndef DOCUMENTATION
44405AsmStatement.useSmallHeader(
true);
44408DECLARE_HEADERS(AsmStatement);
44409#if defined(SgAsmStatement_HEADERS) || defined(DOCUMENTATION)
44410#include <Rose/BinaryAnalysis/Address.h>
44413#ifdef DOCUMENTATION
44421#ifndef DOCUMENTATION
44422 AsmStatement.setDataPrototype(
44423 "Rose::BinaryAnalysis::Address",
"address",
"= 0",
44424 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44427#ifndef DOCUMENTATION
44428 AsmStatement.setDataPrototype(
44429 "std::string",
"comment",
"",
44430 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44433 DECLARE_OTHERS(AsmStatement);
44434#if defined(SgAsmStatement_OTHERS) || defined(DOCUMENTATION)
44437#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44439 friend class boost::serialization::access;
44442 void serialize(S &s,
const unsigned ) {
44444 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
44445 s & BOOST_SERIALIZATION_NVP(p_address);
44446 s & BOOST_SERIALIZATION_NVP(p_comment);
44490#ifdef DOCUMENTATION
44499DECLARE_LEAF_CLASS(AsmAarch32Coprocessor);
44500IS_SERIALIZABLE(AsmAarch32Coprocessor);
44502#ifndef DOCUMENTATION
44503AsmAarch32Coprocessor.useSmallHeader(
true);
44506#ifdef DOCUMENTATION
44511 DECLARE_OTHERS(AsmAarch32Coprocessor);
44512#if defined(SgAsmAarch32Coprocessor_OTHERS) || defined(DOCUMENTATION)
44515#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44517 friend class boost::serialization::access;
44520 void serialize(S &s,
const unsigned ) {
44523 s & BOOST_SERIALIZATION_NVP(coprocessor_);
44560#ifdef DOCUMENTATION
44569#ifndef DOCUMENTATION
44570AstNodeClass& AsmExpression = nonTerminalConstructor(
44574 "AsmExpressionTag",
44575 SubclassListBuilder()
44576 | AsmAarch32Coprocessor
44577#ifdef ROSE_ENABLE_ASM_AARCH64
44578 | AsmAarch64AtOperand
44580#ifdef ROSE_ENABLE_ASM_AARCH64
44581 | AsmAarch64BarrierOperand
44583#ifdef ROSE_ENABLE_ASM_AARCH64
44584 | AsmAarch64CImmediateOperand
44586#ifdef ROSE_ENABLE_ASM_AARCH64
44589#ifdef ROSE_ENABLE_ASM_AARCH64
44590 | AsmAarch64PrefetchOperand
44592#ifdef ROSE_ENABLE_ASM_AARCH64
44593 | AsmAarch64SysMoveOperand
44595 | AsmBinaryExpression
44597 | AsmCommonSubExpression
44598 | AsmControlFlagsExpression
44600 | AsmMemoryReferenceExpression
44602 | AsmRegisterReferenceExpression
44604 | AsmStackExpression
44605 | AsmUnaryExpression
44606 | AsmValueExpression
44608assert(AsmExpression.associatedGrammar !=
nullptr);
44609AsmExpression.setCppCondition(
"!defined(DOCUMENTATION)");
44610AsmExpression.isBoostSerializable(
true);
44611AsmExpression.setAutomaticGenerationOfConstructor(
false);
44612AsmExpression.setAutomaticGenerationOfDestructor(
false);
44615#ifndef DOCUMENTATION
44616AsmExpression.useSmallHeader(
true);
44619#ifdef DOCUMENTATION
44624#ifndef DOCUMENTATION
44625 AsmExpression.setDataPrototype(
44626 "SgAsmType*",
"type",
"= nullptr",
44627 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44630#ifndef DOCUMENTATION
44631 AsmExpression.setDataPrototype(
44632 "std::string",
"comment",
"",
44633 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44636 DECLARE_OTHERS(AsmExpression);
44637#if defined(SgAsmExpression_OTHERS) || defined(DOCUMENTATION)
44640#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44642 friend class boost::serialization::access;
44645 void serialize(S &s,
const unsigned ) {
44647 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
44648 s & BOOST_SERIALIZATION_NVP(p_type);
44649 s & BOOST_SERIALIZATION_NVP(p_comment);
44718#ifdef DOCUMENTATION
44727#ifndef DOCUMENTATION
44728AstNodeClass& AsmNode = nonTerminalConstructor(
44733 SubclassListBuilder()
44735 | AsmExecutableFileFormat
44737 | AsmGenericFileList
44738 | AsmInstructionList
44739 | AsmInterpretation
44740 | AsmInterpretationList
44746assert(AsmNode.associatedGrammar !=
nullptr);
44747AsmNode.setCppCondition(
"!defined(DOCUMENTATION)");
44748AsmNode.isBoostSerializable(
true);
44749AsmNode.setAutomaticGenerationOfConstructor(
false);
44750AsmNode.setAutomaticGenerationOfDestructor(
false);
44753#ifndef DOCUMENTATION
44754AsmNode.useSmallHeader(
true);
44757DECLARE_HEADERS(AsmNode);
44758#if defined(SgAsmNode_HEADERS) || defined(DOCUMENTATION)
44759#include <Sawyer/Attribute.h>
44760#include <boost/format.hpp>
44763#ifdef DOCUMENTATION
44768 DECLARE_OTHERS(AsmNode);
44769#if defined(SgAsmNode_OTHERS) || defined(DOCUMENTATION)
44772#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44774 friend class boost::serialization::access;
44777 void serialize(S &s,
const unsigned ) {
44779 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgNode);
44819#ifdef DOCUMENTATION
44823#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::BinaryAnalysis::Address) 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_id(Rose::BinaryAnalysis::Address const &)
Property: Identification.
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.
Rose::BinaryAnalysis::Address const & get_id() const
Property: Identification.
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.
Rose::BinaryAnalysis::Address get_fallthroughVa()
Fall-through virtual address.
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.
SgAsmBlock *const & get_immediateDominator() const
Property: Holds the immediate dominator block in the control flow graph.
bool isFunctionCall(Rose::BinaryAnalysis::Address &target_va, Rose::BinaryAnalysis::Address &return_va)
Returns true if basic block appears to be a function call.
void set_successors(SgAsmIntegerValuePtrList const &)
Property: Control flow successors.
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.
Property class representing CIL Exception clauses (II.25.4.6).
SgAsmCilExceptionData()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmCilExceptionData()
Destructor.
bool isFault() const
Convenience functions to query the flags property.
bool isFilter() const
Convenience functions to query the flags property.
bool isException() const
Convenience functions to query the flags property.
bool isFinally() const
Convenience functions to query the flags property.
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::BinaryAnalysis::Address 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.
Property class representing CIL Extra Sections (II.25.4.5).
virtual ~SgAsmCilMethodData()
Destructor.
SgAsmCilMethodData()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
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.
std::vector< SgAsmCilMethodData * > & get_methodData()
Property: methodData (II.24.4.5).
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.
uint16_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.
void set_localVarSigTok(uint32_t const &)
Property: localVarSigTok (II.24.4.3).
SgAsmBlock *const & get_body() const
Property: body.
void set_RVA(uint32_t const &)
Property: RVA.
bool const & get_hasMoreSections() const
Property: hasMoreSections.
uint32_t const & get_localVarSigTok() const
Property: localVarSigTok (II.24.4.3).
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.
std::vector< SgAsmCilMethodData * > const & get_methodData() const
Property: methodData (II.24.4.5).
void set_initLocals(bool const &)
Property: initLocals.
void set_ImplFlags(uint16_t const &)
Property: ImplFlags.
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.
void set_st_name_offset(Rose::BinaryAnalysis::Address 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.
Rose::BinaryAnalysis::Address const & get_st_name_offset() const
Property: Symbol name offset.
SgUnsignedCharList const & get_auxiliaryData() const
Property: Auxilliary data.
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::BinaryAnalysis::Address 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_addr(Rose::BinaryAnalysis::Address const &)
Property: PRH address.
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.
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.
Rose::BinaryAnalysis::Address const & get_prh_addr() const
Property: PRH address.
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.
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.
Rose::BinaryAnalysis::Address const & get_size() const
Property: Size in bytes.
SgUnsignedCharList const & get_instructions() const
Property: Instructions.
virtual ~SgAsmElfEHFrameEntryFD()
Destructor.
void set_size(Rose::BinaryAnalysis::Address const &)
Property: Size in bytes.
Rose::BinaryAnalysis::RelativeVirtualAddress const & get_begin_rva() const
Property: Beginning relative virtual address.
void initializeProperties()
Initialize all properties that have explicit initial values.
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 ~SgAsmElfEHFrameSection()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual Rose::BinaryAnalysis::Address 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 * parse() override
Initialize by parsing a file.
SgAsmElfEHFrameSection()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
Rose::BinaryAnalysis::Address unparse(std::ostream *) const
Unparses the section into the optional output stream and returns the number of bytes written.
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.
Rose::BinaryAnalysis::Address unparse(std::ostream &f, Rose::BinaryAnalysis::Address starting_offset)
Write a note at the specified offset to the section containing the note.
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::BinaryAnalysis::Address parse(Rose::BinaryAnalysis::Address 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::BinaryAnalysis::Address 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.
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 * 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.
void set_r_addend(Rose::BinaryAnalysis::Address const &)
Property: Addend.
Rose::BinaryAnalysis::Address const & get_r_offset() const
Property: Offset.
SgAsmElfRelocEntry(SgAsmElfRelocSection *)
Constructor that adds the new entry to the relocation table.
Rose::BinaryAnalysis::Address 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_r_offset(Rose::BinaryAnalysis::Address const &)
Property: Offset.
void set_type(SgAsmElfRelocEntry::RelocType const &)
Property: Type.
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 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.
virtual Rose::BinaryAnalysis::Address calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *entcount) const override
Return sizes for various parts of the table.
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::BinaryAnalysis::Address const & get_sh_addr() const
Property: sh_addr.
Rose::BinaryAnalysis::Address const & get_sh_addralign() const
Property: sh_addralign.
Rose::BinaryAnalysis::Address const & get_sh_size() const
Property: sh_size.
void set_sh_flags(uint64_t const &)
Property: sh_flags.
unsigned long const & get_sh_link() const
Property: sh_link.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const
Print some debugging info.
void set_sh_size(Rose::BinaryAnalysis::Address const &)
Property: sh_size.
uint64_t const & get_sh_flags() const
Property: sh_flags.
unsigned const & get_sh_name() const
Property: sh_name.
Rose::BinaryAnalysis::Address const & get_sh_offset() const
Property: sh_offset.
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::BinaryAnalysis::Address const & get_sh_entsize() const
Property: sh_entsize.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_sh_entsize(Rose::BinaryAnalysis::Address const &)
Property: sh_entsize.
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.
void set_sh_addralign(Rose::BinaryAnalysis::Address const &)
Property: sh_addralign.
SgAsmElfSectionTableEntry()
Default constructor.
void set_sh_addr(Rose::BinaryAnalysis::Address const &)
Property: sh_addr.
void set_extra(SgUnsignedCharList const &)
Property: Extra bytes not officially part of the table entry.
void set_sh_type(SgAsmElfSectionTableEntry::SectionType const &)
Property: sh_type.
void set_sh_offset(Rose::BinaryAnalysis::Address const &)
Property: sh_offset.
void set_sh_name(unsigned const &)
Property: sh_name.
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.
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.
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.
Rose::BinaryAnalysis::Address 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 SgAsmElfSectionTable * parse() override
Parses an ELF Section Table.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmElfSectionTable(SgAsmElfFileHeader *)
Constructor creates section table within the AST.
Base class for ELF file sections.
SgAsmElfSection *const & get_linkedSection() const
Property: Linked section.
Rose::BinaryAnalysis::Address 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.
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.
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.
virtual Rose::BinaryAnalysis::Address calculateSizes(size_t *entsize, size_t *required, size_t *optional, size_t *entcount) const
Base implementation for calculating sizes.
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.
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.
Rose::BinaryAnalysis::Address const & get_paddr() const
Property: ELF paddr field.
SgAsmElfSegmentTableEntry::SegmentType const & get_type() const
Property: Segment type.
void set_offset(Rose::BinaryAnalysis::Address const &)
Property: Offset of segment in the file.
void set_vaddr(Rose::BinaryAnalysis::Address const &)
Property: Virtual address.
Rose::BinaryAnalysis::Address const & get_vaddr() const
Property: Virtual address.
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::BinaryAnalysis::Address const & get_memsz() const
Property: Size of segment in memory.
void * encode(Rose::BinaryAnalysis::ByteOrder::Endianness, SgAsmElfSegmentTableEntry::Elf64SegmentTableEntry_disk *) const
Converts segment table entry back into disk structure.
virtual ~SgAsmElfSegmentTableEntry()
Destructor.
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_paddr(Rose::BinaryAnalysis::Address const &)
Property: ELF paddr field.
void set_filesz(Rose::BinaryAnalysis::Address const &)
Property: Size of segment in file.
Rose::BinaryAnalysis::Address const & get_align() const
Property: Alignment.
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_align(Rose::BinaryAnalysis::Address const &)
Property: Alignment.
Rose::BinaryAnalysis::Address const & get_offset() const
Property: Offset of segment in the file.
Rose::BinaryAnalysis::Address const & get_filesz() const
Property: Size of segment in file.
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_memsz(Rose::BinaryAnalysis::Address const &)
Property: Size of segment in memory.
void set_type(SgAsmElfSegmentTableEntry::SegmentType const &)
Property: Segment type.
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.
Represents an ELF segment table.
virtual void unparse(std::ostream &) const override
Write the segment table to disk.
Rose::BinaryAnalysis::Address 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.
virtual void set_size(Rose::BinaryAnalysis::Address newsize) override
Adjust size of table.
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 ~SgAsmElfStringSection()
Destructor.
virtual bool reallocate() override
Reallocate space for the string section if necessary.
SgAsmElfStrtab()
Default constructor.
SgAsmElfStrtab(class SgAsmElfSection *containing_section)
Non-parsing constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual Rose::BinaryAnalysis::Address get_storageSize(const SgAsmStringStorage *) override
Returns the number of bytes required to store the string in the string table.
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 void allocateOverlap(SgAsmStringStorage *) override
Find offset for a string.
virtual void rebind(SgAsmStringStorage *, Rose::BinaryAnalysis::Address) override
Similar to create_storage but uses a storage object that's already been allocated.
virtual SgAsmStringStorage * createStorage(Rose::BinaryAnalysis::Address offset, bool shared) override
Creates the storage item for the string at the specified offset.
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 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.
virtual Rose::BinaryAnalysis::Address calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
void initializeProperties()
Initialize all properties that have explicit initial values.
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.
Rose::BinaryAnalysis::Address const & get_st_size() const
Property: size.
SgAsmElfSymbol::ElfSymBinding get_elfBinding() const
Returns binding as an enum constant.
SgUnsignedCharList const & get_extra() const
Property: Extra data.
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.
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 set_st_size(Rose::BinaryAnalysis::Address const &)
Property: size.
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.
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.
virtual Rose::BinaryAnalysis::Address calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
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::BinaryAnalysis::Address 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 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 Rose::BinaryAnalysis::Address calculateSizes(size_t *total, size_t *required, size_t *optional, size_t *nentries) const override
Return sizes for various parts of the table.
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.
virtual std::string toString() const
Converts an expression to a string.
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.
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.
size_t get_extent(Rose::BinaryAnalysis::AddressIntervalSet *emap=NULL, Rose::BinaryAnalysis::Address *lo_addr=NULL, Rose::BinaryAnalysis::Address *hi_addr=NULL, NodeSelector *selector=NULL)
Returns information about the function addresses.
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_entryVa(Rose::BinaryAnalysis::Address const &)
Property: Primary entry address.
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.
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.
Rose::BinaryAnalysis::Address const & get_entryVa() const
Property: Primary entry address.
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.
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.
Rose::BinaryAnalysis::Address get_nextSectionOffset(Rose::BinaryAnalysis::Address offset)
File offset of next section.
SgAsmGenericSection * get_sectionByRva(Rose::BinaryAnalysis::Address rva, size_t *nfound=0) const
Find section by address.
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.
void dumpAll(const std::string &dumpname)
Print text file containing all known information about a binary file.
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.
void set_truncateZeros(bool const &)
Property: Whether to truncate zeros on writes.
SgAsmGenericSection * get_sectionByVa(Rose::BinaryAnalysis::Address va, size_t *nfound=0) const
Find section by address.
SgFileContentList content(Rose::BinaryAnalysis::Address offset, Rose::BinaryAnalysis::Address size)
Returns a vector that points to part of the file.
size_t readContent(Rose::BinaryAnalysis::Address offset, void *dst_buf, Rose::BinaryAnalysis::Address size, bool strict=true)
Reads data from a file.
SgAsmGenericSectionPtrList get_sectionsByName(std::string, char sep='\0') const
Returns all sections having specified name across all headers, including headers and holes.
const char * formatName() const
Return a string describing the file format.
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.
Rose::BinaryAnalysis::Address get_currentSize() const
Returns current size of file based on section with highest ending address.
void addHeader(SgAsmGenericHeader *)
Adds a new header to the file.
SgAsmGenericSectionPtrList get_sectionsByOffset(Rose::BinaryAnalysis::Address offset, Rose::BinaryAnalysis::Address size) const
Find sections by their offset.
void markReferencedExtent(Rose::BinaryAnalysis::Address start_rva, Rose::BinaryAnalysis::Address size)
Marks part of a file as having been referenced if tracking references.
void dumpAll(bool in_cwd=true, const char *ext=NULL)
Print text file containing all known information about a binary file.
SgAsmGenericSection * get_sectionByOffset(Rose::BinaryAnalysis::Address offset, Rose::BinaryAnalysis::Address size, size_t *nfound=0) const
Find section by file offset.
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.
std::string readContentString(Rose::BinaryAnalysis::Address abs_offset, bool strict=true)
Reads a string from a file.
std::string readContentString(const Rose::BinaryAnalysis::MemoryMap::Ptr &, Rose::BinaryAnalysis::Address va, bool strict=true)
Reads a string from a file.
static SgAsmGenericSection * bestSectionByVa(const SgAsmGenericSectionPtrList §ions, Rose::BinaryAnalysis::Address va)
Definition for "best".
Rose::BinaryAnalysis::Address get_originalSize() const
Returns original size of file, based on file system.
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.
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.
SgAsmGenericSectionPtrList get_sectionsByVa(Rose::BinaryAnalysis::Address va) const
Find sections by address.
Rose::BinaryAnalysis::AddressIntervalSet const & get_referencedExtents() const
Property: Addresses referenced during parsing.
SgAsmGenericSectionPtrList get_sectionsByRva(Rose::BinaryAnalysis::Address rva) const
Find sections by address.
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.
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.
size_t readContent(const Rose::BinaryAnalysis::MemoryMap::Ptr &, Rose::BinaryAnalysis::Address va, void *dst_buf, Rose::BinaryAnalysis::Address size, bool strict=true)
Reads data from 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.
void shiftExtend(SgAsmGenericSection *, Rose::BinaryAnalysis::Address sa, Rose::BinaryAnalysis::Address sn, AddressSpace, Elasticity)
Moves and enlarges a section.
void shiftExtend(SgAsmGenericSection *s, Rose::BinaryAnalysis::Address sa, Rose::BinaryAnalysis::Address sn)
Moves and enlarges a section.
const SgFileContentList & content()
Property: Entire file contents.
SgAsmGenericSection * get_bestSectionByVa(Rose::BinaryAnalysis::Address va, size_t *nfound=0) const
Find section by address.
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 readContent(const Rose::BinaryAnalysis::MemoryMap::Ptr &, const Rose::BinaryAnalysis::RelativeVirtualAddress &start, void *dst_buf, Rose::BinaryAnalysis::Address size, bool strict=true)
Reads data from a file.
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::BinaryAnalysis::AddressIntervalSet get_unreferencedExtents() const
Returns a list of parts of a single section that have not been referenced.
virtual void set_mappedSize(Rose::BinaryAnalysis::Address)
Property: Mapped size.
std::string readContentLocalString(Rose::BinaryAnalysis::Address rel_offset, bool strict=true)
Reads a string from the file.
Extent get_fileExtent() const
Returns the file extent for the section.
Rose::BinaryAnalysis::Address const & get_mappedPreferredRva() const
Property: Relative virtual address where section prefers to be mapped.
Rose::BinaryAnalysis::Address const & get_mappedActualVa() const
Property: Virtual address where ROSE maps this section.
size_t readContentLocal(Rose::BinaryAnalysis::Address rel_offset, void *dst_buf, Rose::BinaryAnalysis::Address size, bool strict=true)
Reads data from a file.
virtual void destructorHelper() override
This gets called by all Rosebud-generated destructors.
void set_name(SgAsmGenericString *s)
Property: Non-unique name of section.
Rose::BinaryAnalysis::Address get_mappedPreferredVa() const
Virtual address where section prefers to be mapped.
Rose::BinaryAnalysis::Address get_size() const
Property: Size of section in file in bytes.
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.
void set_mappedActualVa(Rose::BinaryAnalysis::Address const &)
Property: Virtual address where ROSE maps this section.
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 extend(Rose::BinaryAnalysis::Address nbytes)
Extend a section by some number of bytes during the construction and/or parsing phase.
void set_header(SgAsmGenericHeader *const &)
Property: File header that owns this section.
Rose::BinaryAnalysis::Address writeSleb128(unsigned char *, Rose::BinaryAnalysis::Address offset, int64_t) const
Write a signed little-endian 128-bit value.
size_t readContent(Rose::BinaryAnalysis::Address abs_offset, void *dst_buf, Rose::BinaryAnalysis::Address size, bool strict=true)
Reads data from a file.
Rose::BinaryAnalysis::Address get_endOffset() const
File offset for end of section.
virtual void set_offset(Rose::BinaryAnalysis::Address)
Property: Offset to start of section in file.
void set_id(int const &)
Property: Non-unique section ID or negative.
std::string readContentString(Rose::BinaryAnalysis::Address abs_offset, bool strict=true)
Reads a string from the file.
bool align()
Increase file offset and mapping address to satisfy alignment constraints.
Rose::BinaryAnalysis::Address write(std::ostream &, Rose::BinaryAnalysis::Address offset, const SgFileContentList &buf) const
Write data to a file section.
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.
Rose::BinaryAnalysis::Address const & get_mappedSize() const
Property: Mapped size.
void set_mappedAlignment(Rose::BinaryAnalysis::Address const &)
Property: Alignment in virtual memory.
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.
Rose::BinaryAnalysis::Address write(std::ostream &, Rose::BinaryAnalysis::Address offset, char c) const
Write data to a file 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 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.
Rose::BinaryAnalysis::Address get_vaOffset(Rose::BinaryAnalysis::Address va) const
File offset for specified virtual address.
void set_synthesized(bool const &)
Property: Whether section really exists.
Rose::BinaryAnalysis::Address const & get_fileAlignment() const
Property: Required file alignment.
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.
Extent get_mappedPreferredExtent() const
Returns the memory extent for a mapped section.
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.
Rose::BinaryAnalysis::Address get_offset() const
Property: Offset to start of section in file.
Rose::BinaryAnalysis::Address writeUleb128(unsigned char *, Rose::BinaryAnalysis::Address offset, uint64_t) const
Write an unsigned little-endian 128-bit value.
Rose::BinaryAnalysis::Address write(std::ostream &, Rose::BinaryAnalysis::Address offset, const std::string &str) const
Write data to a file section.
Rose::BinaryAnalysis::Address get_rvaOffset(Rose::BinaryAnalysis::Address rva) const
File offset for specified relative virtual address.
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::BinaryAnalysis::Address write(std::ostream &, Rose::BinaryAnalysis::Address offset, size_t bufsize, const void *buf) const
Write data to a file section.
size_t readContent(const Rose::BinaryAnalysis::MemoryMap::Ptr &, Rose::BinaryAnalysis::Address start, void *dst_buf, Rose::BinaryAnalysis::Address size, bool strict=true)
Reads data from a file.
SgUnsignedCharList readContentLocalUcl(Rose::BinaryAnalysis::Address rel_offset, Rose::BinaryAnalysis::Address size)
Reads content of a section and returns it as a container.
bool const & get_mappedWritePermission() const
Property: Whether mapped with write permission.
int64_t readContentLocalSleb128(Rose::BinaryAnalysis::Address *rel_offset, bool strict=true)
Read a signed little-endian 128-bit value.
std::string readContentString(const Rose::BinaryAnalysis::MemoryMap::Ptr &, Rose::BinaryAnalysis::Address va, bool strict=true)
Reads a string from the file.
uint64_t readContentLocalUleb128(Rose::BinaryAnalysis::Address *rel_offset, bool strict=true)
Read an unsigned little-endian 128-bit value.
virtual void set_mappedPreferredRva(Rose::BinaryAnalysis::Address)
Property: Relative virtual address where section prefers to be mapped.
Rose::BinaryAnalysis::AddressIntervalSet get_referencedExtents() const
Returns a list of parts of a single section that have been referenced.
virtual void set_size(Rose::BinaryAnalysis::Address)
Property: Size of section in file in bytes.
SgAsmGenericSection(SgAsmGenericFile *, SgAsmGenericHeader *)
Constructor linking object into ASt.
void set_fileAlignment(Rose::BinaryAnalysis::Address const &)
Property: Required file alignment.
Rose::BinaryAnalysis::Address get_baseVa() const
Base virtual address for a section.
Rose::BinaryAnalysis::Address const & get_mappedAlignment() const
Property: Alignment in virtual memory.
virtual bool reallocate()
Called prior to unparse to make things consistent.
Rose::BinaryAnalysis::Address write(std::ostream &, Rose::BinaryAnalysis::Address offset, const SgUnsignedCharList &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.
static const Rose::BinaryAnalysis::Address unallocated
Constant for addresses of unallocated strings.
virtual void set_string(Rose::BinaryAnalysis::Address)
Property: String value.
virtual ~SgAsmGenericString()
Destructor.
virtual void set_string(const std::string &s)
Property: String value.
SgAsmGenericString()
Default constructor.
Base class for string tables.
void free(SgAsmStringStorage *)
Free area of this string table that corresponds to the string currently stored.
Rose::BinaryAnalysis::AddressIntervalSet const & get_freeList() const
Property: Free space list.
void set_dontFree(SgAsmStringStorage *const &)
Property: Space that should never be freed.
SgAsmStoredString * createString(Rose::BinaryAnalysis::Address offset, bool shared)
Constructs an SgAsmStoredString from an offset into this string table.
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 free(Rose::BinaryAnalysis::Address offset, Rose::BinaryAnalysis::Address size)
Add a range of bytes to the free list after subtracting areas that are referenced by other strings.
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.
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::BinaryAnalysis::Address 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_definitionState(SgAsmGenericSymbol::SymbolDefState const &)
Property: Definition state.
SgAsmGenericString * get_name() const
Property: Name.
void set_value(Rose::BinaryAnalysis::Address const &)
Property: Symbol value.
Rose::BinaryAnalysis::Address const & get_size() const
Property: Symbol size in bytes.
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::BinaryAnalysis::Address 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.
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.
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::BinaryAnalysis::Address > 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.
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_offset(Rose::BinaryAnalysis::Address const &)
Property: Code offset.
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 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.
Rose::BinaryAnalysis::Address const & get_code_offset() const
Property: Code offset.
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 Deprecated attribute.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmDeprecated()
Default constructor.
virtual ~SgAsmJvmDeprecated()
Destructor.
SgAsmJvmDeprecated(SgAsmJvmAttributeTable *table)
Initialize the attribute before parsing.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the 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()
Default constructor.
Rose::BinaryAnalysis::JvmInstructionKind const & get_kind() const
Property: Instruction kind.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmInstruction(Rose::BinaryAnalysis::Address const &address, uint8_t const &architectureId, Rose::BinaryAnalysis::JvmInstructionKind const &kind)
Constructor.
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.
SgAsmJvmSynthetic(SgAsmJvmAttributeTable *table)
Initialize the attribute before parsing.
SgAsmJvmSynthetic()
Default constructor.
virtual ~SgAsmJvmSynthetic()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual SgAsmJvmAttribute * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
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::BinaryAnalysis::Address 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.
SgAsmMipsInstruction(Rose::BinaryAnalysis::Address const &address, uint8_t const &architectureId, Rose::BinaryAnalysis::MipsInstructionKind const &kind)
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.
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::BinaryAnalysis::Address 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::BinaryAnalysis::Address 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.
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.
Rose::BinaryAnalysis::Address get_iatEntryVa() const
Virtual address of an IAT entry.
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.
void set_e_size(Rose::BinaryAnalysis::Address const &)
Property: Size.
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::BinaryAnalysis::RelativeVirtualAddress const & get_e_rva() const
Property: RVA.
void set_e_rva(Rose::BinaryAnalysis::RelativeVirtualAddress const &)
Property: RVA.
Rose::BinaryAnalysis::Address const & get_e_size() const
Property: Size.
unsigned const & get_coff_line_nums() const
Property: COFF line numbers.
unsigned const & get_n_relocs() const
Property: Number of relocations.
void set_virtual_size(Rose::BinaryAnalysis::Address const &)
Property: Virtual size.
void set_physical_size(Rose::BinaryAnalysis::Address const &)
Property: Physical size.
void set_flags(unsigned const &)
Property: Flags.
void set_coff_line_nums(unsigned const &)
Property: COFF line numbers.
Rose::BinaryAnalysis::Address const & get_rva() const
Property: RVA.
void set_name(std::string const &)
Property: Name.
Rose::BinaryAnalysis::Address const & get_virtual_size() const
Property: Virtual size.
void updateFromSection(SgAsmPESection *section)
Update this section table entry with newer information from the section.
void set_rva(Rose::BinaryAnalysis::Address const &)
Property: RVA.
void set_n_coff_line_nums(unsigned const &)
Property: Number of COFF line numbers.
void set_physical_offset(Rose::BinaryAnalysis::Address const &)
Property: Physical offset.
Rose::BinaryAnalysis::Address const & get_physical_size() 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::BinaryAnalysis::Address const & get_physical_offset() const
Property: Physical offset.
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.
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.
virtual void set_size(Rose::BinaryAnalysis::Address newsize) override
Property: Size of section in file in bytes.
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.
SgAsmPowerpcInstruction(Rose::BinaryAnalysis::Address const &address, uint8_t const &architectureId, Rose::BinaryAnalysis::PowerpcInstructionKind const &kind)
Constructor.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
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.
Rose::BinaryAnalysis::Address const & get_address() 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.
SgAsmStatement(Rose::BinaryAnalysis::Address const &address)
Constructor.
std::string const & get_comment() const
Property: Commentary.
void set_address(Rose::BinaryAnalysis::Address const &)
Property: Starting virtual address.
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.
void set_storage(SgAsmStringStorage *const &)
Property: Storage area for this string.
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.
SgAsmStoredString(SgAsmGenericStrtab *, Rose::BinaryAnalysis::Address offset)
Construct a string existing in a string table.
SgAsmGenericStrtab * get_strtab()
Returns the string table that holds this string.
SgAsmStoredString()
Default constructor.
virtual void set_string(Rose::BinaryAnalysis::Address) override
Give the string a new value.
virtual Rose::BinaryAnalysis::Address get_offset() const override
Returns the offset into the string table where the string is allocated.
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_offset(Rose::BinaryAnalysis::Address const &)
Property: Location of string in storage table.
void set_strtab(SgAsmGenericStrtab *const &)
Property: String table holding the string.
std::string const & get_string() const
Property: String value.
Rose::BinaryAnalysis::Address const & get_offset() const
Property: Location of string in storage table.
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::BinaryAnalysis::Address const &address)
Constructor.
virtual ~SgAsmSynthesizedDeclaration()
Destructor.
SgAsmSynthesizedDeclaration()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
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.
SgAsmSynthesizedFieldDeclaration(Rose::BinaryAnalysis::Address const &address)
Constructor.
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.
SgAsmUserInstruction(Rose::BinaryAnalysis::Address const &address, uint8_t const &architectureId, unsigned const &kind)
Constructor.
virtual ~SgAsmUserInstruction()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
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.
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.
SgAsmX86Instruction(Rose::BinaryAnalysis::Address 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.
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.
std::uint64_t Address
Address.
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...