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(AsmJvmStackMapVerificationType);
9330IS_SERIALIZABLE(AsmJvmStackMapVerificationType);
9332#ifndef DOCUMENTATION
9333AsmJvmStackMapVerificationType.useSmallHeader(
true);
9343#ifndef DOCUMENTATION
9344 AsmJvmStackMapVerificationType.setDataPrototype(
9345 "uint8_t",
"tag",
"= 9",
9346 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9349#ifndef DOCUMENTATION
9350 AsmJvmStackMapVerificationType.setDataPrototype(
9351 "uint16_t",
"cpool_index",
"= 0",
9352 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9355#ifndef DOCUMENTATION
9356 AsmJvmStackMapVerificationType.setDataPrototype(
9357 "uint16_t",
"offset",
"= 0",
9358 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9361 DECLARE_OTHERS(AsmJvmStackMapVerificationType);
9362#if defined(SgAsmJvmStackMapVerificationType_OTHERS) || defined(DOCUMENTATION)
9365#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9367 friend class boost::serialization::access;
9370 void serialize(S &s,
const unsigned ) {
9373 s & BOOST_SERIALIZATION_NVP(p_tag);
9374 s & BOOST_SERIALIZATION_NVP(p_cpool_index);
9375 s & BOOST_SERIALIZATION_NVP(p_offset);
9384 enum verification_type_tag {
9391 ITEM_UninitializedThis = 6,
9393 ITEM_Uninitialized = 8
9403 union verification_type_info {
9405 Integer_variable_info;
9406 Float_variable_info;
9408 Double_variable_info;
9410 UninitializedThis_variable_info;
9411 Object_variable_info;
9412 Uninitialized_variable_info;
9416 struct Top_variable_info {
9419 struct Integer_variable_info {
9422 struct Float_variable_info {
9425 struct Long_variable_info {
9428 struct Double_variable_info {
9431 struct Null_variable_info {
9434 struct UnitializedThis_variable_info {
9437 struct Object_variable_info {
9439 uint16_t cpool_index;
9441 struct Unitialized_variable_info {
9493 virtual void unparse(std::ostream&)
const override;
9496 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9523DECLARE_LEAF_CLASS(AsmJvmStackMapTable);
9524IS_SERIALIZABLE(AsmJvmStackMapTable);
9526#ifndef DOCUMENTATION
9527AsmJvmStackMapTable.useSmallHeader(
true);
9530DECLARE_HEADERS(AsmJvmStackMapTable);
9531#if defined(SgAsmJvmStackMapTable_HEADERS) || defined(DOCUMENTATION)
9532#include <sageContainer.h>
9543#ifndef DOCUMENTATION
9544 AsmJvmStackMapTable.setDataPrototype(
9545 "SgAsmJvmStackMapFramePtrList",
"entries",
"",
9546 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9549 DECLARE_OTHERS(AsmJvmStackMapTable);
9550#if defined(SgAsmJvmStackMapTable_OTHERS) || defined(DOCUMENTATION)
9553#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9555 friend class boost::serialization::access;
9558 void serialize(S &s,
const unsigned ) {
9561 s & BOOST_SERIALIZATION_NVP(p_entries);
9590 virtual void unparse(std::ostream&)
const override;
9593 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9620DECLARE_LEAF_CLASS(AsmJvmStackMapFrame);
9621IS_SERIALIZABLE(AsmJvmStackMapFrame);
9623#ifndef DOCUMENTATION
9624AsmJvmStackMapFrame.useSmallHeader(
true);
9627DECLARE_HEADERS(AsmJvmStackMapFrame);
9628#if defined(SgAsmJvmStackMapFrame_HEADERS) || defined(DOCUMENTATION)
9629#include <sageContainer.h>
9639#ifndef DOCUMENTATION
9640 AsmJvmStackMapFrame.setDataPrototype(
9641 "SgAsmJvmStackMapVerificationTypePtrList",
"stack",
"",
9642 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9645#ifndef DOCUMENTATION
9646 AsmJvmStackMapFrame.setDataPrototype(
9647 "SgAsmJvmStackMapVerificationTypePtrList",
"locals",
"",
9648 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9651#ifndef DOCUMENTATION
9652 AsmJvmStackMapFrame.setDataPrototype(
9653 "uint8_t",
"frame_type",
"= 0",
9654 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9657#ifndef DOCUMENTATION
9658 AsmJvmStackMapFrame.setDataPrototype(
9659 "uint16_t",
"offset_delta",
"= 0",
9660 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9663 DECLARE_OTHERS(AsmJvmStackMapFrame);
9664#if defined(SgAsmJvmStackMapFrame_OTHERS) || defined(DOCUMENTATION)
9667#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9669 friend class boost::serialization::access;
9672 void serialize(S &s,
const unsigned ) {
9675 s & BOOST_SERIALIZATION_NVP(p_stack);
9676 s & BOOST_SERIALIZATION_NVP(p_locals);
9677 s & BOOST_SERIALIZATION_NVP(p_frame_type);
9678 s & BOOST_SERIALIZATION_NVP(p_offset_delta);
9688 SgAsmJvmStackMapVerificationTypePtrList
const&
get_stack()
const;
9690 void set_stack(SgAsmJvmStackMapVerificationTypePtrList
const&);
9697 SgAsmJvmStackMapVerificationTypePtrList
const&
get_locals()
const;
9711 same_locals_1_stack_item_frame_extended;
9723 verification_type_info stack;
9727 uint16_t offset_delta;
9728 verification_type_info stack;
9732 uint16_t offset_delta;
9736 uint16_t offset_delta;
9740 uint16_t offset_delta;
9741 verification_type_info stack;
9745 uint16_t offset_delta;
9746 uint16_t number_of_locals;
9747 verification_type_info stack[number_of_locals];
9748 uint16_t number_of_stack_items;
9749 verification_type_info stack[number_of_stack_items];
9789 virtual void unparse(std::ostream&)
const override;
9792 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9819DECLARE_LEAF_CLASS(AsmJvmRuntimeVisibleAnnotations);
9820IS_SERIALIZABLE(AsmJvmRuntimeVisibleAnnotations);
9822#ifndef DOCUMENTATION
9823AsmJvmRuntimeVisibleAnnotations.useSmallHeader(
true);
9826DECLARE_HEADERS(AsmJvmRuntimeVisibleAnnotations);
9827#if defined(SgAsmJvmRuntimeVisibleAnnotations_HEADERS) || defined(DOCUMENTATION)
9828#include <sageContainer.h>
9841#ifndef DOCUMENTATION
9842 AsmJvmRuntimeVisibleAnnotations.setDataPrototype(
9843 "std::vector<SgAsmJvmRuntimeAnnotation*>",
"annotations",
"",
9844 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
9847 DECLARE_OTHERS(AsmJvmRuntimeVisibleAnnotations);
9848#if defined(SgAsmJvmRuntimeVisibleAnnotations_OTHERS) || defined(DOCUMENTATION)
9851#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9853 friend class boost::serialization::access;
9856 void serialize(S &s,
const unsigned ) {
9859 s & BOOST_SERIALIZATION_NVP(p_annotations);
9883 virtual void unparse(std::ostream&)
const override;
9886 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
9913DECLARE_LEAF_CLASS(AsmJvmRuntimeVisibilityParamAnnotations);
9914IS_SERIALIZABLE(AsmJvmRuntimeVisibilityParamAnnotations);
9916#ifndef DOCUMENTATION
9917AsmJvmRuntimeVisibilityParamAnnotations.useSmallHeader(
true);
9920DECLARE_HEADERS(AsmJvmRuntimeVisibilityParamAnnotations);
9921#if defined(SgAsmJvmRuntimeVisibilityParamAnnotations_HEADERS) || defined(DOCUMENTATION)
9922#include <sageContainer.h>
9941#ifndef DOCUMENTATION
9942 AsmJvmRuntimeVisibilityParamAnnotations.setDataPrototype(
9943 "std::vector<SgAsmJvmRuntimeParameterAnnotation*>",
"parameter_annotations",
"",
9944 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
9947#ifndef DOCUMENTATION
9948 AsmJvmRuntimeVisibilityParamAnnotations.setDataPrototype(
9949 "bool",
"isVisible",
"= true",
9950 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
9953 DECLARE_OTHERS(AsmJvmRuntimeVisibilityParamAnnotations);
9954#if defined(SgAsmJvmRuntimeVisibilityParamAnnotations_OTHERS) || defined(DOCUMENTATION)
9957#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
9959 friend class boost::serialization::access;
9962 void serialize(S &s,
const unsigned ) {
9965 s & BOOST_SERIALIZATION_NVP(p_parameter_annotations);
9966 s & BOOST_SERIALIZATION_NVP(p_isVisible);
10006 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10024#ifdef DOCUMENTATION
10033DECLARE_LEAF_CLASS(AsmJvmRuntimeParameterAnnotation);
10034IS_SERIALIZABLE(AsmJvmRuntimeParameterAnnotation);
10036#ifndef DOCUMENTATION
10037AsmJvmRuntimeParameterAnnotation.useSmallHeader(
true);
10040#ifdef DOCUMENTATION
10048#ifndef DOCUMENTATION
10049 AsmJvmRuntimeParameterAnnotation.setDataPrototype(
10050 "std::vector<SgAsmJvmRuntimeAnnotation*>",
"annotations",
"",
10051 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
10054 DECLARE_OTHERS(AsmJvmRuntimeParameterAnnotation);
10055#if defined(SgAsmJvmRuntimeParameterAnnotation_OTHERS) || defined(DOCUMENTATION)
10058#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10060 friend class boost::serialization::access;
10063 void serialize(S &s,
const unsigned ) {
10065 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10066 s & BOOST_SERIALIZATION_NVP(p_annotations);
10095 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10113#ifdef DOCUMENTATION
10122DECLARE_LEAF_CLASS(AsmJvmRuntimeInvisibleAnnotations);
10123IS_SERIALIZABLE(AsmJvmRuntimeInvisibleAnnotations);
10125#ifndef DOCUMENTATION
10126AsmJvmRuntimeInvisibleAnnotations.useSmallHeader(
true);
10129DECLARE_HEADERS(AsmJvmRuntimeInvisibleAnnotations);
10130#if defined(SgAsmJvmRuntimeInvisibleAnnotations_HEADERS) || defined(DOCUMENTATION)
10131#include <sageContainer.h>
10134#ifdef DOCUMENTATION
10144#ifndef DOCUMENTATION
10145 AsmJvmRuntimeInvisibleAnnotations.setDataPrototype(
10146 "std::vector<SgAsmJvmRuntimeAnnotation*>",
"annotations",
"",
10147 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
10150 DECLARE_OTHERS(AsmJvmRuntimeInvisibleAnnotations);
10151#if defined(SgAsmJvmRuntimeInvisibleAnnotations_OTHERS) || defined(DOCUMENTATION)
10154#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10156 friend class boost::serialization::access;
10159 void serialize(S &s,
const unsigned ) {
10162 s & BOOST_SERIALIZATION_NVP(p_annotations);
10189 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10207#ifdef DOCUMENTATION
10216DECLARE_LEAF_CLASS(AsmJvmRuntimeAnnotationValue);
10217IS_SERIALIZABLE(AsmJvmRuntimeAnnotationValue);
10219#ifndef DOCUMENTATION
10220AsmJvmRuntimeAnnotationValue.useSmallHeader(
true);
10223DECLARE_HEADERS(AsmJvmRuntimeAnnotationValue);
10224#if defined(SgAsmJvmRuntimeAnnotationValue_HEADERS) || defined(DOCUMENTATION)
10231#ifdef DOCUMENTATION
10257#ifndef DOCUMENTATION
10258 AsmJvmRuntimeAnnotationValue.setDataPrototype(
10259 "uint8_t",
"tag",
"= 0",
10260 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10263#ifndef DOCUMENTATION
10264 AsmJvmRuntimeAnnotationValue.setDataPrototype(
10265 "uint16_t",
"const_value_index",
"= 0",
10266 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10269#ifndef DOCUMENTATION
10270 AsmJvmRuntimeAnnotationValue.setDataPrototype(
10271 "uint16_t",
"type_name_index",
"= 0",
10272 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10275#ifndef DOCUMENTATION
10276 AsmJvmRuntimeAnnotationValue.setDataPrototype(
10277 "uint16_t",
"const_name_index",
"= 0",
10278 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10281#ifndef DOCUMENTATION
10282 AsmJvmRuntimeAnnotationValue.setDataPrototype(
10283 "uint16_t",
"class_info_index",
"= 0",
10284 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10287#ifndef DOCUMENTATION
10288 AsmJvmRuntimeAnnotationValue.setDataPrototype(
10289 "bool",
"is_annotation_value",
"= false",
10290 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10293#ifndef DOCUMENTATION
10294 AsmJvmRuntimeAnnotationValue.setDataPrototype(
10295 "SgAsmJvmRuntimeAnnotation*",
"annotation_value",
"= nullptr",
10296 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10299#ifndef DOCUMENTATION
10300 AsmJvmRuntimeAnnotationValue.setDataPrototype(
10301 "std::vector<SgAsmJvmRuntimeAnnotationValue*>",
"values",
"",
10302 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
10305 DECLARE_OTHERS(AsmJvmRuntimeAnnotationValue);
10306#if defined(SgAsmJvmRuntimeAnnotationValue_OTHERS) || defined(DOCUMENTATION)
10309#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10311 friend class boost::serialization::access;
10314 void serialize(S &s,
const unsigned ) {
10316 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10317 s & BOOST_SERIALIZATION_NVP(p_tag);
10318 s & BOOST_SERIALIZATION_NVP(p_const_value_index);
10319 s & BOOST_SERIALIZATION_NVP(p_type_name_index);
10320 s & BOOST_SERIALIZATION_NVP(p_const_name_index);
10321 s & BOOST_SERIALIZATION_NVP(p_class_info_index);
10322 s & BOOST_SERIALIZATION_NVP(p_is_annotation_value);
10323 s & BOOST_SERIALIZATION_NVP(p_annotation_value);
10324 s & BOOST_SERIALIZATION_NVP(p_values);
10424 std::vector<SgAsmJvmRuntimeAnnotationValue*>
const&
get_values()
const;
10450 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10468#ifdef DOCUMENTATION
10477DECLARE_LEAF_CLASS(AsmJvmRuntimeAnnotationPair);
10478IS_SERIALIZABLE(AsmJvmRuntimeAnnotationPair);
10480#ifndef DOCUMENTATION
10481AsmJvmRuntimeAnnotationPair.useSmallHeader(
true);
10484#ifdef DOCUMENTATION
10492#ifndef DOCUMENTATION
10493 AsmJvmRuntimeAnnotationPair.setDataPrototype(
10494 "uint16_t",
"element_name_index",
"= 0",
10495 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10498#ifndef DOCUMENTATION
10499 AsmJvmRuntimeAnnotationPair.setDataPrototype(
10500 "SgAsmJvmRuntimeAnnotationValue*",
"value",
"= nullptr",
10501 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10504 DECLARE_OTHERS(AsmJvmRuntimeAnnotationPair);
10505#if defined(SgAsmJvmRuntimeAnnotationPair_OTHERS) || defined(DOCUMENTATION)
10508#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10510 friend class boost::serialization::access;
10513 void serialize(S &s,
const unsigned ) {
10515 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10516 s & BOOST_SERIALIZATION_NVP(p_element_name_index);
10517 s & BOOST_SERIALIZATION_NVP(p_value);
10557 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10575#ifdef DOCUMENTATION
10584DECLARE_LEAF_CLASS(AsmJvmRuntimeAnnotation);
10585IS_SERIALIZABLE(AsmJvmRuntimeAnnotation);
10587#ifndef DOCUMENTATION
10588AsmJvmRuntimeAnnotation.useSmallHeader(
true);
10591#ifdef DOCUMENTATION
10599#ifndef DOCUMENTATION
10600 AsmJvmRuntimeAnnotation.setDataPrototype(
10601 "uint16_t",
"type_index",
"= 0",
10602 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10605#ifndef DOCUMENTATION
10606 AsmJvmRuntimeAnnotation.setDataPrototype(
10607 "std::vector<SgAsmJvmRuntimeAnnotationPair*>",
"element_value_pairs",
"",
10608 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
10611 DECLARE_OTHERS(AsmJvmRuntimeAnnotation);
10612#if defined(SgAsmJvmRuntimeAnnotation_OTHERS) || defined(DOCUMENTATION)
10615#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10617 friend class boost::serialization::access;
10620 void serialize(S &s,
const unsigned ) {
10622 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
10623 s & BOOST_SERIALIZATION_NVP(p_type_index);
10624 s & BOOST_SERIALIZATION_NVP(p_element_value_pairs);
10678 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
10696#ifdef DOCUMENTATION
10705DECLARE_LEAF_CLASS(AsmJvmModule);
10706IS_SERIALIZABLE(AsmJvmModule);
10708#ifndef DOCUMENTATION
10709AsmJvmModule.useSmallHeader(
true);
10712DECLARE_HEADERS(AsmJvmModule);
10713#if defined(SgAsmJvmModule_HEADERS) || defined(DOCUMENTATION)
10714#include <sageContainer.h>
10717#ifdef DOCUMENTATION
10727#ifndef DOCUMENTATION
10728 AsmJvmModule.setDataPrototype(
10729 "uint16_t",
"module_name_index",
"= 0",
10730 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10733#ifndef DOCUMENTATION
10734 AsmJvmModule.setDataPrototype(
10735 "uint16_t",
"module_flags",
"= 0",
10736 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10739#ifndef DOCUMENTATION
10740 AsmJvmModule.setDataPrototype(
10741 "uint16_t",
"module_version_index",
"",
10742 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10745#ifndef DOCUMENTATION
10746 AsmJvmModule.setDataPrototype(
10747 "std::vector<SgAsmJvmModule::Requires*>",
"requires",
"",
10748 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10751#ifndef DOCUMENTATION
10752 AsmJvmModule.setDataPrototype(
10753 "std::vector<SgAsmJvmModule::Exports*>",
"exports",
"",
10754 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10757#ifndef DOCUMENTATION
10758 AsmJvmModule.setDataPrototype(
10759 "std::vector<SgAsmJvmModule::Opens*>",
"opens",
"",
10760 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10763#ifndef DOCUMENTATION
10764 AsmJvmModule.setDataPrototype(
10765 "std::vector<uint16_t>",
"uses_index",
"",
10766 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10769#ifndef DOCUMENTATION
10770 AsmJvmModule.setDataPrototype(
10771 "std::vector<SgAsmJvmModule::Provides*>",
"provides",
"",
10772 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
10775 DECLARE_OTHERS(AsmJvmModule);
10776#if defined(SgAsmJvmModule_OTHERS) || defined(DOCUMENTATION)
10779#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10781 friend class boost::serialization::access;
10784 void serialize(S &s,
const unsigned ) {
10787 s & BOOST_SERIALIZATION_NVP(p_module_name_index);
10788 s & BOOST_SERIALIZATION_NVP(p_module_flags);
10789 s & BOOST_SERIALIZATION_NVP(p_module_version_index);
10790 s & BOOST_SERIALIZATION_NVP(p_requires);
10791 s & BOOST_SERIALIZATION_NVP(p_exports);
10792 s & BOOST_SERIALIZATION_NVP(p_opens);
10793 s & BOOST_SERIALIZATION_NVP(p_uses_index);
10794 s & BOOST_SERIALIZATION_NVP(p_provides);
10806 uint16_t requires_index;
10807 uint16_t requires_flags;
10808 uint16_t requires_version_index;
10810#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10812 void serialize(S &s,
const unsigned ) {
10813 s & BOOST_SERIALIZATION_NVP(requires_index);
10814 s & BOOST_SERIALIZATION_NVP(requires_flags);
10815 s & BOOST_SERIALIZATION_NVP(requires_version_index);
10824 uint16_t exports_index;
10825 uint16_t exports_flags;
10826 std::vector<uint16_t> exports_to_index;
10828#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10830 void serialize(S &s,
const unsigned ) {
10831 s & BOOST_SERIALIZATION_NVP(exports_index);
10832 s & BOOST_SERIALIZATION_NVP(exports_flags);
10833 s & BOOST_SERIALIZATION_NVP(exports_to_index);
10842 uint16_t opens_index;
10843 uint16_t opens_flags;
10844 std::vector<uint16_t> opens_to_index;
10846#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10848 void serialize(S &s,
const unsigned ) {
10849 s & BOOST_SERIALIZATION_NVP(opens_index);
10850 s & BOOST_SERIALIZATION_NVP(opens_flags);
10851 s & BOOST_SERIALIZATION_NVP(opens_to_index);
10860 uint16_t provides_index;
10861 std::vector<uint16_t> provides_with_index;
10863#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
10865 void serialize(S &s,
const unsigned ) {
10866 s & BOOST_SERIALIZATION_NVP(provides_index);
10867 s & BOOST_SERIALIZATION_NVP(provides_with_index);
10986 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11004#ifdef DOCUMENTATION
11013DECLARE_LEAF_CLASS(AsmJvmMethodTable);
11014IS_SERIALIZABLE(AsmJvmMethodTable);
11016#ifndef DOCUMENTATION
11017AsmJvmMethodTable.useSmallHeader(
true);
11020#ifdef DOCUMENTATION
11029#ifndef DOCUMENTATION
11030 AsmJvmMethodTable.setDataPrototype(
11031 "SgAsmJvmMethodPtrList",
"methods",
"",
11032 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
11035 DECLARE_OTHERS(AsmJvmMethodTable);
11036#if defined(SgAsmJvmMethodTable_OTHERS) || defined(DOCUMENTATION)
11039#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11041 friend class boost::serialization::access;
11044 void serialize(S &s,
const unsigned ) {
11047 s & BOOST_SERIALIZATION_NVP(p_methods);
11076 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11094#ifdef DOCUMENTATION
11103DECLARE_LEAF_CLASS(AsmJvmMethodParametersEntry);
11104IS_SERIALIZABLE(AsmJvmMethodParametersEntry);
11106#ifndef DOCUMENTATION
11107AsmJvmMethodParametersEntry.useSmallHeader(
true);
11110#ifdef DOCUMENTATION
11118#ifndef DOCUMENTATION
11119 AsmJvmMethodParametersEntry.setDataPrototype(
11120 "uint16_t",
"name_index",
"= 0",
11121 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11124#ifndef DOCUMENTATION
11125 AsmJvmMethodParametersEntry.setDataPrototype(
11126 "uint16_t",
"access_flags",
"= 0",
11127 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11130 DECLARE_OTHERS(AsmJvmMethodParametersEntry);
11131#if defined(SgAsmJvmMethodParametersEntry_OTHERS) || defined(DOCUMENTATION)
11134#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11136 friend class boost::serialization::access;
11139 void serialize(S &s,
const unsigned ) {
11141 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11142 s & BOOST_SERIALIZATION_NVP(p_name_index);
11143 s & BOOST_SERIALIZATION_NVP(p_access_flags);
11181 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11199#ifdef DOCUMENTATION
11208DECLARE_LEAF_CLASS(AsmJvmMethodParameters);
11209IS_SERIALIZABLE(AsmJvmMethodParameters);
11211#ifndef DOCUMENTATION
11212AsmJvmMethodParameters.useSmallHeader(
true);
11215DECLARE_HEADERS(AsmJvmMethodParameters);
11216#if defined(SgAsmJvmMethodParameters_HEADERS) || defined(DOCUMENTATION)
11217#include <sageContainer.h>
11220#ifdef DOCUMENTATION
11229#ifndef DOCUMENTATION
11230 AsmJvmMethodParameters.setDataPrototype(
11231 "SgAsmJvmMethodParametersEntryPtrList",
"parameters",
"",
11232 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11235 DECLARE_OTHERS(AsmJvmMethodParameters);
11236#if defined(SgAsmJvmMethodParameters_OTHERS) || defined(DOCUMENTATION)
11239#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11241 friend class boost::serialization::access;
11244 void serialize(S &s,
const unsigned ) {
11247 s & BOOST_SERIALIZATION_NVP(p_parameters);
11275 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11293#ifdef DOCUMENTATION
11302DECLARE_LEAF_CLASS(AsmJvmMethod);
11303IS_SERIALIZABLE(AsmJvmMethod);
11305#ifndef DOCUMENTATION
11306AsmJvmMethod.useSmallHeader(
true);
11309DECLARE_HEADERS(AsmJvmMethod);
11310#if defined(SgAsmJvmMethod_HEADERS) || defined(DOCUMENTATION)
11311#ifdef ROSE_SgAsmJvmMethod_IMPL
11312#include <SgAsmInstructionList.h>
11313#include <SgAsmJvmAttributeTable.h>
11317#ifdef DOCUMENTATION
11325#ifndef DOCUMENTATION
11326 AsmJvmMethod.setDataPrototype(
11327 "uint16_t",
"access_flags",
"= 0",
11328 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11331#ifndef DOCUMENTATION
11332 AsmJvmMethod.setDataPrototype(
11333 "uint16_t",
"name_index",
"= 0",
11334 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11337#ifndef DOCUMENTATION
11338 AsmJvmMethod.setDataPrototype(
11339 "uint16_t",
"descriptor_index",
"= 0",
11340 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11343#ifndef DOCUMENTATION
11344 AsmJvmMethod.setDataPrototype(
11345 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
11346 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
11349#ifndef DOCUMENTATION
11350 AsmJvmMethod.setDataPrototype(
11351 "SgAsmInstructionList*",
"instruction_list",
"= createAndParent<SgAsmInstructionList>(this)",
11352 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11355 DECLARE_OTHERS(AsmJvmMethod);
11356#if defined(SgAsmJvmMethod_OTHERS) || defined(DOCUMENTATION)
11359#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11361 friend class boost::serialization::access;
11364 void serialize(S &s,
const unsigned ) {
11366 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11367 s & BOOST_SERIALIZATION_NVP(p_access_flags);
11368 s & BOOST_SERIALIZATION_NVP(p_name_index);
11369 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
11370 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
11371 s & BOOST_SERIALIZATION_NVP(p_instruction_list);
11437 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11455#ifdef DOCUMENTATION
11464DECLARE_LEAF_CLASS(AsmJvmLocalVariableTypeTable);
11465IS_SERIALIZABLE(AsmJvmLocalVariableTypeTable);
11467#ifndef DOCUMENTATION
11468AsmJvmLocalVariableTypeTable.useSmallHeader(
true);
11471DECLARE_HEADERS(AsmJvmLocalVariableTypeTable);
11472#if defined(SgAsmJvmLocalVariableTypeTable_HEADERS) || defined(DOCUMENTATION)
11473#include <sageContainer.h>
11476#ifdef DOCUMENTATION
11485#ifndef DOCUMENTATION
11486 AsmJvmLocalVariableTypeTable.setDataPrototype(
11487 "SgAsmJvmLocalVariableTypeEntryPtrList",
"local_variable_type_table",
"",
11488 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11491 DECLARE_OTHERS(AsmJvmLocalVariableTypeTable);
11492#if defined(SgAsmJvmLocalVariableTypeTable_OTHERS) || defined(DOCUMENTATION)
11495#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11497 friend class boost::serialization::access;
11500 void serialize(S &s,
const unsigned ) {
11503 s & BOOST_SERIALIZATION_NVP(p_local_variable_type_table);
11531 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11549#ifdef DOCUMENTATION
11558DECLARE_LEAF_CLASS(AsmJvmLocalVariableTypeEntry);
11559IS_SERIALIZABLE(AsmJvmLocalVariableTypeEntry);
11561#ifndef DOCUMENTATION
11562AsmJvmLocalVariableTypeEntry.useSmallHeader(
true);
11565#ifdef DOCUMENTATION
11572#ifndef DOCUMENTATION
11573 AsmJvmLocalVariableTypeEntry.setDataPrototype(
11574 "uint16_t",
"start_pc",
"= 0",
11575 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11578#ifndef DOCUMENTATION
11579 AsmJvmLocalVariableTypeEntry.setDataPrototype(
11580 "uint16_t",
"length",
"= 0",
11581 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11584#ifndef DOCUMENTATION
11585 AsmJvmLocalVariableTypeEntry.setDataPrototype(
11586 "uint16_t",
"name_index",
"= 0",
11587 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11590#ifndef DOCUMENTATION
11591 AsmJvmLocalVariableTypeEntry.setDataPrototype(
11592 "uint16_t",
"signature_index",
"= 0",
11593 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11596#ifndef DOCUMENTATION
11597 AsmJvmLocalVariableTypeEntry.setDataPrototype(
11598 "uint16_t",
"index",
"= 0",
11599 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11602 DECLARE_OTHERS(AsmJvmLocalVariableTypeEntry);
11603#if defined(SgAsmJvmLocalVariableTypeEntry_OTHERS) || defined(DOCUMENTATION)
11606#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11608 friend class boost::serialization::access;
11611 void serialize(S &s,
const unsigned ) {
11613 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11614 s & BOOST_SERIALIZATION_NVP(p_start_pc);
11615 s & BOOST_SERIALIZATION_NVP(p_length);
11616 s & BOOST_SERIALIZATION_NVP(p_name_index);
11617 s & BOOST_SERIALIZATION_NVP(p_signature_index);
11618 s & BOOST_SERIALIZATION_NVP(p_index);
11693 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11711#ifdef DOCUMENTATION
11720DECLARE_LEAF_CLASS(AsmJvmLocalVariableTable);
11721IS_SERIALIZABLE(AsmJvmLocalVariableTable);
11723#ifndef DOCUMENTATION
11724AsmJvmLocalVariableTable.useSmallHeader(
true);
11727DECLARE_HEADERS(AsmJvmLocalVariableTable);
11728#if defined(SgAsmJvmLocalVariableTable_HEADERS) || defined(DOCUMENTATION)
11729#include <sageContainer.h>
11732#ifdef DOCUMENTATION
11741#ifndef DOCUMENTATION
11742 AsmJvmLocalVariableTable.setDataPrototype(
11743 "SgAsmJvmLocalVariableEntryPtrList",
"local_variable_table",
"",
11744 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11747 DECLARE_OTHERS(AsmJvmLocalVariableTable);
11748#if defined(SgAsmJvmLocalVariableTable_OTHERS) || defined(DOCUMENTATION)
11751#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11753 friend class boost::serialization::access;
11756 void serialize(S &s,
const unsigned ) {
11759 s & BOOST_SERIALIZATION_NVP(p_local_variable_table);
11787 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11805#ifdef DOCUMENTATION
11814DECLARE_LEAF_CLASS(AsmJvmLocalVariableEntry);
11815IS_SERIALIZABLE(AsmJvmLocalVariableEntry);
11817#ifndef DOCUMENTATION
11818AsmJvmLocalVariableEntry.useSmallHeader(
true);
11821#ifdef DOCUMENTATION
11828#ifndef DOCUMENTATION
11829 AsmJvmLocalVariableEntry.setDataPrototype(
11830 "uint16_t",
"start_pc",
"= 0",
11831 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11834#ifndef DOCUMENTATION
11835 AsmJvmLocalVariableEntry.setDataPrototype(
11836 "uint16_t",
"length",
"= 0",
11837 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11840#ifndef DOCUMENTATION
11841 AsmJvmLocalVariableEntry.setDataPrototype(
11842 "uint16_t",
"name_index",
"= 0",
11843 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11846#ifndef DOCUMENTATION
11847 AsmJvmLocalVariableEntry.setDataPrototype(
11848 "uint16_t",
"descriptor_index",
"= 0",
11849 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11852#ifndef DOCUMENTATION
11853 AsmJvmLocalVariableEntry.setDataPrototype(
11854 "uint16_t",
"index",
"= 0",
11855 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
11858 DECLARE_OTHERS(AsmJvmLocalVariableEntry);
11859#if defined(SgAsmJvmLocalVariableEntry_OTHERS) || defined(DOCUMENTATION)
11862#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
11864 friend class boost::serialization::access;
11867 void serialize(S &s,
const unsigned ) {
11869 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
11870 s & BOOST_SERIALIZATION_NVP(p_start_pc);
11871 s & BOOST_SERIALIZATION_NVP(p_length);
11872 s & BOOST_SERIALIZATION_NVP(p_name_index);
11873 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
11874 s & BOOST_SERIALIZATION_NVP(p_index);
11949 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
11967#ifdef DOCUMENTATION
11976DECLARE_LEAF_CLASS(AsmJvmLineNumberTable);
11977IS_SERIALIZABLE(AsmJvmLineNumberTable);
11979#ifndef DOCUMENTATION
11980AsmJvmLineNumberTable.useSmallHeader(
true);
11983DECLARE_HEADERS(AsmJvmLineNumberTable);
11984#if defined(SgAsmJvmLineNumberTable_HEADERS) || defined(DOCUMENTATION)
11985#include <sageContainer.h>
11988#ifdef DOCUMENTATION
11997#ifndef DOCUMENTATION
11998 AsmJvmLineNumberTable.setDataPrototype(
11999 "std::vector<SgAsmJvmLineNumberTable::Entry*>",
"line_number_table",
"",
12000 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12003 DECLARE_OTHERS(AsmJvmLineNumberTable);
12004#if defined(SgAsmJvmLineNumberTable_OTHERS) || defined(DOCUMENTATION)
12007#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12009 friend class boost::serialization::access;
12012 void serialize(S &s,
const unsigned ) {
12015 s & BOOST_SERIALIZATION_NVP(p_line_number_table);
12028 uint16_t start_pc = 0;
12029 uint16_t line_number = 0;
12031#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12033 void serialize(S &s,
const unsigned ) {
12034 s & BOOST_SERIALIZATION_NVP(start_pc);
12035 s & BOOST_SERIALIZATION_NVP(line_number);
12065 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12083#ifdef DOCUMENTATION
12092DECLARE_LEAF_CLASS(AsmJvmInstruction);
12093IS_SERIALIZABLE(AsmJvmInstruction);
12095#ifndef DOCUMENTATION
12096AsmJvmInstruction.useSmallHeader(
true);
12099DECLARE_HEADERS(AsmJvmInstruction);
12100#if defined(SgAsmJvmInstruction_HEADERS) || defined(DOCUMENTATION)
12101#include <Rose/BinaryAnalysis/InstructionEnumsJvm.h>
12104#ifdef DOCUMENTATION
12109#ifndef DOCUMENTATION
12110 AsmJvmInstruction.setDataPrototype(
12111 "Rose::BinaryAnalysis::JvmInstructionKind",
"kind",
"= Rose::BinaryAnalysis::JvmInstructionKind::unknown",
12112 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12115 DECLARE_OTHERS(AsmJvmInstruction);
12116#if defined(SgAsmJvmInstruction_OTHERS) || defined(DOCUMENTATION)
12119#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12121 friend class boost::serialization::access;
12124 void serialize(S &s,
const unsigned ) {
12127 s & BOOST_SERIALIZATION_NVP(p_kind);
12139 Rose::BinaryAnalysis::JvmInstructionKind
const&
get_kind()
const;
12140 void set_kind(Rose::BinaryAnalysis::JvmInstructionKind
const&);
12156 uint8_t
const& architectureId,
12157 Rose::BinaryAnalysis::JvmInstructionKind
const& kind);
12168#ifdef DOCUMENTATION
12177DECLARE_LEAF_CLASS(AsmJvmInnerClasses);
12178IS_SERIALIZABLE(AsmJvmInnerClasses);
12180#ifndef DOCUMENTATION
12181AsmJvmInnerClasses.useSmallHeader(
true);
12184DECLARE_HEADERS(AsmJvmInnerClasses);
12185#if defined(SgAsmJvmInnerClasses_HEADERS) || defined(DOCUMENTATION)
12186#include <sageContainer.h>
12189#ifdef DOCUMENTATION
12198#ifndef DOCUMENTATION
12199 AsmJvmInnerClasses.setDataPrototype(
12200 "std::vector<SgAsmJvmInnerClasses::Entry*>",
"classes",
"",
12201 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12204 DECLARE_OTHERS(AsmJvmInnerClasses);
12205#if defined(SgAsmJvmInnerClasses_OTHERS) || defined(DOCUMENTATION)
12208#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12210 friend class boost::serialization::access;
12213 void serialize(S &s,
const unsigned ) {
12216 s & BOOST_SERIALIZATION_NVP(p_classes);
12230 uint16_t inner_class_info_index = 0;
12231 uint16_t outer_class_info_index = 0;
12232 uint16_t inner_name_index = 0;
12233 uint16_t inner_class_access_flags = 0;
12235#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12237 void serialize(S &s,
const unsigned ) {
12238 s & BOOST_SERIALIZATION_NVP(inner_class_info_index);
12239 s & BOOST_SERIALIZATION_NVP(outer_class_info_index);
12240 s & BOOST_SERIALIZATION_NVP(inner_name_index);
12241 s & BOOST_SERIALIZATION_NVP(inner_class_access_flags);
12272 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12290#ifdef DOCUMENTATION
12299DECLARE_LEAF_CLASS(AsmJvmIndexTableAttr);
12300IS_SERIALIZABLE(AsmJvmIndexTableAttr);
12302#ifndef DOCUMENTATION
12303AsmJvmIndexTableAttr.useSmallHeader(
true);
12306DECLARE_HEADERS(AsmJvmIndexTableAttr);
12307#if defined(SgAsmJvmIndexTableAttr_HEADERS) || defined(DOCUMENTATION)
12308#include <sageContainer.h>
12311#ifdef DOCUMENTATION
12347#ifndef DOCUMENTATION
12348 AsmJvmIndexTableAttr.setDataPrototype(
12349 "unsigned",
"attribute_type",
"= SgAsmJvmIndexTableAttr::ATTR_NONE",
12350 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12353#ifndef DOCUMENTATION
12354 AsmJvmIndexTableAttr.setDataPrototype(
12355 "std::vector<uint16_t>",
"table",
"",
12356 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12359 DECLARE_OTHERS(AsmJvmIndexTableAttr);
12360#if defined(SgAsmJvmIndexTableAttr_OTHERS) || defined(DOCUMENTATION)
12363#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12365 friend class boost::serialization::access;
12368 void serialize(S &s,
const unsigned ) {
12371 s & BOOST_SERIALIZATION_NVP(p_attribute_type);
12372 s & BOOST_SERIALIZATION_NVP(p_table);
12386 ATTR_ModulePackages,
12388 ATTR_PermittedSubclasses
12427 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12445#ifdef DOCUMENTATION
12454DECLARE_LEAF_CLASS(AsmJvmIndexedAttr);
12455IS_SERIALIZABLE(AsmJvmIndexedAttr);
12457#ifndef DOCUMENTATION
12458AsmJvmIndexedAttr.useSmallHeader(
true);
12461DECLARE_HEADERS(AsmJvmIndexedAttr);
12462#if defined(SgAsmJvmIndexedAttr_HEADERS) || defined(DOCUMENTATION)
12463#include <sageContainer.h>
12466#ifdef DOCUMENTATION
12497#ifndef DOCUMENTATION
12498 AsmJvmIndexedAttr.setDataPrototype(
12499 "unsigned",
"attribute_type",
"= SgAsmJvmIndexedAttr::ATTR_NONE",
12500 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12503#ifndef DOCUMENTATION
12504 AsmJvmIndexedAttr.setDataPrototype(
12505 "uint16_t",
"index",
"",
12506 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12509 DECLARE_OTHERS(AsmJvmIndexedAttr);
12510#if defined(SgAsmJvmIndexedAttr_OTHERS) || defined(DOCUMENTATION)
12513#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12515 friend class boost::serialization::access;
12518 void serialize(S &s,
const unsigned ) {
12521 s & BOOST_SERIALIZATION_NVP(p_attribute_type);
12522 s & BOOST_SERIALIZATION_NVP(p_index);
12535 ATTR_ConstantValue,
12540 ATTR_ModuleMainClass,
12580 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12598#ifdef DOCUMENTATION
12607DECLARE_LEAF_CLASS(AsmJvmFileHeader);
12608IS_SERIALIZABLE(AsmJvmFileHeader);
12610#ifndef DOCUMENTATION
12611AsmJvmFileHeader.useSmallHeader(
true);
12614#ifdef DOCUMENTATION
12624#ifndef DOCUMENTATION
12625 AsmJvmFileHeader.setDataPrototype(
12626 "uint16_t",
"minor_version",
"= 0",
12627 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12630#ifndef DOCUMENTATION
12631 AsmJvmFileHeader.setDataPrototype(
12632 "uint16_t",
"major_version",
"= 0",
12633 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12636#ifndef DOCUMENTATION
12637 AsmJvmFileHeader.setDataPrototype(
12638 "uint16_t",
"access_flags",
"= 0",
12639 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12642#ifndef DOCUMENTATION
12643 AsmJvmFileHeader.setDataPrototype(
12644 "uint16_t",
"this_class",
"= 0",
12645 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12648#ifndef DOCUMENTATION
12649 AsmJvmFileHeader.setDataPrototype(
12650 "uint16_t",
"super_class",
"= 0",
12651 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12654#ifndef DOCUMENTATION
12655 AsmJvmFileHeader.setDataPrototype(
12656 "SgAsmJvmConstantPool*",
"constant_pool",
"= nullptr",
12657 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12660#ifndef DOCUMENTATION
12661 AsmJvmFileHeader.setDataPrototype(
12662 "std::list<uint16_t>",
"interfaces",
"",
12663 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12666#ifndef DOCUMENTATION
12667 AsmJvmFileHeader.setDataPrototype(
12668 "SgAsmJvmFieldTable*",
"field_table",
"= nullptr",
12669 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12672#ifndef DOCUMENTATION
12673 AsmJvmFileHeader.setDataPrototype(
12674 "SgAsmJvmMethodTable*",
"method_table",
"= nullptr",
12675 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12678#ifndef DOCUMENTATION
12679 AsmJvmFileHeader.setDataPrototype(
12680 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
12681 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12684 DECLARE_OTHERS(AsmJvmFileHeader);
12685#if defined(SgAsmJvmFileHeader_OTHERS) || defined(DOCUMENTATION)
12688#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12690 friend class boost::serialization::access;
12693 void serialize(S &s,
const unsigned ) {
12696 s & BOOST_SERIALIZATION_NVP(p_minor_version);
12697 s & BOOST_SERIALIZATION_NVP(p_major_version);
12698 s & BOOST_SERIALIZATION_NVP(p_access_flags);
12699 s & BOOST_SERIALIZATION_NVP(p_this_class);
12700 s & BOOST_SERIALIZATION_NVP(p_super_class);
12701 s & BOOST_SERIALIZATION_NVP(p_constant_pool);
12702 s & BOOST_SERIALIZATION_NVP(p_interfaces);
12703 s & BOOST_SERIALIZATION_NVP(p_field_table);
12704 s & BOOST_SERIALIZATION_NVP(p_method_table);
12705 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
12861#ifdef DOCUMENTATION
12870DECLARE_LEAF_CLASS(AsmJvmFieldTable);
12871IS_SERIALIZABLE(AsmJvmFieldTable);
12873#ifndef DOCUMENTATION
12874AsmJvmFieldTable.useSmallHeader(
true);
12877#ifdef DOCUMENTATION
12886#ifndef DOCUMENTATION
12887 AsmJvmFieldTable.setDataPrototype(
12888 "SgAsmJvmFieldPtrList",
"fields",
"",
12889 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
12892 DECLARE_OTHERS(AsmJvmFieldTable);
12893#if defined(SgAsmJvmFieldTable_OTHERS) || defined(DOCUMENTATION)
12896#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
12898 friend class boost::serialization::access;
12901 void serialize(S &s,
const unsigned ) {
12904 s & BOOST_SERIALIZATION_NVP(p_fields);
12932 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
12950#ifdef DOCUMENTATION
12959DECLARE_LEAF_CLASS(AsmJvmField);
12960IS_SERIALIZABLE(AsmJvmField);
12962#ifndef DOCUMENTATION
12963AsmJvmField.useSmallHeader(
true);
12966DECLARE_HEADERS(AsmJvmField);
12967#if defined(SgAsmJvmField_HEADERS) || defined(DOCUMENTATION)
12968#ifdef ROSE_SgAsmJvmField_IMPL
12969#include <SgAsmJvmAttributeTable.h>
12973#ifdef DOCUMENTATION
12980#ifndef DOCUMENTATION
12981 AsmJvmField.setDataPrototype(
12982 "uint16_t",
"access_flags",
"= 0",
12983 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12986#ifndef DOCUMENTATION
12987 AsmJvmField.setDataPrototype(
12988 "uint16_t",
"name_index",
"= 0",
12989 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12992#ifndef DOCUMENTATION
12993 AsmJvmField.setDataPrototype(
12994 "uint16_t",
"descriptor_index",
"= 0",
12995 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
12998#ifndef DOCUMENTATION
12999 AsmJvmField.setDataPrototype(
13000 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
13001 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
13004 DECLARE_OTHERS(AsmJvmField);
13005#if defined(SgAsmJvmField_OTHERS) || defined(DOCUMENTATION)
13008#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13010 friend class boost::serialization::access;
13013 void serialize(S &s,
const unsigned ) {
13015 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
13016 s & BOOST_SERIALIZATION_NVP(p_access_flags);
13017 s & BOOST_SERIALIZATION_NVP(p_name_index);
13018 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
13019 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
13075 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13093#ifdef DOCUMENTATION
13102DECLARE_LEAF_CLASS(AsmJvmExceptionTable);
13103IS_SERIALIZABLE(AsmJvmExceptionTable);
13105#ifndef DOCUMENTATION
13106AsmJvmExceptionTable.useSmallHeader(
true);
13109DECLARE_HEADERS(AsmJvmExceptionTable);
13110#if defined(SgAsmJvmExceptionTable_HEADERS) || defined(DOCUMENTATION)
13111#include <sageContainer.h>
13114#ifdef DOCUMENTATION
13122#ifndef DOCUMENTATION
13123 AsmJvmExceptionTable.setDataPrototype(
13124 "SgAsmJvmExceptionHandlerPtrList",
"handlers",
"",
13125 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13128 DECLARE_OTHERS(AsmJvmExceptionTable);
13129#if defined(SgAsmJvmExceptionTable_OTHERS) || defined(DOCUMENTATION)
13132#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13134 friend class boost::serialization::access;
13137 void serialize(S &s,
const unsigned ) {
13139 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
13140 s & BOOST_SERIALIZATION_NVP(p_handlers);
13169 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13187#ifdef DOCUMENTATION
13196DECLARE_LEAF_CLASS(AsmJvmExceptionHandler);
13197IS_SERIALIZABLE(AsmJvmExceptionHandler);
13199#ifndef DOCUMENTATION
13200AsmJvmExceptionHandler.useSmallHeader(
true);
13203#ifdef DOCUMENTATION
13210#ifndef DOCUMENTATION
13211 AsmJvmExceptionHandler.setDataPrototype(
13212 "uint16_t",
"start_pc",
"= 0",
13213 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13216#ifndef DOCUMENTATION
13217 AsmJvmExceptionHandler.setDataPrototype(
13218 "uint16_t",
"end_pc",
"= 0",
13219 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13222#ifndef DOCUMENTATION
13223 AsmJvmExceptionHandler.setDataPrototype(
13224 "uint16_t",
"handler_pc",
"= 0",
13225 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13228#ifndef DOCUMENTATION
13229 AsmJvmExceptionHandler.setDataPrototype(
13230 "uint16_t",
"catch_type",
"= 0",
13231 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13234 DECLARE_OTHERS(AsmJvmExceptionHandler);
13235#if defined(SgAsmJvmExceptionHandler_OTHERS) || defined(DOCUMENTATION)
13238#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13240 friend class boost::serialization::access;
13243 void serialize(S &s,
const unsigned ) {
13245 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
13246 s & BOOST_SERIALIZATION_NVP(p_start_pc);
13247 s & BOOST_SERIALIZATION_NVP(p_end_pc);
13248 s & BOOST_SERIALIZATION_NVP(p_handler_pc);
13249 s & BOOST_SERIALIZATION_NVP(p_catch_type);
13310 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13328#ifdef DOCUMENTATION
13337DECLARE_LEAF_CLASS(AsmJvmEnclosingMethod);
13338IS_SERIALIZABLE(AsmJvmEnclosingMethod);
13340#ifndef DOCUMENTATION
13341AsmJvmEnclosingMethod.useSmallHeader(
true);
13344#ifdef DOCUMENTATION
13353#ifndef DOCUMENTATION
13354 AsmJvmEnclosingMethod.setDataPrototype(
13355 "uint16_t",
"class_index",
"= 0",
13356 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13359#ifndef DOCUMENTATION
13360 AsmJvmEnclosingMethod.setDataPrototype(
13361 "uint16_t",
"method_index",
"= 0",
13362 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13365 DECLARE_OTHERS(AsmJvmEnclosingMethod);
13366#if defined(SgAsmJvmEnclosingMethod_OTHERS) || defined(DOCUMENTATION)
13369#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13371 friend class boost::serialization::access;
13374 void serialize(S &s,
const unsigned ) {
13377 s & BOOST_SERIALIZATION_NVP(p_class_index);
13378 s & BOOST_SERIALIZATION_NVP(p_method_index);
13416 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13434#ifdef DOCUMENTATION
13443DECLARE_LEAF_CLASS(AsmJvmConstantPoolEntry);
13444IS_SERIALIZABLE(AsmJvmConstantPoolEntry);
13446#ifndef DOCUMENTATION
13447AsmJvmConstantPoolEntry.useSmallHeader(
true);
13450#ifdef DOCUMENTATION
13458#ifndef DOCUMENTATION
13459 AsmJvmConstantPoolEntry.setDataPrototype(
13460 "SgAsmJvmConstantPoolEntry::Kind",
"tag",
"= SgAsmJvmConstantPoolEntry::EMPTY",
13461 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13464#ifndef DOCUMENTATION
13465 AsmJvmConstantPoolEntry.setDataPrototype(
13466 "uint32_t",
"bytes",
"= 0",
13467 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13470#ifndef DOCUMENTATION
13471 AsmJvmConstantPoolEntry.setDataPrototype(
13472 "uint32_t",
"hi_bytes",
"= 0",
13473 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13476#ifndef DOCUMENTATION
13477 AsmJvmConstantPoolEntry.setDataPrototype(
13478 "uint32_t",
"low_bytes",
"= 0",
13479 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13482#ifndef DOCUMENTATION
13483 AsmJvmConstantPoolEntry.setDataPrototype(
13484 "uint16_t",
"bootstrap_method_attr_index",
"= 0",
13485 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13488#ifndef DOCUMENTATION
13489 AsmJvmConstantPoolEntry.setDataPrototype(
13490 "uint16_t",
"class_index",
"= 0",
13491 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13494#ifndef DOCUMENTATION
13495 AsmJvmConstantPoolEntry.setDataPrototype(
13496 "uint16_t",
"descriptor_index",
"= 0",
13497 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13500#ifndef DOCUMENTATION
13501 AsmJvmConstantPoolEntry.setDataPrototype(
13502 "uint16_t",
"name_index",
"= 0",
13503 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13506#ifndef DOCUMENTATION
13507 AsmJvmConstantPoolEntry.setDataPrototype(
13508 "uint16_t",
"name_and_type_index",
"= 0",
13509 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13512#ifndef DOCUMENTATION
13513 AsmJvmConstantPoolEntry.setDataPrototype(
13514 "uint16_t",
"reference_index",
"= 0",
13515 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13518#ifndef DOCUMENTATION
13519 AsmJvmConstantPoolEntry.setDataPrototype(
13520 "uint8_t",
"reference_kind",
"= 0",
13521 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13524#ifndef DOCUMENTATION
13525 AsmJvmConstantPoolEntry.setDataPrototype(
13526 "uint16_t",
"string_index",
"= 0",
13527 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13530#ifndef DOCUMENTATION
13531 AsmJvmConstantPoolEntry.setDataPrototype(
13532 "uint16_t",
"length",
"= 0",
13533 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13536#ifndef DOCUMENTATION
13537 AsmJvmConstantPoolEntry.setDataPrototype(
13538 "char*",
"utf8_bytes",
"= nullptr",
13539 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13542 DECLARE_OTHERS(AsmJvmConstantPoolEntry);
13543#if defined(SgAsmJvmConstantPoolEntry_OTHERS) || defined(DOCUMENTATION)
13546#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13548 friend class boost::serialization::access;
13551 void serialize(S &s,
const unsigned ) {
13553 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
13554 s & BOOST_SERIALIZATION_NVP(p_tag);
13555 s & BOOST_SERIALIZATION_NVP(p_bytes);
13556 s & BOOST_SERIALIZATION_NVP(p_hi_bytes);
13557 s & BOOST_SERIALIZATION_NVP(p_low_bytes);
13558 s & BOOST_SERIALIZATION_NVP(p_bootstrap_method_attr_index);
13559 s & BOOST_SERIALIZATION_NVP(p_class_index);
13560 s & BOOST_SERIALIZATION_NVP(p_descriptor_index);
13561 s & BOOST_SERIALIZATION_NVP(p_name_index);
13562 s & BOOST_SERIALIZATION_NVP(p_name_and_type_index);
13563 s & BOOST_SERIALIZATION_NVP(p_reference_index);
13564 s & BOOST_SERIALIZATION_NVP(p_reference_kind);
13565 s & BOOST_SERIALIZATION_NVP(p_string_index);
13566 s & BOOST_SERIALIZATION_NVP(p_length);
13581 CONSTANT_Integer = 3,
13582 CONSTANT_Float = 4,
13584 CONSTANT_Double = 6,
13585 CONSTANT_Class = 7,
13586 CONSTANT_String = 8,
13587 CONSTANT_Fieldref = 9,
13588 CONSTANT_Methodref = 10,
13589 CONSTANT_InterfaceMethodref = 11,
13590 CONSTANT_NameAndType = 12,
13591 CONSTANT_MethodHandle = 15,
13592 CONSTANT_MethodType = 16,
13593 CONSTANT_Dynamic = 17,
13594 CONSTANT_InvokeDynamic = 18,
13595 CONSTANT_Module = 19,
13596 CONSTANT_Package = 20
13599#ifdef DOCUMENTATION
13607 uint16_t name_index;
13614 uint16_t class_index;
13615 uint16_t name_and_type_index;
13619 uint16_t class_index;
13620 uint16_t name_and_type_index;
13624 uint16_t class_index;
13625 uint16_t name_and_type_index;
13631 uint16_t string_index;
13646 uint32_t low_bytes;
13651 uint32_t low_bytes;
13657 uint16_t name_index;
13658 uint16_t descriptor_index;
13671 uint8_t reference_kind;
13672 uint16_t reference_index;
13678 uint16_t descriptor_index;
13684 uint16_t bootstrap_method_attr_index;
13685 uint16_t name_and_type_index;
13689 uint16_t bootstrap_method_attr_index;
13690 uint16_t name_and_type_index;
13696 uint16_t name_index;
13702 uint16_t name_index;
13884 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
13905#ifdef DOCUMENTATION
13914DECLARE_LEAF_CLASS(AsmJvmConstantPool);
13915IS_SERIALIZABLE(AsmJvmConstantPool);
13917#ifndef DOCUMENTATION
13918AsmJvmConstantPool.useSmallHeader(
true);
13921#ifdef DOCUMENTATION
13930#ifndef DOCUMENTATION
13931 AsmJvmConstantPool.setDataPrototype(
13932 "SgAsmJvmConstantPoolEntryPtrList",
"entries",
"",
13933 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
13936 DECLARE_OTHERS(AsmJvmConstantPool);
13937#if defined(SgAsmJvmConstantPool_OTHERS) || defined(DOCUMENTATION)
13940#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
13942 friend class boost::serialization::access;
13945 void serialize(S &s,
const unsigned ) {
13948 s & BOOST_SERIALIZATION_NVP(p_entries);
13990 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
14012#ifdef DOCUMENTATION
14021DECLARE_LEAF_CLASS(AsmJvmCodeAttribute);
14022IS_SERIALIZABLE(AsmJvmCodeAttribute);
14024#ifndef DOCUMENTATION
14025AsmJvmCodeAttribute.useSmallHeader(
true);
14028DECLARE_HEADERS(AsmJvmCodeAttribute);
14029#if defined(SgAsmJvmCodeAttribute_HEADERS) || defined(DOCUMENTATION)
14030#include <Rose/BinaryAnalysis/Address.h>
14033#ifdef DOCUMENTATION
14042#ifndef DOCUMENTATION
14043 AsmJvmCodeAttribute.setDataPrototype(
14044 "uint16_t",
"max_stack",
"= 0",
14045 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14048#ifndef DOCUMENTATION
14049 AsmJvmCodeAttribute.setDataPrototype(
14050 "uint16_t",
"max_locals",
"= 0",
14051 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14054#ifndef DOCUMENTATION
14055 AsmJvmCodeAttribute.setDataPrototype(
14056 "uint32_t",
"code_length",
"= 0",
14057 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14060#ifndef DOCUMENTATION
14061 AsmJvmCodeAttribute.setDataPrototype(
14062 "const char*",
"code",
"= nullptr",
14063 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14066#ifndef DOCUMENTATION
14067 AsmJvmCodeAttribute.setDataPrototype(
14068 "SgAsmJvmExceptionTable*",
"exception_table",
"= nullptr",
14069 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14072#ifndef DOCUMENTATION
14073 AsmJvmCodeAttribute.setDataPrototype(
14074 "SgAsmJvmAttributeTable*",
"attribute_table",
"= nullptr",
14075 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14078#ifndef DOCUMENTATION
14079 AsmJvmCodeAttribute.setDataPrototype(
14080 "Rose::BinaryAnalysis::Address",
"code_offset",
"= 0",
14081 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14084 DECLARE_OTHERS(AsmJvmCodeAttribute);
14085#if defined(SgAsmJvmCodeAttribute_OTHERS) || defined(DOCUMENTATION)
14088#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14090 friend class boost::serialization::access;
14093 void serialize(S &s,
const unsigned ) {
14096 s & BOOST_SERIALIZATION_NVP(p_max_stack);
14097 s & BOOST_SERIALIZATION_NVP(p_max_locals);
14098 s & BOOST_SERIALIZATION_NVP(p_code_length);
14099 s & BOOST_SERIALIZATION_NVP(p_exception_table);
14100 s & BOOST_SERIALIZATION_NVP(p_attribute_table);
14101 s & BOOST_SERIALIZATION_NVP(p_code_offset);
14192 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
14210#ifdef DOCUMENTATION
14219DECLARE_LEAF_CLASS(AsmJvmClass);
14220IS_SERIALIZABLE(AsmJvmClass);
14222#ifndef DOCUMENTATION
14223AsmJvmClass.useSmallHeader(
true);
14226#ifdef DOCUMENTATION
14233 DECLARE_OTHERS(AsmJvmClass);
14234#if defined(SgAsmJvmClass_OTHERS) || defined(DOCUMENTATION)
14237#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14239 friend class boost::serialization::access;
14242 void serialize(S &s,
const unsigned ) {
14244 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
14266#ifdef DOCUMENTATION
14275DECLARE_LEAF_CLASS(AsmJvmBootstrapMethods);
14276IS_SERIALIZABLE(AsmJvmBootstrapMethods);
14278#ifndef DOCUMENTATION
14279AsmJvmBootstrapMethods.useSmallHeader(
true);
14282DECLARE_HEADERS(AsmJvmBootstrapMethods);
14283#if defined(SgAsmJvmBootstrapMethods_HEADERS) || defined(DOCUMENTATION)
14284#include <sageContainer.h>
14287#ifdef DOCUMENTATION
14295#ifndef DOCUMENTATION
14296 AsmJvmBootstrapMethods.setDataPrototype(
14297 "SgAsmJvmBootstrapMethodPtrList",
"bootstrap_methods",
"",
14298 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14301 DECLARE_OTHERS(AsmJvmBootstrapMethods);
14302#if defined(SgAsmJvmBootstrapMethods_OTHERS) || defined(DOCUMENTATION)
14305#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14307 friend class boost::serialization::access;
14310 void serialize(S &s,
const unsigned ) {
14313 s & BOOST_SERIALIZATION_NVP(p_bootstrap_methods);
14345 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
14363#ifdef DOCUMENTATION
14372DECLARE_LEAF_CLASS(AsmJvmBootstrapMethod);
14373IS_SERIALIZABLE(AsmJvmBootstrapMethod);
14375#ifndef DOCUMENTATION
14376AsmJvmBootstrapMethod.useSmallHeader(
true);
14379DECLARE_HEADERS(AsmJvmBootstrapMethod);
14380#if defined(SgAsmJvmBootstrapMethod_HEADERS) || defined(DOCUMENTATION)
14381#include <sageContainer.h>
14384#ifdef DOCUMENTATION
14393#ifndef DOCUMENTATION
14394 AsmJvmBootstrapMethod.setDataPrototype(
14395 "uint16_t",
"bootstrap_method_ref",
"= 0",
14396 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14399#ifndef DOCUMENTATION
14400 AsmJvmBootstrapMethod.setDataPrototype(
14401 "SgUnsigned16List",
"bootstrap_arguments",
"",
14402 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14405 DECLARE_OTHERS(AsmJvmBootstrapMethod);
14406#if defined(SgAsmJvmBootstrapMethod_OTHERS) || defined(DOCUMENTATION)
14409#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14411 friend class boost::serialization::access;
14414 void serialize(S &s,
const unsigned ) {
14416 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
14417 s & BOOST_SERIALIZATION_NVP(p_bootstrap_method_ref);
14418 s & BOOST_SERIALIZATION_NVP(p_bootstrap_arguments);
14457 void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
14475#ifdef DOCUMENTATION
14484DECLARE_LEAF_CLASS(AsmJvmAttributeTable);
14485IS_SERIALIZABLE(AsmJvmAttributeTable);
14487#ifndef DOCUMENTATION
14488AsmJvmAttributeTable.useSmallHeader(
true);
14491#ifdef DOCUMENTATION
14500#ifndef DOCUMENTATION
14501 AsmJvmAttributeTable.setDataPrototype(
14502 "SgAsmJvmAttributePtrList",
"attributes",
"",
14503 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
14506 DECLARE_OTHERS(AsmJvmAttributeTable);
14507#if defined(SgAsmJvmAttributeTable_OTHERS) || defined(DOCUMENTATION)
14510#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14512 friend class boost::serialization::access;
14515 void serialize(S &s,
const unsigned ) {
14518 s & BOOST_SERIALIZATION_NVP(p_attributes);
14549 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
14567#ifdef DOCUMENTATION
14576DECLARE_LEAF_CLASS(AsmJvmAnnotationDefault);
14577IS_SERIALIZABLE(AsmJvmAnnotationDefault);
14579#ifndef DOCUMENTATION
14580AsmJvmAnnotationDefault.useSmallHeader(
true);
14583#ifdef DOCUMENTATION
14594#ifndef DOCUMENTATION
14595 AsmJvmAnnotationDefault.setDataPrototype(
14596 "SgAsmJvmRuntimeAnnotationValue*",
"default_value",
"= nullptr",
14597 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14600 DECLARE_OTHERS(AsmJvmAnnotationDefault);
14601#if defined(SgAsmJvmAnnotationDefault_OTHERS) || defined(DOCUMENTATION)
14604#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14606 friend class boost::serialization::access;
14609 void serialize(S &s,
const unsigned ) {
14612 s & BOOST_SERIALIZATION_NVP(p_default_value);
14641 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
14659#ifdef DOCUMENTATION
14668#ifndef DOCUMENTATION
14669AstNodeClass& AsmJvmAttribute = nonTerminalConstructor(
14673 "AsmJvmAttributeTag",
14674 SubclassListBuilder()
14675 | AsmJvmAnnotationDefault
14676 | AsmJvmBootstrapMethods
14677 | AsmJvmCodeAttribute
14678 | AsmJvmEnclosingMethod
14679 | AsmJvmIndexedAttr
14680 | AsmJvmIndexTableAttr
14681 | AsmJvmInnerClasses
14682 | AsmJvmLineNumberTable
14683 | AsmJvmLocalVariableTable
14684 | AsmJvmLocalVariableTypeTable
14685 | AsmJvmMethodParameters
14687 | AsmJvmRuntimeInvisibleAnnotations
14688 | AsmJvmRuntimeVisibilityParamAnnotations
14689 | AsmJvmRuntimeVisibleAnnotations
14690 | AsmJvmStackMapTable
14692assert(AsmJvmAttribute.associatedGrammar !=
nullptr);
14693AsmJvmAttribute.setCppCondition(
"!defined(DOCUMENTATION)");
14694AsmJvmAttribute.isBoostSerializable(
true);
14695AsmJvmAttribute.setAutomaticGenerationOfConstructor(
false);
14696AsmJvmAttribute.setAutomaticGenerationOfDestructor(
false);
14699#ifndef DOCUMENTATION
14700AsmJvmAttribute.useSmallHeader(
true);
14703#ifdef DOCUMENTATION
14708#ifndef DOCUMENTATION
14709 AsmJvmAttribute.setDataPrototype(
14710 "uint16_t",
"attribute_name_index",
"= 0",
14711 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14714#ifndef DOCUMENTATION
14715 AsmJvmAttribute.setDataPrototype(
14716 "uint32_t",
"attribute_length",
"= 0",
14717 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14720 DECLARE_OTHERS(AsmJvmAttribute);
14721#if defined(SgAsmJvmAttribute_OTHERS) || defined(DOCUMENTATION)
14724#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14726 friend class boost::serialization::access;
14729 void serialize(S &s,
const unsigned ) {
14731 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmJvmNode);
14732 s & BOOST_SERIALIZATION_NVP(p_attribute_name_index);
14733 s & BOOST_SERIALIZATION_NVP(p_attribute_length);
14769 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
14787#ifdef DOCUMENTATION
14796#ifndef DOCUMENTATION
14797AstNodeClass& AsmJvmNode = nonTerminalConstructor(
14802 SubclassListBuilder()
14804 | AsmJvmBootstrapMethod
14806 | AsmJvmConstantPoolEntry
14807 | AsmJvmExceptionHandler
14808 | AsmJvmExceptionTable
14810 | AsmJvmLocalVariableEntry
14811 | AsmJvmLocalVariableTypeEntry
14813 | AsmJvmMethodParametersEntry
14814 | AsmJvmRuntimeAnnotation
14815 | AsmJvmRuntimeAnnotationPair
14816 | AsmJvmRuntimeAnnotationValue
14817 | AsmJvmRuntimeParameterAnnotation
14818 | AsmJvmStackMapFrame
14819 | AsmJvmStackMapVerificationType
14821assert(AsmJvmNode.associatedGrammar !=
nullptr);
14822AsmJvmNode.setCppCondition(
"!defined(DOCUMENTATION)");
14823AsmJvmNode.isBoostSerializable(
true);
14824AsmJvmNode.setAutomaticGenerationOfConstructor(
false);
14825AsmJvmNode.setAutomaticGenerationOfDestructor(
false);
14828#ifndef DOCUMENTATION
14829AsmJvmNode.useSmallHeader(
true);
14832#ifdef DOCUMENTATION
14837 DECLARE_OTHERS(AsmJvmNode);
14838#if defined(SgAsmJvmNode_OTHERS) || defined(DOCUMENTATION)
14841#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14843 friend class boost::serialization::access;
14846 void serialize(S &s,
const unsigned ) {
14848 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
14857 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
14875#ifdef DOCUMENTATION
14884DECLARE_LEAF_CLASS(AsmInterpretationList);
14885IS_SERIALIZABLE(AsmInterpretationList);
14887#ifndef DOCUMENTATION
14888AsmInterpretationList.useSmallHeader(
true);
14891DECLARE_HEADERS(AsmInterpretationList);
14892#if defined(SgAsmInterpretationList_HEADERS) || defined(DOCUMENTATION)
14893#include <sageContainer.h>
14896#ifdef DOCUMENTATION
14900#ifndef DOCUMENTATION
14901 AsmInterpretationList.setDataPrototype(
14902 "SgAsmInterpretationPtrList",
"interpretations",
"",
14903 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
14906 DECLARE_OTHERS(AsmInterpretationList);
14907#if defined(SgAsmInterpretationList_OTHERS) || defined(DOCUMENTATION)
14910#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
14912 friend class boost::serialization::access;
14915 void serialize(S &s,
const unsigned ) {
14917 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
14918 s & BOOST_SERIALIZATION_NVP(p_interpretations);
14952#ifdef DOCUMENTATION
14961DECLARE_LEAF_CLASS(AsmInterpretation);
14962IS_SERIALIZABLE(AsmInterpretation);
14964#ifndef DOCUMENTATION
14965AsmInterpretation.useSmallHeader(
true);
14968DECLARE_HEADERS(AsmInterpretation);
14969#if defined(SgAsmInterpretation_HEADERS) || defined(DOCUMENTATION)
14970#include <Rose/BinaryAnalysis/BasicTypes.h>
14971#include <Rose/BinaryAnalysis/InstructionMap.h>
14972#include <Rose/BinaryAnalysis/MemoryMap.h>
14974#ifdef ROSE_SgAsmInterpretation_IMPL
14975#include <SgAsmBlock.h>
14976#include <SgAsmGenericHeaderList.h>
14980#ifdef DOCUMENTATION
14990#ifndef DOCUMENTATION
14991 AsmInterpretation.setDataPrototype(
14992 "SgAsmGenericHeaderList*",
"headers",
"= createAndParent<SgAsmGenericHeaderList>(this)",
14993 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
14996#ifndef DOCUMENTATION
14997 AsmInterpretation.setDataPrototype(
14998 "SgAsmBlock*",
"globalBlock",
"= nullptr",
14999 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15002#ifndef DOCUMENTATION
15003 AsmInterpretation.setDataPrototype(
15004 "bool",
"coverageComputed",
"= false",
15005 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15008#ifndef DOCUMENTATION
15009 AsmInterpretation.setDataPrototype(
15010 "double",
"percentageCoverage",
"= NAN",
15011 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15014 DECLARE_OTHERS(AsmInterpretation);
15015#if defined(SgAsmInterpretation_OTHERS) || defined(DOCUMENTATION)
15018#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15020 friend class boost::serialization::access;
15023 void serialize(S &s,
const unsigned ) {
15025 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
15026 s & BOOST_SERIALIZATION_NVP(p_headers);
15027 s & BOOST_SERIALIZATION_NVP(p_globalBlock);
15028 s & BOOST_SERIALIZATION_NVP(p_map);
15029 s & BOOST_SERIALIZATION_NVP(instruction_map);
15030 s & BOOST_SERIALIZATION_NVP(p_coverageComputed);
15031 s & BOOST_SERIALIZATION_NVP(p_percentageCoverage);
15137 Rose::BinaryAnalysis::InstructionMap& get_instruction_map(
bool=false) ROSE_DEPRECATED("use
get_instructionMap");
15138 void set_instruction_map(const
Rose::BinaryAnalysis::InstructionMap&) ROSE_DEPRECATED("use
set_instructionMap");
15139 void insert_instructions(
Rose::BinaryAnalysis::InstructionMap&) ROSE_DEPRECATED("use
insertInstructions");
15140 void erase_instructions(
Rose::BinaryAnalysis::InstructionMap&) ROSE_DEPRECATED("use
eraseInstructions");
15158#ifdef DOCUMENTATION
15167DECLARE_LEAF_CLASS(AsmIntegerValueExpression);
15168IS_SERIALIZABLE(AsmIntegerValueExpression);
15170#ifndef DOCUMENTATION
15171AsmIntegerValueExpression.useSmallHeader(
true);
15174#ifdef DOCUMENTATION
15193#ifndef DOCUMENTATION
15194 AsmIntegerValueExpression.setDataPrototype(
15195 "SgNode*",
"baseNode",
"= nullptr",
15196 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15199 DECLARE_OTHERS(AsmIntegerValueExpression);
15200#if defined(SgAsmIntegerValueExpression_OTHERS) || defined(DOCUMENTATION)
15203#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15205 friend class boost::serialization::access;
15208 void serialize(S &s,
const unsigned ) {
15211 s & BOOST_SERIALIZATION_NVP(p_baseNode);
15328#ifdef DOCUMENTATION
15337DECLARE_LEAF_CLASS(AsmIntegerType);
15338IS_SERIALIZABLE(AsmIntegerType);
15340#ifndef DOCUMENTATION
15341AsmIntegerType.useSmallHeader(
true);
15344DECLARE_HEADERS(AsmIntegerType);
15345#if defined(SgAsmIntegerType_HEADERS) || defined(DOCUMENTATION)
15346#include <Rose/BinaryAnalysis/ByteOrder.h>
15349#ifdef DOCUMENTATION
15354#ifndef DOCUMENTATION
15355 AsmIntegerType.setDataPrototype(
15356 "bool",
"isSigned",
"= false",
15357 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15360 DECLARE_OTHERS(AsmIntegerType);
15361#if defined(SgAsmIntegerType_OTHERS) || defined(DOCUMENTATION)
15364#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15366 friend class boost::serialization::access;
15369 void serialize(S &s,
const unsigned ) {
15372 s & BOOST_SERIALIZATION_NVP(p_isSigned);
15418#ifdef DOCUMENTATION
15427DECLARE_LEAF_CLASS(AsmInstructionList);
15428IS_SERIALIZABLE(AsmInstructionList);
15430#ifndef DOCUMENTATION
15431AsmInstructionList.useSmallHeader(
true);
15434DECLARE_HEADERS(AsmInstructionList);
15435#if defined(SgAsmInstructionList_HEADERS) || defined(DOCUMENTATION)
15436#include <sageContainer.h>
15439#ifdef DOCUMENTATION
15444#ifndef DOCUMENTATION
15445 AsmInstructionList.setDataPrototype(
15446 "SgAsmInstructionPtrList",
"instructions",
"",
15447 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15450 DECLARE_OTHERS(AsmInstructionList);
15451#if defined(SgAsmInstructionList_OTHERS) || defined(DOCUMENTATION)
15454#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15456 friend class boost::serialization::access;
15459 void serialize(S &s,
const unsigned ) {
15461 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
15462 s & BOOST_SERIALIZATION_NVP(p_instructions);
15497#ifdef DOCUMENTATION
15506DECLARE_LEAF_CLASS(AsmIndirectRegisterExpression);
15507IS_SERIALIZABLE(AsmIndirectRegisterExpression);
15509#ifndef DOCUMENTATION
15510AsmIndirectRegisterExpression.useSmallHeader(
true);
15513#ifdef DOCUMENTATION
15532#ifndef DOCUMENTATION
15533 AsmIndirectRegisterExpression.setDataPrototype(
15534 "Rose::BinaryAnalysis::RegisterDescriptor",
"stride",
"",
15535 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15538#ifndef DOCUMENTATION
15539 AsmIndirectRegisterExpression.setDataPrototype(
15540 "Rose::BinaryAnalysis::RegisterDescriptor",
"offset",
"",
15541 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15544#ifndef DOCUMENTATION
15545 AsmIndirectRegisterExpression.setDataPrototype(
15546 "size_t",
"index",
"= 0",
15547 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15550#ifndef DOCUMENTATION
15551 AsmIndirectRegisterExpression.setDataPrototype(
15552 "size_t",
"modulus",
"= 0",
15553 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15556 DECLARE_OTHERS(AsmIndirectRegisterExpression);
15557#if defined(SgAsmIndirectRegisterExpression_OTHERS) || defined(DOCUMENTATION)
15560#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15562 friend class boost::serialization::access;
15565 void serialize(S &s,
const unsigned ) {
15568 s & BOOST_SERIALIZATION_NVP(p_stride);
15569 s & BOOST_SERIALIZATION_NVP(p_offset);
15570 s & BOOST_SERIALIZATION_NVP(p_index);
15571 s & BOOST_SERIALIZATION_NVP(p_modulus);
15629 size_t const& index,
15630 size_t const& modulus);
15641#ifdef DOCUMENTATION
15650DECLARE_LEAF_CLASS(AsmGenericSymbolList);
15651IS_SERIALIZABLE(AsmGenericSymbolList);
15653#ifndef DOCUMENTATION
15654AsmGenericSymbolList.useSmallHeader(
true);
15657DECLARE_HEADERS(AsmGenericSymbolList);
15658#if defined(SgAsmGenericSymbolList_HEADERS) || defined(DOCUMENTATION)
15659#include <sageContainer.h>
15662#ifdef DOCUMENTATION
15670#ifndef DOCUMENTATION
15671 AsmGenericSymbolList.setDataPrototype(
15672 "SgAsmGenericSymbolPtrList",
"symbols",
"",
15673 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15676 DECLARE_OTHERS(AsmGenericSymbolList);
15677#if defined(SgAsmGenericSymbolList_OTHERS) || defined(DOCUMENTATION)
15680#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15682 friend class boost::serialization::access;
15685 void serialize(S &s,
const unsigned ) {
15688 s & BOOST_SERIALIZATION_NVP(p_symbols);
15719#ifdef DOCUMENTATION
15728DECLARE_LEAF_CLASS(AsmGenericSectionList);
15729IS_SERIALIZABLE(AsmGenericSectionList);
15731#ifndef DOCUMENTATION
15732AsmGenericSectionList.useSmallHeader(
true);
15735DECLARE_HEADERS(AsmGenericSectionList);
15736#if defined(SgAsmGenericSectionList_HEADERS) || defined(DOCUMENTATION)
15737#include <sageContainer.h>
15740#ifdef DOCUMENTATION
15748#ifndef DOCUMENTATION
15749 AsmGenericSectionList.setDataPrototype(
15750 "SgAsmGenericSectionPtrList",
"sections",
"",
15751 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15754 DECLARE_OTHERS(AsmGenericSectionList);
15755#if defined(SgAsmGenericSectionList_OTHERS) || defined(DOCUMENTATION)
15758#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15760 friend class boost::serialization::access;
15763 void serialize(S &s,
const unsigned ) {
15766 s & BOOST_SERIALIZATION_NVP(p_sections);
15797#ifdef DOCUMENTATION
15806DECLARE_LEAF_CLASS(AsmGenericHeaderList);
15807IS_SERIALIZABLE(AsmGenericHeaderList);
15809#ifndef DOCUMENTATION
15810AsmGenericHeaderList.useSmallHeader(
true);
15813DECLARE_HEADERS(AsmGenericHeaderList);
15814#if defined(SgAsmGenericHeaderList_HEADERS) || defined(DOCUMENTATION)
15815#include <sageContainer.h>
15818#ifdef DOCUMENTATION
15826#ifndef DOCUMENTATION
15827 AsmGenericHeaderList.setDataPrototype(
15828 "SgAsmGenericHeaderPtrList",
"headers",
"",
15829 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
15832 DECLARE_OTHERS(AsmGenericHeaderList);
15833#if defined(SgAsmGenericHeaderList_OTHERS) || defined(DOCUMENTATION)
15836#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15838 friend class boost::serialization::access;
15841 void serialize(S &s,
const unsigned ) {
15844 s & BOOST_SERIALIZATION_NVP(p_headers);
15875#ifdef DOCUMENTATION
15884DECLARE_LEAF_CLASS(AsmGenericFormat);
15885IS_SERIALIZABLE(AsmGenericFormat);
15887#ifndef DOCUMENTATION
15888AsmGenericFormat.useSmallHeader(
true);
15891DECLARE_HEADERS(AsmGenericFormat);
15892#if defined(SgAsmGenericFormat_HEADERS) || defined(DOCUMENTATION)
15893#include <Rose/BinaryAnalysis/ByteOrder.h>
15896#ifdef DOCUMENTATION
15901#ifndef DOCUMENTATION
15902 AsmGenericFormat.setDataPrototype(
15903 "SgAsmGenericFormat::ExecFamily",
"family",
"= SgAsmGenericFormat::FAMILY_UNSPECIFIED",
15904 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15907#ifndef DOCUMENTATION
15908 AsmGenericFormat.setDataPrototype(
15909 "SgAsmGenericFormat::ExecPurpose",
"purpose",
"= SgAsmGenericFormat::PURPOSE_EXECUTABLE",
15910 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15913#ifndef DOCUMENTATION
15914 AsmGenericFormat.setDataPrototype(
15915 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"sex",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
15916 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15919#ifndef DOCUMENTATION
15920 AsmGenericFormat.setDataPrototype(
15921 "unsigned",
"version",
"= 0",
15922 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15925#ifndef DOCUMENTATION
15926 AsmGenericFormat.setDataPrototype(
15927 "bool",
"isCurrentVersion",
"= false",
15928 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15931#ifndef DOCUMENTATION
15932 AsmGenericFormat.setDataPrototype(
15933 "SgAsmGenericFormat::ExecABI",
"abi",
"= SgAsmGenericFormat::ABI_UNSPECIFIED",
15934 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15937#ifndef DOCUMENTATION
15938 AsmGenericFormat.setDataPrototype(
15939 "unsigned",
"abiVersion",
"= 0",
15940 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15943#ifndef DOCUMENTATION
15944 AsmGenericFormat.setDataPrototype(
15945 "size_t",
"wordSize",
"= 0",
15946 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
15949 DECLARE_OTHERS(AsmGenericFormat);
15950#if defined(SgAsmGenericFormat_OTHERS) || defined(DOCUMENTATION)
15953#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
15955 friend class boost::serialization::access;
15958 void serialize(S &s,
const unsigned ) {
15961 s & BOOST_SERIALIZATION_NVP(p_family);
15962 s & BOOST_SERIALIZATION_NVP(p_purpose);
15963 s & BOOST_SERIALIZATION_NVP(p_sex);
15964 s & BOOST_SERIALIZATION_NVP(p_version);
15965 s & BOOST_SERIALIZATION_NVP(p_isCurrentVersion);
15966 s & BOOST_SERIALIZATION_NVP(p_abi);
15967 s & BOOST_SERIALIZATION_NVP(p_abiVersion);
15968 s & BOOST_SERIALIZATION_NVP(p_wordSize);
16041 void dump(FILE*,
const char *prefix, ssize_t idx)
const;
16049 unsigned get_abi_version() const ROSE_DEPRECATED("use
get_abiVersion");
16050 void set_abi_version(
unsigned) ROSE_DEPRECATED("use
set_abiVersion");
16051 size_t get_word_size() const ROSE_DEPRECATED("use
get_wordSize");
16052 void set_word_size(
size_t) ROSE_DEPRECATED("use
set_wordSize");
16070#ifdef DOCUMENTATION
16079DECLARE_LEAF_CLASS(AsmGenericFileList);
16080IS_SERIALIZABLE(AsmGenericFileList);
16082#ifndef DOCUMENTATION
16083AsmGenericFileList.useSmallHeader(
true);
16086DECLARE_HEADERS(AsmGenericFileList);
16087#if defined(SgAsmGenericFileList_HEADERS) || defined(DOCUMENTATION)
16088#include <sageContainer.h>
16091#ifdef DOCUMENTATION
16099#ifndef DOCUMENTATION
16100 AsmGenericFileList.setDataPrototype(
16101 "SgAsmGenericFilePtrList",
"files",
"",
16102 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16105 DECLARE_OTHERS(AsmGenericFileList);
16106#if defined(SgAsmGenericFileList_OTHERS) || defined(DOCUMENTATION)
16109#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
16111 friend class boost::serialization::access;
16114 void serialize(S &s,
const unsigned ) {
16116 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
16117 s & BOOST_SERIALIZATION_NVP(p_files);
16148#ifdef DOCUMENTATION
16157DECLARE_LEAF_CLASS(AsmGenericFile);
16158IS_SERIALIZABLE(AsmGenericFile);
16160#ifndef DOCUMENTATION
16161AsmGenericFile.useSmallHeader(
true);
16164DECLARE_HEADERS(AsmGenericFile);
16165#if defined(SgAsmGenericFile_HEADERS) || defined(DOCUMENTATION)
16166#include <Rose/BinaryAnalysis/Address.h>
16167#include <Rose/BinaryAnalysis/MemoryMap.h>
16168#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
16170#include "DataConversion.h"
16171#include "StatSerializer.h"
16173#ifdef ROSE_SgAsmGenericFile_IMPL
16174#include <SgAsmDwarfCompilationUnitList.h>
16175#include <SgAsmGenericSectionList.h>
16176#include <SgAsmGenericHeaderList.h>
16179#include <sys/stat.h>
16182#ifdef DOCUMENTATION
16187#ifndef DOCUMENTATION
16188 AsmGenericFile.setDataPrototype(
16189 "SgAsmDwarfCompilationUnitList*",
"dwarfInfo",
"= nullptr",
16190 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16193#ifndef DOCUMENTATION
16194 AsmGenericFile.setDataPrototype(
16195 "std::string",
"name",
"",
16196 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16199#ifndef DOCUMENTATION
16200 AsmGenericFile.setDataPrototype(
16201 "int",
"fd",
"= -1",
16202 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16205#ifndef DOCUMENTATION
16206 AsmGenericFile.setDataPrototype(
16207 "struct stat",
"sb",
"",
16208 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16211#ifndef DOCUMENTATION
16212 AsmGenericFile.setDataPrototype(
16213 "SgFileContentList",
"data",
"",
16214 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16217#ifndef DOCUMENTATION
16218 AsmGenericFile.setDataPrototype(
16219 "SgAsmGenericHeaderList*",
"headers",
"= createAndParent<SgAsmGenericHeaderList>(this)",
16220 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16223#ifndef DOCUMENTATION
16224 AsmGenericFile.setDataPrototype(
16225 "SgAsmGenericSectionList*",
"holes",
"= createAndParent<SgAsmGenericSectionList>(this)",
16226 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16229#ifndef DOCUMENTATION
16230 AsmGenericFile.setDataPrototype(
16231 "bool",
"truncateZeros",
"= false",
16232 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16235#ifndef DOCUMENTATION
16236 AsmGenericFile.setDataPrototype(
16237 "bool",
"trackingReferences",
"= true",
16238 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16241#ifndef DOCUMENTATION
16242 AsmGenericFile.setDataPrototype(
16243 "Rose::BinaryAnalysis::AddressIntervalSet",
"referencedExtents",
"",
16244 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16247#ifndef DOCUMENTATION
16248 AsmGenericFile.setDataPrototype(
16249 "bool",
"neuter",
"= false",
16250 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16253 DECLARE_OTHERS(AsmGenericFile);
16254#if defined(SgAsmGenericFile_OTHERS) || defined(DOCUMENTATION)
16257#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
16259 friend class boost::serialization::access;
16262 void serialize(S &s,
const unsigned ) {
16265 s & BOOST_SERIALIZATION_NVP(p_dwarfInfo);
16266 s & BOOST_SERIALIZATION_NVP(p_name);
16267 s & BOOST_SERIALIZATION_NVP(p_sb);
16268 s & BOOST_SERIALIZATION_NVP(p_data);
16269 s & BOOST_SERIALIZATION_NVP(p_headers);
16270 s & BOOST_SERIALIZATION_NVP(p_holes);
16271 s & BOOST_SERIALIZATION_NVP(p_truncateZeros);
16272 s & BOOST_SERIALIZATION_NVP(p_trackingReferences);
16273 s & BOOST_SERIALIZATION_NVP(p_referencedExtents);
16274 s & BOOST_SERIALIZATION_NVP(p_neuter);
16284 ADDRSP_MEMORY = 0x0001,
16285 ADDRSP_FILE = 0x0002,
16286 ADDRSP_ALL = 0x0003
16327 struct stat const& get_sb()
const;
16680 const
Rose::BinaryAnalysis::AddressIntervalSet& get_referenced_extents() const ROSE_DEPRECATED("use
get_referencedExtents");
16681 void set_referenced_extents(const
Rose::BinaryAnalysis::AddressIntervalSet&) ROSE_DEPRECATED("use
set_referencedExtents");
16682 void extend_to_eof(std::ostream&) const ROSE_DEPRECATED("use
extendToEof");
16683 void dump_all(
bool in_cwd=true, const
char *ext=NULL) ROSE_DEPRECATED("use
dumpAll");
16684 void dump_all(const std::
string& dumpname) ROSE_DEPRECATED("use
dumpAll");
16685 const
Rose::BinaryAnalysis::AddressIntervalSet& get_unreferenced_extents() const
16687 void mark_referenced_extent(
Rose::BinaryAnalysis::Address,
Rose::BinaryAnalysis::Address)
16691 Rose::BinaryAnalysis::Address get_current_size() const ROSE_DEPRECATED("use
get_currentSize");
16693 size_t read_content(
Rose::BinaryAnalysis::Address,
void*,
Rose::BinaryAnalysis::Address,
bool=true)
16695 size_t read_content(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::Address,
void*,
16696 Rose::BinaryAnalysis::Address,
bool=true) ROSE_DEPRECATED("use
readContent");
16697 std::
string read_content_str(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::Address,
bool=true)
16699 std::
string read_content_str(
Rose::BinaryAnalysis::Address,
bool=true) ROSE_DEPRECATED("use
readContentString");
16700 SgAsmGenericSectionPtrList get_mapped_sections() const ROSE_DEPRECATED("use
get_mappedSections");
16701 SgAsmGenericSectionPtrList get_sections_by_id(
int id) const ROSE_DEPRECATED("use
get_sectionById");
16702 SgAsmGenericSectionPtrList get_sections_by_name(std::
string,
char='\0') const ROSE_DEPRECATED("use
get_sectionsByName");
16703 SgAsmGenericSectionPtrList get_sections_by_offset(
Rose::BinaryAnalysis::Address,
Rose::BinaryAnalysis::Address) const
16705 SgAsmGenericSectionPtrList get_sections_by_rva(
Rose::BinaryAnalysis::Address) const ROSE_DEPRECATED("use
get_sectionsByRva");
16706 SgAsmGenericSectionPtrList get_sections_by_va(
Rose::BinaryAnalysis::Address) const ROSE_DEPRECATED("use
get_sectionsByVa");
16708 SgAsmGenericSection *get_section_by_name(const std::
string&,
char=0,
size_t* =
nullptr) const
16718 static
SgAsmGenericSection *best_section_by_va(const SgAsmGenericSectionPtrList&,
Rose::BinaryAnalysis::Address)
16724 Rose::BinaryAnalysis::Address get_next_section_offset(
Rose::BinaryAnalysis::Address)
16728 void fill_holes() ROSE_DEPRECATED("use
fillHoles");
16729 void unfill_holes() ROSE_DEPRECATED("use
unfillHoles");
16732 const
char *format_name() const ROSE_DEPRECATED("use
formatName");
16750#ifdef DOCUMENTATION
16759DECLARE_LEAF_CLASS(AsmGenericDLLList);
16760IS_SERIALIZABLE(AsmGenericDLLList);
16762#ifndef DOCUMENTATION
16763AsmGenericDLLList.useSmallHeader(
true);
16766DECLARE_HEADERS(AsmGenericDLLList);
16767#if defined(SgAsmGenericDLLList_HEADERS) || defined(DOCUMENTATION)
16768#include <sageContainer.h>
16771#ifdef DOCUMENTATION
16779#ifndef DOCUMENTATION
16780 AsmGenericDLLList.setDataPrototype(
16781 "SgAsmGenericDLLPtrList",
"dlls",
"",
16782 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16785 DECLARE_OTHERS(AsmGenericDLLList);
16786#if defined(SgAsmGenericDLLList_OTHERS) || defined(DOCUMENTATION)
16789#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
16791 friend class boost::serialization::access;
16794 void serialize(S &s,
const unsigned ) {
16797 s & BOOST_SERIALIZATION_NVP(p_dlls);
16828#ifdef DOCUMENTATION
16837DECLARE_LEAF_CLASS(AsmGenericDLL);
16838IS_SERIALIZABLE(AsmGenericDLL);
16840#ifndef DOCUMENTATION
16841AsmGenericDLL.useSmallHeader(
true);
16844DECLARE_HEADERS(AsmGenericDLL);
16845#if defined(SgAsmGenericDLL_HEADERS) || defined(DOCUMENTATION)
16846#include <sageContainer.h>
16848#ifdef ROSE_SgAsmGenericDLL_IMPL
16849#include <SgAsmBasicString.h>
16853#ifdef DOCUMENTATION
16858#ifndef DOCUMENTATION
16859 AsmGenericDLL.setDataPrototype(
16860 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
16861 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
16864#ifndef DOCUMENTATION
16865 AsmGenericDLL.setDataPrototype(
16866 "SgStringList",
"symbols",
"",
16867 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16870 DECLARE_OTHERS(AsmGenericDLL);
16871#if defined(SgAsmGenericDLL_OTHERS) || defined(DOCUMENTATION)
16874#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
16876 friend class boost::serialization::access;
16879 void serialize(S &s,
const unsigned ) {
16882 s & BOOST_SERIALIZATION_NVP(p_name);
16883 s & BOOST_SERIALIZATION_NVP(p_symbols);
16907 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
16916 void add_symbol(
const std::string&) ROSE_DEPRECATED(
"use addSymbol");
16934#ifdef DOCUMENTATION
16943DECLARE_LEAF_CLASS(AsmFunction);
16944IS_SERIALIZABLE(AsmFunction);
16946#ifndef DOCUMENTATION
16947AsmFunction.useSmallHeader(
true);
16950DECLARE_HEADERS(AsmFunction);
16951#if defined(SgAsmFunction_HEADERS) || defined(DOCUMENTATION)
16952#include <Rose/BinaryAnalysis/Address.h>
16953#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
16954#include <sageContainer.h>
16956#ifdef ROSE_SgAsmFunction_IMPL
16957#include <SgAsmInstruction.h>
16961#ifdef DOCUMENTATION
16980#ifndef DOCUMENTATION
16981 AsmFunction.setDataPrototype(
16982 "std::string",
"name",
"",
16983 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16986#ifndef DOCUMENTATION
16987 AsmFunction.setDataPrototype(
16988 "unsigned",
"reason",
"= SgAsmFunction::FUNC_NONE",
16989 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16992#ifndef DOCUMENTATION
16993 AsmFunction.setDataPrototype(
16994 "std::string",
"reasonComment",
"",
16995 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
16998#ifndef DOCUMENTATION
16999 AsmFunction.setDataPrototype(
17000 "SgAsmFunction::function_kind_enum",
"functionKind",
"= SgAsmFunction::e_unknown",
17001 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17004#ifndef DOCUMENTATION
17005 AsmFunction.setDataPrototype(
17006 "SgAsmFunction::MayReturn",
"mayReturn",
"= SgAsmFunction::RET_UNKNOWN",
17007 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17010#ifndef DOCUMENTATION
17011 AsmFunction.setDataPrototype(
17012 "std::string",
"nameMd5",
"",
17013 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17016#ifndef DOCUMENTATION
17017 AsmFunction.setDataPrototype(
17018 "SgAsmStatementPtrList",
"statementList",
"",
17019 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
17022#ifndef DOCUMENTATION
17023 AsmFunction.setDataPrototype(
17024 "SgAsmStatementPtrList",
"dest",
"",
17025 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17028#ifndef DOCUMENTATION
17029 AsmFunction.setDataPrototype(
17030 "Rose::BinaryAnalysis::Address",
"entryVa",
"= 0",
17031 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17034#ifndef DOCUMENTATION
17035 AsmFunction.setDataPrototype(
17036 "SgSymbolTable*",
"symbolTable",
"= nullptr",
17037 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17040#ifndef DOCUMENTATION
17041 AsmFunction.setDataPrototype(
17042 "size_t",
"cachedVertex",
"= (size_t)(-1)",
17043 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17046#ifndef DOCUMENTATION
17047 AsmFunction.setDataPrototype(
17048 "int64_t",
"stackDelta",
"= SgAsmInstruction::INVALID_STACK_DELTA",
17049 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17052#ifndef DOCUMENTATION
17053 AsmFunction.setDataPrototype(
17054 "std::string",
"callingConvention",
"",
17055 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17058 DECLARE_OTHERS(AsmFunction);
17059#if defined(SgAsmFunction_OTHERS) || defined(DOCUMENTATION)
17062#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17064 friend class boost::serialization::access;
17067 void serialize(S &s,
const unsigned ) {
17070 s & BOOST_SERIALIZATION_NVP(p_name);
17071 s & BOOST_SERIALIZATION_NVP(p_reason);
17072 s & BOOST_SERIALIZATION_NVP(p_reasonComment);
17073 s & BOOST_SERIALIZATION_NVP(p_functionKind);
17074 s & BOOST_SERIALIZATION_NVP(p_mayReturn);
17075 s & BOOST_SERIALIZATION_NVP(p_nameMd5);
17076 s & BOOST_SERIALIZATION_NVP(p_statementList);
17077 s & BOOST_SERIALIZATION_NVP(p_dest);
17078 s & BOOST_SERIALIZATION_NVP(p_entryVa);
17079 s & BOOST_SERIALIZATION_NVP(p_cachedVertex);
17080 s & BOOST_SERIALIZATION_NVP(p_stackDelta);
17081 s & BOOST_SERIALIZATION_NVP(p_callingConvention);
17273 SgAsmStatementPtrList
const& get_dest()
const;
17274 void set_dest(SgAsmStatementPtrList
const&);
17299 size_t const& get_cachedVertex()
const;
17300 void set_cachedVertex(
size_t const&);
17363 virtual bool operator()(
SgNode*) = 0;
17423 const std::
string& get_name_md5() const ROSE_DEPRECATED("use
get_nameMd5");
17424 void set_name_md5(const std::
string&) ROSE_DEPRECATED("use
set_nameMd5");
17425 Rose::BinaryAnalysis::Address get_entry_va() const ROSE_DEPRECATED("use
get_entryVa");
17426 void set_entry_va(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use
set_entryVa");
17429 size_t get_cached_vertex() const ROSE_DEPRECATED("use get_cachedVertex");
17430 void set_cached_vertex(
size_t) ROSE_DEPRECATED("use set_cachedVertex");
17434 static std::
string reason_key(const std::
string &prefix="") ROSE_DEPRECATED("use
reasonKey");
17435 std::
string reason_str(
bool) const ROSE_DEPRECATED("use
reasonString");
17436 static std::
string reason_str(
bool,
unsigned) ROSE_DEPRECATED("use
reasonString");
17448 std::
string const& name,
17449 unsigned const& reason,
17461#ifdef DOCUMENTATION
17470#ifndef DOCUMENTATION
17471AstNodeClass& AsmSynthesizedDeclaration = nonTerminalConstructor(
17472 "AsmSynthesizedDeclaration",
17474 "AsmSynthesizedDeclaration",
17475 "AsmSynthesizedDeclarationTag",
17476 SubclassListBuilder()
17478 | AsmSynthesizedDataStructureDeclaration
17479 | AsmSynthesizedFieldDeclaration
17481assert(AsmSynthesizedDeclaration.associatedGrammar !=
nullptr);
17482AsmSynthesizedDeclaration.setCppCondition(
"!defined(DOCUMENTATION)");
17483AsmSynthesizedDeclaration.isBoostSerializable(
true);
17484AsmSynthesizedDeclaration.setAutomaticGenerationOfConstructor(
false);
17485AsmSynthesizedDeclaration.setAutomaticGenerationOfDestructor(
false);
17488#ifndef DOCUMENTATION
17489AsmSynthesizedDeclaration.useSmallHeader(
true);
17492#ifdef DOCUMENTATION
17502 DECLARE_OTHERS(AsmSynthesizedDeclaration);
17503#if defined(SgAsmSynthesizedDeclaration_OTHERS) || defined(DOCUMENTATION)
17506#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17508 friend class boost::serialization::access;
17511 void serialize(S &s,
const unsigned ) {
17539#ifdef DOCUMENTATION
17548DECLARE_LEAF_CLASS(AsmFloatValueExpression);
17549IS_SERIALIZABLE(AsmFloatValueExpression);
17551#ifndef DOCUMENTATION
17552AsmFloatValueExpression.useSmallHeader(
true);
17555#ifdef DOCUMENTATION
17563 DECLARE_OTHERS(AsmFloatValueExpression);
17564#if defined(SgAsmFloatValueExpression_OTHERS) || defined(DOCUMENTATION)
17567#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17569 friend class boost::serialization::access;
17572 void serialize(S &s,
const unsigned ) {
17575 s & BOOST_SERIALIZATION_NVP(p_nativeValue);
17576 s & BOOST_SERIALIZATION_NVP(p_nativeValueIsValid);
17589 mutable double p_nativeValue;
17594 mutable bool p_nativeValueIsValid;
17649#ifdef DOCUMENTATION
17658DECLARE_LEAF_CLASS(AsmFloatType);
17659IS_SERIALIZABLE(AsmFloatType);
17661#ifndef DOCUMENTATION
17662AsmFloatType.useSmallHeader(
true);
17665DECLARE_HEADERS(AsmFloatType);
17666#if defined(SgAsmFloatType_HEADERS) || defined(DOCUMENTATION)
17667#include <Sawyer/BitVector.h>
17668#include <Rose/BitFlags.h>
17669#include <Rose/BinaryAnalysis/ByteOrder.h>
17672#ifdef DOCUMENTATION
17677#ifndef DOCUMENTATION
17678 AsmFloatType.setDataPrototype(
17679 "size_t",
"significandOffset",
"= (size_t)(-1)",
17680 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17683#ifndef DOCUMENTATION
17684 AsmFloatType.setDataPrototype(
17685 "size_t",
"significandNBits",
"= (size_t)(-1)",
17686 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17689#ifndef DOCUMENTATION
17690 AsmFloatType.setDataPrototype(
17691 "size_t",
"signBitOffset",
"= (size_t)(-1)",
17692 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17695#ifndef DOCUMENTATION
17696 AsmFloatType.setDataPrototype(
17697 "size_t",
"exponentOffset",
"= (size_t)(-1)",
17698 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17701#ifndef DOCUMENTATION
17702 AsmFloatType.setDataPrototype(
17703 "size_t",
"exponentNBits",
"= (size_t)(-1)",
17704 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17707#ifndef DOCUMENTATION
17708 AsmFloatType.setDataPrototype(
17709 "uint64_t",
"exponentBias",
"= 0",
17710 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17713#ifndef DOCUMENTATION
17714 AsmFloatType.setDataPrototype(
17715 "unsigned",
"flags",
"= 0",
17716 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17719 DECLARE_OTHERS(AsmFloatType);
17720#if defined(SgAsmFloatType_OTHERS) || defined(DOCUMENTATION)
17723#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17725 friend class boost::serialization::access;
17728 void serialize(S &s,
const unsigned ) {
17731 s & BOOST_SERIALIZATION_NVP(p_significandOffset);
17732 s & BOOST_SERIALIZATION_NVP(p_significandNBits);
17733 s & BOOST_SERIALIZATION_NVP(p_signBitOffset);
17734 s & BOOST_SERIALIZATION_NVP(p_exponentOffset);
17735 s & BOOST_SERIALIZATION_NVP(p_exponentNBits);
17736 s & BOOST_SERIALIZATION_NVP(p_exponentBias);
17737 s & BOOST_SERIALIZATION_NVP(p_flags);
17836#ifdef DOCUMENTATION
17845#ifndef DOCUMENTATION
17846AstNodeClass& AsmScalarType = nonTerminalConstructor(
17850 "AsmScalarTypeTag",
17851 SubclassListBuilder()
17856assert(AsmScalarType.associatedGrammar !=
nullptr);
17857AsmScalarType.setCppCondition(
"!defined(DOCUMENTATION)");
17858AsmScalarType.isBoostSerializable(
true);
17859AsmScalarType.setAutomaticGenerationOfConstructor(
false);
17860AsmScalarType.setAutomaticGenerationOfDestructor(
false);
17863#ifndef DOCUMENTATION
17864AsmScalarType.useSmallHeader(
true);
17867DECLARE_HEADERS(AsmScalarType);
17868#if defined(SgAsmScalarType_HEADERS) || defined(DOCUMENTATION)
17869#include <Rose/BinaryAnalysis/ByteOrder.h>
17872#ifdef DOCUMENTATION
17877#ifndef DOCUMENTATION
17878 AsmScalarType.setDataPrototype(
17879 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"minorOrder",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
17880 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17883#ifndef DOCUMENTATION
17884 AsmScalarType.setDataPrototype(
17885 "Rose::BinaryAnalysis::ByteOrder::Endianness",
"majorOrder",
"= Rose::BinaryAnalysis::ByteOrder::ORDER_UNSPECIFIED",
17886 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17889#ifndef DOCUMENTATION
17890 AsmScalarType.setDataPrototype(
17891 "size_t",
"majorNBytes",
"= 0",
17892 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17895#ifndef DOCUMENTATION
17896 AsmScalarType.setDataPrototype(
17897 "size_t",
"nBits",
"= 0",
17898 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
17901 DECLARE_OTHERS(AsmScalarType);
17902#if defined(SgAsmScalarType_OTHERS) || defined(DOCUMENTATION)
17905#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
17907 friend class boost::serialization::access;
17910 void serialize(S &s,
const unsigned ) {
17912 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmType);
17913 s & BOOST_SERIALIZATION_NVP(p_minorOrder);
17914 s & BOOST_SERIALIZATION_NVP(p_majorOrder);
17915 s & BOOST_SERIALIZATION_NVP(p_majorNBytes);
17916 s & BOOST_SERIALIZATION_NVP(p_nBits);
17980#ifdef DOCUMENTATION
17989#ifndef DOCUMENTATION
17990AstNodeClass& AsmType = nonTerminalConstructor(
17995 SubclassListBuilder()
18000assert(AsmType.associatedGrammar !=
nullptr);
18001AsmType.setCppCondition(
"!defined(DOCUMENTATION)");
18002AsmType.isBoostSerializable(
true);
18003AsmType.setAutomaticGenerationOfConstructor(
false);
18004AsmType.setAutomaticGenerationOfDestructor(
false);
18007#ifndef DOCUMENTATION
18008AsmType.useSmallHeader(
true);
18011#ifdef DOCUMENTATION
18016 DECLARE_OTHERS(AsmType);
18017#if defined(SgAsmType_OTHERS) || defined(DOCUMENTATION)
18020#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18022 friend class boost::serialization::access;
18025 void serialize(S &s,
const unsigned ) {
18027 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
18068 template<
class Type>
18070 ASSERT_not_null(toInsert);
18071 std::string key = toInsert->toString();
18072 Type *retval =
dynamic_cast<Type*
>(p_typeRegistry.
insertMaybe(key, toInsert));
18073 ASSERT_not_null(retval);
18074 if (retval!=toInsert)
18095#ifdef DOCUMENTATION
18104DECLARE_LEAF_CLASS(AsmExprListExp);
18105IS_SERIALIZABLE(AsmExprListExp);
18107#ifndef DOCUMENTATION
18108AsmExprListExp.useSmallHeader(
true);
18111DECLARE_HEADERS(AsmExprListExp);
18112#if defined(SgAsmExprListExp_HEADERS) || defined(DOCUMENTATION)
18113#include <sageContainer.h>
18116#ifdef DOCUMENTATION
18121#ifndef DOCUMENTATION
18122 AsmExprListExp.setDataPrototype(
18123 "SgAsmExpressionPtrList",
"expressions",
"",
18124 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18127 DECLARE_OTHERS(AsmExprListExp);
18128#if defined(SgAsmExprListExp_OTHERS) || defined(DOCUMENTATION)
18131#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18133 friend class boost::serialization::access;
18136 void serialize(S &s,
const unsigned ) {
18139 s & BOOST_SERIALIZATION_NVP(p_expressions);
18173#ifdef DOCUMENTATION
18182DECLARE_LEAF_CLASS(AsmElfSymverSection);
18183IS_SERIALIZABLE(AsmElfSymverSection);
18185#ifndef DOCUMENTATION
18186AsmElfSymverSection.useSmallHeader(
true);
18189DECLARE_HEADERS(AsmElfSymverSection);
18190#if defined(SgAsmElfSymverSection_HEADERS) || defined(DOCUMENTATION)
18191#include <Rose/BinaryAnalysis/Address.h>
18193#ifdef ROSE_SgAsmElfSymverSection_IMPL
18194#include <SgAsmElfSymverEntryList.h>
18198#ifdef DOCUMENTATION
18206#ifndef DOCUMENTATION
18207 AsmElfSymverSection.setDataPrototype(
18208 "SgAsmElfSymverEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverEntryList>(this)",
18209 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18212 DECLARE_OTHERS(AsmElfSymverSection);
18213#if defined(SgAsmElfSymverSection_OTHERS) || defined(DOCUMENTATION)
18216#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18218 friend class boost::serialization::access;
18221 void serialize(S &s,
const unsigned ) {
18224 s & BOOST_SERIALIZATION_NVP(p_entries);
18251 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
18257 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
18263 using SgAsmElfSection::calculate_sizes;
18265 ROSE_DEPRECATED(
"use calculateSizes");
18283#ifdef DOCUMENTATION
18292DECLARE_LEAF_CLASS(AsmElfSymverNeededSection);
18293IS_SERIALIZABLE(AsmElfSymverNeededSection);
18295#ifndef DOCUMENTATION
18296AsmElfSymverNeededSection.useSmallHeader(
true);
18299DECLARE_HEADERS(AsmElfSymverNeededSection);
18300#if defined(SgAsmElfSymverNeededSection_HEADERS) || defined(DOCUMENTATION)
18301#include <Rose/BinaryAnalysis/Address.h>
18303#ifdef ROSE_SgAsmElfSymverNeededSection_IMPL
18304#include <SgAsmElfSymverNeededEntryList.h>
18308#ifdef DOCUMENTATION
18317#ifndef DOCUMENTATION
18318 AsmElfSymverNeededSection.setDataPrototype(
18319 "SgAsmElfSymverNeededEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverNeededEntryList>(this)",
18320 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18323 DECLARE_OTHERS(AsmElfSymverNeededSection);
18324#if defined(SgAsmElfSymverNeededSection_OTHERS) || defined(DOCUMENTATION)
18327#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18329 friend class boost::serialization::access;
18332 void serialize(S &s,
const unsigned ) {
18335 s & BOOST_SERIALIZATION_NVP(p_entries);
18367 using SgAsmElfSection::calculate_sizes;
18372 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
18380 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
18387 ROSE_DEPRECATED(
"use calculateSizes");
18405#ifdef DOCUMENTATION
18414DECLARE_LEAF_CLASS(AsmElfSymverNeededEntryList);
18415IS_SERIALIZABLE(AsmElfSymverNeededEntryList);
18417#ifndef DOCUMENTATION
18418AsmElfSymverNeededEntryList.useSmallHeader(
true);
18421DECLARE_HEADERS(AsmElfSymverNeededEntryList);
18422#if defined(SgAsmElfSymverNeededEntryList_HEADERS) || defined(DOCUMENTATION)
18423#include <sageContainer.h>
18426#ifdef DOCUMENTATION
18434#ifndef DOCUMENTATION
18435 AsmElfSymverNeededEntryList.setDataPrototype(
18436 "SgAsmElfSymverNeededEntryPtrList",
"entries",
"",
18437 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18440 DECLARE_OTHERS(AsmElfSymverNeededEntryList);
18441#if defined(SgAsmElfSymverNeededEntryList_OTHERS) || defined(DOCUMENTATION)
18444#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18446 friend class boost::serialization::access;
18449 void serialize(S &s,
const unsigned ) {
18452 s & BOOST_SERIALIZATION_NVP(p_entries);
18483#ifdef DOCUMENTATION
18492DECLARE_LEAF_CLASS(AsmElfSymverNeededEntry);
18493IS_SERIALIZABLE(AsmElfSymverNeededEntry);
18495#ifndef DOCUMENTATION
18496AsmElfSymverNeededEntry.useSmallHeader(
true);
18499DECLARE_HEADERS(AsmElfSymverNeededEntry);
18500#if defined(SgAsmElfSymverNeededEntry_HEADERS) || defined(DOCUMENTATION)
18501#include <Rose/BinaryAnalysis/ByteOrder.h>
18503#ifdef ROSE_SgAsmElfSymverNeededEntry_IMPL
18504#include <SgAsmElfSymverNeededAuxList.h>
18505#include <SgAsmGenericString.h>
18509#ifdef DOCUMENTATION
18514#ifndef DOCUMENTATION
18515 AsmElfSymverNeededEntry.setDataPrototype(
18516 "size_t",
"version",
"= 0",
18517 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18520#ifndef DOCUMENTATION
18521 AsmElfSymverNeededEntry.setDataPrototype(
18522 "SgAsmGenericString*",
"fileName",
"= nullptr",
18523 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18526#ifndef DOCUMENTATION
18527 AsmElfSymverNeededEntry.setDataPrototype(
18528 "SgAsmElfSymverNeededAuxList*",
"entries",
"= createAndParent<SgAsmElfSymverNeededAuxList>(this)",
18529 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18532 DECLARE_OTHERS(AsmElfSymverNeededEntry);
18533#if defined(SgAsmElfSymverNeededEntry_OTHERS) || defined(DOCUMENTATION)
18536#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18538 friend class boost::serialization::access;
18541 void serialize(S &s,
const unsigned ) {
18544 s & BOOST_SERIALIZATION_NVP(p_version);
18545 s & BOOST_SERIALIZATION_NVP(p_fileName);
18546 s & BOOST_SERIALIZATION_NVP(p_entries);
18566#if !defined(SWIG) && !defined(_MSC_VER)
18567 __attribute__((packed))
18621 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
18646#ifdef DOCUMENTATION
18655DECLARE_LEAF_CLASS(AsmElfSymverNeededAuxList);
18656IS_SERIALIZABLE(AsmElfSymverNeededAuxList);
18658#ifndef DOCUMENTATION
18659AsmElfSymverNeededAuxList.useSmallHeader(
true);
18662DECLARE_HEADERS(AsmElfSymverNeededAuxList);
18663#if defined(SgAsmElfSymverNeededAuxList_HEADERS) || defined(DOCUMENTATION)
18664#include <sageContainer.h>
18667#ifdef DOCUMENTATION
18675#ifndef DOCUMENTATION
18676 AsmElfSymverNeededAuxList.setDataPrototype(
18677 "SgAsmElfSymverNeededAuxPtrList",
"entries",
"",
18678 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18681 DECLARE_OTHERS(AsmElfSymverNeededAuxList);
18682#if defined(SgAsmElfSymverNeededAuxList_OTHERS) || defined(DOCUMENTATION)
18685#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18687 friend class boost::serialization::access;
18690 void serialize(S &s,
const unsigned ) {
18693 s & BOOST_SERIALIZATION_NVP(p_entries);
18724#ifdef DOCUMENTATION
18733DECLARE_LEAF_CLASS(AsmElfSymverNeededAux);
18734IS_SERIALIZABLE(AsmElfSymverNeededAux);
18736#ifndef DOCUMENTATION
18737AsmElfSymverNeededAux.useSmallHeader(
true);
18740DECLARE_HEADERS(AsmElfSymverNeededAux);
18741#if defined(SgAsmElfSymverNeededAux_HEADERS) || defined(DOCUMENTATION)
18742#include <Rose/BinaryAnalysis/ByteOrder.h>
18744#ifdef ROSE_SgAsmElfSymverNeededAux_IMPL
18745#include <SgAsmGenericString.h>
18749#ifdef DOCUMENTATION
18754#ifndef DOCUMENTATION
18755 AsmElfSymverNeededAux.setDataPrototype(
18756 "uint32_t",
"hash",
"= 0",
18757 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18760#ifndef DOCUMENTATION
18761 AsmElfSymverNeededAux.setDataPrototype(
18762 "int",
"flags",
"= 0",
18763 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18766#ifndef DOCUMENTATION
18767 AsmElfSymverNeededAux.setDataPrototype(
18768 "size_t",
"other",
"= 0",
18769 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
18772#ifndef DOCUMENTATION
18773 AsmElfSymverNeededAux.setDataPrototype(
18774 "SgAsmGenericString*",
"name",
"= 0",
18775 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18778 DECLARE_OTHERS(AsmElfSymverNeededAux);
18779#if defined(SgAsmElfSymverNeededAux_OTHERS) || defined(DOCUMENTATION)
18782#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18784 friend class boost::serialization::access;
18787 void serialize(S &s,
const unsigned ) {
18790 s & BOOST_SERIALIZATION_NVP(p_hash);
18791 s & BOOST_SERIALIZATION_NVP(p_flags);
18792 s & BOOST_SERIALIZATION_NVP(p_other);
18793 s & BOOST_SERIALIZATION_NVP(p_name);
18813#if !defined(SWIG) && !defined(_MSC_VER)
18814 __attribute__((packed))
18884 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
18902#ifdef DOCUMENTATION
18911DECLARE_LEAF_CLASS(AsmElfSymverEntryList);
18912IS_SERIALIZABLE(AsmElfSymverEntryList);
18914#ifndef DOCUMENTATION
18915AsmElfSymverEntryList.useSmallHeader(
true);
18918DECLARE_HEADERS(AsmElfSymverEntryList);
18919#if defined(SgAsmElfSymverEntryList_HEADERS) || defined(DOCUMENTATION)
18920#include <sageContainer.h>
18923#ifdef DOCUMENTATION
18931#ifndef DOCUMENTATION
18932 AsmElfSymverEntryList.setDataPrototype(
18933 "SgAsmElfSymverEntryPtrList",
"entries",
"",
18934 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
18937 DECLARE_OTHERS(AsmElfSymverEntryList);
18938#if defined(SgAsmElfSymverEntryList_OTHERS) || defined(DOCUMENTATION)
18941#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
18943 friend class boost::serialization::access;
18946 void serialize(S &s,
const unsigned ) {
18949 s & BOOST_SERIALIZATION_NVP(p_entries);
18980#ifdef DOCUMENTATION
18989DECLARE_LEAF_CLASS(AsmElfSymverEntry);
18990IS_SERIALIZABLE(AsmElfSymverEntry);
18992#ifndef DOCUMENTATION
18993AsmElfSymverEntry.useSmallHeader(
true);
18996#ifdef DOCUMENTATION
19001#ifndef DOCUMENTATION
19002 AsmElfSymverEntry.setDataPrototype(
19003 "size_t",
"value",
"= 0",
19004 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19007 DECLARE_OTHERS(AsmElfSymverEntry);
19008#if defined(SgAsmElfSymverEntry_OTHERS) || defined(DOCUMENTATION)
19011#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19013 friend class boost::serialization::access;
19016 void serialize(S &s,
const unsigned ) {
19019 s & BOOST_SERIALIZATION_NVP(p_value);
19038 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
19056#ifdef DOCUMENTATION
19065DECLARE_LEAF_CLASS(AsmElfSymverDefinedSection);
19066IS_SERIALIZABLE(AsmElfSymverDefinedSection);
19068#ifndef DOCUMENTATION
19069AsmElfSymverDefinedSection.useSmallHeader(
true);
19072DECLARE_HEADERS(AsmElfSymverDefinedSection);
19073#if defined(SgAsmElfSymverDefinedSection_HEADERS) || defined(DOCUMENTATION)
19074#include <Rose/BinaryAnalysis/Address.h>
19076#ifdef ROSE_SgAsmElfSymverDefinedSection_IMPL
19077#include <SgAsmElfSymverDefinedEntryList.h>
19081#ifdef DOCUMENTATION
19090#ifndef DOCUMENTATION
19091 AsmElfSymverDefinedSection.setDataPrototype(
19092 "SgAsmElfSymverDefinedEntryList*",
"entries",
"= createAndParent<SgAsmElfSymverDefinedEntryList>(this)",
19093 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19096 DECLARE_OTHERS(AsmElfSymverDefinedSection);
19097#if defined(SgAsmElfSymverDefinedSection_OTHERS) || defined(DOCUMENTATION)
19100#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19102 friend class boost::serialization::access;
19105 void serialize(S &s,
const unsigned ) {
19108 s & BOOST_SERIALIZATION_NVP(p_entries);
19200 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
19208 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
19214 using SgAsmElfSection::calculate_sizes;
19216 ROSE_DEPRECATED(
"use calculateSizes");
19234#ifdef DOCUMENTATION
19243DECLARE_LEAF_CLASS(AsmElfSymverDefinedEntryList);
19244IS_SERIALIZABLE(AsmElfSymverDefinedEntryList);
19246#ifndef DOCUMENTATION
19247AsmElfSymverDefinedEntryList.useSmallHeader(
true);
19250DECLARE_HEADERS(AsmElfSymverDefinedEntryList);
19251#if defined(SgAsmElfSymverDefinedEntryList_HEADERS) || defined(DOCUMENTATION)
19252#include <sageContainer.h>
19255#ifdef DOCUMENTATION
19263#ifndef DOCUMENTATION
19264 AsmElfSymverDefinedEntryList.setDataPrototype(
19265 "SgAsmElfSymverDefinedEntryPtrList",
"entries",
"",
19266 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19269 DECLARE_OTHERS(AsmElfSymverDefinedEntryList);
19270#if defined(SgAsmElfSymverDefinedEntryList_OTHERS) || defined(DOCUMENTATION)
19273#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19275 friend class boost::serialization::access;
19278 void serialize(S &s,
const unsigned ) {
19281 s & BOOST_SERIALIZATION_NVP(p_entries);
19312#ifdef DOCUMENTATION
19321DECLARE_LEAF_CLASS(AsmElfSymverDefinedEntry);
19322IS_SERIALIZABLE(AsmElfSymverDefinedEntry);
19324#ifndef DOCUMENTATION
19325AsmElfSymverDefinedEntry.useSmallHeader(
true);
19328DECLARE_HEADERS(AsmElfSymverDefinedEntry);
19329#if defined(SgAsmElfSymverDefinedEntry_HEADERS) || defined(DOCUMENTATION)
19330#include <Rose/BinaryAnalysis/ByteOrder.h>
19332#ifdef ROSE_SgAsmElfSymverDefinedEntry_IMPL
19333#include <SgAsmElfSymverDefinedAuxList.h>
19337#ifdef DOCUMENTATION
19342#ifndef DOCUMENTATION
19343 AsmElfSymverDefinedEntry.setDataPrototype(
19344 "size_t",
"version",
"= 0",
19345 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19348#ifndef DOCUMENTATION
19349 AsmElfSymverDefinedEntry.setDataPrototype(
19350 "int",
"flags",
"= 0",
19351 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19354#ifndef DOCUMENTATION
19355 AsmElfSymverDefinedEntry.setDataPrototype(
19356 "size_t",
"index",
"= 0",
19357 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19360#ifndef DOCUMENTATION
19361 AsmElfSymverDefinedEntry.setDataPrototype(
19362 "uint32_t",
"hash",
"= 0",
19363 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19366#ifndef DOCUMENTATION
19367 AsmElfSymverDefinedEntry.setDataPrototype(
19368 "SgAsmElfSymverDefinedAuxList*",
"entries",
"= createAndParent<SgAsmElfSymverDefinedAuxList>(this)",
19369 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19372 DECLARE_OTHERS(AsmElfSymverDefinedEntry);
19373#if defined(SgAsmElfSymverDefinedEntry_OTHERS) || defined(DOCUMENTATION)
19376#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19378 friend class boost::serialization::access;
19381 void serialize(S &s,
const unsigned ) {
19384 s & BOOST_SERIALIZATION_NVP(p_version);
19385 s & BOOST_SERIALIZATION_NVP(p_flags);
19386 s & BOOST_SERIALIZATION_NVP(p_index);
19387 s & BOOST_SERIALIZATION_NVP(p_hash);
19388 s & BOOST_SERIALIZATION_NVP(p_entries);
19409#if !defined(SWIG) && !defined(_MSC_VER)
19410 __attribute__((packed))
19486 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
19504#ifdef DOCUMENTATION
19513DECLARE_LEAF_CLASS(AsmElfSymverDefinedAuxList);
19514IS_SERIALIZABLE(AsmElfSymverDefinedAuxList);
19516#ifndef DOCUMENTATION
19517AsmElfSymverDefinedAuxList.useSmallHeader(
true);
19520DECLARE_HEADERS(AsmElfSymverDefinedAuxList);
19521#if defined(SgAsmElfSymverDefinedAuxList_HEADERS) || defined(DOCUMENTATION)
19522#include <sageContainer.h>
19525#ifdef DOCUMENTATION
19533#ifndef DOCUMENTATION
19534 AsmElfSymverDefinedAuxList.setDataPrototype(
19535 "SgAsmElfSymverDefinedAuxPtrList",
"entries",
"",
19536 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19539 DECLARE_OTHERS(AsmElfSymverDefinedAuxList);
19540#if defined(SgAsmElfSymverDefinedAuxList_OTHERS) || defined(DOCUMENTATION)
19543#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19545 friend class boost::serialization::access;
19548 void serialize(S &s,
const unsigned ) {
19551 s & BOOST_SERIALIZATION_NVP(p_entries);
19582#ifdef DOCUMENTATION
19591DECLARE_LEAF_CLASS(AsmElfSymverDefinedAux);
19592IS_SERIALIZABLE(AsmElfSymverDefinedAux);
19594#ifndef DOCUMENTATION
19595AsmElfSymverDefinedAux.useSmallHeader(
true);
19598DECLARE_HEADERS(AsmElfSymverDefinedAux);
19599#if defined(SgAsmElfSymverDefinedAux_HEADERS) || defined(DOCUMENTATION)
19600#include <Rose/BinaryAnalysis/ByteOrder.h>
19602#ifdef ROSE_SgAsmElfSymverDefinedAux_IMPL
19603#include <SgAsmGenericString.h>
19607#ifdef DOCUMENTATION
19612#ifndef DOCUMENTATION
19613 AsmElfSymverDefinedAux.setDataPrototype(
19614 "SgAsmGenericString*",
"name",
"= 0",
19615 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19618 DECLARE_OTHERS(AsmElfSymverDefinedAux);
19619#if defined(SgAsmElfSymverDefinedAux_OTHERS) || defined(DOCUMENTATION)
19622#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19624 friend class boost::serialization::access;
19627 void serialize(S &s,
const unsigned ) {
19630 s & BOOST_SERIALIZATION_NVP(p_name);
19647#if !defined(SWIG) && !defined(_MSC_VER)
19648 __attribute__((packed))
19687 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const;
19705#ifdef DOCUMENTATION
19714DECLARE_LEAF_CLASS(AsmElfSymbolSection);
19715IS_SERIALIZABLE(AsmElfSymbolSection);
19717#ifndef DOCUMENTATION
19718AsmElfSymbolSection.useSmallHeader(
true);
19721DECLARE_HEADERS(AsmElfSymbolSection);
19722#if defined(SgAsmElfSymbolSection_HEADERS) || defined(DOCUMENTATION)
19723#include <Rose/BinaryAnalysis/Address.h>
19725#ifdef ROSE_SgAsmElfSymbolSection_IMPL
19726#include <SgAsmElfSymbolList.h>
19730#ifdef DOCUMENTATION
19735#ifndef DOCUMENTATION
19736 AsmElfSymbolSection.setDataPrototype(
19737 "bool",
"isDynamic",
"= false",
19738 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19741#ifndef DOCUMENTATION
19742 AsmElfSymbolSection.setDataPrototype(
19743 "SgAsmElfSymbolList*",
"symbols",
"= createAndParent<SgAsmElfSymbolList>(this)",
19744 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19747 DECLARE_OTHERS(AsmElfSymbolSection);
19748#if defined(SgAsmElfSymbolSection_OTHERS) || defined(DOCUMENTATION)
19751#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19753 friend class boost::serialization::access;
19756 void serialize(S &s,
const unsigned ) {
19759 s & BOOST_SERIALIZATION_NVP(p_isDynamic);
19760 s & BOOST_SERIALIZATION_NVP(p_symbols);
19812 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *nentries)
const override;
19823 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
19829 bool get_is_dynamic() const ROSE_DEPRECATED("use
get_isDynamic");
19830 void set_is_dynamic(
bool) ROSE_DEPRECATED("use
set_isDynamic");
19831 virtual
void finish_parsing() override ROSE_DEPRECATED("use
finishParsing");
19834 virtual
Rose::BinaryAnalysis::Address calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const override
19853#ifdef DOCUMENTATION
19862DECLARE_LEAF_CLASS(AsmElfSymbolList);
19863IS_SERIALIZABLE(AsmElfSymbolList);
19865#ifndef DOCUMENTATION
19866AsmElfSymbolList.useSmallHeader(
true);
19869DECLARE_HEADERS(AsmElfSymbolList);
19870#if defined(SgAsmElfSymbolList_HEADERS) || defined(DOCUMENTATION)
19871#include <sageContainer.h>
19874#ifdef DOCUMENTATION
19878#ifndef DOCUMENTATION
19879 AsmElfSymbolList.setDataPrototype(
19880 "SgAsmElfSymbolPtrList",
"symbols",
"",
19881 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
19884 DECLARE_OTHERS(AsmElfSymbolList);
19885#if defined(SgAsmElfSymbolList_OTHERS) || defined(DOCUMENTATION)
19888#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19890 friend class boost::serialization::access;
19893 void serialize(S &s,
const unsigned ) {
19896 s & BOOST_SERIALIZATION_NVP(p_symbols);
19930#ifdef DOCUMENTATION
19939DECLARE_LEAF_CLASS(AsmElfSymbol);
19940IS_SERIALIZABLE(AsmElfSymbol);
19942#ifndef DOCUMENTATION
19943AsmElfSymbol.useSmallHeader(
true);
19946DECLARE_HEADERS(AsmElfSymbol);
19947#if defined(SgAsmElfSymbol_HEADERS) || defined(DOCUMENTATION)
19948#include <Rose/BinaryAnalysis/Address.h>
19949#include <Rose/BinaryAnalysis/ByteOrder.h>
19950#include <sageContainer.h>
19953#ifdef DOCUMENTATION
19961#ifndef DOCUMENTATION
19962 AsmElfSymbol.setDataPrototype(
19963 "unsigned char",
"st_info",
"= 0",
19964 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19967#ifndef DOCUMENTATION
19968 AsmElfSymbol.setDataPrototype(
19969 "unsigned char",
"st_res1",
"= 0",
19970 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19973#ifndef DOCUMENTATION
19974 AsmElfSymbol.setDataPrototype(
19975 "unsigned",
"st_shndx",
"= 0",
19976 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19979#ifndef DOCUMENTATION
19980 AsmElfSymbol.setDataPrototype(
19981 "Rose::BinaryAnalysis::Address",
"st_size",
"= 0",
19982 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19985#ifndef DOCUMENTATION
19986 AsmElfSymbol.setDataPrototype(
19987 "SgUnsignedCharList",
"extra",
"",
19988 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
19991 DECLARE_OTHERS(AsmElfSymbol);
19992#if defined(SgAsmElfSymbol_OTHERS) || defined(DOCUMENTATION)
19995#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
19997 friend class boost::serialization::access;
20000 void serialize(S &s,
const unsigned ) {
20003 s & BOOST_SERIALIZATION_NVP(p_st_info);
20004 s & BOOST_SERIALIZATION_NVP(p_st_res1);
20005 s & BOOST_SERIALIZATION_NVP(p_st_shndx);
20006 s & BOOST_SERIALIZATION_NVP(p_st_size);
20007 s & BOOST_SERIALIZATION_NVP(p_extra);
20015 enum ElfSymBinding {
20045#if !defined(SWIG) && !defined(_MSC_VER)
20046 __attribute__((packed))
20052 unsigned char st_info;
20053 unsigned char st_res1;
20058#if !defined(SWIG) && !defined(_MSC_VER)
20059 __attribute__((packed))
20150 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const override;
20161 static std::string
toString(SgAsmElfSymbol::ElfSymBinding);
20167 void parse_common();
20173 SgAsmElfSymbol::ElfSymBinding get_elf_binding() const ROSE_DEPRECATED("use
get_elfBinding");
20194#ifdef DOCUMENTATION
20203DECLARE_LEAF_CLASS(AsmElfStrtab);
20204IS_SERIALIZABLE(AsmElfStrtab);
20206#ifndef DOCUMENTATION
20207AsmElfStrtab.useSmallHeader(
true);
20210DECLARE_HEADERS(AsmElfStrtab);
20211#if defined(SgAsmElfStrtab_HEADERS) || defined(DOCUMENTATION)
20212#include <Rose/BinaryAnalysis/Address.h>
20215#ifdef DOCUMENTATION
20220 DECLARE_OTHERS(AsmElfStrtab);
20221#if defined(SgAsmElfStrtab_OTHERS) || defined(DOCUMENTATION)
20224#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
20226 friend class boost::serialization::access;
20229 void serialize(S &s,
const unsigned ) {
20290 ROSE_DEPRECATED(
"use get_storageSize");
20291 virtual void allocate_overlap(
SgAsmStringStorage*)
override ROSE_DEPRECATED(
"use allocateOverlap");
20309#ifdef DOCUMENTATION
20318DECLARE_LEAF_CLASS(AsmElfStringSection);
20319IS_SERIALIZABLE(AsmElfStringSection);
20321#ifndef DOCUMENTATION
20322AsmElfStringSection.useSmallHeader(
true);
20325DECLARE_HEADERS(AsmElfStringSection);
20326#if defined(SgAsmElfStringSection_HEADERS) || defined(DOCUMENTATION)
20327#include <Rose/BinaryAnalysis/Address.h>
20330#ifdef DOCUMENTATION
20337#ifndef DOCUMENTATION
20338 AsmElfStringSection.setDataPrototype(
20339 "SgAsmElfStrtab*",
"strtab",
"= nullptr",
20340 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20343 DECLARE_OTHERS(AsmElfStringSection);
20344#if defined(SgAsmElfStringSection_OTHERS) || defined(DOCUMENTATION)
20347#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
20349 friend class boost::serialization::access;
20352 void serialize(S &s,
const unsigned ) {
20355 s & BOOST_SERIALIZATION_NVP(p_strtab);
20377 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
20412#ifdef DOCUMENTATION
20421DECLARE_LEAF_CLASS(AsmElfSegmentTableEntryList);
20422IS_SERIALIZABLE(AsmElfSegmentTableEntryList);
20424#ifndef DOCUMENTATION
20425AsmElfSegmentTableEntryList.useSmallHeader(
true);
20428DECLARE_HEADERS(AsmElfSegmentTableEntryList);
20429#if defined(SgAsmElfSegmentTableEntryList_HEADERS) || defined(DOCUMENTATION)
20430#include <sageContainer.h>
20433#ifdef DOCUMENTATION
20437#ifndef DOCUMENTATION
20438 AsmElfSegmentTableEntryList.setDataPrototype(
20439 "SgAsmElfSegmentTableEntryPtrList",
"entries",
"",
20440 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
20443 DECLARE_OTHERS(AsmElfSegmentTableEntryList);
20444#if defined(SgAsmElfSegmentTableEntryList_OTHERS) || defined(DOCUMENTATION)
20447#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
20449 friend class boost::serialization::access;
20452 void serialize(S &s,
const unsigned ) {
20455 s & BOOST_SERIALIZATION_NVP(p_entries);
20489#ifdef DOCUMENTATION
20498DECLARE_LEAF_CLASS(AsmElfSegmentTableEntry);
20499IS_SERIALIZABLE(AsmElfSegmentTableEntry);
20501#ifndef DOCUMENTATION
20502AsmElfSegmentTableEntry.useSmallHeader(
true);
20505DECLARE_HEADERS(AsmElfSegmentTableEntry);
20506#if defined(SgAsmElfSegmentTableEntry_HEADERS) || defined(DOCUMENTATION)
20507#include <Rose/BinaryAnalysis/Address.h>
20508#include <Rose/BinaryAnalysis/ByteOrder.h>
20509#include <sageContainer.h>
20512#ifdef DOCUMENTATION
20517#ifndef DOCUMENTATION
20518 AsmElfSegmentTableEntry.setDataPrototype(
20519 "size_t",
"index",
"= 0",
20520 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20523#ifndef DOCUMENTATION
20524 AsmElfSegmentTableEntry.setDataPrototype(
20525 "SgAsmElfSegmentTableEntry::SegmentType",
"type",
"= SgAsmElfSegmentTableEntry::PT_LOAD",
20526 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20529#ifndef DOCUMENTATION
20530 AsmElfSegmentTableEntry.setDataPrototype(
20531 "SgAsmElfSegmentTableEntry::SegmentFlags",
"flags",
"= SgAsmElfSegmentTableEntry::PF_NONE",
20532 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20535#ifndef DOCUMENTATION
20536 AsmElfSegmentTableEntry.setDataPrototype(
20537 "Rose::BinaryAnalysis::Address",
"offset",
"= 0",
20538 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20541#ifndef DOCUMENTATION
20542 AsmElfSegmentTableEntry.setDataPrototype(
20543 "Rose::BinaryAnalysis::Address",
"vaddr",
"= 0",
20544 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20547#ifndef DOCUMENTATION
20548 AsmElfSegmentTableEntry.setDataPrototype(
20549 "Rose::BinaryAnalysis::Address",
"paddr",
"= 0",
20550 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20553#ifndef DOCUMENTATION
20554 AsmElfSegmentTableEntry.setDataPrototype(
20555 "Rose::BinaryAnalysis::Address",
"filesz",
"= 0",
20556 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20559#ifndef DOCUMENTATION
20560 AsmElfSegmentTableEntry.setDataPrototype(
20561 "Rose::BinaryAnalysis::Address",
"memsz",
"= 0",
20562 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20565#ifndef DOCUMENTATION
20566 AsmElfSegmentTableEntry.setDataPrototype(
20567 "Rose::BinaryAnalysis::Address",
"align",
"= 0",
20568 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20571#ifndef DOCUMENTATION
20572 AsmElfSegmentTableEntry.setDataPrototype(
20573 "SgUnsignedCharList",
"extra",
"",
20574 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20577 DECLARE_OTHERS(AsmElfSegmentTableEntry);
20578#if defined(SgAsmElfSegmentTableEntry_OTHERS) || defined(DOCUMENTATION)
20581#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
20583 friend class boost::serialization::access;
20586 void serialize(S &s,
const unsigned ) {
20589 s & BOOST_SERIALIZATION_NVP(p_index);
20590 s & BOOST_SERIALIZATION_NVP(p_type);
20591 s & BOOST_SERIALIZATION_NVP(p_flags);
20592 s & BOOST_SERIALIZATION_NVP(p_offset);
20593 s & BOOST_SERIALIZATION_NVP(p_vaddr);
20594 s & BOOST_SERIALIZATION_NVP(p_paddr);
20595 s & BOOST_SERIALIZATION_NVP(p_filesz);
20596 s & BOOST_SERIALIZATION_NVP(p_memsz);
20597 s & BOOST_SERIALIZATION_NVP(p_align);
20598 s & BOOST_SERIALIZATION_NVP(p_extra);
20619 PT_HIOS = 0x6fffffff,
20621 PT_HIPROC = 0x7fffffff,
20665#if !defined(SWIG) && !defined(_MSC_VER)
20666 __attribute__((packed))
20680#if !defined(SWIG) && !defined(_MSC_VER)
20681 __attribute__((packed))
20812 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
20824 void update_from_section(
SgAsmElfSection*) ROSE_DEPRECATED(
"use updateFromSection");
20844#ifdef DOCUMENTATION
20853DECLARE_LEAF_CLASS(AsmElfSegmentTable);
20854IS_SERIALIZABLE(AsmElfSegmentTable);
20856#ifndef DOCUMENTATION
20857AsmElfSegmentTable.useSmallHeader(
true);
20860DECLARE_HEADERS(AsmElfSegmentTable);
20861#if defined(SgAsmElfSegmentTable_HEADERS) || defined(DOCUMENTATION)
20862#include <Rose/BinaryAnalysis/Address.h>
20865#ifdef DOCUMENTATION
20875 DECLARE_OTHERS(AsmElfSegmentTable);
20876#if defined(SgAsmElfSegmentTable_OTHERS) || defined(DOCUMENTATION)
20879#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
20881 friend class boost::serialization::access;
20884 void serialize(S &s,
const unsigned ) {
20926 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
20951#ifdef DOCUMENTATION
20960DECLARE_LEAF_CLASS(AsmElfSectionTableEntry);
20961IS_SERIALIZABLE(AsmElfSectionTableEntry);
20963#ifndef DOCUMENTATION
20964AsmElfSectionTableEntry.useSmallHeader(
true);
20967DECLARE_HEADERS(AsmElfSectionTableEntry);
20968#if defined(SgAsmElfSectionTableEntry_HEADERS) || defined(DOCUMENTATION)
20969#include <Rose/BinaryAnalysis/Address.h>
20970#include <Rose/BinaryAnalysis/ByteOrder.h>
20971#include <sageContainer.h>
20974#ifdef DOCUMENTATION
20979#ifndef DOCUMENTATION
20980 AsmElfSectionTableEntry.setDataPrototype(
20981 "unsigned",
"sh_name",
"= 0",
20982 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20985#ifndef DOCUMENTATION
20986 AsmElfSectionTableEntry.setDataPrototype(
20987 "SgAsmElfSectionTableEntry::SectionType",
"sh_type",
"= SHT_PROGBITS",
20988 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20991#ifndef DOCUMENTATION
20992 AsmElfSectionTableEntry.setDataPrototype(
20993 "unsigned long",
"sh_link",
"= 0",
20994 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
20997#ifndef DOCUMENTATION
20998 AsmElfSectionTableEntry.setDataPrototype(
20999 "unsigned long",
"sh_info",
"= 0",
21000 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21003#ifndef DOCUMENTATION
21004 AsmElfSectionTableEntry.setDataPrototype(
21005 "uint64_t",
"sh_flags",
"= 0",
21006 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21009#ifndef DOCUMENTATION
21010 AsmElfSectionTableEntry.setDataPrototype(
21011 "Rose::BinaryAnalysis::Address",
"sh_addr",
"= 0",
21012 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21015#ifndef DOCUMENTATION
21016 AsmElfSectionTableEntry.setDataPrototype(
21017 "Rose::BinaryAnalysis::Address",
"sh_offset",
"= 0",
21018 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21021#ifndef DOCUMENTATION
21022 AsmElfSectionTableEntry.setDataPrototype(
21023 "Rose::BinaryAnalysis::Address",
"sh_size",
"= 0",
21024 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21027#ifndef DOCUMENTATION
21028 AsmElfSectionTableEntry.setDataPrototype(
21029 "Rose::BinaryAnalysis::Address",
"sh_addralign",
"= 0",
21030 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21033#ifndef DOCUMENTATION
21034 AsmElfSectionTableEntry.setDataPrototype(
21035 "Rose::BinaryAnalysis::Address",
"sh_entsize",
"= 0",
21036 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21039#ifndef DOCUMENTATION
21040 AsmElfSectionTableEntry.setDataPrototype(
21041 "SgUnsignedCharList",
"extra",
"",
21042 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21045 DECLARE_OTHERS(AsmElfSectionTableEntry);
21046#if defined(SgAsmElfSectionTableEntry_OTHERS) || defined(DOCUMENTATION)
21049#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
21051 friend class boost::serialization::access;
21054 void serialize(S &s,
const unsigned ) {
21057 s & BOOST_SERIALIZATION_NVP(p_sh_name);
21058 s & BOOST_SERIALIZATION_NVP(p_sh_type);
21059 s & BOOST_SERIALIZATION_NVP(p_sh_link);
21060 s & BOOST_SERIALIZATION_NVP(p_sh_info);
21061 s & BOOST_SERIALIZATION_NVP(p_sh_flags);
21062 s & BOOST_SERIALIZATION_NVP(p_sh_addr);
21063 s & BOOST_SERIALIZATION_NVP(p_sh_offset);
21064 s & BOOST_SERIALIZATION_NVP(p_sh_size);
21065 s & BOOST_SERIALIZATION_NVP(p_sh_addralign);
21066 s & BOOST_SERIALIZATION_NVP(p_sh_entsize);
21067 s & BOOST_SERIALIZATION_NVP(p_extra);
21096 SHT_LOPROC = 0x70000000,
21097 SHT_HIPROC = 0x7fffffff,
21098 SHT_LOUSER = 0x80000000,
21099 SHT_HIUSER = 0xffffffff
21133 uint32_t sh_offset;
21137 uint32_t sh_addralign;
21138 uint32_t sh_entsize;
21140#if !defined(SWIG) && !defined(_MSC_VER)
21141 __attribute__((packed))
21150 uint64_t sh_offset;
21154 uint64_t sh_addralign;
21155 uint64_t sh_entsize;
21157#if !defined(SWIG) && !defined(_MSC_VER)
21158 __attribute__((packed))
21304 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
21314 void update_from_section(
SgAsmElfSection*) ROSE_DEPRECATED(
"use updateFromSection");
21334#ifdef DOCUMENTATION
21343DECLARE_LEAF_CLASS(AsmElfSectionTable);
21344IS_SERIALIZABLE(AsmElfSectionTable);
21346#ifndef DOCUMENTATION
21347AsmElfSectionTable.useSmallHeader(
true);
21350DECLARE_HEADERS(AsmElfSectionTable);
21351#if defined(SgAsmElfSectionTable_HEADERS) || defined(DOCUMENTATION)
21352#include <Rose/BinaryAnalysis/Address.h>
21355#ifdef DOCUMENTATION
21364 DECLARE_OTHERS(AsmElfSectionTable);
21365#if defined(SgAsmElfSectionTable_OTHERS) || defined(DOCUMENTATION)
21368#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
21370 friend class boost::serialization::access;
21373 void serialize(S &s,
const unsigned ) {
21413 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
21438#ifdef DOCUMENTATION
21447DECLARE_LEAF_CLASS(AsmElfRelocSection);
21448IS_SERIALIZABLE(AsmElfRelocSection);
21450#ifndef DOCUMENTATION
21451AsmElfRelocSection.useSmallHeader(
true);
21454DECLARE_HEADERS(AsmElfRelocSection);
21455#if defined(SgAsmElfRelocSection_HEADERS) || defined(DOCUMENTATION)
21456#include <Rose/BinaryAnalysis/Address.h>
21458#ifdef ROSE_SgAsmElfRelocSection_IMPL
21459#include <SgAsmElfRelocEntryList.h>
21463#ifdef DOCUMENTATION
21468#ifndef DOCUMENTATION
21469 AsmElfRelocSection.setDataPrototype(
21470 "bool",
"usesAddend",
"= true",
21471 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21474#ifndef DOCUMENTATION
21475 AsmElfRelocSection.setDataPrototype(
21476 "SgAsmElfSection*",
"targetSection",
"= nullptr",
21477 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21480#ifndef DOCUMENTATION
21481 AsmElfRelocSection.setDataPrototype(
21482 "SgAsmElfRelocEntryList*",
"entries",
"= createAndParent<SgAsmElfRelocEntryList>(this)",
21483 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21486 DECLARE_OTHERS(AsmElfRelocSection);
21487#if defined(SgAsmElfRelocSection_OTHERS) || defined(DOCUMENTATION)
21490#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
21492 friend class boost::serialization::access;
21495 void serialize(S &s,
const unsigned ) {
21498 s & BOOST_SERIALIZATION_NVP(p_usesAddend);
21499 s & BOOST_SERIALIZATION_NVP(p_targetSection);
21500 s & BOOST_SERIALIZATION_NVP(p_entries);
21539 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
21547 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
21553 bool get_uses_addend() const ROSE_DEPRECATED("use
get_usesAddend");
21554 void set_uses_addend(
bool) ROSE_DEPRECATED("use
set_usesAddend");
21558 virtual
Rose::BinaryAnalysis::Address calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const override
21577#ifdef DOCUMENTATION
21586DECLARE_LEAF_CLASS(AsmElfRelocEntryList);
21587IS_SERIALIZABLE(AsmElfRelocEntryList);
21589#ifndef DOCUMENTATION
21590AsmElfRelocEntryList.useSmallHeader(
true);
21593DECLARE_HEADERS(AsmElfRelocEntryList);
21594#if defined(SgAsmElfRelocEntryList_HEADERS) || defined(DOCUMENTATION)
21595#include <sageContainer.h>
21598#ifdef DOCUMENTATION
21606#ifndef DOCUMENTATION
21607 AsmElfRelocEntryList.setDataPrototype(
21608 "SgAsmElfRelocEntryPtrList",
"entries",
"",
21609 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21612 DECLARE_OTHERS(AsmElfRelocEntryList);
21613#if defined(SgAsmElfRelocEntryList_OTHERS) || defined(DOCUMENTATION)
21616#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
21618 friend class boost::serialization::access;
21621 void serialize(S &s,
const unsigned ) {
21624 s & BOOST_SERIALIZATION_NVP(p_entries);
21655#ifdef DOCUMENTATION
21664DECLARE_LEAF_CLASS(AsmElfRelocEntry);
21665IS_SERIALIZABLE(AsmElfRelocEntry);
21667#ifndef DOCUMENTATION
21668AsmElfRelocEntry.useSmallHeader(
true);
21671DECLARE_HEADERS(AsmElfRelocEntry);
21672#if defined(SgAsmElfRelocEntry_HEADERS) || defined(DOCUMENTATION)
21673#include <Rose/BinaryAnalysis/Address.h>
21674#include <Rose/BinaryAnalysis/ByteOrder.h>
21675#include <sageContainer.h>
21678#ifdef DOCUMENTATION
21683#ifndef DOCUMENTATION
21684 AsmElfRelocEntry.setDataPrototype(
21685 "Rose::BinaryAnalysis::Address",
"r_offset",
"= 0",
21686 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21689#ifndef DOCUMENTATION
21690 AsmElfRelocEntry.setDataPrototype(
21691 "Rose::BinaryAnalysis::Address",
"r_addend",
"= 0",
21692 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21695#ifndef DOCUMENTATION
21696 AsmElfRelocEntry.setDataPrototype(
21697 "unsigned long",
"sym",
"= 0",
21698 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21701#ifndef DOCUMENTATION
21702 AsmElfRelocEntry.setDataPrototype(
21703 "SgAsmElfRelocEntry::RelocType",
"type",
"= R_386_NONE",
21704 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21707#ifndef DOCUMENTATION
21708 AsmElfRelocEntry.setDataPrototype(
21709 "SgUnsignedCharList",
"extra",
"",
21710 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
21713 DECLARE_OTHERS(AsmElfRelocEntry);
21714#if defined(SgAsmElfRelocEntry_OTHERS) || defined(DOCUMENTATION)
21717#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
21719 friend class boost::serialization::access;
21722 void serialize(S &s,
const unsigned ) {
21725 s & BOOST_SERIALIZATION_NVP(p_r_offset);
21726 s & BOOST_SERIALIZATION_NVP(p_r_addend);
21727 s & BOOST_SERIALIZATION_NVP(p_sym);
21728 s & BOOST_SERIALIZATION_NVP(p_type);
21729 s & BOOST_SERIALIZATION_NVP(p_extra);
21813#if !defined(SWIG) && !defined(_MSC_VER)
21814 __attribute__((packed))
21823#if !defined(SWIG) && !defined(_MSC_VER)
21824 __attribute__((packed))
21832#if !defined(SWIG) && !defined(_MSC_VER)
21833 __attribute__((packed))
21841#if !defined(SWIG) && !defined(_MSC_VER)
21842 __attribute__((packed))
21931 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const {
21932 dump(f, prefix, idx, NULL);
21943 std::string reloc_name() const ROSE_DEPRECATED("use
toString");
21961#ifdef DOCUMENTATION
21970DECLARE_LEAF_CLASS(AsmElfNoteSection);
21971IS_SERIALIZABLE(AsmElfNoteSection);
21973#ifndef DOCUMENTATION
21974AsmElfNoteSection.useSmallHeader(
true);
21977DECLARE_HEADERS(AsmElfNoteSection);
21978#if defined(SgAsmElfNoteSection_HEADERS) || defined(DOCUMENTATION)
21979#ifdef ROSE_SgAsmElfNoteSection_IMPL
21980#include <SgAsmElfNoteEntryList.h>
21984#ifdef DOCUMENTATION
21988#ifndef DOCUMENTATION
21989 AsmElfNoteSection.setDataPrototype(
21990 "SgAsmElfNoteEntryList*",
"entries",
"= createAndParent<SgAsmElfNoteEntryList>(this)",
21991 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
21994 DECLARE_OTHERS(AsmElfNoteSection);
21995#if defined(SgAsmElfNoteSection_OTHERS) || defined(DOCUMENTATION)
21998#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22000 friend class boost::serialization::access;
22003 void serialize(S &s,
const unsigned ) {
22006 s & BOOST_SERIALIZATION_NVP(p_entries);
22033 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
22051#ifdef DOCUMENTATION
22060DECLARE_LEAF_CLASS(AsmElfNoteEntryList);
22061IS_SERIALIZABLE(AsmElfNoteEntryList);
22063#ifndef DOCUMENTATION
22064AsmElfNoteEntryList.useSmallHeader(
true);
22067DECLARE_HEADERS(AsmElfNoteEntryList);
22068#if defined(SgAsmElfNoteEntryList_HEADERS) || defined(DOCUMENTATION)
22069#include <sageContainer.h>
22072#ifdef DOCUMENTATION
22080#ifndef DOCUMENTATION
22081 AsmElfNoteEntryList.setDataPrototype(
22082 "SgAsmElfNoteEntryPtrList",
"entries",
"",
22083 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22086 DECLARE_OTHERS(AsmElfNoteEntryList);
22087#if defined(SgAsmElfNoteEntryList_OTHERS) || defined(DOCUMENTATION)
22090#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22092 friend class boost::serialization::access;
22095 void serialize(S &s,
const unsigned ) {
22098 s & BOOST_SERIALIZATION_NVP(p_entries);
22129#ifdef DOCUMENTATION
22138DECLARE_LEAF_CLASS(AsmElfNoteEntry);
22139IS_SERIALIZABLE(AsmElfNoteEntry);
22141#ifndef DOCUMENTATION
22142AsmElfNoteEntry.useSmallHeader(
true);
22145DECLARE_HEADERS(AsmElfNoteEntry);
22146#if defined(SgAsmElfNoteEntry_HEADERS) || defined(DOCUMENTATION)
22147#include <Rose/BinaryAnalysis/Address.h>
22149#include <sageContainer.h>
22151#ifdef ROSE_SgAsmElfNoteEntry_IMPL
22152#include <SgAsmBasicString.h>
22156#ifdef DOCUMENTATION
22161#ifndef DOCUMENTATION
22162 AsmElfNoteEntry.setDataPrototype(
22163 "unsigned",
"type",
"= 0",
22164 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22167#ifndef DOCUMENTATION
22168 AsmElfNoteEntry.setDataPrototype(
22169 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
22170 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22173#ifndef DOCUMENTATION
22174 AsmElfNoteEntry.setDataPrototype(
22175 "SgUnsignedCharList",
"payload",
"",
22176 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22179 DECLARE_OTHERS(AsmElfNoteEntry);
22180#if defined(SgAsmElfNoteEntry_OTHERS) || defined(DOCUMENTATION)
22183#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22185 friend class boost::serialization::access;
22188 void serialize(S &s,
const unsigned ) {
22191 s & BOOST_SERIALIZATION_NVP(p_type);
22192 s & BOOST_SERIALIZATION_NVP(p_name);
22193 s & BOOST_SERIALIZATION_NVP(p_payload);
22252 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
22284#ifdef DOCUMENTATION
22293DECLARE_LEAF_CLASS(AsmElfFileHeader);
22294IS_SERIALIZABLE(AsmElfFileHeader);
22296#ifndef DOCUMENTATION
22297AsmElfFileHeader.useSmallHeader(
true);
22300DECLARE_HEADERS(AsmElfFileHeader);
22301#if defined(SgAsmElfFileHeader_HEADERS) || defined(DOCUMENTATION)
22302#include <Rose/BinaryAnalysis/ByteOrder.h>
22305#ifdef DOCUMENTATION
22317#ifndef DOCUMENTATION
22318 AsmElfFileHeader.setDataPrototype(
22319 "unsigned char",
"e_ident_file_class",
"= 0",
22320 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22323#ifndef DOCUMENTATION
22324 AsmElfFileHeader.setDataPrototype(
22325 "unsigned char",
"e_ident_data_encoding",
"= 0",
22326 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22329#ifndef DOCUMENTATION
22330 AsmElfFileHeader.setDataPrototype(
22331 "unsigned char",
"e_ident_file_version",
"= 0",
22332 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22335#ifndef DOCUMENTATION
22336 AsmElfFileHeader.setDataPrototype(
22337 "SgUnsignedCharList",
"e_ident_padding",
"",
22338 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22341#ifndef DOCUMENTATION
22342 AsmElfFileHeader.setDataPrototype(
22343 "unsigned long",
"e_type",
"= 0",
22344 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22347#ifndef DOCUMENTATION
22348 AsmElfFileHeader.setDataPrototype(
22349 "unsigned long",
"e_machine",
"= 0",
22350 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22353#ifndef DOCUMENTATION
22354 AsmElfFileHeader.setDataPrototype(
22355 "unsigned long",
"e_flags",
"= 0",
22356 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22359#ifndef DOCUMENTATION
22360 AsmElfFileHeader.setDataPrototype(
22361 "unsigned long",
"e_ehsize",
"= 0",
22362 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22365#ifndef DOCUMENTATION
22366 AsmElfFileHeader.setDataPrototype(
22367 "unsigned long",
"phextrasz",
"= 0",
22368 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22371#ifndef DOCUMENTATION
22372 AsmElfFileHeader.setDataPrototype(
22373 "unsigned long",
"e_phnum",
"= 0",
22374 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22377#ifndef DOCUMENTATION
22378 AsmElfFileHeader.setDataPrototype(
22379 "unsigned long",
"shextrasz",
"= 0",
22380 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22383#ifndef DOCUMENTATION
22384 AsmElfFileHeader.setDataPrototype(
22385 "unsigned long",
"e_shnum",
"= 0",
22386 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22389#ifndef DOCUMENTATION
22390 AsmElfFileHeader.setDataPrototype(
22391 "unsigned long",
"e_shstrndx",
"= 0",
22392 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22395#ifndef DOCUMENTATION
22396 AsmElfFileHeader.setDataPrototype(
22397 "SgAsmElfSectionTable*",
"sectionTable",
"= nullptr",
22398 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22401#ifndef DOCUMENTATION
22402 AsmElfFileHeader.setDataPrototype(
22403 "SgAsmElfSegmentTable*",
"segmentTable",
"= nullptr",
22404 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22407 DECLARE_OTHERS(AsmElfFileHeader);
22408#if defined(SgAsmElfFileHeader_OTHERS) || defined(DOCUMENTATION)
22411#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22413 friend class boost::serialization::access;
22416 void serialize(S &s,
const unsigned ) {
22419 s & BOOST_SERIALIZATION_NVP(p_e_ident_file_class);
22420 s & BOOST_SERIALIZATION_NVP(p_e_ident_data_encoding);
22421 s & BOOST_SERIALIZATION_NVP(p_e_ident_file_version);
22422 s & BOOST_SERIALIZATION_NVP(p_e_ident_padding);
22423 s & BOOST_SERIALIZATION_NVP(p_e_type);
22424 s & BOOST_SERIALIZATION_NVP(p_e_machine);
22425 s & BOOST_SERIALIZATION_NVP(p_e_flags);
22426 s & BOOST_SERIALIZATION_NVP(p_e_ehsize);
22427 s & BOOST_SERIALIZATION_NVP(p_phextrasz);
22428 s & BOOST_SERIALIZATION_NVP(p_e_phnum);
22429 s & BOOST_SERIALIZATION_NVP(p_shextrasz);
22430 s & BOOST_SERIALIZATION_NVP(p_e_shnum);
22431 s & BOOST_SERIALIZATION_NVP(p_e_shstrndx);
22432 s & BOOST_SERIALIZATION_NVP(p_sectionTable);
22433 s & BOOST_SERIALIZATION_NVP(p_segmentTable);
22489#if !defined(SWIG) && !defined(_MSC_VER)
22490 __attribute__((packed))
22495 unsigned char e_ident_magic[4];
22496 unsigned char e_ident_file_class;
22497 unsigned char e_ident_data_encoding;
22498 unsigned char e_ident_file_version;
22499 unsigned char e_ident_padding[9];
22501 uint16_t e_machine;
22502 uint32_t e_version;
22508 uint16_t e_phentsize;
22510 uint16_t e_shentsize;
22512 uint16_t e_shstrndx;
22514#if !defined(SWIG) && !defined(_MSC_VER)
22515 __attribute__((packed))
22717 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
22749 virtual const
char *format_name() const override ROSE_DEPRECATED("use
formatName");
22767#ifdef DOCUMENTATION
22776DECLARE_LEAF_CLASS(AsmElfEHFrameSection);
22777IS_SERIALIZABLE(AsmElfEHFrameSection);
22779#ifndef DOCUMENTATION
22780AsmElfEHFrameSection.useSmallHeader(
true);
22783DECLARE_HEADERS(AsmElfEHFrameSection);
22784#if defined(SgAsmElfEHFrameSection_HEADERS) || defined(DOCUMENTATION)
22785#include <Rose/BinaryAnalysis/Address.h>
22787#ifdef ROSE_SgAsmElfEHFrameSection_IMPL
22788#include <SgAsmElfEHFrameEntryCIList.h>
22792#ifdef DOCUMENTATION
22797#ifndef DOCUMENTATION
22798 AsmElfEHFrameSection.setDataPrototype(
22799 "SgAsmElfEHFrameEntryCIList*",
"ci_entries",
"= createAndParent<SgAsmElfEHFrameEntryCIList>(this)",
22800 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
22803 DECLARE_OTHERS(AsmElfEHFrameSection);
22804#if defined(SgAsmElfEHFrameSection_OTHERS) || defined(DOCUMENTATION)
22807#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22809 friend class boost::serialization::access;
22812 void serialize(S &s,
const unsigned ) {
22815 s & BOOST_SERIALIZATION_NVP(p_ci_entries);
22842 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
22854 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
22861 ROSE_DEPRECATED(
"use calculateSizes");
22879#ifdef DOCUMENTATION
22888DECLARE_LEAF_CLASS(AsmElfEHFrameEntryFDList);
22889IS_SERIALIZABLE(AsmElfEHFrameEntryFDList);
22891#ifndef DOCUMENTATION
22892AsmElfEHFrameEntryFDList.useSmallHeader(
true);
22895DECLARE_HEADERS(AsmElfEHFrameEntryFDList);
22896#if defined(SgAsmElfEHFrameEntryFDList_HEADERS) || defined(DOCUMENTATION)
22897#include <sageContainer.h>
22900#ifdef DOCUMENTATION
22908#ifndef DOCUMENTATION
22909 AsmElfEHFrameEntryFDList.setDataPrototype(
22910 "SgAsmElfEHFrameEntryFDPtrList",
"entries",
"",
22911 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22914 DECLARE_OTHERS(AsmElfEHFrameEntryFDList);
22915#if defined(SgAsmElfEHFrameEntryFDList_OTHERS) || defined(DOCUMENTATION)
22918#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
22920 friend class boost::serialization::access;
22923 void serialize(S &s,
const unsigned ) {
22926 s & BOOST_SERIALIZATION_NVP(p_entries);
22957#ifdef DOCUMENTATION
22966DECLARE_LEAF_CLASS(AsmElfEHFrameEntryFD);
22967IS_SERIALIZABLE(AsmElfEHFrameEntryFD);
22969#ifndef DOCUMENTATION
22970AsmElfEHFrameEntryFD.useSmallHeader(
true);
22973DECLARE_HEADERS(AsmElfEHFrameEntryFD);
22974#if defined(SgAsmElfEHFrameEntryFD_HEADERS) || defined(DOCUMENTATION)
22975#include <Rose/BinaryAnalysis/Address.h>
22976#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
22977#include <sageContainer.h>
22980#ifdef DOCUMENTATION
22985#ifndef DOCUMENTATION
22986 AsmElfEHFrameEntryFD.setDataPrototype(
22987 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"begin_rva",
"",
22988 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22991#ifndef DOCUMENTATION
22992 AsmElfEHFrameEntryFD.setDataPrototype(
22993 "Rose::BinaryAnalysis::Address",
"size",
"= 0",
22994 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
22997#ifndef DOCUMENTATION
22998 AsmElfEHFrameEntryFD.setDataPrototype(
22999 "SgUnsignedCharList",
"augmentation_data",
"",
23000 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23003#ifndef DOCUMENTATION
23004 AsmElfEHFrameEntryFD.setDataPrototype(
23005 "SgUnsignedCharList",
"instructions",
"",
23006 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23009 DECLARE_OTHERS(AsmElfEHFrameEntryFD);
23010#if defined(SgAsmElfEHFrameEntryFD_OTHERS) || defined(DOCUMENTATION)
23013#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23015 friend class boost::serialization::access;
23018 void serialize(S &s,
const unsigned ) {
23021 s & BOOST_SERIALIZATION_NVP(p_begin_rva);
23022 s & BOOST_SERIALIZATION_NVP(p_size);
23023 s & BOOST_SERIALIZATION_NVP(p_augmentation_data);
23024 s & BOOST_SERIALIZATION_NVP(p_instructions);
23076 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
23100#ifdef DOCUMENTATION
23109DECLARE_LEAF_CLASS(AsmElfEHFrameEntryCIList);
23110IS_SERIALIZABLE(AsmElfEHFrameEntryCIList);
23112#ifndef DOCUMENTATION
23113AsmElfEHFrameEntryCIList.useSmallHeader(
true);
23116DECLARE_HEADERS(AsmElfEHFrameEntryCIList);
23117#if defined(SgAsmElfEHFrameEntryCIList_HEADERS) || defined(DOCUMENTATION)
23118#include <sageContainer.h>
23121#ifdef DOCUMENTATION
23129#ifndef DOCUMENTATION
23130 AsmElfEHFrameEntryCIList.setDataPrototype(
23131 "SgAsmElfEHFrameEntryCIPtrList",
"entries",
"",
23132 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23135 DECLARE_OTHERS(AsmElfEHFrameEntryCIList);
23136#if defined(SgAsmElfEHFrameEntryCIList_OTHERS) || defined(DOCUMENTATION)
23139#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23141 friend class boost::serialization::access;
23144 void serialize(S &s,
const unsigned ) {
23147 s & BOOST_SERIALIZATION_NVP(p_entries);
23178#ifdef DOCUMENTATION
23187DECLARE_LEAF_CLASS(AsmElfEHFrameEntryCI);
23188IS_SERIALIZABLE(AsmElfEHFrameEntryCI);
23190#ifndef DOCUMENTATION
23191AsmElfEHFrameEntryCI.useSmallHeader(
true);
23194DECLARE_HEADERS(AsmElfEHFrameEntryCI);
23195#if defined(SgAsmElfEHFrameEntryCI_HEADERS) || defined(DOCUMENTATION)
23196#include <Rose/BinaryAnalysis/Address.h>
23198#include <sageContainer.h>
23200#ifdef ROSE_SgAsmElfEHFrameEntryCI_IMPL
23201#include <SgAsmElfEHFrameEntryFDList.h>
23205#ifdef DOCUMENTATION
23212#ifndef DOCUMENTATION
23213 AsmElfEHFrameEntryCI.setDataPrototype(
23214 "int",
"version",
"= 0",
23215 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23218#ifndef DOCUMENTATION
23219 AsmElfEHFrameEntryCI.setDataPrototype(
23220 "std::string",
"augmentation_string",
"",
23221 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23224#ifndef DOCUMENTATION
23225 AsmElfEHFrameEntryCI.setDataPrototype(
23226 "uint64_t",
"eh_data",
"= 0",
23227 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23230#ifndef DOCUMENTATION
23231 AsmElfEHFrameEntryCI.setDataPrototype(
23232 "uint64_t",
"code_alignment_factor",
"= 0",
23233 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23236#ifndef DOCUMENTATION
23237 AsmElfEHFrameEntryCI.setDataPrototype(
23238 "int64_t",
"data_alignment_factor",
"= 0",
23239 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23242#ifndef DOCUMENTATION
23243 AsmElfEHFrameEntryCI.setDataPrototype(
23244 "uint64_t",
"augmentation_data_length",
"= 0",
23245 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23248#ifndef DOCUMENTATION
23249 AsmElfEHFrameEntryCI.setDataPrototype(
23250 "int",
"lsda_encoding",
"= -1",
23251 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23254#ifndef DOCUMENTATION
23255 AsmElfEHFrameEntryCI.setDataPrototype(
23256 "int",
"prh_encoding",
"= -1",
23257 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23260#ifndef DOCUMENTATION
23261 AsmElfEHFrameEntryCI.setDataPrototype(
23262 "unsigned",
"prh_arg",
"= 0",
23263 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23266#ifndef DOCUMENTATION
23267 AsmElfEHFrameEntryCI.setDataPrototype(
23268 "Rose::BinaryAnalysis::Address",
"prh_addr",
"= 0",
23269 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23272#ifndef DOCUMENTATION
23273 AsmElfEHFrameEntryCI.setDataPrototype(
23274 "int",
"addr_encoding",
"= -1",
23275 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23278#ifndef DOCUMENTATION
23279 AsmElfEHFrameEntryCI.setDataPrototype(
23280 "bool",
"sig_frame",
"= false",
23281 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23284#ifndef DOCUMENTATION
23285 AsmElfEHFrameEntryCI.setDataPrototype(
23286 "SgUnsignedCharList",
"instructions",
"",
23287 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23290#ifndef DOCUMENTATION
23291 AsmElfEHFrameEntryCI.setDataPrototype(
23292 "SgAsmElfEHFrameEntryFDList*",
"fd_entries",
"= createAndParent<SgAsmElfEHFrameEntryFDList>(this)",
23293 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23296 DECLARE_OTHERS(AsmElfEHFrameEntryCI);
23297#if defined(SgAsmElfEHFrameEntryCI_OTHERS) || defined(DOCUMENTATION)
23300#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23302 friend class boost::serialization::access;
23305 void serialize(S &s,
const unsigned ) {
23308 s & BOOST_SERIALIZATION_NVP(p_version);
23309 s & BOOST_SERIALIZATION_NVP(p_augmentation_string);
23310 s & BOOST_SERIALIZATION_NVP(p_eh_data);
23311 s & BOOST_SERIALIZATION_NVP(p_code_alignment_factor);
23312 s & BOOST_SERIALIZATION_NVP(p_data_alignment_factor);
23313 s & BOOST_SERIALIZATION_NVP(p_augmentation_data_length);
23314 s & BOOST_SERIALIZATION_NVP(p_lsda_encoding);
23315 s & BOOST_SERIALIZATION_NVP(p_prh_encoding);
23316 s & BOOST_SERIALIZATION_NVP(p_prh_arg);
23317 s & BOOST_SERIALIZATION_NVP(p_prh_addr);
23318 s & BOOST_SERIALIZATION_NVP(p_addr_encoding);
23319 s & BOOST_SERIALIZATION_NVP(p_sig_frame);
23320 s & BOOST_SERIALIZATION_NVP(p_instructions);
23321 s & BOOST_SERIALIZATION_NVP(p_fd_entries);
23472 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
23496#ifdef DOCUMENTATION
23505DECLARE_LEAF_CLASS(AsmElfDynamicSection);
23506IS_SERIALIZABLE(AsmElfDynamicSection);
23508#ifndef DOCUMENTATION
23509AsmElfDynamicSection.useSmallHeader(
true);
23512DECLARE_HEADERS(AsmElfDynamicSection);
23513#if defined(SgAsmElfDynamicSection_HEADERS) || defined(DOCUMENTATION)
23514#include <Rose/BinaryAnalysis/Address.h>
23516#ifdef ROSE_SgAsmElfDynamicSection_IMPL
23517#include <SgAsmElfDynamicEntryList.h>
23521#ifdef DOCUMENTATION
23526#ifndef DOCUMENTATION
23527 AsmElfDynamicSection.setDataPrototype(
23528 "SgAsmElfDynamicEntryList*",
"entries",
"= createAndParent<SgAsmElfDynamicEntryList>(this)",
23529 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23532 DECLARE_OTHERS(AsmElfDynamicSection);
23533#if defined(SgAsmElfDynamicSection_OTHERS) || defined(DOCUMENTATION)
23536#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23538 friend class boost::serialization::access;
23541 void serialize(S &s,
const unsigned ) {
23544 s & BOOST_SERIALIZATION_NVP(p_entries);
23572 calculateSizes(
size_t *total,
size_t *required,
size_t *optional,
size_t *entcount)
const override;
23580 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
23588 virtual
Rose::BinaryAnalysis::Address calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const override
23607#ifdef DOCUMENTATION
23616#ifndef DOCUMENTATION
23617AstNodeClass& AsmElfSection = nonTerminalConstructor(
23621 "AsmElfSectionTag",
23622 SubclassListBuilder()
23623 | AsmElfDynamicSection
23624 | AsmElfEHFrameSection
23625 | AsmElfNoteSection
23626 | AsmElfRelocSection
23627 | AsmElfStringSection
23628 | AsmElfSymbolSection
23629 | AsmElfSymverDefinedSection
23630 | AsmElfSymverNeededSection
23631 | AsmElfSymverSection
23633assert(AsmElfSection.associatedGrammar !=
nullptr);
23634AsmElfSection.setCppCondition(
"!defined(DOCUMENTATION)");
23635AsmElfSection.isBoostSerializable(
true);
23636AsmElfSection.setAutomaticGenerationOfConstructor(
false);
23637AsmElfSection.setAutomaticGenerationOfDestructor(
false);
23640#ifndef DOCUMENTATION
23641AsmElfSection.useSmallHeader(
true);
23644DECLARE_HEADERS(AsmElfSection);
23645#if defined(SgAsmElfSection_HEADERS) || defined(DOCUMENTATION)
23646#include <Rose/BinaryAnalysis/Address.h>
23648#ifdef ROSE_SgAsmElfSection_IMPL
23649#include <SgAsmElfSectionTableEntry.h>
23650#include <SgAsmElfSegmentTableEntry.h>
23654#ifdef DOCUMENTATION
23659#ifndef DOCUMENTATION
23660 AsmElfSection.setDataPrototype(
23661 "SgAsmElfSection*",
"linkedSection",
"= nullptr",
23662 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23665#ifndef DOCUMENTATION
23666 AsmElfSection.setDataPrototype(
23667 "SgAsmElfSectionTableEntry*",
"sectionEntry",
"= nullptr",
23668 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23671#ifndef DOCUMENTATION
23672 AsmElfSection.setDataPrototype(
23673 "SgAsmElfSegmentTableEntry*",
"segmentEntry",
"= nullptr",
23674 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23677 DECLARE_OTHERS(AsmElfSection);
23678#if defined(SgAsmElfSection_OTHERS) || defined(DOCUMENTATION)
23681#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23683 friend class boost::serialization::access;
23686 void serialize(S &s,
const unsigned ) {
23689 s & BOOST_SERIALIZATION_NVP(p_linkedSection);
23690 s & BOOST_SERIALIZATION_NVP(p_sectionEntry);
23691 s & BOOST_SERIALIZATION_NVP(p_segmentEntry);
23760 size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
23762 virtual void finishParsing();
23781 calculateSizes(
size_t *entsize,
size_t *required,
size_t *optional,
size_t *entcount)
const;
23786 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
23801 virtual
void set_linked_section(
SgAsmElfSection*) ROSE_DEPRECATED("use set_linkSection");
23810 Rose::BinaryAnalysis::Address
23811 calculate_sizes(
size_t,
size_t, const std::vector<
size_t>&,
size_t*,
size_t*,
size_t*,
size_t*) const
23813 virtual
void finish_parsing() ROSE_DEPRECATED("use finishParsing");
23814 virtual
Rose::BinaryAnalysis::Address
23815 calculate_sizes(
size_t*,
size_t*,
size_t*,
size_t*) const ROSE_DEPRECATED("use
calculateSizes");
23835#ifdef DOCUMENTATION
23844DECLARE_LEAF_CLASS(AsmElfDynamicEntryList);
23845IS_SERIALIZABLE(AsmElfDynamicEntryList);
23847#ifndef DOCUMENTATION
23848AsmElfDynamicEntryList.useSmallHeader(
true);
23851DECLARE_HEADERS(AsmElfDynamicEntryList);
23852#if defined(SgAsmElfDynamicEntryList_HEADERS) || defined(DOCUMENTATION)
23853#include <sageContainer.h>
23856#ifdef DOCUMENTATION
23864#ifndef DOCUMENTATION
23865 AsmElfDynamicEntryList.setDataPrototype(
23866 "SgAsmElfDynamicEntryPtrList",
"entries",
"",
23867 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23870 DECLARE_OTHERS(AsmElfDynamicEntryList);
23871#if defined(SgAsmElfDynamicEntryList_OTHERS) || defined(DOCUMENTATION)
23874#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23876 friend class boost::serialization::access;
23879 void serialize(S &s,
const unsigned ) {
23882 s & BOOST_SERIALIZATION_NVP(p_entries);
23913#ifdef DOCUMENTATION
23922DECLARE_LEAF_CLASS(AsmElfDynamicEntry);
23923IS_SERIALIZABLE(AsmElfDynamicEntry);
23925#ifndef DOCUMENTATION
23926AsmElfDynamicEntry.useSmallHeader(
true);
23929DECLARE_HEADERS(AsmElfDynamicEntry);
23930#if defined(SgAsmElfDynamicEntry_HEADERS) || defined(DOCUMENTATION)
23931#include <Rose/BinaryAnalysis/ByteOrder.h>
23932#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
23933#include <sageContainer.h>
23936#ifdef DOCUMENTATION
23941#ifndef DOCUMENTATION
23942 AsmElfDynamicEntry.setDataPrototype(
23943 "SgAsmElfDynamicEntry::EntryType",
"d_tag",
"= SgAsmElfDynamicEntry::DT_NULL",
23944 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23947#ifndef DOCUMENTATION
23948 AsmElfDynamicEntry.setDataPrototype(
23949 "Rose::BinaryAnalysis::RelativeVirtualAddress",
"d_val",
"",
23950 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23953#ifndef DOCUMENTATION
23954 AsmElfDynamicEntry.setDataPrototype(
23955 "SgAsmGenericString*",
"name",
"= nullptr",
23956 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
23959#ifndef DOCUMENTATION
23960 AsmElfDynamicEntry.setDataPrototype(
23961 "SgUnsignedCharList",
"extra",
"",
23962 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
23965 DECLARE_OTHERS(AsmElfDynamicEntry);
23966#if defined(SgAsmElfDynamicEntry_OTHERS) || defined(DOCUMENTATION)
23969#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
23971 friend class boost::serialization::access;
23974 void serialize(S &s,
const unsigned ) {
23977 s & BOOST_SERIALIZATION_NVP(p_d_tag);
23978 s & BOOST_SERIALIZATION_NVP(p_d_val);
23979 s & BOOST_SERIALIZATION_NVP(p_name);
23980 s & BOOST_SERIALIZATION_NVP(p_extra);
24014 DT_INIT_ARRAY = 25,
24015 DT_FINI_ARRAY = 26,
24016 DT_INIT_ARRAYSZ = 27,
24017 DT_FINI_ARRAYSZ = 28,
24020 DT_PREINIT_ARRAY = 32,
24021 DT_PREINIT_ARRAYSZ = 33,
24024 DT_GNU_PRELINKED =0x6ffffdf5,
24025 DT_GNU_CONFLICTSZ=0x6ffffdf6,
24026 DT_GNU_LIBLISTSZ=0x6ffffdf7,
24027 DT_CHECKSUM = 0x6ffffdf8,
24028 DT_PLTPADSZ = 0x6ffffdf9,
24029 DT_MOVEENT = 0x6ffffdfa,
24030 DT_MOVESZ = 0x6ffffdfb,
24031 DT_FEATURE_1= 0x6ffffdfc,
24032 DT_POSFLAG_1= 0x6ffffdfd,
24033 DT_SYMINSZ = 0x6ffffdfe,
24034 DT_SYMINENT = 0x6ffffdff,
24036 DT_GNU_HASH = 0x6ffffef5,
24037 DT_TLSDESC_PLT=0x6ffffef6,
24038 DT_TLSDESC_GOT=0x6ffffef7,
24039 DT_GNU_CONFLICT=0x6ffffef8,
24040 DT_GNU_LIBLIST=0x6ffffef9,
24041 DT_CONFIG = 0x6ffffefa,
24042 DT_DEPAUDIT = 0x6ffffefb,
24043 DT_AUDIT = 0x6ffffefc,
24044 DT_PLTPAD = 0x6ffffefd,
24045 DT_MOVETAB = 0x6ffffefe,
24046 DT_SYMINFO = 0x6ffffeff,
24048 DT_VERSYM = 0x6ffffff0,
24049 DT_RELACOUNT= 0x6ffffff9,
24050 DT_RELCOUNT = 0x6ffffffa,
24051 DT_FLAGS_1 = 0x6ffffffb,
24052 DT_VERDEF = 0x6ffffffc,
24053 DT_VERDEFNUM= 0x6ffffffd,
24054 DT_VERNEED = 0x6ffffffe,
24055 DT_VERNEEDNUM=0x6fffffff,
24057 DT_AUXILIARY= 0x7ffffffd,
24058 DT_FILTER = 0x7fffffff
24070#if !defined(SWIG) && !defined(_MSC_VER)
24071 __attribute__((packed))
24079#if !defined(SWIG) && !defined(_MSC_VER)
24080 __attribute__((packed))
24150 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
24153 static std::string
toString(SgAsmElfDynamicEntry::EntryType);
24159 static std::string to_string(SgAsmElfDynamicEntry::EntryType) ROSE_DEPRECATED(
"use toString");
24177#ifdef DOCUMENTATION
24186DECLARE_LEAF_CLASS(AsmDwarfWithStmt);
24187IS_SERIALIZABLE(AsmDwarfWithStmt);
24189#ifndef DOCUMENTATION
24190AsmDwarfWithStmt.useSmallHeader(
true);
24193#ifdef DOCUMENTATION
24197 DECLARE_OTHERS(AsmDwarfWithStmt);
24198#if defined(SgAsmDwarfWithStmt_OTHERS) || defined(DOCUMENTATION)
24201#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24203 friend class boost::serialization::access;
24206 void serialize(S &s,
const unsigned ) {
24224 uint64_t
const& offset,
24225 uint64_t
const& overall_offset);
24236#ifdef DOCUMENTATION
24245DECLARE_LEAF_CLASS(AsmDwarfVolatileType);
24246IS_SERIALIZABLE(AsmDwarfVolatileType);
24248#ifndef DOCUMENTATION
24249AsmDwarfVolatileType.useSmallHeader(
true);
24252#ifdef DOCUMENTATION
24256 DECLARE_OTHERS(AsmDwarfVolatileType);
24257#if defined(SgAsmDwarfVolatileType_OTHERS) || defined(DOCUMENTATION)
24260#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24262 friend class boost::serialization::access;
24265 void serialize(S &s,
const unsigned ) {
24283 uint64_t
const& offset,
24284 uint64_t
const& overall_offset);
24295#ifdef DOCUMENTATION
24304DECLARE_LEAF_CLASS(AsmDwarfVariantPart);
24305IS_SERIALIZABLE(AsmDwarfVariantPart);
24307#ifndef DOCUMENTATION
24308AsmDwarfVariantPart.useSmallHeader(
true);
24311#ifdef DOCUMENTATION
24315 DECLARE_OTHERS(AsmDwarfVariantPart);
24316#if defined(SgAsmDwarfVariantPart_OTHERS) || defined(DOCUMENTATION)
24319#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24321 friend class boost::serialization::access;
24324 void serialize(S &s,
const unsigned ) {
24342 uint64_t
const& offset,
24343 uint64_t
const& overall_offset);
24354#ifdef DOCUMENTATION
24363DECLARE_LEAF_CLASS(AsmDwarfVariant);
24364IS_SERIALIZABLE(AsmDwarfVariant);
24366#ifndef DOCUMENTATION
24367AsmDwarfVariant.useSmallHeader(
true);
24370#ifdef DOCUMENTATION
24374 DECLARE_OTHERS(AsmDwarfVariant);
24375#if defined(SgAsmDwarfVariant_OTHERS) || defined(DOCUMENTATION)
24378#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24380 friend class boost::serialization::access;
24383 void serialize(S &s,
const unsigned ) {
24401 uint64_t
const& offset,
24402 uint64_t
const& overall_offset);
24413#ifdef DOCUMENTATION
24422DECLARE_LEAF_CLASS(AsmDwarfVariable);
24423IS_SERIALIZABLE(AsmDwarfVariable);
24425#ifndef DOCUMENTATION
24426AsmDwarfVariable.useSmallHeader(
true);
24429#ifdef DOCUMENTATION
24433 DECLARE_OTHERS(AsmDwarfVariable);
24434#if defined(SgAsmDwarfVariable_OTHERS) || defined(DOCUMENTATION)
24437#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24439 friend class boost::serialization::access;
24442 void serialize(S &s,
const unsigned ) {
24460 uint64_t
const& offset,
24461 uint64_t
const& overall_offset);
24472#ifdef DOCUMENTATION
24481DECLARE_LEAF_CLASS(AsmDwarfUpcStrictType);
24482IS_SERIALIZABLE(AsmDwarfUpcStrictType);
24484#ifndef DOCUMENTATION
24485AsmDwarfUpcStrictType.useSmallHeader(
true);
24488#ifdef DOCUMENTATION
24492 DECLARE_OTHERS(AsmDwarfUpcStrictType);
24493#if defined(SgAsmDwarfUpcStrictType_OTHERS) || defined(DOCUMENTATION)
24496#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24498 friend class boost::serialization::access;
24501 void serialize(S &s,
const unsigned ) {
24519 uint64_t
const& offset,
24520 uint64_t
const& overall_offset);
24531#ifdef DOCUMENTATION
24540DECLARE_LEAF_CLASS(AsmDwarfUpcSharedType);
24541IS_SERIALIZABLE(AsmDwarfUpcSharedType);
24543#ifndef DOCUMENTATION
24544AsmDwarfUpcSharedType.useSmallHeader(
true);
24547#ifdef DOCUMENTATION
24551 DECLARE_OTHERS(AsmDwarfUpcSharedType);
24552#if defined(SgAsmDwarfUpcSharedType_OTHERS) || defined(DOCUMENTATION)
24555#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24557 friend class boost::serialization::access;
24560 void serialize(S &s,
const unsigned ) {
24578 uint64_t
const& offset,
24579 uint64_t
const& overall_offset);
24590#ifdef DOCUMENTATION
24599DECLARE_LEAF_CLASS(AsmDwarfUpcRelaxedType);
24600IS_SERIALIZABLE(AsmDwarfUpcRelaxedType);
24602#ifndef DOCUMENTATION
24603AsmDwarfUpcRelaxedType.useSmallHeader(
true);
24606#ifdef DOCUMENTATION
24610 DECLARE_OTHERS(AsmDwarfUpcRelaxedType);
24611#if defined(SgAsmDwarfUpcRelaxedType_OTHERS) || defined(DOCUMENTATION)
24614#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24616 friend class boost::serialization::access;
24619 void serialize(S &s,
const unsigned ) {
24637 uint64_t
const& offset,
24638 uint64_t
const& overall_offset);
24649#ifdef DOCUMENTATION
24658DECLARE_LEAF_CLASS(AsmDwarfUnspecifiedType);
24659IS_SERIALIZABLE(AsmDwarfUnspecifiedType);
24661#ifndef DOCUMENTATION
24662AsmDwarfUnspecifiedType.useSmallHeader(
true);
24665#ifdef DOCUMENTATION
24669 DECLARE_OTHERS(AsmDwarfUnspecifiedType);
24670#if defined(SgAsmDwarfUnspecifiedType_OTHERS) || defined(DOCUMENTATION)
24673#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24675 friend class boost::serialization::access;
24678 void serialize(S &s,
const unsigned ) {
24696 uint64_t
const& offset,
24697 uint64_t
const& overall_offset);
24708#ifdef DOCUMENTATION
24717DECLARE_LEAF_CLASS(AsmDwarfUnspecifiedParameters);
24718IS_SERIALIZABLE(AsmDwarfUnspecifiedParameters);
24720#ifndef DOCUMENTATION
24721AsmDwarfUnspecifiedParameters.useSmallHeader(
true);
24724#ifdef DOCUMENTATION
24728 DECLARE_OTHERS(AsmDwarfUnspecifiedParameters);
24729#if defined(SgAsmDwarfUnspecifiedParameters_OTHERS) || defined(DOCUMENTATION)
24732#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24734 friend class boost::serialization::access;
24737 void serialize(S &s,
const unsigned ) {
24755 uint64_t
const& offset,
24756 uint64_t
const& overall_offset);
24767#ifdef DOCUMENTATION
24776DECLARE_LEAF_CLASS(AsmDwarfUnknownConstruct);
24777IS_SERIALIZABLE(AsmDwarfUnknownConstruct);
24779#ifndef DOCUMENTATION
24780AsmDwarfUnknownConstruct.useSmallHeader(
true);
24783#ifdef DOCUMENTATION
24787 DECLARE_OTHERS(AsmDwarfUnknownConstruct);
24788#if defined(SgAsmDwarfUnknownConstruct_OTHERS) || defined(DOCUMENTATION)
24791#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24793 friend class boost::serialization::access;
24796 void serialize(S &s,
const unsigned ) {
24814 uint64_t
const& offset,
24815 uint64_t
const& overall_offset);
24826#ifdef DOCUMENTATION
24835DECLARE_LEAF_CLASS(AsmDwarfUnionType);
24836IS_SERIALIZABLE(AsmDwarfUnionType);
24838#ifndef DOCUMENTATION
24839AsmDwarfUnionType.useSmallHeader(
true);
24842DECLARE_HEADERS(AsmDwarfUnionType);
24843#if defined(SgAsmDwarfUnionType_HEADERS) || defined(DOCUMENTATION)
24844#ifdef ROSE_SgAsmDwarfUnionType_IMPL
24845#include <SgAsmDwarfConstructList.h>
24849#ifdef DOCUMENTATION
24853#ifndef DOCUMENTATION
24854 AsmDwarfUnionType.setDataPrototype(
24855 "SgAsmDwarfConstructList*",
"body",
"= NULL",
24856 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
24859 DECLARE_OTHERS(AsmDwarfUnionType);
24860#if defined(SgAsmDwarfUnionType_OTHERS) || defined(DOCUMENTATION)
24863#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24865 friend class boost::serialization::access;
24868 void serialize(S &s,
const unsigned ) {
24871 s & BOOST_SERIALIZATION_NVP(p_body);
24892 uint64_t
const& offset,
24893 uint64_t
const& overall_offset);
24904#ifdef DOCUMENTATION
24913DECLARE_LEAF_CLASS(AsmDwarfTypedef);
24914IS_SERIALIZABLE(AsmDwarfTypedef);
24916#ifndef DOCUMENTATION
24917AsmDwarfTypedef.useSmallHeader(
true);
24920#ifdef DOCUMENTATION
24924 DECLARE_OTHERS(AsmDwarfTypedef);
24925#if defined(SgAsmDwarfTypedef_OTHERS) || defined(DOCUMENTATION)
24928#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24930 friend class boost::serialization::access;
24933 void serialize(S &s,
const unsigned ) {
24951 uint64_t
const& offset,
24952 uint64_t
const& overall_offset);
24963#ifdef DOCUMENTATION
24972DECLARE_LEAF_CLASS(AsmDwarfTryBlock);
24973IS_SERIALIZABLE(AsmDwarfTryBlock);
24975#ifndef DOCUMENTATION
24976AsmDwarfTryBlock.useSmallHeader(
true);
24979#ifdef DOCUMENTATION
24983 DECLARE_OTHERS(AsmDwarfTryBlock);
24984#if defined(SgAsmDwarfTryBlock_OTHERS) || defined(DOCUMENTATION)
24987#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
24989 friend class boost::serialization::access;
24992 void serialize(S &s,
const unsigned ) {
25010 uint64_t
const& offset,
25011 uint64_t
const& overall_offset);
25022#ifdef DOCUMENTATION
25031DECLARE_LEAF_CLASS(AsmDwarfThrownType);
25032IS_SERIALIZABLE(AsmDwarfThrownType);
25034#ifndef DOCUMENTATION
25035AsmDwarfThrownType.useSmallHeader(
true);
25038#ifdef DOCUMENTATION
25042 DECLARE_OTHERS(AsmDwarfThrownType);
25043#if defined(SgAsmDwarfThrownType_OTHERS) || defined(DOCUMENTATION)
25046#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25048 friend class boost::serialization::access;
25051 void serialize(S &s,
const unsigned ) {
25069 uint64_t
const& offset,
25070 uint64_t
const& overall_offset);
25081#ifdef DOCUMENTATION
25090DECLARE_LEAF_CLASS(AsmDwarfTemplateValueParameter);
25091IS_SERIALIZABLE(AsmDwarfTemplateValueParameter);
25093#ifndef DOCUMENTATION
25094AsmDwarfTemplateValueParameter.useSmallHeader(
true);
25097#ifdef DOCUMENTATION
25101 DECLARE_OTHERS(AsmDwarfTemplateValueParameter);
25102#if defined(SgAsmDwarfTemplateValueParameter_OTHERS) || defined(DOCUMENTATION)
25105#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25107 friend class boost::serialization::access;
25110 void serialize(S &s,
const unsigned ) {
25128 uint64_t
const& offset,
25129 uint64_t
const& overall_offset);
25140#ifdef DOCUMENTATION
25149DECLARE_LEAF_CLASS(AsmDwarfTemplateTypeParameter);
25150IS_SERIALIZABLE(AsmDwarfTemplateTypeParameter);
25152#ifndef DOCUMENTATION
25153AsmDwarfTemplateTypeParameter.useSmallHeader(
true);
25156#ifdef DOCUMENTATION
25160 DECLARE_OTHERS(AsmDwarfTemplateTypeParameter);
25161#if defined(SgAsmDwarfTemplateTypeParameter_OTHERS) || defined(DOCUMENTATION)
25164#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25166 friend class boost::serialization::access;
25169 void serialize(S &s,
const unsigned ) {
25187 uint64_t
const& offset,
25188 uint64_t
const& overall_offset);
25199#ifdef DOCUMENTATION
25208DECLARE_LEAF_CLASS(AsmDwarfSubroutineType);
25209IS_SERIALIZABLE(AsmDwarfSubroutineType);
25211#ifndef DOCUMENTATION
25212AsmDwarfSubroutineType.useSmallHeader(
true);
25215DECLARE_HEADERS(AsmDwarfSubroutineType);
25216#if defined(SgAsmDwarfSubroutineType_HEADERS) || defined(DOCUMENTATION)
25217#ifdef ROSE_SgAsmDwarfSubroutineType_IMPL
25218#include <SgAsmDwarfConstructList.h>
25222#ifdef DOCUMENTATION
25226#ifndef DOCUMENTATION
25227 AsmDwarfSubroutineType.setDataPrototype(
25228 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
25229 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25232 DECLARE_OTHERS(AsmDwarfSubroutineType);
25233#if defined(SgAsmDwarfSubroutineType_OTHERS) || defined(DOCUMENTATION)
25236#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25238 friend class boost::serialization::access;
25241 void serialize(S &s,
const unsigned ) {
25244 s & BOOST_SERIALIZATION_NVP(p_body);
25265 uint64_t
const& offset,
25266 uint64_t
const& overall_offset);
25277#ifdef DOCUMENTATION
25286DECLARE_LEAF_CLASS(AsmDwarfSubrangeType);
25287IS_SERIALIZABLE(AsmDwarfSubrangeType);
25289#ifndef DOCUMENTATION
25290AsmDwarfSubrangeType.useSmallHeader(
true);
25293#ifdef DOCUMENTATION
25297 DECLARE_OTHERS(AsmDwarfSubrangeType);
25298#if defined(SgAsmDwarfSubrangeType_OTHERS) || defined(DOCUMENTATION)
25301#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25303 friend class boost::serialization::access;
25306 void serialize(S &s,
const unsigned ) {
25324 uint64_t
const& offset,
25325 uint64_t
const& overall_offset);
25336#ifdef DOCUMENTATION
25345DECLARE_LEAF_CLASS(AsmDwarfSubprogram);
25346IS_SERIALIZABLE(AsmDwarfSubprogram);
25348#ifndef DOCUMENTATION
25349AsmDwarfSubprogram.useSmallHeader(
true);
25352DECLARE_HEADERS(AsmDwarfSubprogram);
25353#if defined(SgAsmDwarfSubprogram_HEADERS) || defined(DOCUMENTATION)
25354#ifdef ROSE_SgAsmDwarfSubprogram_IMPL
25355#include <SgAsmDwarfConstructList.h>
25359#ifdef DOCUMENTATION
25363#ifndef DOCUMENTATION
25364 AsmDwarfSubprogram.setDataPrototype(
25365 "SgAsmDwarfConstructList*",
"body",
"= NULL",
25366 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25369 DECLARE_OTHERS(AsmDwarfSubprogram);
25370#if defined(SgAsmDwarfSubprogram_OTHERS) || defined(DOCUMENTATION)
25373#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25375 friend class boost::serialization::access;
25378 void serialize(S &s,
const unsigned ) {
25381 s & BOOST_SERIALIZATION_NVP(p_body);
25402 uint64_t
const& offset,
25403 uint64_t
const& overall_offset);
25414#ifdef DOCUMENTATION
25423DECLARE_LEAF_CLASS(AsmDwarfStructureType);
25424IS_SERIALIZABLE(AsmDwarfStructureType);
25426#ifndef DOCUMENTATION
25427AsmDwarfStructureType.useSmallHeader(
true);
25430DECLARE_HEADERS(AsmDwarfStructureType);
25431#if defined(SgAsmDwarfStructureType_HEADERS) || defined(DOCUMENTATION)
25432#ifdef ROSE_SgAsmDwarfStructureType_IMPL
25433#include <SgAsmDwarfConstructList.h>
25437#ifdef DOCUMENTATION
25441#ifndef DOCUMENTATION
25442 AsmDwarfStructureType.setDataPrototype(
25443 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
25444 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
25447 DECLARE_OTHERS(AsmDwarfStructureType);
25448#if defined(SgAsmDwarfStructureType_OTHERS) || defined(DOCUMENTATION)
25451#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25453 friend class boost::serialization::access;
25456 void serialize(S &s,
const unsigned ) {
25459 s & BOOST_SERIALIZATION_NVP(p_body);
25480 uint64_t
const& offset,
25481 uint64_t
const& overall_offset);
25492#ifdef DOCUMENTATION
25501DECLARE_LEAF_CLASS(AsmDwarfStringType);
25502IS_SERIALIZABLE(AsmDwarfStringType);
25504#ifndef DOCUMENTATION
25505AsmDwarfStringType.useSmallHeader(
true);
25508#ifdef DOCUMENTATION
25512 DECLARE_OTHERS(AsmDwarfStringType);
25513#if defined(SgAsmDwarfStringType_OTHERS) || defined(DOCUMENTATION)
25516#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25518 friend class boost::serialization::access;
25521 void serialize(S &s,
const unsigned ) {
25539 uint64_t
const& offset,
25540 uint64_t
const& overall_offset);
25551#ifdef DOCUMENTATION
25560DECLARE_LEAF_CLASS(AsmDwarfSharedType);
25561IS_SERIALIZABLE(AsmDwarfSharedType);
25563#ifndef DOCUMENTATION
25564AsmDwarfSharedType.useSmallHeader(
true);
25567#ifdef DOCUMENTATION
25571 DECLARE_OTHERS(AsmDwarfSharedType);
25572#if defined(SgAsmDwarfSharedType_OTHERS) || defined(DOCUMENTATION)
25575#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25577 friend class boost::serialization::access;
25580 void serialize(S &s,
const unsigned ) {
25598 uint64_t
const& offset,
25599 uint64_t
const& overall_offset);
25610#ifdef DOCUMENTATION
25619DECLARE_LEAF_CLASS(AsmDwarfSetType);
25620IS_SERIALIZABLE(AsmDwarfSetType);
25622#ifndef DOCUMENTATION
25623AsmDwarfSetType.useSmallHeader(
true);
25626#ifdef DOCUMENTATION
25630 DECLARE_OTHERS(AsmDwarfSetType);
25631#if defined(SgAsmDwarfSetType_OTHERS) || defined(DOCUMENTATION)
25634#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25636 friend class boost::serialization::access;
25639 void serialize(S &s,
const unsigned ) {
25657 uint64_t
const& offset,
25658 uint64_t
const& overall_offset);
25669#ifdef DOCUMENTATION
25678DECLARE_LEAF_CLASS(AsmDwarfRestrictType);
25679IS_SERIALIZABLE(AsmDwarfRestrictType);
25681#ifndef DOCUMENTATION
25682AsmDwarfRestrictType.useSmallHeader(
true);
25685#ifdef DOCUMENTATION
25689 DECLARE_OTHERS(AsmDwarfRestrictType);
25690#if defined(SgAsmDwarfRestrictType_OTHERS) || defined(DOCUMENTATION)
25693#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25695 friend class boost::serialization::access;
25698 void serialize(S &s,
const unsigned ) {
25716 uint64_t
const& offset,
25717 uint64_t
const& overall_offset);
25728#ifdef DOCUMENTATION
25737DECLARE_LEAF_CLASS(AsmDwarfReferenceType);
25738IS_SERIALIZABLE(AsmDwarfReferenceType);
25740#ifndef DOCUMENTATION
25741AsmDwarfReferenceType.useSmallHeader(
true);
25744#ifdef DOCUMENTATION
25748 DECLARE_OTHERS(AsmDwarfReferenceType);
25749#if defined(SgAsmDwarfReferenceType_OTHERS) || defined(DOCUMENTATION)
25752#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25754 friend class boost::serialization::access;
25757 void serialize(S &s,
const unsigned ) {
25775 uint64_t
const& offset,
25776 uint64_t
const& overall_offset);
25787#ifdef DOCUMENTATION
25796DECLARE_LEAF_CLASS(AsmDwarfPtrToMemberType);
25797IS_SERIALIZABLE(AsmDwarfPtrToMemberType);
25799#ifndef DOCUMENTATION
25800AsmDwarfPtrToMemberType.useSmallHeader(
true);
25803#ifdef DOCUMENTATION
25807 DECLARE_OTHERS(AsmDwarfPtrToMemberType);
25808#if defined(SgAsmDwarfPtrToMemberType_OTHERS) || defined(DOCUMENTATION)
25811#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25813 friend class boost::serialization::access;
25816 void serialize(S &s,
const unsigned ) {
25834 uint64_t
const& offset,
25835 uint64_t
const& overall_offset);
25846#ifdef DOCUMENTATION
25855DECLARE_LEAF_CLASS(AsmDwarfPointerType);
25856IS_SERIALIZABLE(AsmDwarfPointerType);
25858#ifndef DOCUMENTATION
25859AsmDwarfPointerType.useSmallHeader(
true);
25862#ifdef DOCUMENTATION
25866 DECLARE_OTHERS(AsmDwarfPointerType);
25867#if defined(SgAsmDwarfPointerType_OTHERS) || defined(DOCUMENTATION)
25870#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25872 friend class boost::serialization::access;
25875 void serialize(S &s,
const unsigned ) {
25893 uint64_t
const& offset,
25894 uint64_t
const& overall_offset);
25905#ifdef DOCUMENTATION
25914DECLARE_LEAF_CLASS(AsmDwarfPartialUnit);
25915IS_SERIALIZABLE(AsmDwarfPartialUnit);
25917#ifndef DOCUMENTATION
25918AsmDwarfPartialUnit.useSmallHeader(
true);
25921#ifdef DOCUMENTATION
25925 DECLARE_OTHERS(AsmDwarfPartialUnit);
25926#if defined(SgAsmDwarfPartialUnit_OTHERS) || defined(DOCUMENTATION)
25929#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25931 friend class boost::serialization::access;
25934 void serialize(S &s,
const unsigned ) {
25952 uint64_t
const& offset,
25953 uint64_t
const& overall_offset);
25964#ifdef DOCUMENTATION
25973DECLARE_LEAF_CLASS(AsmDwarfPackedType);
25974IS_SERIALIZABLE(AsmDwarfPackedType);
25976#ifndef DOCUMENTATION
25977AsmDwarfPackedType.useSmallHeader(
true);
25980#ifdef DOCUMENTATION
25984 DECLARE_OTHERS(AsmDwarfPackedType);
25985#if defined(SgAsmDwarfPackedType_OTHERS) || defined(DOCUMENTATION)
25988#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
25990 friend class boost::serialization::access;
25993 void serialize(S &s,
const unsigned ) {
26011 uint64_t
const& offset,
26012 uint64_t
const& overall_offset);
26023#ifdef DOCUMENTATION
26032DECLARE_LEAF_CLASS(AsmDwarfNamespace);
26033IS_SERIALIZABLE(AsmDwarfNamespace);
26035#ifndef DOCUMENTATION
26036AsmDwarfNamespace.useSmallHeader(
true);
26039DECLARE_HEADERS(AsmDwarfNamespace);
26040#if defined(SgAsmDwarfNamespace_HEADERS) || defined(DOCUMENTATION)
26041#ifdef ROSE_SgAsmDwarfNamespace_IMPL
26042#include <SgAsmDwarfConstructList.h>
26046#ifdef DOCUMENTATION
26050#ifndef DOCUMENTATION
26051 AsmDwarfNamespace.setDataPrototype(
26052 "SgAsmDwarfConstructList*",
"body",
"= NULL",
26053 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26056 DECLARE_OTHERS(AsmDwarfNamespace);
26057#if defined(SgAsmDwarfNamespace_OTHERS) || defined(DOCUMENTATION)
26060#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26062 friend class boost::serialization::access;
26065 void serialize(S &s,
const unsigned ) {
26068 s & BOOST_SERIALIZATION_NVP(p_body);
26089 uint64_t
const& offset,
26090 uint64_t
const& overall_offset);
26101#ifdef DOCUMENTATION
26110DECLARE_LEAF_CLASS(AsmDwarfNamelistItem);
26111IS_SERIALIZABLE(AsmDwarfNamelistItem);
26113#ifndef DOCUMENTATION
26114AsmDwarfNamelistItem.useSmallHeader(
true);
26117#ifdef DOCUMENTATION
26121 DECLARE_OTHERS(AsmDwarfNamelistItem);
26122#if defined(SgAsmDwarfNamelistItem_OTHERS) || defined(DOCUMENTATION)
26125#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26127 friend class boost::serialization::access;
26130 void serialize(S &s,
const unsigned ) {
26148 uint64_t
const& offset,
26149 uint64_t
const& overall_offset);
26160#ifdef DOCUMENTATION
26169DECLARE_LEAF_CLASS(AsmDwarfNamelist);
26170IS_SERIALIZABLE(AsmDwarfNamelist);
26172#ifndef DOCUMENTATION
26173AsmDwarfNamelist.useSmallHeader(
true);
26176#ifdef DOCUMENTATION
26180 DECLARE_OTHERS(AsmDwarfNamelist);
26181#if defined(SgAsmDwarfNamelist_OTHERS) || defined(DOCUMENTATION)
26184#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26186 friend class boost::serialization::access;
26189 void serialize(S &s,
const unsigned ) {
26207 uint64_t
const& offset,
26208 uint64_t
const& overall_offset);
26219#ifdef DOCUMENTATION
26228DECLARE_LEAF_CLASS(AsmDwarfMutableType);
26229IS_SERIALIZABLE(AsmDwarfMutableType);
26231#ifndef DOCUMENTATION
26232AsmDwarfMutableType.useSmallHeader(
true);
26235#ifdef DOCUMENTATION
26239 DECLARE_OTHERS(AsmDwarfMutableType);
26240#if defined(SgAsmDwarfMutableType_OTHERS) || defined(DOCUMENTATION)
26243#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26245 friend class boost::serialization::access;
26248 void serialize(S &s,
const unsigned ) {
26266 uint64_t
const& offset,
26267 uint64_t
const& overall_offset);
26278#ifdef DOCUMENTATION
26287DECLARE_LEAF_CLASS(AsmDwarfModule);
26288IS_SERIALIZABLE(AsmDwarfModule);
26290#ifndef DOCUMENTATION
26291AsmDwarfModule.useSmallHeader(
true);
26294#ifdef DOCUMENTATION
26298 DECLARE_OTHERS(AsmDwarfModule);
26299#if defined(SgAsmDwarfModule_OTHERS) || defined(DOCUMENTATION)
26302#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26304 friend class boost::serialization::access;
26307 void serialize(S &s,
const unsigned ) {
26325 uint64_t
const& offset,
26326 uint64_t
const& overall_offset);
26337#ifdef DOCUMENTATION
26346DECLARE_LEAF_CLASS(AsmDwarfMember);
26347IS_SERIALIZABLE(AsmDwarfMember);
26349#ifndef DOCUMENTATION
26350AsmDwarfMember.useSmallHeader(
true);
26353#ifdef DOCUMENTATION
26357 DECLARE_OTHERS(AsmDwarfMember);
26358#if defined(SgAsmDwarfMember_OTHERS) || defined(DOCUMENTATION)
26361#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26363 friend class boost::serialization::access;
26366 void serialize(S &s,
const unsigned ) {
26384 uint64_t
const& offset,
26385 uint64_t
const& overall_offset);
26396#ifdef DOCUMENTATION
26405DECLARE_LEAF_CLASS(AsmDwarfMacroList);
26406IS_SERIALIZABLE(AsmDwarfMacroList);
26408#ifndef DOCUMENTATION
26409AsmDwarfMacroList.useSmallHeader(
true);
26412DECLARE_HEADERS(AsmDwarfMacroList);
26413#if defined(SgAsmDwarfMacroList_HEADERS) || defined(DOCUMENTATION)
26414#include <sageContainer.h>
26417#ifdef DOCUMENTATION
26421#ifndef DOCUMENTATION
26422 AsmDwarfMacroList.setDataPrototype(
26423 "SgAsmDwarfMacroPtrList",
"macro_list",
"",
26424 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26427 DECLARE_OTHERS(AsmDwarfMacroList);
26428#if defined(SgAsmDwarfMacroList_OTHERS) || defined(DOCUMENTATION)
26431#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26433 friend class boost::serialization::access;
26436 void serialize(S &s,
const unsigned ) {
26439 s & BOOST_SERIALIZATION_NVP(p_macro_list);
26445 SgAsmDwarfMacroPtrList
const& get_macro_list()
const;
26446 void set_macro_list(SgAsmDwarfMacroPtrList
const&);
26465#ifdef DOCUMENTATION
26474DECLARE_LEAF_CLASS(AsmDwarfMacro);
26475IS_SERIALIZABLE(AsmDwarfMacro);
26477#ifndef DOCUMENTATION
26478AsmDwarfMacro.useSmallHeader(
true);
26481#ifdef DOCUMENTATION
26485#ifndef DOCUMENTATION
26486 AsmDwarfMacro.setDataPrototype(
26487 "std::string",
"macro_string",
"",
26488 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26491 DECLARE_OTHERS(AsmDwarfMacro);
26492#if defined(SgAsmDwarfMacro_OTHERS) || defined(DOCUMENTATION)
26495#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26497 friend class boost::serialization::access;
26500 void serialize(S &s,
const unsigned ) {
26503 s & BOOST_SERIALIZATION_NVP(p_macro_string);
26509 std::string
const& get_macro_string()
const;
26510 void set_macro_string(std::string
const&);
26529#ifdef DOCUMENTATION
26538DECLARE_LEAF_CLASS(AsmDwarfLineList);
26539IS_SERIALIZABLE(AsmDwarfLineList);
26541#ifndef DOCUMENTATION
26542AsmDwarfLineList.useSmallHeader(
true);
26545DECLARE_HEADERS(AsmDwarfLineList);
26546#if defined(SgAsmDwarfLineList_HEADERS) || defined(DOCUMENTATION)
26547#include <sageContainer.h>
26550#ifdef DOCUMENTATION
26554#ifndef DOCUMENTATION
26555 AsmDwarfLineList.setDataPrototype(
26556 "SgAsmDwarfLinePtrList",
"line_list",
"",
26557 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26560 DECLARE_OTHERS(AsmDwarfLineList);
26561#if defined(SgAsmDwarfLineList_OTHERS) || defined(DOCUMENTATION)
26564#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26566 friend class boost::serialization::access;
26569 void serialize(S &s,
const unsigned ) {
26572 s & BOOST_SERIALIZATION_NVP(p_line_list);
26578 SgAsmDwarfLinePtrList
const& get_line_list()
const;
26579 SgAsmDwarfLinePtrList& get_line_list();
26580 void set_line_list(SgAsmDwarfLinePtrList
const&);
26584 AsmDwarfLineList.setDataPrototype(
"SgInstructionAddressSourcePositionMapPtrList",
"instructionToSourceMap",
"",
26585 NO_CONSTRUCTOR_PARAMETER, BUILD_LIST_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE);
26586 AsmDwarfLineList.setDataPrototype(
"SgSourcePositionInstructionAddressMapPtrList",
"sourceToInstructionMap",
"",
26587 NO_CONSTRUCTOR_PARAMETER, BUILD_LIST_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE);
26598 static std::pair<uint64_t,uint64_t> instructionRange();
26599 static std::pair<LineColumnFilePosition,LineColumnFilePosition> sourceCodeRange(
int file_id );
26601 static uint64_t sourceCodeToAddress ( FileIdLineColumnFilePosition sourcePosition );
26602 static FileIdLineColumnFilePosition addressToSourceCode ( uint64_t address );
26620#ifdef DOCUMENTATION
26629DECLARE_LEAF_CLASS(AsmDwarfLine);
26630IS_SERIALIZABLE(AsmDwarfLine);
26632#ifndef DOCUMENTATION
26633AsmDwarfLine.useSmallHeader(
true);
26636#ifdef DOCUMENTATION
26640#ifndef DOCUMENTATION
26641 AsmDwarfLine.setDataPrototype(
26642 "uint64_t",
"address",
"= 0",
26643 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26646#ifndef DOCUMENTATION
26647 AsmDwarfLine.setDataPrototype(
26648 "int",
"file_id",
"= -2",
26649 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26652#ifndef DOCUMENTATION
26653 AsmDwarfLine.setDataPrototype(
26654 "int",
"line",
"= 0",
26655 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26658#ifndef DOCUMENTATION
26659 AsmDwarfLine.setDataPrototype(
26660 "int",
"column",
"= 0",
26661 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
26664 DECLARE_OTHERS(AsmDwarfLine);
26665#if defined(SgAsmDwarfLine_OTHERS) || defined(DOCUMENTATION)
26668#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26670 friend class boost::serialization::access;
26673 void serialize(S &s,
const unsigned ) {
26676 s & BOOST_SERIALIZATION_NVP(p_address);
26677 s & BOOST_SERIALIZATION_NVP(p_file_id);
26678 s & BOOST_SERIALIZATION_NVP(p_line);
26679 s & BOOST_SERIALIZATION_NVP(p_column);
26685 uint64_t
const& get_address()
const;
26686 void set_address(uint64_t
const&);
26690 int const& get_file_id()
const;
26691 void set_file_id(
int const&);
26694 int const& get_line()
const;
26695 void set_line(
int const&);
26698 int const& get_column()
const;
26699 void set_column(
int const&);
26712 int const& file_id,
26714 int const& column);
26725#ifdef DOCUMENTATION
26734DECLARE_LEAF_CLASS(AsmDwarfLexicalBlock);
26735IS_SERIALIZABLE(AsmDwarfLexicalBlock);
26737#ifndef DOCUMENTATION
26738AsmDwarfLexicalBlock.useSmallHeader(
true);
26741DECLARE_HEADERS(AsmDwarfLexicalBlock);
26742#if defined(SgAsmDwarfLexicalBlock_HEADERS) || defined(DOCUMENTATION)
26743#ifdef ROSE_SgAsmDwarfLexicalBlock_IMPL
26744#include <SgAsmDwarfConstructList.h>
26748#ifdef DOCUMENTATION
26752#ifndef DOCUMENTATION
26753 AsmDwarfLexicalBlock.setDataPrototype(
26754 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
26755 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26758 DECLARE_OTHERS(AsmDwarfLexicalBlock);
26759#if defined(SgAsmDwarfLexicalBlock_OTHERS) || defined(DOCUMENTATION)
26762#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26764 friend class boost::serialization::access;
26767 void serialize(S &s,
const unsigned ) {
26770 s & BOOST_SERIALIZATION_NVP(p_body);
26791 uint64_t
const& offset,
26792 uint64_t
const& overall_offset);
26803#ifdef DOCUMENTATION
26812DECLARE_LEAF_CLASS(AsmDwarfLabel);
26813IS_SERIALIZABLE(AsmDwarfLabel);
26815#ifndef DOCUMENTATION
26816AsmDwarfLabel.useSmallHeader(
true);
26819#ifdef DOCUMENTATION
26823 DECLARE_OTHERS(AsmDwarfLabel);
26824#if defined(SgAsmDwarfLabel_OTHERS) || defined(DOCUMENTATION)
26827#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26829 friend class boost::serialization::access;
26832 void serialize(S &s,
const unsigned ) {
26850 uint64_t
const& offset,
26851 uint64_t
const& overall_offset);
26862#ifdef DOCUMENTATION
26871DECLARE_LEAF_CLASS(AsmDwarfInterfaceType);
26872IS_SERIALIZABLE(AsmDwarfInterfaceType);
26874#ifndef DOCUMENTATION
26875AsmDwarfInterfaceType.useSmallHeader(
true);
26878#ifdef DOCUMENTATION
26882 DECLARE_OTHERS(AsmDwarfInterfaceType);
26883#if defined(SgAsmDwarfInterfaceType_OTHERS) || defined(DOCUMENTATION)
26886#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26888 friend class boost::serialization::access;
26891 void serialize(S &s,
const unsigned ) {
26909 uint64_t
const& offset,
26910 uint64_t
const& overall_offset);
26921#ifdef DOCUMENTATION
26930DECLARE_LEAF_CLASS(AsmDwarfInlinedSubroutine);
26931IS_SERIALIZABLE(AsmDwarfInlinedSubroutine);
26933#ifndef DOCUMENTATION
26934AsmDwarfInlinedSubroutine.useSmallHeader(
true);
26937DECLARE_HEADERS(AsmDwarfInlinedSubroutine);
26938#if defined(SgAsmDwarfInlinedSubroutine_HEADERS) || defined(DOCUMENTATION)
26939#ifdef ROSE_SgAsmDwarfInlinedSubroutine_IMPL
26940#include <SgAsmDwarfConstructList.h>
26944#ifdef DOCUMENTATION
26948#ifndef DOCUMENTATION
26949 AsmDwarfInlinedSubroutine.setDataPrototype(
26950 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
26951 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
26954 DECLARE_OTHERS(AsmDwarfInlinedSubroutine);
26955#if defined(SgAsmDwarfInlinedSubroutine_OTHERS) || defined(DOCUMENTATION)
26958#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
26960 friend class boost::serialization::access;
26963 void serialize(S &s,
const unsigned ) {
26966 s & BOOST_SERIALIZATION_NVP(p_body);
26987 uint64_t
const& offset,
26988 uint64_t
const& overall_offset);
26999#ifdef DOCUMENTATION
27008DECLARE_LEAF_CLASS(AsmDwarfInheritance);
27009IS_SERIALIZABLE(AsmDwarfInheritance);
27011#ifndef DOCUMENTATION
27012AsmDwarfInheritance.useSmallHeader(
true);
27015#ifdef DOCUMENTATION
27019 DECLARE_OTHERS(AsmDwarfInheritance);
27020#if defined(SgAsmDwarfInheritance_OTHERS) || defined(DOCUMENTATION)
27023#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27025 friend class boost::serialization::access;
27028 void serialize(S &s,
const unsigned ) {
27046 uint64_t
const& offset,
27047 uint64_t
const& overall_offset);
27058#ifdef DOCUMENTATION
27067DECLARE_LEAF_CLASS(AsmDwarfImportedUnit);
27068IS_SERIALIZABLE(AsmDwarfImportedUnit);
27070#ifndef DOCUMENTATION
27071AsmDwarfImportedUnit.useSmallHeader(
true);
27074#ifdef DOCUMENTATION
27078 DECLARE_OTHERS(AsmDwarfImportedUnit);
27079#if defined(SgAsmDwarfImportedUnit_OTHERS) || defined(DOCUMENTATION)
27082#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27084 friend class boost::serialization::access;
27087 void serialize(S &s,
const unsigned ) {
27105 uint64_t
const& offset,
27106 uint64_t
const& overall_offset);
27117#ifdef DOCUMENTATION
27126DECLARE_LEAF_CLASS(AsmDwarfImportedModule);
27127IS_SERIALIZABLE(AsmDwarfImportedModule);
27129#ifndef DOCUMENTATION
27130AsmDwarfImportedModule.useSmallHeader(
true);
27133#ifdef DOCUMENTATION
27137 DECLARE_OTHERS(AsmDwarfImportedModule);
27138#if defined(SgAsmDwarfImportedModule_OTHERS) || defined(DOCUMENTATION)
27141#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27143 friend class boost::serialization::access;
27146 void serialize(S &s,
const unsigned ) {
27164 uint64_t
const& offset,
27165 uint64_t
const& overall_offset);
27176#ifdef DOCUMENTATION
27185DECLARE_LEAF_CLASS(AsmDwarfImportedDeclaration);
27186IS_SERIALIZABLE(AsmDwarfImportedDeclaration);
27188#ifndef DOCUMENTATION
27189AsmDwarfImportedDeclaration.useSmallHeader(
true);
27192#ifdef DOCUMENTATION
27196 DECLARE_OTHERS(AsmDwarfImportedDeclaration);
27197#if defined(SgAsmDwarfImportedDeclaration_OTHERS) || defined(DOCUMENTATION)
27200#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27202 friend class boost::serialization::access;
27205 void serialize(S &s,
const unsigned ) {
27223 uint64_t
const& offset,
27224 uint64_t
const& overall_offset);
27235#ifdef DOCUMENTATION
27244DECLARE_LEAF_CLASS(AsmDwarfFunctionTemplate);
27245IS_SERIALIZABLE(AsmDwarfFunctionTemplate);
27247#ifndef DOCUMENTATION
27248AsmDwarfFunctionTemplate.useSmallHeader(
true);
27251#ifdef DOCUMENTATION
27255 DECLARE_OTHERS(AsmDwarfFunctionTemplate);
27256#if defined(SgAsmDwarfFunctionTemplate_OTHERS) || defined(DOCUMENTATION)
27259#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27261 friend class boost::serialization::access;
27264 void serialize(S &s,
const unsigned ) {
27282 uint64_t
const& offset,
27283 uint64_t
const& overall_offset);
27294#ifdef DOCUMENTATION
27303DECLARE_LEAF_CLASS(AsmDwarfFriend);
27304IS_SERIALIZABLE(AsmDwarfFriend);
27306#ifndef DOCUMENTATION
27307AsmDwarfFriend.useSmallHeader(
true);
27310#ifdef DOCUMENTATION
27314 DECLARE_OTHERS(AsmDwarfFriend);
27315#if defined(SgAsmDwarfFriend_OTHERS) || defined(DOCUMENTATION)
27318#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27320 friend class boost::serialization::access;
27323 void serialize(S &s,
const unsigned ) {
27341 uint64_t
const& offset,
27342 uint64_t
const& overall_offset);
27353#ifdef DOCUMENTATION
27362DECLARE_LEAF_CLASS(AsmDwarfFormatLabel);
27363IS_SERIALIZABLE(AsmDwarfFormatLabel);
27365#ifndef DOCUMENTATION
27366AsmDwarfFormatLabel.useSmallHeader(
true);
27369#ifdef DOCUMENTATION
27373 DECLARE_OTHERS(AsmDwarfFormatLabel);
27374#if defined(SgAsmDwarfFormatLabel_OTHERS) || defined(DOCUMENTATION)
27377#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27379 friend class boost::serialization::access;
27382 void serialize(S &s,
const unsigned ) {
27400 uint64_t
const& offset,
27401 uint64_t
const& overall_offset);
27412#ifdef DOCUMENTATION
27421DECLARE_LEAF_CLASS(AsmDwarfFormalParameter);
27422IS_SERIALIZABLE(AsmDwarfFormalParameter);
27424#ifndef DOCUMENTATION
27425AsmDwarfFormalParameter.useSmallHeader(
true);
27428#ifdef DOCUMENTATION
27432 DECLARE_OTHERS(AsmDwarfFormalParameter);
27433#if defined(SgAsmDwarfFormalParameter_OTHERS) || defined(DOCUMENTATION)
27436#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27438 friend class boost::serialization::access;
27441 void serialize(S &s,
const unsigned ) {
27459 uint64_t
const& offset,
27460 uint64_t
const& overall_offset);
27471#ifdef DOCUMENTATION
27480DECLARE_LEAF_CLASS(AsmDwarfFileType);
27481IS_SERIALIZABLE(AsmDwarfFileType);
27483#ifndef DOCUMENTATION
27484AsmDwarfFileType.useSmallHeader(
true);
27487#ifdef DOCUMENTATION
27491 DECLARE_OTHERS(AsmDwarfFileType);
27492#if defined(SgAsmDwarfFileType_OTHERS) || defined(DOCUMENTATION)
27495#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27497 friend class boost::serialization::access;
27500 void serialize(S &s,
const unsigned ) {
27518 uint64_t
const& offset,
27519 uint64_t
const& overall_offset);
27530#ifdef DOCUMENTATION
27539DECLARE_LEAF_CLASS(AsmDwarfEnumerator);
27540IS_SERIALIZABLE(AsmDwarfEnumerator);
27542#ifndef DOCUMENTATION
27543AsmDwarfEnumerator.useSmallHeader(
true);
27546#ifdef DOCUMENTATION
27550 DECLARE_OTHERS(AsmDwarfEnumerator);
27551#if defined(SgAsmDwarfEnumerator_OTHERS) || defined(DOCUMENTATION)
27554#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27556 friend class boost::serialization::access;
27559 void serialize(S &s,
const unsigned ) {
27577 uint64_t
const& offset,
27578 uint64_t
const& overall_offset);
27589#ifdef DOCUMENTATION
27598DECLARE_LEAF_CLASS(AsmDwarfEnumerationType);
27599IS_SERIALIZABLE(AsmDwarfEnumerationType);
27601#ifndef DOCUMENTATION
27602AsmDwarfEnumerationType.useSmallHeader(
true);
27605DECLARE_HEADERS(AsmDwarfEnumerationType);
27606#if defined(SgAsmDwarfEnumerationType_HEADERS) || defined(DOCUMENTATION)
27607#ifdef ROSE_SgAsmDwarfEnumerationType_IMPL
27608#include <SgAsmDwarfConstructList.h>
27612#ifdef DOCUMENTATION
27616#ifndef DOCUMENTATION
27617 AsmDwarfEnumerationType.setDataPrototype(
27618 "SgAsmDwarfConstructList*",
"body",
"= NULL",
27619 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27622 DECLARE_OTHERS(AsmDwarfEnumerationType);
27623#if defined(SgAsmDwarfEnumerationType_OTHERS) || defined(DOCUMENTATION)
27626#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27628 friend class boost::serialization::access;
27631 void serialize(S &s,
const unsigned ) {
27634 s & BOOST_SERIALIZATION_NVP(p_body);
27655 uint64_t
const& offset,
27656 uint64_t
const& overall_offset);
27667#ifdef DOCUMENTATION
27676DECLARE_LEAF_CLASS(AsmDwarfEntryPoint);
27677IS_SERIALIZABLE(AsmDwarfEntryPoint);
27679#ifndef DOCUMENTATION
27680AsmDwarfEntryPoint.useSmallHeader(
true);
27683#ifdef DOCUMENTATION
27687 DECLARE_OTHERS(AsmDwarfEntryPoint);
27688#if defined(SgAsmDwarfEntryPoint_OTHERS) || defined(DOCUMENTATION)
27691#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27693 friend class boost::serialization::access;
27696 void serialize(S &s,
const unsigned ) {
27714 uint64_t
const& offset,
27715 uint64_t
const& overall_offset);
27726#ifdef DOCUMENTATION
27735DECLARE_LEAF_CLASS(AsmDwarfDwarfProcedure);
27736IS_SERIALIZABLE(AsmDwarfDwarfProcedure);
27738#ifndef DOCUMENTATION
27739AsmDwarfDwarfProcedure.useSmallHeader(
true);
27742#ifdef DOCUMENTATION
27746 DECLARE_OTHERS(AsmDwarfDwarfProcedure);
27747#if defined(SgAsmDwarfDwarfProcedure_OTHERS) || defined(DOCUMENTATION)
27750#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27752 friend class boost::serialization::access;
27755 void serialize(S &s,
const unsigned ) {
27773 uint64_t
const& offset,
27774 uint64_t
const& overall_offset);
27785#ifdef DOCUMENTATION
27794DECLARE_LEAF_CLASS(AsmDwarfConstType);
27795IS_SERIALIZABLE(AsmDwarfConstType);
27797#ifndef DOCUMENTATION
27798AsmDwarfConstType.useSmallHeader(
true);
27801#ifdef DOCUMENTATION
27805 DECLARE_OTHERS(AsmDwarfConstType);
27806#if defined(SgAsmDwarfConstType_OTHERS) || defined(DOCUMENTATION)
27809#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27811 friend class boost::serialization::access;
27814 void serialize(S &s,
const unsigned ) {
27832 uint64_t
const& offset,
27833 uint64_t
const& overall_offset);
27844#ifdef DOCUMENTATION
27853DECLARE_LEAF_CLASS(AsmDwarfConstructList);
27854IS_SERIALIZABLE(AsmDwarfConstructList);
27856#ifndef DOCUMENTATION
27857AsmDwarfConstructList.useSmallHeader(
true);
27860DECLARE_HEADERS(AsmDwarfConstructList);
27861#if defined(SgAsmDwarfConstructList_HEADERS) || defined(DOCUMENTATION)
27862#include <sageContainer.h>
27865#ifdef DOCUMENTATION
27869#ifndef DOCUMENTATION
27870 AsmDwarfConstructList.setDataPrototype(
27871 "SgAsmDwarfConstructPtrList",
"list",
"",
27872 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
27875 DECLARE_OTHERS(AsmDwarfConstructList);
27876#if defined(SgAsmDwarfConstructList_OTHERS) || defined(DOCUMENTATION)
27879#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27881 friend class boost::serialization::access;
27884 void serialize(S &s,
const unsigned ) {
27887 s & BOOST_SERIALIZATION_NVP(p_list);
27893 SgAsmDwarfConstructPtrList
const& get_list()
const;
27894 SgAsmDwarfConstructPtrList& get_list();
27895 void set_list(SgAsmDwarfConstructPtrList
const&);
27914#ifdef DOCUMENTATION
27923DECLARE_LEAF_CLASS(AsmDwarfConstant);
27924IS_SERIALIZABLE(AsmDwarfConstant);
27926#ifndef DOCUMENTATION
27927AsmDwarfConstant.useSmallHeader(
true);
27930#ifdef DOCUMENTATION
27934 DECLARE_OTHERS(AsmDwarfConstant);
27935#if defined(SgAsmDwarfConstant_OTHERS) || defined(DOCUMENTATION)
27938#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27940 friend class boost::serialization::access;
27943 void serialize(S &s,
const unsigned ) {
27961 uint64_t
const& offset,
27962 uint64_t
const& overall_offset);
27973#ifdef DOCUMENTATION
27982DECLARE_LEAF_CLASS(AsmDwarfCondition);
27983IS_SERIALIZABLE(AsmDwarfCondition);
27985#ifndef DOCUMENTATION
27986AsmDwarfCondition.useSmallHeader(
true);
27989#ifdef DOCUMENTATION
27993 DECLARE_OTHERS(AsmDwarfCondition);
27994#if defined(SgAsmDwarfCondition_OTHERS) || defined(DOCUMENTATION)
27997#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
27999 friend class boost::serialization::access;
28002 void serialize(S &s,
const unsigned ) {
28020 uint64_t
const& offset,
28021 uint64_t
const& overall_offset);
28032#ifdef DOCUMENTATION
28041DECLARE_LEAF_CLASS(AsmDwarfCompilationUnitList);
28042IS_SERIALIZABLE(AsmDwarfCompilationUnitList);
28044#ifndef DOCUMENTATION
28045AsmDwarfCompilationUnitList.useSmallHeader(
true);
28048DECLARE_HEADERS(AsmDwarfCompilationUnitList);
28049#if defined(SgAsmDwarfCompilationUnitList_HEADERS) || defined(DOCUMENTATION)
28050#include <sageContainer.h>
28053#ifdef DOCUMENTATION
28057#ifndef DOCUMENTATION
28058 AsmDwarfCompilationUnitList.setDataPrototype(
28059 "SgAsmDwarfCompilationUnitPtrList",
"cu_list",
"",
28060 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28063 DECLARE_OTHERS(AsmDwarfCompilationUnitList);
28064#if defined(SgAsmDwarfCompilationUnitList_OTHERS) || defined(DOCUMENTATION)
28067#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28069 friend class boost::serialization::access;
28072 void serialize(S &s,
const unsigned ) {
28075 s & BOOST_SERIALIZATION_NVP(p_cu_list);
28081 SgAsmDwarfCompilationUnitPtrList
const& get_cu_list()
const;
28082 SgAsmDwarfCompilationUnitPtrList& get_cu_list();
28083 void set_cu_list(SgAsmDwarfCompilationUnitPtrList
const&);
28102#ifdef DOCUMENTATION
28111DECLARE_LEAF_CLASS(AsmDwarfCompilationUnit);
28112IS_SERIALIZABLE(AsmDwarfCompilationUnit);
28114#ifndef DOCUMENTATION
28115AsmDwarfCompilationUnit.useSmallHeader(
true);
28118DECLARE_HEADERS(AsmDwarfCompilationUnit);
28119#if defined(SgAsmDwarfCompilationUnit_HEADERS) || defined(DOCUMENTATION)
28120#ifdef ROSE_SgAsmDwarfCompilationUnit_IMPL
28121#include <SgAsmDwarfConstructList.h>
28122#include <SgAsmDwarfLineList.h>
28123#include <SgAsmDwarfMacroList.h>
28127#ifdef DOCUMENTATION
28131#ifndef DOCUMENTATION
28132 AsmDwarfCompilationUnit.setDataPrototype(
28133 "std::string",
"producer",
"",
28134 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28137#ifndef DOCUMENTATION
28138 AsmDwarfCompilationUnit.setDataPrototype(
28139 "std::string",
"language",
"",
28140 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28143#ifndef DOCUMENTATION
28144 AsmDwarfCompilationUnit.setDataPrototype(
28145 "uint64_t",
"low_pc",
"= 0",
28146 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28149#ifndef DOCUMENTATION
28150 AsmDwarfCompilationUnit.setDataPrototype(
28151 "uint64_t",
"hi_pc",
"= 0",
28152 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28155#ifndef DOCUMENTATION
28156 AsmDwarfCompilationUnit.setDataPrototype(
28157 "int",
"version_stamp",
"= 0",
28158 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28161#ifndef DOCUMENTATION
28162 AsmDwarfCompilationUnit.setDataPrototype(
28163 "uint64_t",
"abbrev_offset",
"= 0",
28164 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28167#ifndef DOCUMENTATION
28168 AsmDwarfCompilationUnit.setDataPrototype(
28169 "uint64_t",
"address_size",
"= 0",
28170 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28173#ifndef DOCUMENTATION
28174 AsmDwarfCompilationUnit.setDataPrototype(
28175 "uint64_t",
"offset_length",
"= 0",
28176 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28179#ifndef DOCUMENTATION
28180 AsmDwarfCompilationUnit.setDataPrototype(
28181 "SgAsmDwarfLineList*",
"line_info",
"= nullptr",
28182 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28185#ifndef DOCUMENTATION
28186 AsmDwarfCompilationUnit.setDataPrototype(
28187 "SgAsmDwarfConstructList*",
"language_constructs",
"= nullptr",
28188 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28191#ifndef DOCUMENTATION
28192 AsmDwarfCompilationUnit.setDataPrototype(
28193 "SgAsmDwarfMacroList*",
"macro_info",
"= nullptr",
28194 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28197 DECLARE_OTHERS(AsmDwarfCompilationUnit);
28198#if defined(SgAsmDwarfCompilationUnit_OTHERS) || defined(DOCUMENTATION)
28201#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28203 friend class boost::serialization::access;
28206 void serialize(S &s,
const unsigned ) {
28209 s & BOOST_SERIALIZATION_NVP(p_producer);
28210 s & BOOST_SERIALIZATION_NVP(p_language);
28211 s & BOOST_SERIALIZATION_NVP(p_low_pc);
28212 s & BOOST_SERIALIZATION_NVP(p_hi_pc);
28213 s & BOOST_SERIALIZATION_NVP(p_version_stamp);
28214 s & BOOST_SERIALIZATION_NVP(p_abbrev_offset);
28215 s & BOOST_SERIALIZATION_NVP(p_address_size);
28216 s & BOOST_SERIALIZATION_NVP(p_offset_length);
28217 s & BOOST_SERIALIZATION_NVP(p_line_info);
28218 s & BOOST_SERIALIZATION_NVP(p_language_constructs);
28219 s & BOOST_SERIALIZATION_NVP(p_macro_info);
28225 std::string
const& get_producer()
const;
28226 void set_producer(std::string
const&);
28229 std::string
const& get_language()
const;
28230 void set_language(std::string
const&);
28233 uint64_t
const& get_low_pc()
const;
28234 void set_low_pc(uint64_t
const&);
28237 uint64_t
const& get_hi_pc()
const;
28238 void set_hi_pc(uint64_t
const&);
28241 int const& get_version_stamp()
const;
28242 void set_version_stamp(
int const&);
28245 uint64_t
const& get_abbrev_offset()
const;
28246 void set_abbrev_offset(uint64_t
const&);
28249 uint64_t
const& get_address_size()
const;
28250 void set_address_size(uint64_t
const&);
28253 uint64_t
const& get_offset_length()
const;
28254 void set_offset_length(uint64_t
const&);
28280 uint64_t
const& offset,
28281 uint64_t
const& overall_offset);
28292#ifdef DOCUMENTATION
28301DECLARE_LEAF_CLASS(AsmDwarfCommonInclusion);
28302IS_SERIALIZABLE(AsmDwarfCommonInclusion);
28304#ifndef DOCUMENTATION
28305AsmDwarfCommonInclusion.useSmallHeader(
true);
28308#ifdef DOCUMENTATION
28312 DECLARE_OTHERS(AsmDwarfCommonInclusion);
28313#if defined(SgAsmDwarfCommonInclusion_OTHERS) || defined(DOCUMENTATION)
28316#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28318 friend class boost::serialization::access;
28321 void serialize(S &s,
const unsigned ) {
28339 uint64_t
const& offset,
28340 uint64_t
const& overall_offset);
28351#ifdef DOCUMENTATION
28360DECLARE_LEAF_CLASS(AsmDwarfCommonBlock);
28361IS_SERIALIZABLE(AsmDwarfCommonBlock);
28363#ifndef DOCUMENTATION
28364AsmDwarfCommonBlock.useSmallHeader(
true);
28367DECLARE_HEADERS(AsmDwarfCommonBlock);
28368#if defined(SgAsmDwarfCommonBlock_HEADERS) || defined(DOCUMENTATION)
28369#ifdef ROSE_SgAsmDwarfCommonBlock_IMPL
28370#include <SgAsmDwarfConstructList.h>
28374#ifdef DOCUMENTATION
28378#ifndef DOCUMENTATION
28379 AsmDwarfCommonBlock.setDataPrototype(
28380 "SgAsmDwarfConstructList*",
"body",
"= NULL",
28381 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28384 DECLARE_OTHERS(AsmDwarfCommonBlock);
28385#if defined(SgAsmDwarfCommonBlock_OTHERS) || defined(DOCUMENTATION)
28388#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28390 friend class boost::serialization::access;
28393 void serialize(S &s,
const unsigned ) {
28396 s & BOOST_SERIALIZATION_NVP(p_body);
28417 uint64_t
const& offset,
28418 uint64_t
const& overall_offset);
28429#ifdef DOCUMENTATION
28438DECLARE_LEAF_CLASS(AsmDwarfClassType);
28439IS_SERIALIZABLE(AsmDwarfClassType);
28441#ifndef DOCUMENTATION
28442AsmDwarfClassType.useSmallHeader(
true);
28445DECLARE_HEADERS(AsmDwarfClassType);
28446#if defined(SgAsmDwarfClassType_HEADERS) || defined(DOCUMENTATION)
28447#ifdef ROSE_SgAsmDwarfClassType_IMPL
28448#include <SgAsmDwarfConstructList.h>
28452#ifdef DOCUMENTATION
28456#ifndef DOCUMENTATION
28457 AsmDwarfClassType.setDataPrototype(
28458 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
28459 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28462 DECLARE_OTHERS(AsmDwarfClassType);
28463#if defined(SgAsmDwarfClassType_OTHERS) || defined(DOCUMENTATION)
28466#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28468 friend class boost::serialization::access;
28471 void serialize(S &s,
const unsigned ) {
28474 s & BOOST_SERIALIZATION_NVP(p_body);
28495 uint64_t
const& offset,
28496 uint64_t
const& overall_offset);
28507#ifdef DOCUMENTATION
28516DECLARE_LEAF_CLASS(AsmDwarfClassTemplate);
28517IS_SERIALIZABLE(AsmDwarfClassTemplate);
28519#ifndef DOCUMENTATION
28520AsmDwarfClassTemplate.useSmallHeader(
true);
28523#ifdef DOCUMENTATION
28527 DECLARE_OTHERS(AsmDwarfClassTemplate);
28528#if defined(SgAsmDwarfClassTemplate_OTHERS) || defined(DOCUMENTATION)
28531#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28533 friend class boost::serialization::access;
28536 void serialize(S &s,
const unsigned ) {
28554 uint64_t
const& offset,
28555 uint64_t
const& overall_offset);
28566#ifdef DOCUMENTATION
28575DECLARE_LEAF_CLASS(AsmDwarfCatchBlock);
28576IS_SERIALIZABLE(AsmDwarfCatchBlock);
28578#ifndef DOCUMENTATION
28579AsmDwarfCatchBlock.useSmallHeader(
true);
28582#ifdef DOCUMENTATION
28586 DECLARE_OTHERS(AsmDwarfCatchBlock);
28587#if defined(SgAsmDwarfCatchBlock_OTHERS) || defined(DOCUMENTATION)
28590#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28592 friend class boost::serialization::access;
28595 void serialize(S &s,
const unsigned ) {
28613 uint64_t
const& offset,
28614 uint64_t
const& overall_offset);
28625#ifdef DOCUMENTATION
28634DECLARE_LEAF_CLASS(AsmDwarfBaseType);
28635IS_SERIALIZABLE(AsmDwarfBaseType);
28637#ifndef DOCUMENTATION
28638AsmDwarfBaseType.useSmallHeader(
true);
28641#ifdef DOCUMENTATION
28645 DECLARE_OTHERS(AsmDwarfBaseType);
28646#if defined(SgAsmDwarfBaseType_OTHERS) || defined(DOCUMENTATION)
28649#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28651 friend class boost::serialization::access;
28654 void serialize(S &s,
const unsigned ) {
28672 uint64_t
const& offset,
28673 uint64_t
const& overall_offset);
28684#ifdef DOCUMENTATION
28693DECLARE_LEAF_CLASS(AsmDwarfArrayType);
28694IS_SERIALIZABLE(AsmDwarfArrayType);
28696#ifndef DOCUMENTATION
28697AsmDwarfArrayType.useSmallHeader(
true);
28700DECLARE_HEADERS(AsmDwarfArrayType);
28701#if defined(SgAsmDwarfArrayType_HEADERS) || defined(DOCUMENTATION)
28702#ifdef ROSE_SgAsmDwarfArrayType_IMPL
28703#include <SgAsmDwarfConstructList.h>
28707#ifdef DOCUMENTATION
28711#ifndef DOCUMENTATION
28712 AsmDwarfArrayType.setDataPrototype(
28713 "SgAsmDwarfConstructList*",
"body",
"= nullptr",
28714 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
28717 DECLARE_OTHERS(AsmDwarfArrayType);
28718#if defined(SgAsmDwarfArrayType_OTHERS) || defined(DOCUMENTATION)
28721#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28723 friend class boost::serialization::access;
28726 void serialize(S &s,
const unsigned ) {
28729 s & BOOST_SERIALIZATION_NVP(p_body);
28750 uint64_t
const& offset,
28751 uint64_t
const& overall_offset);
28762#ifdef DOCUMENTATION
28771DECLARE_LEAF_CLASS(AsmDwarfAccessDeclaration);
28772IS_SERIALIZABLE(AsmDwarfAccessDeclaration);
28774#ifndef DOCUMENTATION
28775AsmDwarfAccessDeclaration.useSmallHeader(
true);
28778#ifdef DOCUMENTATION
28782 DECLARE_OTHERS(AsmDwarfAccessDeclaration);
28783#if defined(SgAsmDwarfAccessDeclaration_OTHERS) || defined(DOCUMENTATION)
28786#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28788 friend class boost::serialization::access;
28791 void serialize(S &s,
const unsigned ) {
28809 uint64_t
const& offset,
28810 uint64_t
const& overall_offset);
28821#ifdef DOCUMENTATION
28830#ifndef DOCUMENTATION
28831AstNodeClass& AsmDwarfConstruct = nonTerminalConstructor(
28832 "AsmDwarfConstruct",
28834 "AsmDwarfConstruct",
28835 "AsmDwarfConstructTag",
28836 SubclassListBuilder()
28837 | AsmDwarfAccessDeclaration
28838 | AsmDwarfArrayType
28840 | AsmDwarfCatchBlock
28841 | AsmDwarfClassTemplate
28842 | AsmDwarfClassType
28843 | AsmDwarfCommonBlock
28844 | AsmDwarfCommonInclusion
28845 | AsmDwarfCompilationUnit
28846 | AsmDwarfCondition
28848 | AsmDwarfConstType
28849 | AsmDwarfDwarfProcedure
28850 | AsmDwarfEntryPoint
28851 | AsmDwarfEnumerationType
28852 | AsmDwarfEnumerator
28854 | AsmDwarfFormalParameter
28855 | AsmDwarfFormatLabel
28857 | AsmDwarfFunctionTemplate
28858 | AsmDwarfImportedDeclaration
28859 | AsmDwarfImportedModule
28860 | AsmDwarfImportedUnit
28861 | AsmDwarfInheritance
28862 | AsmDwarfInlinedSubroutine
28863 | AsmDwarfInterfaceType
28865 | AsmDwarfLexicalBlock
28868 | AsmDwarfMutableType
28870 | AsmDwarfNamelistItem
28871 | AsmDwarfNamespace
28872 | AsmDwarfPackedType
28873 | AsmDwarfPartialUnit
28874 | AsmDwarfPointerType
28875 | AsmDwarfPtrToMemberType
28876 | AsmDwarfReferenceType
28877 | AsmDwarfRestrictType
28879 | AsmDwarfSharedType
28880 | AsmDwarfStringType
28881 | AsmDwarfStructureType
28882 | AsmDwarfSubprogram
28883 | AsmDwarfSubrangeType
28884 | AsmDwarfSubroutineType
28885 | AsmDwarfTemplateTypeParameter
28886 | AsmDwarfTemplateValueParameter
28887 | AsmDwarfThrownType
28890 | AsmDwarfUnionType
28891 | AsmDwarfUnknownConstruct
28892 | AsmDwarfUnspecifiedParameters
28893 | AsmDwarfUnspecifiedType
28894 | AsmDwarfUpcRelaxedType
28895 | AsmDwarfUpcSharedType
28896 | AsmDwarfUpcStrictType
28899 | AsmDwarfVariantPart
28900 | AsmDwarfVolatileType
28903assert(AsmDwarfConstruct.associatedGrammar !=
nullptr);
28904AsmDwarfConstruct.setCppCondition(
"!defined(DOCUMENTATION)");
28905AsmDwarfConstruct.isBoostSerializable(
true);
28906AsmDwarfConstruct.setAutomaticGenerationOfConstructor(
false);
28907AsmDwarfConstruct.setAutomaticGenerationOfDestructor(
false);
28910#ifndef DOCUMENTATION
28911AsmDwarfConstruct.useSmallHeader(
true);
28914#ifdef DOCUMENTATION
28918#ifndef DOCUMENTATION
28919 AsmDwarfConstruct.setDataPrototype(
28920 "int",
"nesting_level",
"= 0",
28921 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28924#ifndef DOCUMENTATION
28925 AsmDwarfConstruct.setDataPrototype(
28926 "uint64_t",
"offset",
"= 0",
28927 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28930#ifndef DOCUMENTATION
28931 AsmDwarfConstruct.setDataPrototype(
28932 "uint64_t",
"overall_offset",
"= 0",
28933 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28936#ifndef DOCUMENTATION
28937 AsmDwarfConstruct.setDataPrototype(
28938 "std::string",
"name",
"",
28939 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28942#ifndef DOCUMENTATION
28943 AsmDwarfConstruct.setDataPrototype(
28944 "SgAsmDwarfLine*",
"source_position",
"= nullptr",
28945 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
28948 DECLARE_OTHERS(AsmDwarfConstruct);
28949#if defined(SgAsmDwarfConstruct_OTHERS) || defined(DOCUMENTATION)
28952#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
28954 friend class boost::serialization::access;
28957 void serialize(S &s,
const unsigned ) {
28960 s & BOOST_SERIALIZATION_NVP(p_nesting_level);
28961 s & BOOST_SERIALIZATION_NVP(p_offset);
28962 s & BOOST_SERIALIZATION_NVP(p_overall_offset);
28963 s & BOOST_SERIALIZATION_NVP(p_name);
28964 s & BOOST_SERIALIZATION_NVP(p_source_position);
28971 int const& get_nesting_level()
const;
28972 void set_nesting_level(
int const&);
28975 uint64_t
const& get_offset()
const;
28976 void set_offset(uint64_t
const&);
28979 uint64_t
const& get_overall_offset()
const;
28980 void set_overall_offset(uint64_t
const&);
28983 std::string
const& get_name()
const;
28984 void set_name(std::string
const&);
29010 uint64_t
const& offset,
29011 uint64_t
const& overall_offset);
29022#ifdef DOCUMENTATION
29031#ifndef DOCUMENTATION
29032AstNodeClass& AsmDwarfInformation = nonTerminalConstructor(
29033 "AsmDwarfInformation",
29035 "AsmDwarfInformation",
29036 "AsmDwarfInformationTag",
29037 SubclassListBuilder()
29038 | AsmDwarfCompilationUnitList
29039 | AsmDwarfConstruct
29040 | AsmDwarfConstructList
29044 | AsmDwarfMacroList
29046assert(AsmDwarfInformation.associatedGrammar !=
nullptr);
29047AsmDwarfInformation.setCppCondition(
"!defined(DOCUMENTATION)");
29048AsmDwarfInformation.isBoostSerializable(
true);
29049AsmDwarfInformation.setAutomaticGenerationOfConstructor(
false);
29050AsmDwarfInformation.setAutomaticGenerationOfDestructor(
false);
29053#ifndef DOCUMENTATION
29054AsmDwarfInformation.useSmallHeader(
true);
29057#ifdef DOCUMENTATION
29061 DECLARE_OTHERS(AsmDwarfInformation);
29062#if defined(SgAsmDwarfInformation_OTHERS) || defined(DOCUMENTATION)
29065#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
29067 friend class boost::serialization::access;
29070 void serialize(S &s,
const unsigned ) {
29094#ifdef DOCUMENTATION
29103DECLARE_LEAF_CLASS(AsmDOSFileHeader);
29104IS_SERIALIZABLE(AsmDOSFileHeader);
29106#ifndef DOCUMENTATION
29107AsmDOSFileHeader.useSmallHeader(
true);
29110DECLARE_HEADERS(AsmDOSFileHeader);
29111#if defined(SgAsmDOSFileHeader_HEADERS) || defined(DOCUMENTATION)
29112#include <Rose/BinaryAnalysis/Address.h>
29115#ifdef DOCUMENTATION
29123#ifndef DOCUMENTATION
29124 AsmDOSFileHeader.setDataPrototype(
29125 "uint16_t",
"e_last_page_size",
"= 0",
29126 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29129#ifndef DOCUMENTATION
29130 AsmDOSFileHeader.setDataPrototype(
29131 "uint16_t",
"e_total_pages",
"= 0",
29132 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29135#ifndef DOCUMENTATION
29136 AsmDOSFileHeader.setDataPrototype(
29137 "uint16_t",
"e_nrelocs",
"= 0",
29138 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29141#ifndef DOCUMENTATION
29142 AsmDOSFileHeader.setDataPrototype(
29143 "uint16_t",
"e_header_paragraphs",
"= 0",
29144 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29147#ifndef DOCUMENTATION
29148 AsmDOSFileHeader.setDataPrototype(
29149 "uint16_t",
"e_minalloc",
"= 0",
29150 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29153#ifndef DOCUMENTATION
29154 AsmDOSFileHeader.setDataPrototype(
29155 "uint16_t",
"e_maxalloc",
"= 0",
29156 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29159#ifndef DOCUMENTATION
29160 AsmDOSFileHeader.setDataPrototype(
29161 "uint16_t",
"e_ss",
"= 0",
29162 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29165#ifndef DOCUMENTATION
29166 AsmDOSFileHeader.setDataPrototype(
29167 "uint16_t",
"e_sp",
"= 0",
29168 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29171#ifndef DOCUMENTATION
29172 AsmDOSFileHeader.setDataPrototype(
29173 "uint16_t",
"e_cksum",
"= 0",
29174 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29177#ifndef DOCUMENTATION
29178 AsmDOSFileHeader.setDataPrototype(
29179 "uint16_t",
"e_ip",
"= 0",
29180 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29183#ifndef DOCUMENTATION
29184 AsmDOSFileHeader.setDataPrototype(
29185 "uint16_t",
"e_cs",
"= 0",
29186 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29189#ifndef DOCUMENTATION
29190 AsmDOSFileHeader.setDataPrototype(
29191 "uint16_t",
"e_overlay",
"= 0",
29192 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29195#ifndef DOCUMENTATION
29196 AsmDOSFileHeader.setDataPrototype(
29197 "Rose::BinaryAnalysis::Address",
"e_relocs_offset",
"= 0",
29198 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29201#ifndef DOCUMENTATION
29202 AsmDOSFileHeader.setDataPrototype(
29203 "unsigned",
"e_res1",
"= 0",
29204 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29207#ifndef DOCUMENTATION
29208 AsmDOSFileHeader.setDataPrototype(
29209 "SgAsmGenericSection*",
"relocs",
"= nullptr",
29210 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29213#ifndef DOCUMENTATION
29214 AsmDOSFileHeader.setDataPrototype(
29215 "SgAsmGenericSection*",
"rm_section",
"= nullptr",
29216 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29219 DECLARE_OTHERS(AsmDOSFileHeader);
29220#if defined(SgAsmDOSFileHeader_OTHERS) || defined(DOCUMENTATION)
29223#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
29225 friend class boost::serialization::access;
29228 void serialize(S &s,
const unsigned ) {
29231 s & BOOST_SERIALIZATION_NVP(p_e_last_page_size);
29232 s & BOOST_SERIALIZATION_NVP(p_e_total_pages);
29233 s & BOOST_SERIALIZATION_NVP(p_e_nrelocs);
29234 s & BOOST_SERIALIZATION_NVP(p_e_header_paragraphs);
29235 s & BOOST_SERIALIZATION_NVP(p_e_minalloc);
29236 s & BOOST_SERIALIZATION_NVP(p_e_maxalloc);
29237 s & BOOST_SERIALIZATION_NVP(p_e_ss);
29238 s & BOOST_SERIALIZATION_NVP(p_e_sp);
29239 s & BOOST_SERIALIZATION_NVP(p_e_cksum);
29240 s & BOOST_SERIALIZATION_NVP(p_e_ip);
29241 s & BOOST_SERIALIZATION_NVP(p_e_cs);
29242 s & BOOST_SERIALIZATION_NVP(p_e_overlay);
29243 s & BOOST_SERIALIZATION_NVP(p_e_relocs_offset);
29244 s & BOOST_SERIALIZATION_NVP(p_e_res1);
29245 s & BOOST_SERIALIZATION_NVP(p_relocs);
29246 s & BOOST_SERIALIZATION_NVP(p_rm_section);
29277#if !defined(SWIG) && !defined(_MSC_VER)
29278 __attribute__((packed))
29286#if !defined(SWIG) && !defined(_MSC_VER)
29287 __attribute__((packed))
29463 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
29490 virtual const char* format_name() const override ROSE_DEPRECATED("use
formatName");
29511#ifdef DOCUMENTATION
29520#ifndef DOCUMENTATION
29521AstNodeClass& AsmGenericHeader = nonTerminalConstructor(
29522 "AsmGenericHeader",
29524 "AsmGenericHeader",
29525 "AsmGenericHeaderTag",
29526 SubclassListBuilder()
29534assert(AsmGenericHeader.associatedGrammar !=
nullptr);
29535AsmGenericHeader.setCppCondition(
"!defined(DOCUMENTATION)");
29536AsmGenericHeader.isBoostSerializable(
true);
29537AsmGenericHeader.setAutomaticGenerationOfConstructor(
false);
29538AsmGenericHeader.setAutomaticGenerationOfDestructor(
false);
29541#ifndef DOCUMENTATION
29542AsmGenericHeader.useSmallHeader(
true);
29545DECLARE_HEADERS(AsmGenericHeader);
29546#if defined(SgAsmGenericHeader_HEADERS) || defined(DOCUMENTATION)
29547#include <Rose/BinaryAnalysis/Address.h>
29548#include <Rose/BinaryAnalysis/ByteOrder.h>
29549#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
29550#include <sageContainer.h>
29551#include <SgAsmGenericFormat.h>
29553#ifdef ROSE_SgAsmGenericHeader_IMPL
29554#include <SgAsmGenericDLLList.h>
29555#include <SgAsmGenericSectionList.h>
29562#ifdef DOCUMENTATION
29567#ifndef DOCUMENTATION
29568 AsmGenericHeader.setDataPrototype(
29569 "SgAsmGenericFormat*",
"executableFormat",
"= createAndParent<SgAsmGenericFormat>(this)",
29570 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29573#ifndef DOCUMENTATION
29574 AsmGenericHeader.setDataPrototype(
29575 "SgCharList",
"magic",
"",
29576 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29579#ifndef DOCUMENTATION
29580 AsmGenericHeader.setDataPrototype(
29581 "SgAsmGenericFormat::InsSetArchitecture",
"isa",
"= SgAsmGenericFormat::ISA_UNSPECIFIED",
29582 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29585#ifndef DOCUMENTATION
29586 AsmGenericHeader.setDataPrototype(
29587 "Rose::BinaryAnalysis::Address",
"baseVa",
"= 0",
29588 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29591#ifndef DOCUMENTATION
29592 AsmGenericHeader.setDataPrototype(
29593 "SgRVAList",
"entryRvas",
"",
29594 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29597#ifndef DOCUMENTATION
29598 AsmGenericHeader.setDataPrototype(
29599 "SgAsmGenericDLLList*",
"dlls",
"= createAndParent<SgAsmGenericDLLList>(this)",
29600 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29603#ifndef DOCUMENTATION
29604 AsmGenericHeader.setDataPrototype(
29605 "SgAsmGenericSectionList*",
"sections",
"= createAndParent<SgAsmGenericSectionList>(this)",
29606 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
29609 DECLARE_OTHERS(AsmGenericHeader);
29610#if defined(SgAsmGenericHeader_OTHERS) || defined(DOCUMENTATION)
29613#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
29615 friend class boost::serialization::access;
29618 void serialize(S &s,
const unsigned ) {
29621 s & BOOST_SERIALIZATION_NVP(p_executableFormat);
29622 s & BOOST_SERIALIZATION_NVP(p_magic);
29623 s & BOOST_SERIALIZATION_NVP(p_isa);
29624 s & BOOST_SERIALIZATION_NVP(p_baseVa);
29625 s & BOOST_SERIALIZATION_NVP(p_entryRvas);
29626 s & BOOST_SERIALIZATION_NVP(p_dlls);
29627 s & BOOST_SERIALIZATION_NVP(p_sections);
29705 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
29727 size_t get_wordSize()
const;
29770 size_t *nfound=0)
const;
29794 Rose::BinaryAnalysis::Address get_base_va() const ROSE_DEPRECATED("use
get_baseVa");
29795 void set_base_va(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use
set_baseVa");
29796 SgRVAList& get_entry_rvas() ROSE_DEPRECATED("use
get_entryRvas");
29797 const SgRVAList& get_entry_rvas() const ROSE_DEPRECATED("use
get_entryRvas");
29798 void set_entry_rvas(const SgRVAList&) ROSE_DEPRECATED("use
set_entryRvas");
29799 virtual const
char *format_name() const ROSE_DEPRECATED("use
formatName");
29801 Rose::BinaryAnalysis::Address get_entry_rva() const ROSE_DEPRECATED("use
get_entryRva");
29802 void add_entry_rva(const
Rose::BinaryAnalysis::RelativeVirtualAddress&) ROSE_DEPRECATED("use
addEntryRva");
29803 size_t get_word_size() const ROSE_DEPRECATED("use get_wordSize");
29806 SgAsmGenericSectionPtrList get_mapped_sections() const ROSE_DEPRECATED("use
get_mappedSections");
29807 SgAsmGenericSectionPtrList get_sections_by_id(
int) const ROSE_DEPRECATED("use
get_sectionsById");
29808 SgAsmGenericSectionPtrList get_sections_by_name(std::
string,
char=0) const ROSE_DEPRECATED("use
get_sectionsByName");
29809 SgAsmGenericSectionPtrList get_sections_by_offset(
Rose::BinaryAnalysis::Address,
Rose::BinaryAnalysis::Address) const
29811 SgAsmGenericSectionPtrList get_sections_by_rva(
Rose::BinaryAnalysis::Address) const ROSE_DEPRECATED("use
get_sectionsByRva");
29812 SgAsmGenericSectionPtrList get_sections_by_va(
Rose::BinaryAnalysis::Address,
bool) const
29815 SgAsmGenericSection *get_section_by_name(const std::
string&,
char=0,
size_t* =
nullptr) const
29842#ifdef DOCUMENTATION
29851DECLARE_LEAF_CLASS(AsmDOSExtendedHeader);
29852IS_SERIALIZABLE(AsmDOSExtendedHeader);
29854#ifndef DOCUMENTATION
29855AsmDOSExtendedHeader.useSmallHeader(
true);
29858DECLARE_HEADERS(AsmDOSExtendedHeader);
29859#if defined(SgAsmDOSExtendedHeader_HEADERS) || defined(DOCUMENTATION)
29860#include <Rose/BinaryAnalysis/Address.h>
29863#ifdef DOCUMENTATION
29870#ifndef DOCUMENTATION
29871 AsmDOSExtendedHeader.setDataPrototype(
29872 "unsigned",
"e_res1",
"= 0",
29873 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29876#ifndef DOCUMENTATION
29877 AsmDOSExtendedHeader.setDataPrototype(
29878 "unsigned",
"e_oemid",
"= 0",
29879 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29882#ifndef DOCUMENTATION
29883 AsmDOSExtendedHeader.setDataPrototype(
29884 "unsigned",
"e_oeminfo",
"= 0",
29885 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29888#ifndef DOCUMENTATION
29889 AsmDOSExtendedHeader.setDataPrototype(
29890 "unsigned",
"e_res2",
"= 0",
29891 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29894#ifndef DOCUMENTATION
29895 AsmDOSExtendedHeader.setDataPrototype(
29896 "unsigned",
"e_res3",
"= 0",
29897 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29900#ifndef DOCUMENTATION
29901 AsmDOSExtendedHeader.setDataPrototype(
29902 "unsigned",
"e_res4",
"= 0",
29903 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29906#ifndef DOCUMENTATION
29907 AsmDOSExtendedHeader.setDataPrototype(
29908 "unsigned",
"e_res5",
"= 0",
29909 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29912#ifndef DOCUMENTATION
29913 AsmDOSExtendedHeader.setDataPrototype(
29914 "unsigned",
"e_res6",
"= 0",
29915 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29918#ifndef DOCUMENTATION
29919 AsmDOSExtendedHeader.setDataPrototype(
29920 "Rose::BinaryAnalysis::Address",
"e_lfanew",
"= 0",
29921 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
29924 DECLARE_OTHERS(AsmDOSExtendedHeader);
29925#if defined(SgAsmDOSExtendedHeader_OTHERS) || defined(DOCUMENTATION)
29928#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
29930 friend class boost::serialization::access;
29933 void serialize(S &s,
const unsigned ) {
29936 s & BOOST_SERIALIZATION_NVP(p_e_res1);
29937 s & BOOST_SERIALIZATION_NVP(p_e_oemid);
29938 s & BOOST_SERIALIZATION_NVP(p_e_oeminfo);
29939 s & BOOST_SERIALIZATION_NVP(p_e_res2);
29940 s & BOOST_SERIALIZATION_NVP(p_e_res3);
29941 s & BOOST_SERIALIZATION_NVP(p_e_res4);
29942 s & BOOST_SERIALIZATION_NVP(p_e_res5);
29943 s & BOOST_SERIALIZATION_NVP(p_e_res6);
29944 s & BOOST_SERIALIZATION_NVP(p_e_lfanew);
29958 uint16_t e_oeminfo;
29966#if !defined(SWIG) && !defined(_MSC_VER)
29967 __attribute__((packed))
30075 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
30093#ifdef DOCUMENTATION
30102DECLARE_LEAF_CLASS(AsmDirectRegisterExpression);
30103IS_SERIALIZABLE(AsmDirectRegisterExpression);
30105#ifndef DOCUMENTATION
30106AsmDirectRegisterExpression.useSmallHeader(
true);
30109#ifdef DOCUMENTATION
30114 DECLARE_OTHERS(AsmDirectRegisterExpression);
30115#if defined(SgAsmDirectRegisterExpression_OTHERS) || defined(DOCUMENTATION)
30118#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30120 friend class boost::serialization::access;
30123 void serialize(S &s,
const unsigned ) {
30151#ifdef DOCUMENTATION
30160#ifndef DOCUMENTATION
30161AstNodeClass& AsmRegisterReferenceExpression = nonTerminalConstructor(
30162 "AsmRegisterReferenceExpression",
30164 "AsmRegisterReferenceExpression",
30165 "AsmRegisterReferenceExpressionTag",
30166 SubclassListBuilder()
30167 | AsmDirectRegisterExpression
30168 | AsmIndirectRegisterExpression
30170assert(AsmRegisterReferenceExpression.associatedGrammar !=
nullptr);
30171AsmRegisterReferenceExpression.setCppCondition(
"!defined(DOCUMENTATION)");
30172AsmRegisterReferenceExpression.isBoostSerializable(
true);
30173AsmRegisterReferenceExpression.setAutomaticGenerationOfConstructor(
false);
30174AsmRegisterReferenceExpression.setAutomaticGenerationOfDestructor(
false);
30177#ifndef DOCUMENTATION
30178AsmRegisterReferenceExpression.useSmallHeader(
true);
30181#ifdef DOCUMENTATION
30186#ifndef DOCUMENTATION
30187 AsmRegisterReferenceExpression.setDataPrototype(
30188 "Rose::BinaryAnalysis::RegisterDescriptor",
"descriptor",
"",
30189 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30192#ifndef DOCUMENTATION
30193 AsmRegisterReferenceExpression.setDataPrototype(
30194 "int",
"adjustment",
"= 0",
30195 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30198 DECLARE_OTHERS(AsmRegisterReferenceExpression);
30199#if defined(SgAsmRegisterReferenceExpression_OTHERS) || defined(DOCUMENTATION)
30202#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30204 friend class boost::serialization::access;
30207 void serialize(S &s,
const unsigned ) {
30210 s & BOOST_SERIALIZATION_NVP(p_descriptor);
30211 s & BOOST_SERIALIZATION_NVP(p_adjustment);
30255#ifdef DOCUMENTATION
30264DECLARE_LEAF_CLASS(AsmControlFlagsExpression);
30265IS_SERIALIZABLE(AsmControlFlagsExpression);
30267#ifndef DOCUMENTATION
30268AsmControlFlagsExpression.useSmallHeader(
true);
30271DECLARE_HEADERS(AsmControlFlagsExpression);
30272#if defined(SgAsmControlFlagsExpression_HEADERS) || defined(DOCUMENTATION)
30276#ifdef DOCUMENTATION
30280#ifndef DOCUMENTATION
30281 AsmControlFlagsExpression.setDataPrototype(
30282 "unsigned long",
"bitFlags",
"= 0",
30283 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30286 DECLARE_OTHERS(AsmControlFlagsExpression);
30287#if defined(SgAsmControlFlagsExpression_OTHERS) || defined(DOCUMENTATION)
30290#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30292 friend class boost::serialization::access;
30295 void serialize(S &s,
const unsigned ) {
30298 s & BOOST_SERIALIZATION_NVP(p_bitFlags);
30304 unsigned long const& get_bitFlags()
const;
30305 void set_bitFlags(
unsigned long const&);
30307 unsigned long get_bit_flags()
const ROSE_DEPRECATED(
"use get_bitFlags");
30308 void set_bit_flags(
unsigned long) ROSE_DEPRECATED(
"use set_bitFlags");
30326#ifdef DOCUMENTATION
30335#ifndef DOCUMENTATION
30336AstNodeClass& AsmConstantExpression = nonTerminalConstructor(
30337 "AsmConstantExpression",
30339 "AsmConstantExpression",
30340 "AsmConstantExpressionTag",
30341 SubclassListBuilder()
30342 | AsmFloatValueExpression
30343 | AsmIntegerValueExpression
30345assert(AsmConstantExpression.associatedGrammar !=
nullptr);
30346AsmConstantExpression.setCppCondition(
"!defined(DOCUMENTATION)");
30347AsmConstantExpression.isBoostSerializable(
true);
30348AsmConstantExpression.setAutomaticGenerationOfConstructor(
false);
30349AsmConstantExpression.setAutomaticGenerationOfDestructor(
false);
30352#ifndef DOCUMENTATION
30353AsmConstantExpression.useSmallHeader(
true);
30356DECLARE_HEADERS(AsmConstantExpression);
30357#if defined(SgAsmConstantExpression_HEADERS) || defined(DOCUMENTATION)
30358#include <Sawyer/BitVector.h>
30361#ifdef DOCUMENTATION
30369#ifndef DOCUMENTATION
30370 AsmConstantExpression.setDataPrototype(
30371 "Sawyer::Container::BitVector",
"bitVector",
"",
30372 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30375 DECLARE_OTHERS(AsmConstantExpression);
30376#if defined(SgAsmConstantExpression_OTHERS) || defined(DOCUMENTATION)
30379#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30381 friend class boost::serialization::access;
30384 void serialize(S &s,
const unsigned ) {
30387 s & BOOST_SERIALIZATION_NVP(p_bitVector);
30420#ifdef DOCUMENTATION
30429#ifndef DOCUMENTATION
30430AstNodeClass& AsmValueExpression = nonTerminalConstructor(
30431 "AsmValueExpression",
30433 "AsmValueExpression",
30434 "AsmValueExpressionTag",
30435 SubclassListBuilder()
30436 | AsmConstantExpression
30438assert(AsmValueExpression.associatedGrammar !=
nullptr);
30439AsmValueExpression.setCppCondition(
"!defined(DOCUMENTATION)");
30440AsmValueExpression.isBoostSerializable(
true);
30441AsmValueExpression.setAutomaticGenerationOfConstructor(
false);
30442AsmValueExpression.setAutomaticGenerationOfDestructor(
false);
30445#ifndef DOCUMENTATION
30446AsmValueExpression.useSmallHeader(
true);
30449#ifdef DOCUMENTATION
30460#ifndef DOCUMENTATION
30461 AsmValueExpression.setDataPrototype(
30462 "SgAsmValueExpression*",
"unfoldedExpression",
"= nullptr",
30463 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30466#ifndef DOCUMENTATION
30467 AsmValueExpression.setDataPrototype(
30468 "unsigned short",
"bitOffset",
"= 0",
30469 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30472#ifndef DOCUMENTATION
30473 AsmValueExpression.setDataPrototype(
30474 "unsigned short",
"bitSize",
"= 0",
30475 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30478#ifndef DOCUMENTATION
30479 AsmValueExpression.setDataPrototype(
30480 "SgSymbol*",
"symbol",
"= nullptr",
30481 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30484 DECLARE_OTHERS(AsmValueExpression);
30485#if defined(SgAsmValueExpression_OTHERS) || defined(DOCUMENTATION)
30488#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30490 friend class boost::serialization::access;
30493 void serialize(S &s,
const unsigned ) {
30496 s & BOOST_SERIALIZATION_NVP(p_unfoldedExpression);
30497 s & BOOST_SERIALIZATION_NVP(p_bitOffset);
30498 s & BOOST_SERIALIZATION_NVP(p_bitSize);
30555 unsigned short get_bit_offset() const ROSE_DEPRECATED("use
get_bitOffset");
30556 void set_bit_offset(
unsigned short) ROSE_DEPRECATED("use
set_bitOffset");
30557 unsigned short get_bit_size() const ROSE_DEPRECATED("use
get_bitSize");
30558 void set_bit_size(
unsigned short) ROSE_DEPRECATED("use
set_bitSize");
30576#ifdef DOCUMENTATION
30585DECLARE_LEAF_CLASS(AsmCommonSubExpression);
30586IS_SERIALIZABLE(AsmCommonSubExpression);
30588#ifndef DOCUMENTATION
30589AsmCommonSubExpression.useSmallHeader(
true);
30592DECLARE_HEADERS(AsmCommonSubExpression);
30593#if defined(SgAsmCommonSubExpression_HEADERS) || defined(DOCUMENTATION)
30597#ifdef DOCUMENTATION
30601#ifndef DOCUMENTATION
30602 AsmCommonSubExpression.setDataPrototype(
30603 "SgAsmExpression*",
"subexpression",
"= nullptr",
30604 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30607 DECLARE_OTHERS(AsmCommonSubExpression);
30608#if defined(SgAsmCommonSubExpression_OTHERS) || defined(DOCUMENTATION)
30611#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30613 friend class boost::serialization::access;
30616 void serialize(S &s,
const unsigned ) {
30619 s & BOOST_SERIALIZATION_NVP(p_subexpression);
30645#ifdef DOCUMENTATION
30654DECLARE_LEAF_CLASS(AsmCoffSymbolTable);
30655IS_SERIALIZABLE(AsmCoffSymbolTable);
30657#ifndef DOCUMENTATION
30658AsmCoffSymbolTable.useSmallHeader(
true);
30661DECLARE_HEADERS(AsmCoffSymbolTable);
30662#if defined(SgAsmCoffSymbolTable_HEADERS) || defined(DOCUMENTATION)
30663#ifdef ROSE_SgAsmCoffSymbolTable_IMPL
30664#include <SgAsmCoffSymbolList.h>
30668#ifdef DOCUMENTATION
30675#ifndef DOCUMENTATION
30676 AsmCoffSymbolTable.setDataPrototype(
30677 "SgAsmGenericSection*",
"strtab",
"= nullptr",
30678 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30681#ifndef DOCUMENTATION
30682 AsmCoffSymbolTable.setDataPrototype(
30683 "SgAsmCoffSymbolList*",
"symbols",
"= createAndParent<SgAsmCoffSymbolList>(this)",
30684 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30687 DECLARE_OTHERS(AsmCoffSymbolTable);
30688#if defined(SgAsmCoffSymbolTable_OTHERS) || defined(DOCUMENTATION)
30691#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30693 friend class boost::serialization::access;
30696 void serialize(S &s,
const unsigned ) {
30699 s & BOOST_SERIALIZATION_NVP(p_strtab);
30700 s & BOOST_SERIALIZATION_NVP(p_symbols);
30724 size_t get_nslots()
const;
30727 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
30745#ifdef DOCUMENTATION
30754DECLARE_LEAF_CLASS(AsmCoffSymbolList);
30755IS_SERIALIZABLE(AsmCoffSymbolList);
30757#ifndef DOCUMENTATION
30758AsmCoffSymbolList.useSmallHeader(
true);
30761DECLARE_HEADERS(AsmCoffSymbolList);
30762#if defined(SgAsmCoffSymbolList_HEADERS) || defined(DOCUMENTATION)
30763#include <sageContainer.h>
30766#ifdef DOCUMENTATION
30771#ifndef DOCUMENTATION
30772 AsmCoffSymbolList.setDataPrototype(
30773 "SgAsmCoffSymbolPtrList",
"symbols",
"",
30774 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
30777 DECLARE_OTHERS(AsmCoffSymbolList);
30778#if defined(SgAsmCoffSymbolList_OTHERS) || defined(DOCUMENTATION)
30781#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30783 friend class boost::serialization::access;
30786 void serialize(S &s,
const unsigned ) {
30789 s & BOOST_SERIALIZATION_NVP(p_symbols);
30820#ifdef DOCUMENTATION
30829DECLARE_LEAF_CLASS(AsmCoffSymbol);
30830IS_SERIALIZABLE(AsmCoffSymbol);
30832#ifndef DOCUMENTATION
30833AsmCoffSymbol.useSmallHeader(
true);
30836DECLARE_HEADERS(AsmCoffSymbol);
30837#if defined(SgAsmCoffSymbol_HEADERS) || defined(DOCUMENTATION)
30838#include <Rose/BinaryAnalysis/Address.h>
30840#include <sageContainer.h>
30843#ifdef DOCUMENTATION
30848#ifndef DOCUMENTATION
30849 AsmCoffSymbol.setDataPrototype(
30850 "std::string",
"st_name",
"",
30851 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30854#ifndef DOCUMENTATION
30855 AsmCoffSymbol.setDataPrototype(
30856 "Rose::BinaryAnalysis::Address",
"st_name_offset",
"= 0",
30857 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30860#ifndef DOCUMENTATION
30861 AsmCoffSymbol.setDataPrototype(
30862 "int",
"st_section_num",
"= 0",
30863 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30866#ifndef DOCUMENTATION
30867 AsmCoffSymbol.setDataPrototype(
30868 "unsigned",
"st_type",
"= 0",
30869 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30872#ifndef DOCUMENTATION
30873 AsmCoffSymbol.setDataPrototype(
30874 "unsigned",
"st_storage_class",
"= 0",
30875 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30878#ifndef DOCUMENTATION
30879 AsmCoffSymbol.setDataPrototype(
30880 "unsigned",
"st_num_aux_entries",
"= 0",
30881 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30884#ifndef DOCUMENTATION
30885 AsmCoffSymbol.setDataPrototype(
30886 "SgUnsignedCharList",
"auxiliaryData",
"",
30887 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
30890 DECLARE_OTHERS(AsmCoffSymbol);
30891#if defined(SgAsmCoffSymbol_OTHERS) || defined(DOCUMENTATION)
30894#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
30896 friend class boost::serialization::access;
30899 void serialize(S &s,
const unsigned ) {
30902 s & BOOST_SERIALIZATION_NVP(p_st_name);
30903 s & BOOST_SERIALIZATION_NVP(p_st_name_offset);
30904 s & BOOST_SERIALIZATION_NVP(p_st_section_num);
30905 s & BOOST_SERIALIZATION_NVP(p_st_type);
30906 s & BOOST_SERIALIZATION_NVP(p_st_storage_class);
30907 s & BOOST_SERIALIZATION_NVP(p_st_num_aux_entries);
30908 s & BOOST_SERIALIZATION_NVP(p_auxiliaryData);
30924 uint32_t st_offset;
30928 int16_t st_section_num;
30930 unsigned char st_storage_class;
30931 unsigned char st_num_aux_entries;
30934#if !defined(SWIG) && !defined(_MSC_VER)
30935 __attribute__((packed))
31003 static const unsigned int COFFSymbol_disk_size = 18;
31011 virtual void dump(FILE *f,
const char *prefix, ssize_t idx)
const override;
31017 const SgUnsignedCharList& get_aux_data() const ROSE_DEPRECATED("use
get_auxiliaryData");
31018 void set_aux_data(const SgUnsignedCharList&) ROSE_DEPRECATED("use
set_auxiliaryData");
31036#ifdef DOCUMENTATION
31045#ifndef DOCUMENTATION
31046AstNodeClass& AsmGenericSymbol = nonTerminalConstructor(
31047 "AsmGenericSymbol",
31049 "AsmGenericSymbol",
31050 "AsmGenericSymbolTag",
31051 SubclassListBuilder()
31055assert(AsmGenericSymbol.associatedGrammar !=
nullptr);
31056AsmGenericSymbol.setCppCondition(
"!defined(DOCUMENTATION)");
31057AsmGenericSymbol.isBoostSerializable(
true);
31058AsmGenericSymbol.setAutomaticGenerationOfConstructor(
false);
31059AsmGenericSymbol.setAutomaticGenerationOfDestructor(
false);
31062#ifndef DOCUMENTATION
31063AsmGenericSymbol.useSmallHeader(
true);
31066DECLARE_HEADERS(AsmGenericSymbol);
31067#if defined(SgAsmGenericSymbol_HEADERS) || defined(DOCUMENTATION)
31068#include <Rose/BinaryAnalysis/Address.h>
31073#ifdef DOCUMENTATION
31077#ifndef DOCUMENTATION
31078 AsmGenericSymbol.setDataPrototype(
31079 "SgAsmGenericSymbol::SymbolDefState",
"definitionState",
"= SgAsmGenericSymbol::SYM_UNDEFINED",
31080 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31083#ifndef DOCUMENTATION
31084 AsmGenericSymbol.setDataPrototype(
31085 "SgAsmGenericSymbol::SymbolBinding",
"binding",
"= SgAsmGenericSymbol::SYM_NO_BINDING",
31086 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31089#ifndef DOCUMENTATION
31090 AsmGenericSymbol.setDataPrototype(
31091 "SgAsmGenericSymbol::SymbolType",
"type",
"= SgAsmGenericSymbol::SYM_NO_TYPE",
31092 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31095#ifndef DOCUMENTATION
31096 AsmGenericSymbol.setDataPrototype(
31097 "Rose::BinaryAnalysis::Address",
"value",
"= 0",
31098 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31101#ifndef DOCUMENTATION
31102 AsmGenericSymbol.setDataPrototype(
31103 "Rose::BinaryAnalysis::Address",
"size",
"= 0",
31104 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31107#ifndef DOCUMENTATION
31108 AsmGenericSymbol.setDataPrototype(
31109 "SgAsmGenericSection*",
"bound",
"= nullptr",
31110 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31113#ifndef DOCUMENTATION
31114 AsmGenericSymbol.setDataPrototype(
31115 "SgAsmGenericString*",
"name",
"= nullptr",
31116 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31119 DECLARE_OTHERS(AsmGenericSymbol);
31120#if defined(SgAsmGenericSymbol_OTHERS) || defined(DOCUMENTATION)
31123#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
31125 friend class boost::serialization::access;
31128 void serialize(S &s,
const unsigned ) {
31131 s & BOOST_SERIALIZATION_NVP(p_definitionState);
31132 s & BOOST_SERIALIZATION_NVP(p_binding);
31133 s & BOOST_SERIALIZATION_NVP(p_type);
31134 s & BOOST_SERIALIZATION_NVP(p_value);
31135 s & BOOST_SERIALIZATION_NVP(p_size);
31136 s & BOOST_SERIALIZATION_NVP(p_bound);
31137 s & BOOST_SERIALIZATION_NVP(p_name);
31239 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
31264#ifdef DOCUMENTATION
31273DECLARE_LEAF_CLASS(AsmCoffStrtab);
31274IS_SERIALIZABLE(AsmCoffStrtab);
31276#ifndef DOCUMENTATION
31277AsmCoffStrtab.useSmallHeader(
true);
31280DECLARE_HEADERS(AsmCoffStrtab);
31281#if defined(SgAsmCoffStrtab_HEADERS) || defined(DOCUMENTATION)
31282#include <Rose/BinaryAnalysis/Address.h>
31285#ifdef DOCUMENTATION
31290 DECLARE_OTHERS(AsmCoffStrtab);
31291#if defined(SgAsmCoffStrtab_OTHERS) || defined(DOCUMENTATION)
31294#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
31296 friend class boost::serialization::access;
31299 void serialize(S &s,
const unsigned ) {
31308 virtual void unparse(std::ostream&)
const;
31317 ROSE_DEPRECATED(
"use get_storageSize");
31335#ifdef DOCUMENTATION
31344#ifndef DOCUMENTATION
31345AstNodeClass& AsmGenericStrtab = nonTerminalConstructor(
31346 "AsmGenericStrtab",
31348 "AsmGenericStrtab",
31349 "AsmGenericStrtabTag",
31350 SubclassListBuilder()
31354assert(AsmGenericStrtab.associatedGrammar !=
nullptr);
31355AsmGenericStrtab.setCppCondition(
"!defined(DOCUMENTATION)");
31356AsmGenericStrtab.isBoostSerializable(
true);
31357AsmGenericStrtab.setAutomaticGenerationOfConstructor(
false);
31358AsmGenericStrtab.setAutomaticGenerationOfDestructor(
false);
31361#ifndef DOCUMENTATION
31362AsmGenericStrtab.useSmallHeader(
true);
31365DECLARE_HEADERS(AsmGenericStrtab);
31366#if defined(SgAsmGenericStrtab_HEADERS) || defined(DOCUMENTATION)
31367#include <Rose/BinaryAnalysis/Address.h>
31368#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
31371#ifdef DOCUMENTATION
31376#ifndef DOCUMENTATION
31377 AsmGenericStrtab.setDataPrototype(
31378 "SgAsmGenericSection*",
"container",
"= nullptr",
31379 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31382#ifndef DOCUMENTATION
31383 AsmGenericStrtab.setDataPrototype(
31384 "SgAsmGenericStrtab::referenced_t",
"storageList",
"",
31385 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31388#ifndef DOCUMENTATION
31389 AsmGenericStrtab.setDataPrototype(
31390 "Rose::BinaryAnalysis::AddressIntervalSet",
"freeList",
"",
31391 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31394#ifndef DOCUMENTATION
31395 AsmGenericStrtab.setDataPrototype(
31396 "SgAsmStringStorage*",
"dontFree",
"= nullptr",
31397 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31400#ifndef DOCUMENTATION
31401 AsmGenericStrtab.setDataPrototype(
31402 "size_t",
"numberFreed",
"= 0",
31403 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31406 DECLARE_OTHERS(AsmGenericStrtab);
31407#if defined(SgAsmGenericStrtab_OTHERS) || defined(DOCUMENTATION)
31410#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
31412 friend class boost::serialization::access;
31415 void serialize(S &s,
const unsigned ) {
31418 s & BOOST_SERIALIZATION_NVP(p_container);
31419 s & BOOST_SERIALIZATION_NVP(p_storageList);
31420 s & BOOST_SERIALIZATION_NVP(p_freeList);
31421 s & BOOST_SERIALIZATION_NVP(p_dontFree);
31422 s & BOOST_SERIALIZATION_NVP(p_numberFreed);
31430 typedef std::vector<class SgAsmStringStorage*> referenced_t;
31487 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
31527 const referenced_t& get_storage_list() const ROSE_DEPRECATED("use
get_storageList");
31528 void set_storage_list(const referenced_t&) ROSE_DEPRECATED("use
set_storageList");
31529 const
Rose::BinaryAnalysis::AddressIntervalSet& get_freelist() const ROSE_DEPRECATED("use
get_freeList");
31530 Rose::BinaryAnalysis::AddressIntervalSet& get_freelist() ROSE_DEPRECATED("use set_freeList");
31536 void free_all_strings(
bool=false) ROSE_DEPRECATED("use
freeAllStrings");
31537 virtual
void allocate_overlap(
SgAsmStringStorage*) ROSE_DEPRECATED("use allocateOverlap");
31538 virtual
SgAsmStringStorage *create_storage(
Rose::BinaryAnalysis::Address,
bool) ROSE_DEPRECATED("use createStorage");
31539 virtual
Rose::BinaryAnalysis::Address get_storage_size(const
SgAsmStringStorage*) ROSE_DEPRECATED("use get_storageSize");
31557#ifdef DOCUMENTATION
31566DECLARE_LEAF_CLASS(AsmCliHeader);
31567IS_SERIALIZABLE(AsmCliHeader);
31569#ifndef DOCUMENTATION
31570AsmCliHeader.useSmallHeader(
true);
31573DECLARE_HEADERS(AsmCliHeader);
31574#if defined(SgAsmCliHeader_HEADERS) || defined(DOCUMENTATION)
31575#ifdef ROSE_SgAsmCliHeader_IMPL
31576#include <SgAsmCilMetadataRoot.h>
31580#ifdef DOCUMENTATION
31587#ifndef DOCUMENTATION
31588 AsmCliHeader.setDataPrototype(
31589 "uint32_t",
"cb",
"= 0",
31590 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31593#ifndef DOCUMENTATION
31594 AsmCliHeader.setDataPrototype(
31595 "uint16_t",
"majorRuntimeVersion",
"= 0",
31596 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31599#ifndef DOCUMENTATION
31600 AsmCliHeader.setDataPrototype(
31601 "uint16_t",
"minorRuntimeVersion",
"= 0",
31602 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31605#ifndef DOCUMENTATION
31606 AsmCliHeader.setDataPrototype(
31607 "uint64_t",
"metaData",
"= 0",
31608 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31611#ifndef DOCUMENTATION
31612 AsmCliHeader.setDataPrototype(
31613 "uint32_t",
"flags",
"= 0",
31614 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31617#ifndef DOCUMENTATION
31618 AsmCliHeader.setDataPrototype(
31619 "uint32_t",
"entryPointToken",
"= 0",
31620 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31623#ifndef DOCUMENTATION
31624 AsmCliHeader.setDataPrototype(
31625 "uint64_t",
"resources",
"= 0",
31626 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31629#ifndef DOCUMENTATION
31630 AsmCliHeader.setDataPrototype(
31631 "uint64_t",
"strongNameSignature",
"= 0",
31632 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31635#ifndef DOCUMENTATION
31636 AsmCliHeader.setDataPrototype(
31637 "uint64_t",
"codeManagerTable",
"= 0",
31638 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31641#ifndef DOCUMENTATION
31642 AsmCliHeader.setDataPrototype(
31643 "uint64_t",
"vTableFixups",
"= 0",
31644 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31647#ifndef DOCUMENTATION
31648 AsmCliHeader.setDataPrototype(
31649 "uint64_t",
"exportAddressTableJumps",
"= 0",
31650 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31653#ifndef DOCUMENTATION
31654 AsmCliHeader.setDataPrototype(
31655 "uint64_t",
"managedNativeHeader",
"= 0",
31656 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31659#ifndef DOCUMENTATION
31660 AsmCliHeader.setDataPrototype(
31661 "SgAsmCilMetadataRoot*",
"metadataRoot",
"= nullptr",
31662 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
31665 DECLARE_OTHERS(AsmCliHeader);
31666#if defined(SgAsmCliHeader_OTHERS) || defined(DOCUMENTATION)
31669#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
31671 friend class boost::serialization::access;
31674 void serialize(S &s,
const unsigned ) {
31677 s & BOOST_SERIALIZATION_NVP(p_cb);
31678 s & BOOST_SERIALIZATION_NVP(p_majorRuntimeVersion);
31679 s & BOOST_SERIALIZATION_NVP(p_minorRuntimeVersion);
31680 s & BOOST_SERIALIZATION_NVP(p_metaData);
31681 s & BOOST_SERIALIZATION_NVP(p_flags);
31682 s & BOOST_SERIALIZATION_NVP(p_entryPointToken);
31683 s & BOOST_SERIALIZATION_NVP(p_resources);
31684 s & BOOST_SERIALIZATION_NVP(p_strongNameSignature);
31685 s & BOOST_SERIALIZATION_NVP(p_codeManagerTable);
31686 s & BOOST_SERIALIZATION_NVP(p_vTableFixups);
31687 s & BOOST_SERIALIZATION_NVP(p_exportAddressTableJumps);
31688 s & BOOST_SERIALIZATION_NVP(p_managedNativeHeader);
31830 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
31848#ifdef DOCUMENTATION
31857#ifndef DOCUMENTATION
31858AstNodeClass& AsmGenericSection = nonTerminalConstructor(
31859 "AsmGenericSection",
31861 "AsmGenericSection",
31862 "AsmGenericSectionTag",
31863 SubclassListBuilder()
31865 | AsmCoffSymbolTable
31866 | AsmDOSExtendedHeader
31868 | AsmElfSectionTable
31869 | AsmElfSegmentTable
31871 | AsmJvmAttributeTable
31872 | AsmJvmConstantPool
31874 | AsmJvmMethodTable
31880 | AsmLESectionTable
31886 | AsmNESectionTable
31889 | AsmPESectionTable
31891assert(AsmGenericSection.associatedGrammar !=
nullptr);
31892AsmGenericSection.setCppCondition(
"!defined(DOCUMENTATION)");
31893AsmGenericSection.isBoostSerializable(
true);
31894AsmGenericSection.setAutomaticGenerationOfConstructor(
false);
31895AsmGenericSection.setAutomaticGenerationOfDestructor(
false);
31898#ifndef DOCUMENTATION
31899AsmGenericSection.useSmallHeader(
true);
31902DECLARE_HEADERS(AsmGenericSection);
31903#if defined(SgAsmGenericSection_HEADERS) || defined(DOCUMENTATION)
31904#include <Rose/BinaryAnalysis/Address.h>
31905#include <Rose/BinaryAnalysis/AddressIntervalSet.h>
31906#include <Rose/BinaryAnalysis/MemoryMap.h>
31907#include <Rose/BinaryAnalysis/RelativeVirtualAddress.h>
31908#include <sageContainer.h>
31910#ifdef ROSE_SgAsmGenericSection_IMPL
31911#include <SgAsmBasicString.h>
31915#ifdef DOCUMENTATION
31923#ifndef DOCUMENTATION
31924 AsmGenericSection.setDataPrototype(
31925 "SgAsmGenericFile*",
"file",
"= nullptr",
31926 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31929#ifndef DOCUMENTATION
31930 AsmGenericSection.setDataPrototype(
31931 "SgAsmGenericHeader*",
"header",
"= nullptr",
31932 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31935#ifndef DOCUMENTATION
31936 AsmGenericSection.setDataPrototype(
31937 "Rose::BinaryAnalysis::Address",
"size",
"= 0",
31938 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31941#ifndef DOCUMENTATION
31942 AsmGenericSection.setDataPrototype(
31943 "Rose::BinaryAnalysis::Address",
"offset",
"= 0",
31944 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31947#ifndef DOCUMENTATION
31948 AsmGenericSection.setDataPrototype(
31949 "Rose::BinaryAnalysis::Address",
"fileAlignment",
"= 0",
31950 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31953#ifndef DOCUMENTATION
31954 AsmGenericSection.setDataPrototype(
31955 "SgFileContentList",
"data",
"",
31956 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31959#ifndef DOCUMENTATION
31960 AsmGenericSection.setDataPrototype(
31961 "SgAsmGenericSection::SectionPurpose",
"purpose",
"= SgAsmGenericSection::SP_UNSPECIFIED",
31962 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31965#ifndef DOCUMENTATION
31966 AsmGenericSection.setDataPrototype(
31967 "bool",
"synthesized",
"= false",
31968 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31971#ifndef DOCUMENTATION
31972 AsmGenericSection.setDataPrototype(
31973 "int",
"id",
"= -1",
31974 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31977#ifndef DOCUMENTATION
31978 AsmGenericSection.setDataPrototype(
31979 "SgAsmGenericString*",
"name",
"= createAndParent<SgAsmBasicString>(this)",
31980 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31983#ifndef DOCUMENTATION
31984 AsmGenericSection.setDataPrototype(
31985 "std::string",
"shortName",
"",
31986 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31989#ifndef DOCUMENTATION
31990 AsmGenericSection.setDataPrototype(
31991 "Rose::BinaryAnalysis::Address",
"mappedPreferredRva",
"= 0",
31992 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
31995#ifndef DOCUMENTATION
31996 AsmGenericSection.setDataPrototype(
31997 "Rose::BinaryAnalysis::Address",
"mappedSize",
"= 0",
31998 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32001#ifndef DOCUMENTATION
32002 AsmGenericSection.setDataPrototype(
32003 "Rose::BinaryAnalysis::Address",
"mappedAlignment",
"= 0",
32004 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32007#ifndef DOCUMENTATION
32008 AsmGenericSection.setDataPrototype(
32009 "bool",
"mappedReadPermission",
"= false",
32010 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32013#ifndef DOCUMENTATION
32014 AsmGenericSection.setDataPrototype(
32015 "bool",
"mappedWritePermission",
"= false",
32016 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32019#ifndef DOCUMENTATION
32020 AsmGenericSection.setDataPrototype(
32021 "bool",
"mappedExecutePermission",
"= false",
32022 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32025#ifndef DOCUMENTATION
32026 AsmGenericSection.setDataPrototype(
32027 "bool",
"containsCode",
"= false",
32028 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32031#ifndef DOCUMENTATION
32032 AsmGenericSection.setDataPrototype(
32033 "Rose::BinaryAnalysis::Address",
"mappedActualVa",
"= 0",
32034 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32037 DECLARE_OTHERS(AsmGenericSection);
32038#if defined(SgAsmGenericSection_OTHERS) || defined(DOCUMENTATION)
32041#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32043 friend class boost::serialization::access;
32046 void serialize(S &s,
const unsigned ) {
32049 s & BOOST_SERIALIZATION_NVP(p_file);
32050 s & BOOST_SERIALIZATION_NVP(p_header);
32051 s & BOOST_SERIALIZATION_NVP(p_size);
32052 s & BOOST_SERIALIZATION_NVP(p_offset);
32053 s & BOOST_SERIALIZATION_NVP(p_fileAlignment);
32054 s & BOOST_SERIALIZATION_NVP(p_data);
32055 s & BOOST_SERIALIZATION_NVP(p_purpose);
32056 s & BOOST_SERIALIZATION_NVP(p_synthesized);
32057 s & BOOST_SERIALIZATION_NVP(p_id);
32058 s & BOOST_SERIALIZATION_NVP(p_name);
32059 s & BOOST_SERIALIZATION_NVP(p_shortName);
32060 s & BOOST_SERIALIZATION_NVP(p_mappedPreferredRva);
32061 s & BOOST_SERIALIZATION_NVP(p_mappedSize);
32062 s & BOOST_SERIALIZATION_NVP(p_mappedAlignment);
32063 s & BOOST_SERIALIZATION_NVP(p_mappedReadPermission);
32064 s & BOOST_SERIALIZATION_NVP(p_mappedWritePermission);
32065 s & BOOST_SERIALIZATION_NVP(p_mappedExecutePermission);
32066 s & BOOST_SERIALIZATION_NVP(p_containsCode);
32067 s & BOOST_SERIALIZATION_NVP(p_mappedActualVa);
32300 unsigned char *local_data_pool;
32316 const SgAsmGenericSectionPtrList&);
32330 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
32566 std::
string get_short_name() const ROSE_DEPRECATED("use
get_shortName");
32567 void set_short_name(const std::
string&) ROSE_DEPRECATED("use
set_shortName");
32570 Rose::BinaryAnalysis::Address get_mapped_size() const ROSE_DEPRECATED("use
get_mappedSize");
32571 void set_mapped_size(
Rose::BinaryAnalysis::Address) ROSE_DEPRECATED("use
set_mappedSize");
32584 static
void dump_containing_sections(FILE*, const std::
string&,
Rose::BinaryAnalysis::RelativeVirtualAddress,
32585 const SgAsmGenericSectionPtrList&)
32587 void grab_content() ROSE_DEPRECATED("use
grabContent");
32588 void unparse_holes(std::ostream&) const ROSE_DEPRECATED("use
unparseHoles");
32590 Rose::BinaryAnalysis::Address get_end_offset() const ROSE_DEPRECATED("use
get_endOffset");
32591 Rose::BinaryAnalysis::Address write_uleb128(
unsigned char*,
Rose::BinaryAnalysis::Address, uint64_t) const
32593 Rose::BinaryAnalysis::Address write_sleb128(
unsigned char*,
Rose::BinaryAnalysis::Address, int64_t) const
32595 size_t read_content(
Rose::BinaryAnalysis::Address,
void*,
Rose::BinaryAnalysis::Address,
bool=true)
32597 size_t read_content(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::Address,
void*,
32598 Rose::BinaryAnalysis::Address,
bool=true) ROSE_DEPRECATED("use
readContent");
32599 size_t read_content(const
Rose::BinaryAnalysis::MemoryMap::Ptr&, const
Rose::BinaryAnalysis::RelativeVirtualAddress&,
void*,
32600 Rose::BinaryAnalysis::Address,
bool=true)
32602 size_t read_content_local(
Rose::BinaryAnalysis::Address,
void*,
Rose::BinaryAnalysis::Address,
bool=true)
32604 std::
string read_content_str(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::Address,
bool=true)
32606 std::
string read_content_str(
Rose::BinaryAnalysis::Address,
bool=true) ROSE_DEPRECATED("use
readContentString");
32607 std::
string read_content_str(const
Rose::BinaryAnalysis::MemoryMap::Ptr&,
Rose::BinaryAnalysis::RelativeVirtualAddress,
32611 SgUnsignedCharList read_content_local_ucl(
Rose::BinaryAnalysis::Address,
Rose::BinaryAnalysis::Address)
32615 unsigned char *writable_content(
size_t) ROSE_DEPRECATED("use
writableContent");
32618 bool is_mapped() const ROSE_DEPRECATED("use
isMapped");
32619 void clear_mapped() ROSE_DEPRECATED("use
clearMapped");
32620 Rose::BinaryAnalysis::Address get_base_va() const ROSE_DEPRECATED("use
get_baseVa");
32622 Rose::BinaryAnalysis::Address get_va_offset(
Rose::BinaryAnalysis::Address) const ROSE_DEPRECATED("use
get_vaOffset");
32623 Rose::BinaryAnalysis::Address get_rva_offset(
Rose::BinaryAnalysis::Address) const ROSE_DEPRECATED("use
get_rvaOffset");
32643#ifdef DOCUMENTATION
32652DECLARE_LEAF_CLASS(AsmCilUint8Heap);
32653IS_SERIALIZABLE(AsmCilUint8Heap);
32655#ifndef DOCUMENTATION
32656AsmCilUint8Heap.useSmallHeader(
true);
32659#ifdef DOCUMENTATION
32664#ifndef DOCUMENTATION
32665 AsmCilUint8Heap.setDataPrototype(
32666 "std::vector<uint8_t>",
"Stream",
"",
32667 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32670 DECLARE_OTHERS(AsmCilUint8Heap);
32671#if defined(SgAsmCilUint8Heap_OTHERS) || defined(DOCUMENTATION)
32674#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32676 friend class boost::serialization::access;
32679 void serialize(S &s,
const unsigned ) {
32682 s & BOOST_SERIALIZATION_NVP(p_Stream);
32688 std::vector<uint8_t>
const& get_Stream()
const;
32689 std::vector<uint8_t>& get_Stream();
32691 void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
32692 void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const override;
32693 void dump(std::ostream& os)
const override;
32705 uint32_t
const& Size,
32706 std::string
const& Name,
32707 uint32_t
const& NamePadding);
32718#ifdef DOCUMENTATION
32727DECLARE_LEAF_CLASS(AsmCilUint32Heap);
32728IS_SERIALIZABLE(AsmCilUint32Heap);
32730#ifndef DOCUMENTATION
32731AsmCilUint32Heap.useSmallHeader(
true);
32734#ifdef DOCUMENTATION
32739#ifndef DOCUMENTATION
32740 AsmCilUint32Heap.setDataPrototype(
32741 "std::vector<uint32_t>",
"Stream",
"",
32742 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32745 DECLARE_OTHERS(AsmCilUint32Heap);
32746#if defined(SgAsmCilUint32Heap_OTHERS) || defined(DOCUMENTATION)
32749#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32751 friend class boost::serialization::access;
32754 void serialize(S &s,
const unsigned ) {
32757 s & BOOST_SERIALIZATION_NVP(p_Stream);
32763 std::vector<uint32_t>
const& get_Stream()
const;
32764 std::vector<uint32_t>& get_Stream();
32766 void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
32767 void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const override;
32768 void dump(std::ostream& os)
const override;
32780 uint32_t
const& Size,
32781 std::string
const& Name,
32782 uint32_t
const& NamePadding);
32793#ifdef DOCUMENTATION
32802DECLARE_LEAF_CLASS(AsmCilTypeSpecTable);
32803IS_SERIALIZABLE(AsmCilTypeSpecTable);
32805#ifndef DOCUMENTATION
32806AsmCilTypeSpecTable.useSmallHeader(
true);
32809#ifdef DOCUMENTATION
32814#ifndef DOCUMENTATION
32815 AsmCilTypeSpecTable.setDataPrototype(
32816 "std::vector<SgAsmCilTypeSpec*>",
"elements",
"",
32817 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32820 DECLARE_OTHERS(AsmCilTypeSpecTable);
32821#if defined(SgAsmCilTypeSpecTable_OTHERS) || defined(DOCUMENTATION)
32824#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32826 friend class boost::serialization::access;
32829 void serialize(S &s,
const unsigned ) {
32832 s & BOOST_SERIALIZATION_NVP(p_elements);
32838 std::vector<SgAsmCilTypeSpec*>
const& get_elements()
const;
32839 std::vector<SgAsmCilTypeSpec*>& get_elements();
32859#ifdef DOCUMENTATION
32868DECLARE_LEAF_CLASS(AsmCilTypeSpec);
32869IS_SERIALIZABLE(AsmCilTypeSpec);
32871#ifndef DOCUMENTATION
32872AsmCilTypeSpec.useSmallHeader(
true);
32875#ifdef DOCUMENTATION
32880#ifndef DOCUMENTATION
32881 AsmCilTypeSpec.setDataPrototype(
32882 "uint32_t",
"Signature",
"= 0",
32883 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
32886 DECLARE_OTHERS(AsmCilTypeSpec);
32887#if defined(SgAsmCilTypeSpec_OTHERS) || defined(DOCUMENTATION)
32890#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32892 friend class boost::serialization::access;
32895 void serialize(S &s,
const unsigned ) {
32898 s & BOOST_SERIALIZATION_NVP(p_Signature);
32913 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
32914 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
32915 void dump(std::ostream&)
const;
32917 const std::uint8_t* get_Signature_blob()
const;
32935#ifdef DOCUMENTATION
32944DECLARE_LEAF_CLASS(AsmCilTypeRefTable);
32945IS_SERIALIZABLE(AsmCilTypeRefTable);
32947#ifndef DOCUMENTATION
32948AsmCilTypeRefTable.useSmallHeader(
true);
32951#ifdef DOCUMENTATION
32956#ifndef DOCUMENTATION
32957 AsmCilTypeRefTable.setDataPrototype(
32958 "std::vector<SgAsmCilTypeRef*>",
"elements",
"",
32959 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
32962 DECLARE_OTHERS(AsmCilTypeRefTable);
32963#if defined(SgAsmCilTypeRefTable_OTHERS) || defined(DOCUMENTATION)
32966#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
32968 friend class boost::serialization::access;
32971 void serialize(S &s,
const unsigned ) {
32974 s & BOOST_SERIALIZATION_NVP(p_elements);
32980 std::vector<SgAsmCilTypeRef*>
const& get_elements()
const;
32981 std::vector<SgAsmCilTypeRef*>& get_elements();
33001#ifdef DOCUMENTATION
33010DECLARE_LEAF_CLASS(AsmCilTypeRef);
33011IS_SERIALIZABLE(AsmCilTypeRef);
33013#ifndef DOCUMENTATION
33014AsmCilTypeRef.useSmallHeader(
true);
33017#ifdef DOCUMENTATION
33022#ifndef DOCUMENTATION
33023 AsmCilTypeRef.setDataPrototype(
33024 "uint16_t",
"ResolutionScope",
"= 0",
33025 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33028#ifndef DOCUMENTATION
33029 AsmCilTypeRef.setDataPrototype(
33030 "uint32_t",
"TypeName",
"= 0",
33031 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33034#ifndef DOCUMENTATION
33035 AsmCilTypeRef.setDataPrototype(
33036 "uint32_t",
"TypeNamespace",
"= 0",
33037 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33040 DECLARE_OTHERS(AsmCilTypeRef);
33041#if defined(SgAsmCilTypeRef_OTHERS) || defined(DOCUMENTATION)
33044#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33046 friend class boost::serialization::access;
33049 void serialize(S &s,
const unsigned ) {
33052 s & BOOST_SERIALIZATION_NVP(p_ResolutionScope);
33053 s & BOOST_SERIALIZATION_NVP(p_TypeName);
33054 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
33089 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33090 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33091 void dump(std::ostream&)
const;
33094 const std::uint8_t* get_TypeName_string()
const;
33095 const std::uint8_t* get_TypeNamespace_string()
const;
33113#ifdef DOCUMENTATION
33122DECLARE_LEAF_CLASS(AsmCilTypeDefTable);
33123IS_SERIALIZABLE(AsmCilTypeDefTable);
33125#ifndef DOCUMENTATION
33126AsmCilTypeDefTable.useSmallHeader(
true);
33129#ifdef DOCUMENTATION
33134#ifndef DOCUMENTATION
33135 AsmCilTypeDefTable.setDataPrototype(
33136 "std::vector<SgAsmCilTypeDef*>",
"elements",
"",
33137 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33140 DECLARE_OTHERS(AsmCilTypeDefTable);
33141#if defined(SgAsmCilTypeDefTable_OTHERS) || defined(DOCUMENTATION)
33144#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33146 friend class boost::serialization::access;
33149 void serialize(S &s,
const unsigned ) {
33152 s & BOOST_SERIALIZATION_NVP(p_elements);
33158 std::vector<SgAsmCilTypeDef*>
const& get_elements()
const;
33159 std::vector<SgAsmCilTypeDef*>& get_elements();
33179#ifdef DOCUMENTATION
33188DECLARE_LEAF_CLASS(AsmCilTypeDef);
33189IS_SERIALIZABLE(AsmCilTypeDef);
33191#ifndef DOCUMENTATION
33192AsmCilTypeDef.useSmallHeader(
true);
33195#ifdef DOCUMENTATION
33200#ifndef DOCUMENTATION
33201 AsmCilTypeDef.setDataPrototype(
33202 "uint32_t",
"Flags",
"= 0",
33203 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33206#ifndef DOCUMENTATION
33207 AsmCilTypeDef.setDataPrototype(
33208 "uint32_t",
"TypeName",
"= 0",
33209 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33212#ifndef DOCUMENTATION
33213 AsmCilTypeDef.setDataPrototype(
33214 "uint32_t",
"TypeNamespace",
"= 0",
33215 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33218#ifndef DOCUMENTATION
33219 AsmCilTypeDef.setDataPrototype(
33220 "uint32_t",
"Extends",
"= 0",
33221 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33224#ifndef DOCUMENTATION
33225 AsmCilTypeDef.setDataPrototype(
33226 "uint32_t",
"FieldList",
"= 0",
33227 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33230#ifndef DOCUMENTATION
33231 AsmCilTypeDef.setDataPrototype(
33232 "uint32_t",
"MethodList",
"= 0",
33233 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33236 DECLARE_OTHERS(AsmCilTypeDef);
33237#if defined(SgAsmCilTypeDef_OTHERS) || defined(DOCUMENTATION)
33240#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33242 friend class boost::serialization::access;
33245 void serialize(S &s,
const unsigned ) {
33248 s & BOOST_SERIALIZATION_NVP(p_Flags);
33249 s & BOOST_SERIALIZATION_NVP(p_TypeName);
33250 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
33251 s & BOOST_SERIALIZATION_NVP(p_Extends);
33252 s & BOOST_SERIALIZATION_NVP(p_FieldList);
33253 s & BOOST_SERIALIZATION_NVP(p_MethodList);
33318 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33319 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33320 void dump(std::ostream&)
const;
33322 const std::uint8_t* get_TypeName_string()
const;
33323 const std::uint8_t* get_TypeNamespace_string()
const;
33345#ifdef DOCUMENTATION
33354DECLARE_LEAF_CLASS(AsmCilStandAloneSigTable);
33355IS_SERIALIZABLE(AsmCilStandAloneSigTable);
33357#ifndef DOCUMENTATION
33358AsmCilStandAloneSigTable.useSmallHeader(
true);
33361#ifdef DOCUMENTATION
33366#ifndef DOCUMENTATION
33367 AsmCilStandAloneSigTable.setDataPrototype(
33368 "std::vector<SgAsmCilStandAloneSig*>",
"elements",
"",
33369 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33372 DECLARE_OTHERS(AsmCilStandAloneSigTable);
33373#if defined(SgAsmCilStandAloneSigTable_OTHERS) || defined(DOCUMENTATION)
33376#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33378 friend class boost::serialization::access;
33381 void serialize(S &s,
const unsigned ) {
33384 s & BOOST_SERIALIZATION_NVP(p_elements);
33390 std::vector<SgAsmCilStandAloneSig*>
const& get_elements()
const;
33391 std::vector<SgAsmCilStandAloneSig*>& get_elements();
33411#ifdef DOCUMENTATION
33420DECLARE_LEAF_CLASS(AsmCilStandAloneSig);
33421IS_SERIALIZABLE(AsmCilStandAloneSig);
33423#ifndef DOCUMENTATION
33424AsmCilStandAloneSig.useSmallHeader(
true);
33427#ifdef DOCUMENTATION
33432#ifndef DOCUMENTATION
33433 AsmCilStandAloneSig.setDataPrototype(
33434 "uint32_t",
"Signature",
"= 0",
33435 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33438 DECLARE_OTHERS(AsmCilStandAloneSig);
33439#if defined(SgAsmCilStandAloneSig_OTHERS) || defined(DOCUMENTATION)
33442#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33444 friend class boost::serialization::access;
33447 void serialize(S &s,
const unsigned ) {
33450 s & BOOST_SERIALIZATION_NVP(p_Signature);
33465 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33466 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33467 void dump(std::ostream&)
const;
33469 const std::uint8_t* get_Signature_blob()
const;
33487#ifdef DOCUMENTATION
33496DECLARE_LEAF_CLASS(AsmCilPropertyTable);
33497IS_SERIALIZABLE(AsmCilPropertyTable);
33499#ifndef DOCUMENTATION
33500AsmCilPropertyTable.useSmallHeader(
true);
33503#ifdef DOCUMENTATION
33508#ifndef DOCUMENTATION
33509 AsmCilPropertyTable.setDataPrototype(
33510 "std::vector<SgAsmCilProperty*>",
"elements",
"",
33511 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33514 DECLARE_OTHERS(AsmCilPropertyTable);
33515#if defined(SgAsmCilPropertyTable_OTHERS) || defined(DOCUMENTATION)
33518#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33520 friend class boost::serialization::access;
33523 void serialize(S &s,
const unsigned ) {
33526 s & BOOST_SERIALIZATION_NVP(p_elements);
33532 std::vector<SgAsmCilProperty*>
const& get_elements()
const;
33533 std::vector<SgAsmCilProperty*>& get_elements();
33553#ifdef DOCUMENTATION
33562DECLARE_LEAF_CLASS(AsmCilPropertyMapTable);
33563IS_SERIALIZABLE(AsmCilPropertyMapTable);
33565#ifndef DOCUMENTATION
33566AsmCilPropertyMapTable.useSmallHeader(
true);
33569#ifdef DOCUMENTATION
33574#ifndef DOCUMENTATION
33575 AsmCilPropertyMapTable.setDataPrototype(
33576 "std::vector<SgAsmCilPropertyMap*>",
"elements",
"",
33577 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33580 DECLARE_OTHERS(AsmCilPropertyMapTable);
33581#if defined(SgAsmCilPropertyMapTable_OTHERS) || defined(DOCUMENTATION)
33584#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33586 friend class boost::serialization::access;
33589 void serialize(S &s,
const unsigned ) {
33592 s & BOOST_SERIALIZATION_NVP(p_elements);
33598 std::vector<SgAsmCilPropertyMap*>
const& get_elements()
const;
33599 std::vector<SgAsmCilPropertyMap*>& get_elements();
33619#ifdef DOCUMENTATION
33628DECLARE_LEAF_CLASS(AsmCilPropertyMap);
33629IS_SERIALIZABLE(AsmCilPropertyMap);
33631#ifndef DOCUMENTATION
33632AsmCilPropertyMap.useSmallHeader(
true);
33635#ifdef DOCUMENTATION
33640#ifndef DOCUMENTATION
33641 AsmCilPropertyMap.setDataPrototype(
33642 "uint32_t",
"Parent",
"= 0",
33643 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33646#ifndef DOCUMENTATION
33647 AsmCilPropertyMap.setDataPrototype(
33648 "uint32_t",
"PropertyList",
"= 0",
33649 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33652 DECLARE_OTHERS(AsmCilPropertyMap);
33653#if defined(SgAsmCilPropertyMap_OTHERS) || defined(DOCUMENTATION)
33656#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33658 friend class boost::serialization::access;
33661 void serialize(S &s,
const unsigned ) {
33664 s & BOOST_SERIALIZATION_NVP(p_Parent);
33665 s & BOOST_SERIALIZATION_NVP(p_PropertyList);
33690 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33691 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33692 void dump(std::ostream&)
const;
33713#ifdef DOCUMENTATION
33722DECLARE_LEAF_CLASS(AsmCilProperty);
33723IS_SERIALIZABLE(AsmCilProperty);
33725#ifndef DOCUMENTATION
33726AsmCilProperty.useSmallHeader(
true);
33729#ifdef DOCUMENTATION
33734#ifndef DOCUMENTATION
33735 AsmCilProperty.setDataPrototype(
33736 "uint16_t",
"Flags",
"= 0",
33737 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33740#ifndef DOCUMENTATION
33741 AsmCilProperty.setDataPrototype(
33742 "uint32_t",
"Name",
"= 0",
33743 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33746#ifndef DOCUMENTATION
33747 AsmCilProperty.setDataPrototype(
33748 "uint32_t",
"Type",
"= 0",
33749 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33752 DECLARE_OTHERS(AsmCilProperty);
33753#if defined(SgAsmCilProperty_OTHERS) || defined(DOCUMENTATION)
33756#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33758 friend class boost::serialization::access;
33761 void serialize(S &s,
const unsigned ) {
33764 s & BOOST_SERIALIZATION_NVP(p_Flags);
33765 s & BOOST_SERIALIZATION_NVP(p_Name);
33766 s & BOOST_SERIALIZATION_NVP(p_Type);
33801 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33802 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33803 void dump(std::ostream&)
const;
33805 const std::uint8_t* get_Name_string()
const;
33806 const std::uint8_t* get_Type_blob()
const;
33824#ifdef DOCUMENTATION
33833DECLARE_LEAF_CLASS(AsmCilParamTable);
33834IS_SERIALIZABLE(AsmCilParamTable);
33836#ifndef DOCUMENTATION
33837AsmCilParamTable.useSmallHeader(
true);
33840#ifdef DOCUMENTATION
33845#ifndef DOCUMENTATION
33846 AsmCilParamTable.setDataPrototype(
33847 "std::vector<SgAsmCilParam*>",
"elements",
"",
33848 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
33851 DECLARE_OTHERS(AsmCilParamTable);
33852#if defined(SgAsmCilParamTable_OTHERS) || defined(DOCUMENTATION)
33855#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33857 friend class boost::serialization::access;
33860 void serialize(S &s,
const unsigned ) {
33863 s & BOOST_SERIALIZATION_NVP(p_elements);
33869 std::vector<SgAsmCilParam*>
const& get_elements()
const;
33870 std::vector<SgAsmCilParam*>& get_elements();
33890#ifdef DOCUMENTATION
33899DECLARE_LEAF_CLASS(AsmCilParam);
33900IS_SERIALIZABLE(AsmCilParam);
33902#ifndef DOCUMENTATION
33903AsmCilParam.useSmallHeader(
true);
33906#ifdef DOCUMENTATION
33911#ifndef DOCUMENTATION
33912 AsmCilParam.setDataPrototype(
33913 "uint16_t",
"Flags",
"= 0",
33914 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33917#ifndef DOCUMENTATION
33918 AsmCilParam.setDataPrototype(
33919 "uint16_t",
"Sequence",
"= 0",
33920 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33923#ifndef DOCUMENTATION
33924 AsmCilParam.setDataPrototype(
33925 "uint32_t",
"Name",
"= 0",
33926 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
33929 DECLARE_OTHERS(AsmCilParam);
33930#if defined(SgAsmCilParam_OTHERS) || defined(DOCUMENTATION)
33933#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
33935 friend class boost::serialization::access;
33938 void serialize(S &s,
const unsigned ) {
33941 s & BOOST_SERIALIZATION_NVP(p_Flags);
33942 s & BOOST_SERIALIZATION_NVP(p_Sequence);
33943 s & BOOST_SERIALIZATION_NVP(p_Name);
33978 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
33979 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
33980 void dump(std::ostream&)
const;
33982 const std::uint8_t* get_Name_string()
const;
34000#ifdef DOCUMENTATION
34009DECLARE_LEAF_CLASS(AsmCilNestedClassTable);
34010IS_SERIALIZABLE(AsmCilNestedClassTable);
34012#ifndef DOCUMENTATION
34013AsmCilNestedClassTable.useSmallHeader(
true);
34016#ifdef DOCUMENTATION
34021#ifndef DOCUMENTATION
34022 AsmCilNestedClassTable.setDataPrototype(
34023 "std::vector<SgAsmCilNestedClass*>",
"elements",
"",
34024 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34027 DECLARE_OTHERS(AsmCilNestedClassTable);
34028#if defined(SgAsmCilNestedClassTable_OTHERS) || defined(DOCUMENTATION)
34031#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34033 friend class boost::serialization::access;
34036 void serialize(S &s,
const unsigned ) {
34039 s & BOOST_SERIALIZATION_NVP(p_elements);
34045 std::vector<SgAsmCilNestedClass*>
const& get_elements()
const;
34046 std::vector<SgAsmCilNestedClass*>& get_elements();
34066#ifdef DOCUMENTATION
34075DECLARE_LEAF_CLASS(AsmCilNestedClass);
34076IS_SERIALIZABLE(AsmCilNestedClass);
34078#ifndef DOCUMENTATION
34079AsmCilNestedClass.useSmallHeader(
true);
34082#ifdef DOCUMENTATION
34087#ifndef DOCUMENTATION
34088 AsmCilNestedClass.setDataPrototype(
34089 "uint32_t",
"NestedClass",
"= 0",
34090 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34093#ifndef DOCUMENTATION
34094 AsmCilNestedClass.setDataPrototype(
34095 "uint32_t",
"EnclosingClass",
"= 0",
34096 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34099 DECLARE_OTHERS(AsmCilNestedClass);
34100#if defined(SgAsmCilNestedClass_OTHERS) || defined(DOCUMENTATION)
34103#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34105 friend class boost::serialization::access;
34108 void serialize(S &s,
const unsigned ) {
34111 s & BOOST_SERIALIZATION_NVP(p_NestedClass);
34112 s & BOOST_SERIALIZATION_NVP(p_EnclosingClass);
34137 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34138 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34139 void dump(std::ostream&)
const;
34160#ifdef DOCUMENTATION
34169DECLARE_LEAF_CLASS(AsmCilModuleTable);
34170IS_SERIALIZABLE(AsmCilModuleTable);
34172#ifndef DOCUMENTATION
34173AsmCilModuleTable.useSmallHeader(
true);
34176#ifdef DOCUMENTATION
34181#ifndef DOCUMENTATION
34182 AsmCilModuleTable.setDataPrototype(
34183 "std::vector<SgAsmCilModule*>",
"elements",
"",
34184 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34187 DECLARE_OTHERS(AsmCilModuleTable);
34188#if defined(SgAsmCilModuleTable_OTHERS) || defined(DOCUMENTATION)
34191#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34193 friend class boost::serialization::access;
34196 void serialize(S &s,
const unsigned ) {
34199 s & BOOST_SERIALIZATION_NVP(p_elements);
34205 std::vector<SgAsmCilModule*>
const& get_elements()
const;
34206 std::vector<SgAsmCilModule*>& get_elements();
34226#ifdef DOCUMENTATION
34235DECLARE_LEAF_CLASS(AsmCilModuleRefTable);
34236IS_SERIALIZABLE(AsmCilModuleRefTable);
34238#ifndef DOCUMENTATION
34239AsmCilModuleRefTable.useSmallHeader(
true);
34242#ifdef DOCUMENTATION
34247#ifndef DOCUMENTATION
34248 AsmCilModuleRefTable.setDataPrototype(
34249 "std::vector<SgAsmCilModuleRef*>",
"elements",
"",
34250 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34253 DECLARE_OTHERS(AsmCilModuleRefTable);
34254#if defined(SgAsmCilModuleRefTable_OTHERS) || defined(DOCUMENTATION)
34257#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34259 friend class boost::serialization::access;
34262 void serialize(S &s,
const unsigned ) {
34265 s & BOOST_SERIALIZATION_NVP(p_elements);
34271 std::vector<SgAsmCilModuleRef*>
const& get_elements()
const;
34272 std::vector<SgAsmCilModuleRef*>& get_elements();
34292#ifdef DOCUMENTATION
34301DECLARE_LEAF_CLASS(AsmCilModuleRef);
34302IS_SERIALIZABLE(AsmCilModuleRef);
34304#ifndef DOCUMENTATION
34305AsmCilModuleRef.useSmallHeader(
true);
34308#ifdef DOCUMENTATION
34313#ifndef DOCUMENTATION
34314 AsmCilModuleRef.setDataPrototype(
34315 "uint32_t",
"Name",
"= 0",
34316 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34319 DECLARE_OTHERS(AsmCilModuleRef);
34320#if defined(SgAsmCilModuleRef_OTHERS) || defined(DOCUMENTATION)
34323#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34325 friend class boost::serialization::access;
34328 void serialize(S &s,
const unsigned ) {
34331 s & BOOST_SERIALIZATION_NVP(p_Name);
34346 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34347 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34348 void dump(std::ostream&)
const;
34350 const std::uint8_t* get_Name_string()
const;
34368#ifdef DOCUMENTATION
34377DECLARE_LEAF_CLASS(AsmCilModule);
34378IS_SERIALIZABLE(AsmCilModule);
34380#ifndef DOCUMENTATION
34381AsmCilModule.useSmallHeader(
true);
34384#ifdef DOCUMENTATION
34389#ifndef DOCUMENTATION
34390 AsmCilModule.setDataPrototype(
34391 "uint16_t",
"Generation",
"= 0",
34392 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34395#ifndef DOCUMENTATION
34396 AsmCilModule.setDataPrototype(
34397 "uint32_t",
"Name",
"= 0",
34398 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34401#ifndef DOCUMENTATION
34402 AsmCilModule.setDataPrototype(
34403 "uint32_t",
"Mvid",
"= 0",
34404 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34407#ifndef DOCUMENTATION
34408 AsmCilModule.setDataPrototype(
34409 "uint32_t",
"Encld",
"= 0",
34410 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34413#ifndef DOCUMENTATION
34414 AsmCilModule.setDataPrototype(
34415 "uint32_t",
"EncBaseId",
"= 0",
34416 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34419 DECLARE_OTHERS(AsmCilModule);
34420#if defined(SgAsmCilModule_OTHERS) || defined(DOCUMENTATION)
34423#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34425 friend class boost::serialization::access;
34428 void serialize(S &s,
const unsigned ) {
34431 s & BOOST_SERIALIZATION_NVP(p_Generation);
34432 s & BOOST_SERIALIZATION_NVP(p_Name);
34433 s & BOOST_SERIALIZATION_NVP(p_Mvid);
34434 s & BOOST_SERIALIZATION_NVP(p_Encld);
34435 s & BOOST_SERIALIZATION_NVP(p_EncBaseId);
34490 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34491 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34492 void dump(std::ostream&)
const;
34494 const std::uint8_t* get_Name_string()
const;
34495 const std::uint32_t* get_Mvid_guid()
const;
34496 const std::uint32_t* get_Encld_guid()
const;
34497 const std::uint32_t* get_EncBaseId_guid()
const;
34515#ifdef DOCUMENTATION
34524DECLARE_LEAF_CLASS(AsmCilMethodSpecTable);
34525IS_SERIALIZABLE(AsmCilMethodSpecTable);
34527#ifndef DOCUMENTATION
34528AsmCilMethodSpecTable.useSmallHeader(
true);
34531#ifdef DOCUMENTATION
34536#ifndef DOCUMENTATION
34537 AsmCilMethodSpecTable.setDataPrototype(
34538 "std::vector<SgAsmCilMethodSpec*>",
"elements",
"",
34539 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34542 DECLARE_OTHERS(AsmCilMethodSpecTable);
34543#if defined(SgAsmCilMethodSpecTable_OTHERS) || defined(DOCUMENTATION)
34546#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34548 friend class boost::serialization::access;
34551 void serialize(S &s,
const unsigned ) {
34554 s & BOOST_SERIALIZATION_NVP(p_elements);
34560 std::vector<SgAsmCilMethodSpec*>
const& get_elements()
const;
34561 std::vector<SgAsmCilMethodSpec*>& get_elements();
34581#ifdef DOCUMENTATION
34590DECLARE_LEAF_CLASS(AsmCilMethodSpec);
34591IS_SERIALIZABLE(AsmCilMethodSpec);
34593#ifndef DOCUMENTATION
34594AsmCilMethodSpec.useSmallHeader(
true);
34597#ifdef DOCUMENTATION
34602#ifndef DOCUMENTATION
34603 AsmCilMethodSpec.setDataPrototype(
34604 "uint32_t",
"Method",
"= 0",
34605 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34608#ifndef DOCUMENTATION
34609 AsmCilMethodSpec.setDataPrototype(
34610 "uint32_t",
"Instantiation",
"= 0",
34611 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34614 DECLARE_OTHERS(AsmCilMethodSpec);
34615#if defined(SgAsmCilMethodSpec_OTHERS) || defined(DOCUMENTATION)
34618#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34620 friend class boost::serialization::access;
34623 void serialize(S &s,
const unsigned ) {
34626 s & BOOST_SERIALIZATION_NVP(p_Method);
34627 s & BOOST_SERIALIZATION_NVP(p_Instantiation);
34652 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34653 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34654 void dump(std::ostream&)
const;
34657 const std::uint8_t* get_Instantiation_blob()
const;
34675#ifdef DOCUMENTATION
34684DECLARE_LEAF_CLASS(AsmCilMethodSemanticsTable);
34685IS_SERIALIZABLE(AsmCilMethodSemanticsTable);
34687#ifndef DOCUMENTATION
34688AsmCilMethodSemanticsTable.useSmallHeader(
true);
34691#ifdef DOCUMENTATION
34696#ifndef DOCUMENTATION
34697 AsmCilMethodSemanticsTable.setDataPrototype(
34698 "std::vector<SgAsmCilMethodSemantics*>",
"elements",
"",
34699 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34702 DECLARE_OTHERS(AsmCilMethodSemanticsTable);
34703#if defined(SgAsmCilMethodSemanticsTable_OTHERS) || defined(DOCUMENTATION)
34706#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34708 friend class boost::serialization::access;
34711 void serialize(S &s,
const unsigned ) {
34714 s & BOOST_SERIALIZATION_NVP(p_elements);
34720 std::vector<SgAsmCilMethodSemantics*>
const& get_elements()
const;
34721 std::vector<SgAsmCilMethodSemantics*>& get_elements();
34741#ifdef DOCUMENTATION
34750DECLARE_LEAF_CLASS(AsmCilMethodSemantics);
34751IS_SERIALIZABLE(AsmCilMethodSemantics);
34753#ifndef DOCUMENTATION
34754AsmCilMethodSemantics.useSmallHeader(
true);
34757#ifdef DOCUMENTATION
34762#ifndef DOCUMENTATION
34763 AsmCilMethodSemantics.setDataPrototype(
34764 "uint16_t",
"Semantics",
"= 0",
34765 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34768#ifndef DOCUMENTATION
34769 AsmCilMethodSemantics.setDataPrototype(
34770 "uint32_t",
"Method",
"= 0",
34771 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34774#ifndef DOCUMENTATION
34775 AsmCilMethodSemantics.setDataPrototype(
34776 "uint32_t",
"Association",
"= 0",
34777 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34780 DECLARE_OTHERS(AsmCilMethodSemantics);
34781#if defined(SgAsmCilMethodSemantics_OTHERS) || defined(DOCUMENTATION)
34784#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34786 friend class boost::serialization::access;
34789 void serialize(S &s,
const unsigned ) {
34792 s & BOOST_SERIALIZATION_NVP(p_Semantics);
34793 s & BOOST_SERIALIZATION_NVP(p_Method);
34794 s & BOOST_SERIALIZATION_NVP(p_Association);
34829 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
34830 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
34831 void dump(std::ostream&)
const;
34852#ifdef DOCUMENTATION
34861DECLARE_LEAF_CLASS(AsmCilMethodImplTable);
34862IS_SERIALIZABLE(AsmCilMethodImplTable);
34864#ifndef DOCUMENTATION
34865AsmCilMethodImplTable.useSmallHeader(
true);
34868#ifdef DOCUMENTATION
34873#ifndef DOCUMENTATION
34874 AsmCilMethodImplTable.setDataPrototype(
34875 "std::vector<SgAsmCilMethodImpl*>",
"elements",
"",
34876 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
34879 DECLARE_OTHERS(AsmCilMethodImplTable);
34880#if defined(SgAsmCilMethodImplTable_OTHERS) || defined(DOCUMENTATION)
34883#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34885 friend class boost::serialization::access;
34888 void serialize(S &s,
const unsigned ) {
34891 s & BOOST_SERIALIZATION_NVP(p_elements);
34897 std::vector<SgAsmCilMethodImpl*>
const& get_elements()
const;
34898 std::vector<SgAsmCilMethodImpl*>& get_elements();
34918#ifdef DOCUMENTATION
34927DECLARE_LEAF_CLASS(AsmCilMethodImpl);
34928IS_SERIALIZABLE(AsmCilMethodImpl);
34930#ifndef DOCUMENTATION
34931AsmCilMethodImpl.useSmallHeader(
true);
34934#ifdef DOCUMENTATION
34939#ifndef DOCUMENTATION
34940 AsmCilMethodImpl.setDataPrototype(
34941 "uint32_t",
"Class",
"= 0",
34942 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34945#ifndef DOCUMENTATION
34946 AsmCilMethodImpl.setDataPrototype(
34947 "uint32_t",
"MethodBody",
"= 0",
34948 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34951#ifndef DOCUMENTATION
34952 AsmCilMethodImpl.setDataPrototype(
34953 "uint32_t",
"MethodDeclaration",
"= 0",
34954 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
34957 DECLARE_OTHERS(AsmCilMethodImpl);
34958#if defined(SgAsmCilMethodImpl_OTHERS) || defined(DOCUMENTATION)
34961#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
34963 friend class boost::serialization::access;
34966 void serialize(S &s,
const unsigned ) {
34969 s & BOOST_SERIALIZATION_NVP(p_Class);
34970 s & BOOST_SERIALIZATION_NVP(p_MethodBody);
34971 s & BOOST_SERIALIZATION_NVP(p_MethodDeclaration);
35006 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
35007 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
35008 void dump(std::ostream&)
const;
35030#ifdef DOCUMENTATION
35039DECLARE_LEAF_CLASS(AsmCilMethodDefTable);
35040IS_SERIALIZABLE(AsmCilMethodDefTable);
35042#ifndef DOCUMENTATION
35043AsmCilMethodDefTable.useSmallHeader(
true);
35046#ifdef DOCUMENTATION
35051#ifndef DOCUMENTATION
35052 AsmCilMethodDefTable.setDataPrototype(
35053 "std::vector<SgAsmCilMethodDef*>",
"elements",
"",
35054 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35057 DECLARE_OTHERS(AsmCilMethodDefTable);
35058#if defined(SgAsmCilMethodDefTable_OTHERS) || defined(DOCUMENTATION)
35061#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
35063 friend class boost::serialization::access;
35066 void serialize(S &s,
const unsigned ) {
35069 s & BOOST_SERIALIZATION_NVP(p_elements);
35075 std::vector<SgAsmCilMethodDef*>
const& get_elements()
const;
35076 std::vector<SgAsmCilMethodDef*>& get_elements();
35096#ifdef DOCUMENTATION
35105DECLARE_LEAF_CLASS(AsmCilMethodDef);
35106IS_SERIALIZABLE(AsmCilMethodDef);
35108#ifndef DOCUMENTATION
35109AsmCilMethodDef.useSmallHeader(
true);
35112#ifdef DOCUMENTATION
35117#ifndef DOCUMENTATION
35118 AsmCilMethodDef.setDataPrototype(
35119 "uint32_t",
"RVA",
"= 0",
35120 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35123#ifndef DOCUMENTATION
35124 AsmCilMethodDef.setDataPrototype(
35125 "uint16_t",
"ImplFlags",
"= 0",
35126 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35129#ifndef DOCUMENTATION
35130 AsmCilMethodDef.setDataPrototype(
35131 "uint16_t",
"Flags",
"= 0",
35132 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35135#ifndef DOCUMENTATION
35136 AsmCilMethodDef.setDataPrototype(
35137 "uint32_t",
"Name",
"= 0",
35138 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35141#ifndef DOCUMENTATION
35142 AsmCilMethodDef.setDataPrototype(
35143 "uint32_t",
"Signature",
"= 0",
35144 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35147#ifndef DOCUMENTATION
35148 AsmCilMethodDef.setDataPrototype(
35149 "uint32_t",
"ParamList",
"= 0",
35150 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35153#ifndef DOCUMENTATION
35154 AsmCilMethodDef.setDataPrototype(
35155 "SgAsmBlock*",
"body",
"= 0",
35156 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35159#ifndef DOCUMENTATION
35160 AsmCilMethodDef.setDataPrototype(
35161 "bool",
"initLocals",
"= 0",
35162 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35165#ifndef DOCUMENTATION
35166 AsmCilMethodDef.setDataPrototype(
35167 "uint32_t",
"stackSize",
"= 0",
35168 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35171#ifndef DOCUMENTATION
35172 AsmCilMethodDef.setDataPrototype(
35173 "bool",
"hasMoreSections",
"= 0",
35174 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35177#ifndef DOCUMENTATION
35178 AsmCilMethodDef.setDataPrototype(
35179 "uint32_t",
"localVarSigTok",
"= 0",
35180 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35183#ifndef DOCUMENTATION
35184 AsmCilMethodDef.setDataPrototype(
35185 "std::vector<SgAsmCilMethodData*>",
"methodData",
"",
35186 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35189#ifndef DOCUMENTATION
35190 AsmCilMethodDef.setDataPrototype(
35191 "int",
"bodyState",
"= BDY_NOT_PROCESSED",
35192 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35195 DECLARE_OTHERS(AsmCilMethodDef);
35196#if defined(SgAsmCilMethodDef_OTHERS) || defined(DOCUMENTATION)
35199#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
35201 friend class boost::serialization::access;
35204 void serialize(S &s,
const unsigned ) {
35207 s & BOOST_SERIALIZATION_NVP(p_RVA);
35208 s & BOOST_SERIALIZATION_NVP(p_ImplFlags);
35209 s & BOOST_SERIALIZATION_NVP(p_Flags);
35210 s & BOOST_SERIALIZATION_NVP(p_Name);
35211 s & BOOST_SERIALIZATION_NVP(p_Signature);
35212 s & BOOST_SERIALIZATION_NVP(p_ParamList);
35213 s & BOOST_SERIALIZATION_NVP(p_body);
35214 s & BOOST_SERIALIZATION_NVP(p_initLocals);
35215 s & BOOST_SERIALIZATION_NVP(p_stackSize);
35216 s & BOOST_SERIALIZATION_NVP(p_hasMoreSections);
35217 s & BOOST_SERIALIZATION_NVP(p_localVarSigTok);
35218 s & BOOST_SERIALIZATION_NVP(p_methodData);
35219 s & BOOST_SERIALIZATION_NVP(p_bodyState);
35224 using BodyState = int;
35382 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
35383 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
35384 void dump(std::ostream&)
const;
35386 const std::uint8_t* get_Name_string()
const;
35387 const std::uint8_t* get_Signature_blob()
const;
35406#ifdef DOCUMENTATION
35415DECLARE_LEAF_CLASS(AsmCilMethodData);
35416IS_SERIALIZABLE(AsmCilMethodData);
35418#ifndef DOCUMENTATION
35419AsmCilMethodData.useSmallHeader(
true);
35422DECLARE_HEADERS(AsmCilMethodData);
35423#if defined(SgAsmCilMethodData_HEADERS) || defined(DOCUMENTATION)
35427#ifdef DOCUMENTATION
35435#ifndef DOCUMENTATION
35436 AsmCilMethodData.setDataPrototype(
35437 "uint64_t",
"kind",
"= 0",
35438 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35441#ifndef DOCUMENTATION
35442 AsmCilMethodData.setDataPrototype(
35443 "std::uint32_t",
"dataSize",
"= 0",
35444 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35447#ifndef DOCUMENTATION
35448 AsmCilMethodData.setDataPrototype(
35449 "std::vector<SgAsmCilExceptionData*>",
"clauses",
"",
35450 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35453 DECLARE_OTHERS(AsmCilMethodData);
35454#if defined(SgAsmCilMethodData_OTHERS) || defined(DOCUMENTATION)
35457#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
35459 friend class boost::serialization::access;
35462 void serialize(S &s,
const unsigned ) {
35464 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
35465 s & BOOST_SERIALIZATION_NVP(p_kind);
35466 s & BOOST_SERIALIZATION_NVP(p_dataSize);
35467 s & BOOST_SERIALIZATION_NVP(p_clauses);
35474 CorILMethod_Sect_EHTable = 0x01,
35475 CorILMethod_Sect_OptILTable = 0x02,
35476 CorILMethod_Sect_FatFormat = 0x40,
35477 CorILMethod_Sect_MoreSects = 0x80,
35482 uint64_t
const& get_kind()
const;
35483 void set_kind(uint64_t
const&);
35486 std::uint32_t
const& get_dataSize()
const;
35487 void set_dataSize(std::uint32_t
const&);
35490 std::vector<SgAsmCilExceptionData*>
const& get_Clauses()
const;
35491 std::vector<SgAsmCilExceptionData*>& get_Clauses();
35493 bool isEHTable()
const
35495 return (p_kind & CorILMethod_Sect_EHTable) == CorILMethod_Sect_EHTable;
35498 bool isOptILTable()
const
35500 const bool res = (p_kind & CorILMethod_Sect_OptILTable) == CorILMethod_Sect_OptILTable;
35502 ASSERT_require(!res);
35506 bool usesFatFormat()
const
35508 return (p_kind & CorILMethod_Sect_FatFormat) == CorILMethod_Sect_FatFormat;
35511 bool hasMoreSections()
const
35513 return (p_kind & CorILMethod_Sect_MoreSects) == CorILMethod_Sect_MoreSects;
35532#ifdef DOCUMENTATION
35541DECLARE_LEAF_CLASS(AsmCilMetadataRoot);
35542IS_SERIALIZABLE(AsmCilMetadataRoot);
35544#ifndef DOCUMENTATION
35545AsmCilMetadataRoot.useSmallHeader(
true);
35548#ifdef DOCUMENTATION
35553#ifndef DOCUMENTATION
35554 AsmCilMetadataRoot.setDataPrototype(
35555 "uint32_t",
"Signature",
"= 0",
35556 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35559#ifndef DOCUMENTATION
35560 AsmCilMetadataRoot.setDataPrototype(
35561 "uint16_t",
"MajorVersion",
"= 0",
35562 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35565#ifndef DOCUMENTATION
35566 AsmCilMetadataRoot.setDataPrototype(
35567 "uint16_t",
"MinorVersion",
"= 0",
35568 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35571#ifndef DOCUMENTATION
35572 AsmCilMetadataRoot.setDataPrototype(
35573 "uint32_t",
"Reserved0",
"= 0",
35574 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35577#ifndef DOCUMENTATION
35578 AsmCilMetadataRoot.setDataPrototype(
35579 "uint32_t",
"Length",
"= 0",
35580 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35583#ifndef DOCUMENTATION
35584 AsmCilMetadataRoot.setDataPrototype(
35585 "std::string",
"Version",
"",
35586 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35589#ifndef DOCUMENTATION
35590 AsmCilMetadataRoot.setDataPrototype(
35591 "uint32_t",
"VersionPadding",
"= 0",
35592 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35595#ifndef DOCUMENTATION
35596 AsmCilMetadataRoot.setDataPrototype(
35597 "uint16_t",
"Flags",
"= 0",
35598 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35601#ifndef DOCUMENTATION
35602 AsmCilMetadataRoot.setDataPrototype(
35603 "uint16_t",
"NumberOfStreams",
"= 0",
35604 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35607#ifndef DOCUMENTATION
35608 AsmCilMetadataRoot.setDataPrototype(
35609 "std::vector<SgAsmCilDataStream*>",
"Streams",
"",
35610 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35613#ifndef DOCUMENTATION
35614 AsmCilMetadataRoot.setDataPrototype(
35615 "bool",
"ErrorFree",
"= true",
35616 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35619 DECLARE_OTHERS(AsmCilMetadataRoot);
35620#if defined(SgAsmCilMetadataRoot_OTHERS) || defined(DOCUMENTATION)
35623#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
35625 friend class boost::serialization::access;
35628 void serialize(S &s,
const unsigned ) {
35630 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
35631 s & BOOST_SERIALIZATION_NVP(p_Signature);
35632 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
35633 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
35634 s & BOOST_SERIALIZATION_NVP(p_Reserved0);
35635 s & BOOST_SERIALIZATION_NVP(p_Length);
35636 s & BOOST_SERIALIZATION_NVP(p_Version);
35637 s & BOOST_SERIALIZATION_NVP(p_VersionPadding);
35638 s & BOOST_SERIALIZATION_NVP(p_Flags);
35639 s & BOOST_SERIALIZATION_NVP(p_NumberOfStreams);
35640 s & BOOST_SERIALIZATION_NVP(p_Streams);
35641 s & BOOST_SERIALIZATION_NVP(p_ErrorFree);
35736 mutable int8_t idxStringHeap = -1;
35737 mutable int8_t idxBlobHeap = -1;
35738 mutable int8_t idxUsHeap = -1;
35739 mutable int8_t idxGuidHeap = -1;
35740 mutable int8_t idxMetadataHeap = -1;
35758 void parse(
const std::vector<uint8_t>& buf,
size_t index);
35764 void unparse(std::vector<uint8_t>&, std::size_t)
const;
35795#ifdef DOCUMENTATION
35804DECLARE_LEAF_CLASS(AsmCilMetadataHeap);
35805IS_SERIALIZABLE(AsmCilMetadataHeap);
35807#ifndef DOCUMENTATION
35808AsmCilMetadataHeap.useSmallHeader(
true);
35811DECLARE_HEADERS(AsmCilMetadataHeap);
35812#if defined(SgAsmCilMetadataHeap_HEADERS) || defined(DOCUMENTATION)
35813#ifdef ROSE_SgAsmCilMetadataHeap_IMPL
35814#include <SgAsmCilAssemblyTable.h>
35815#include <SgAsmCilAssemblyOSTable.h>
35816#include <SgAsmCilAssemblyProcessorTable.h>
35817#include <SgAsmCilAssemblyRefTable.h>
35818#include <SgAsmCilAssemblyRefOSTable.h>
35819#include <SgAsmCilAssemblyRefProcessorTable.h>
35820#include <SgAsmCilClassLayoutTable.h>
35821#include <SgAsmCilConstantTable.h>
35822#include <SgAsmCilCustomAttributeTable.h>
35823#include <SgAsmCilDeclSecurityTable.h>
35824#include <SgAsmCilEventTable.h>
35825#include <SgAsmCilEventMapTable.h>
35826#include <SgAsmCilExportedTypeTable.h>
35827#include <SgAsmCilFieldTable.h>
35828#include <SgAsmCilFieldLayoutTable.h>
35829#include <SgAsmCilFieldMarshalTable.h>
35830#include <SgAsmCilFieldRVATable.h>
35831#include <SgAsmCilFileTable.h>
35832#include <SgAsmCilGenericParamTable.h>
35833#include <SgAsmCilGenericParamConstraintTable.h>
35834#include <SgAsmCilImplMapTable.h>
35835#include <SgAsmCilInterfaceImplTable.h>
35836#include <SgAsmCilManifestResourceTable.h>
35837#include <SgAsmCilMemberRefTable.h>
35838#include <SgAsmCilMethodDefTable.h>
35839#include <SgAsmCilMethodImplTable.h>
35840#include <SgAsmCilMethodSemanticsTable.h>
35841#include <SgAsmCilMethodSpecTable.h>
35842#include <SgAsmCilModuleTable.h>
35843#include <SgAsmCilModuleRefTable.h>
35844#include <SgAsmCilNestedClassTable.h>
35845#include <SgAsmCilParamTable.h>
35846#include <SgAsmCilPropertyTable.h>
35847#include <SgAsmCilPropertyMapTable.h>
35848#include <SgAsmCilStandAloneSigTable.h>
35849#include <SgAsmCilTypeDefTable.h>
35850#include <SgAsmCilTypeRefTable.h>
35851#include <SgAsmCilTypeSpecTable.h>
35855#ifdef DOCUMENTATION
35860#ifndef DOCUMENTATION
35861 AsmCilMetadataHeap.setDataPrototype(
35862 "uint32_t",
"ReservedAlwaysZero",
"= 0",
35863 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35866#ifndef DOCUMENTATION
35867 AsmCilMetadataHeap.setDataPrototype(
35868 "uint8_t",
"MajorVersion",
"= 0",
35869 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35872#ifndef DOCUMENTATION
35873 AsmCilMetadataHeap.setDataPrototype(
35874 "uint8_t",
"MinorVersion",
"= 0",
35875 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35878#ifndef DOCUMENTATION
35879 AsmCilMetadataHeap.setDataPrototype(
35880 "uint8_t",
"HeapSizes",
"= 0",
35881 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35884#ifndef DOCUMENTATION
35885 AsmCilMetadataHeap.setDataPrototype(
35886 "uint8_t",
"ReservedAlwaysOne",
"= 0",
35887 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35890#ifndef DOCUMENTATION
35891 AsmCilMetadataHeap.setDataPrototype(
35892 "uint64_t",
"Valid",
"= 0",
35893 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35896#ifndef DOCUMENTATION
35897 AsmCilMetadataHeap.setDataPrototype(
35898 "uint64_t",
"Sorted",
"= 0",
35899 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35902#ifndef DOCUMENTATION
35903 AsmCilMetadataHeap.setDataPrototype(
35904 "std::vector<uint32_t>",
"NumberOfRows",
"",
35905 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35908#ifndef DOCUMENTATION
35909 AsmCilMetadataHeap.setDataPrototype(
35910 "uint64_t",
"DataSizeFlags",
"= 0",
35911 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
35914#ifndef DOCUMENTATION
35915 AsmCilMetadataHeap.setDataPrototype(
35916 "SgAsmCilAssemblyTable*",
"AssemblyTable",
"",
35917 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35920#ifndef DOCUMENTATION
35921 AsmCilMetadataHeap.setDataPrototype(
35922 "SgAsmCilAssemblyOSTable*",
"AssemblyOSTable",
"",
35923 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35926#ifndef DOCUMENTATION
35927 AsmCilMetadataHeap.setDataPrototype(
35928 "SgAsmCilAssemblyProcessorTable*",
"AssemblyProcessorTable",
"",
35929 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35932#ifndef DOCUMENTATION
35933 AsmCilMetadataHeap.setDataPrototype(
35934 "SgAsmCilAssemblyRefTable*",
"AssemblyRefTable",
"",
35935 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35938#ifndef DOCUMENTATION
35939 AsmCilMetadataHeap.setDataPrototype(
35940 "SgAsmCilAssemblyRefOSTable*",
"AssemblyRefOSTable",
"",
35941 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35944#ifndef DOCUMENTATION
35945 AsmCilMetadataHeap.setDataPrototype(
35946 "SgAsmCilAssemblyRefProcessorTable*",
"AssemblyRefProcessorTable",
"",
35947 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35950#ifndef DOCUMENTATION
35951 AsmCilMetadataHeap.setDataPrototype(
35952 "SgAsmCilClassLayoutTable*",
"ClassLayoutTable",
"",
35953 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35956#ifndef DOCUMENTATION
35957 AsmCilMetadataHeap.setDataPrototype(
35958 "SgAsmCilConstantTable*",
"ConstantTable",
"",
35959 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35962#ifndef DOCUMENTATION
35963 AsmCilMetadataHeap.setDataPrototype(
35964 "SgAsmCilCustomAttributeTable*",
"CustomAttributeTable",
"",
35965 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35968#ifndef DOCUMENTATION
35969 AsmCilMetadataHeap.setDataPrototype(
35970 "SgAsmCilDeclSecurityTable*",
"DeclSecurityTable",
"",
35971 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35974#ifndef DOCUMENTATION
35975 AsmCilMetadataHeap.setDataPrototype(
35976 "SgAsmCilEventTable*",
"EventTable",
"",
35977 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35980#ifndef DOCUMENTATION
35981 AsmCilMetadataHeap.setDataPrototype(
35982 "SgAsmCilEventMapTable*",
"EventMapTable",
"",
35983 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35986#ifndef DOCUMENTATION
35987 AsmCilMetadataHeap.setDataPrototype(
35988 "SgAsmCilExportedTypeTable*",
"ExportedTypeTable",
"",
35989 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35992#ifndef DOCUMENTATION
35993 AsmCilMetadataHeap.setDataPrototype(
35994 "SgAsmCilFieldTable*",
"FieldTable",
"",
35995 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
35998#ifndef DOCUMENTATION
35999 AsmCilMetadataHeap.setDataPrototype(
36000 "SgAsmCilFieldLayoutTable*",
"FieldLayoutTable",
"",
36001 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36004#ifndef DOCUMENTATION
36005 AsmCilMetadataHeap.setDataPrototype(
36006 "SgAsmCilFieldMarshalTable*",
"FieldMarshalTable",
"",
36007 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36010#ifndef DOCUMENTATION
36011 AsmCilMetadataHeap.setDataPrototype(
36012 "SgAsmCilFieldRVATable*",
"FieldRVATable",
"",
36013 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36016#ifndef DOCUMENTATION
36017 AsmCilMetadataHeap.setDataPrototype(
36018 "SgAsmCilFileTable*",
"FileTable",
"",
36019 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36022#ifndef DOCUMENTATION
36023 AsmCilMetadataHeap.setDataPrototype(
36024 "SgAsmCilGenericParamTable*",
"GenericParamTable",
"",
36025 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36028#ifndef DOCUMENTATION
36029 AsmCilMetadataHeap.setDataPrototype(
36030 "SgAsmCilGenericParamConstraintTable*",
"GenericParamConstraintTable",
"",
36031 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36034#ifndef DOCUMENTATION
36035 AsmCilMetadataHeap.setDataPrototype(
36036 "SgAsmCilImplMapTable*",
"ImplMapTable",
"",
36037 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36040#ifndef DOCUMENTATION
36041 AsmCilMetadataHeap.setDataPrototype(
36042 "SgAsmCilInterfaceImplTable*",
"InterfaceImplTable",
"",
36043 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36046#ifndef DOCUMENTATION
36047 AsmCilMetadataHeap.setDataPrototype(
36048 "SgAsmCilManifestResourceTable*",
"ManifestResourceTable",
"",
36049 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36052#ifndef DOCUMENTATION
36053 AsmCilMetadataHeap.setDataPrototype(
36054 "SgAsmCilMemberRefTable*",
"MemberRefTable",
"",
36055 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36058#ifndef DOCUMENTATION
36059 AsmCilMetadataHeap.setDataPrototype(
36060 "SgAsmCilMethodDefTable*",
"MethodDefTable",
"",
36061 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36064#ifndef DOCUMENTATION
36065 AsmCilMetadataHeap.setDataPrototype(
36066 "SgAsmCilMethodImplTable*",
"MethodImplTable",
"",
36067 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36070#ifndef DOCUMENTATION
36071 AsmCilMetadataHeap.setDataPrototype(
36072 "SgAsmCilMethodSemanticsTable*",
"MethodSemanticsTable",
"",
36073 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36076#ifndef DOCUMENTATION
36077 AsmCilMetadataHeap.setDataPrototype(
36078 "SgAsmCilMethodSpecTable*",
"MethodSpecTable",
"",
36079 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36082#ifndef DOCUMENTATION
36083 AsmCilMetadataHeap.setDataPrototype(
36084 "SgAsmCilModuleTable*",
"ModuleTable",
"",
36085 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36088#ifndef DOCUMENTATION
36089 AsmCilMetadataHeap.setDataPrototype(
36090 "SgAsmCilModuleRefTable*",
"ModuleRefTable",
"",
36091 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36094#ifndef DOCUMENTATION
36095 AsmCilMetadataHeap.setDataPrototype(
36096 "SgAsmCilNestedClassTable*",
"NestedClassTable",
"",
36097 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36100#ifndef DOCUMENTATION
36101 AsmCilMetadataHeap.setDataPrototype(
36102 "SgAsmCilParamTable*",
"ParamTable",
"",
36103 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36106#ifndef DOCUMENTATION
36107 AsmCilMetadataHeap.setDataPrototype(
36108 "SgAsmCilPropertyTable*",
"PropertyTable",
"",
36109 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36112#ifndef DOCUMENTATION
36113 AsmCilMetadataHeap.setDataPrototype(
36114 "SgAsmCilPropertyMapTable*",
"PropertyMapTable",
"",
36115 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36118#ifndef DOCUMENTATION
36119 AsmCilMetadataHeap.setDataPrototype(
36120 "SgAsmCilStandAloneSigTable*",
"StandAloneSigTable",
"",
36121 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36124#ifndef DOCUMENTATION
36125 AsmCilMetadataHeap.setDataPrototype(
36126 "SgAsmCilTypeDefTable*",
"TypeDefTable",
"",
36127 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36130#ifndef DOCUMENTATION
36131 AsmCilMetadataHeap.setDataPrototype(
36132 "SgAsmCilTypeRefTable*",
"TypeRefTable",
"",
36133 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36136#ifndef DOCUMENTATION
36137 AsmCilMetadataHeap.setDataPrototype(
36138 "SgAsmCilTypeSpecTable*",
"TypeSpecTable",
"",
36139 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36142 DECLARE_OTHERS(AsmCilMetadataHeap);
36143#if defined(SgAsmCilMetadataHeap_OTHERS) || defined(DOCUMENTATION)
36146#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36148 friend class boost::serialization::access;
36151 void serialize(S &s,
const unsigned ) {
36154 s & BOOST_SERIALIZATION_NVP(p_ReservedAlwaysZero);
36155 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
36156 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
36157 s & BOOST_SERIALIZATION_NVP(p_HeapSizes);
36158 s & BOOST_SERIALIZATION_NVP(p_ReservedAlwaysOne);
36159 s & BOOST_SERIALIZATION_NVP(p_Valid);
36160 s & BOOST_SERIALIZATION_NVP(p_Sorted);
36161 s & BOOST_SERIALIZATION_NVP(p_NumberOfRows);
36162 s & BOOST_SERIALIZATION_NVP(p_DataSizeFlags);
36163 s & BOOST_SERIALIZATION_NVP(p_AssemblyTable);
36164 s & BOOST_SERIALIZATION_NVP(p_AssemblyOSTable);
36165 s & BOOST_SERIALIZATION_NVP(p_AssemblyProcessorTable);
36166 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefTable);
36167 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefOSTable);
36168 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefProcessorTable);
36169 s & BOOST_SERIALIZATION_NVP(p_ClassLayoutTable);
36170 s & BOOST_SERIALIZATION_NVP(p_ConstantTable);
36171 s & BOOST_SERIALIZATION_NVP(p_CustomAttributeTable);
36172 s & BOOST_SERIALIZATION_NVP(p_DeclSecurityTable);
36173 s & BOOST_SERIALIZATION_NVP(p_EventTable);
36174 s & BOOST_SERIALIZATION_NVP(p_EventMapTable);
36175 s & BOOST_SERIALIZATION_NVP(p_ExportedTypeTable);
36176 s & BOOST_SERIALIZATION_NVP(p_FieldTable);
36177 s & BOOST_SERIALIZATION_NVP(p_FieldLayoutTable);
36178 s & BOOST_SERIALIZATION_NVP(p_FieldMarshalTable);
36179 s & BOOST_SERIALIZATION_NVP(p_FieldRVATable);
36180 s & BOOST_SERIALIZATION_NVP(p_FileTable);
36181 s & BOOST_SERIALIZATION_NVP(p_GenericParamTable);
36182 s & BOOST_SERIALIZATION_NVP(p_GenericParamConstraintTable);
36183 s & BOOST_SERIALIZATION_NVP(p_ImplMapTable);
36184 s & BOOST_SERIALIZATION_NVP(p_InterfaceImplTable);
36185 s & BOOST_SERIALIZATION_NVP(p_ManifestResourceTable);
36186 s & BOOST_SERIALIZATION_NVP(p_MemberRefTable);
36187 s & BOOST_SERIALIZATION_NVP(p_MethodDefTable);
36188 s & BOOST_SERIALIZATION_NVP(p_MethodImplTable);
36189 s & BOOST_SERIALIZATION_NVP(p_MethodSemanticsTable);
36190 s & BOOST_SERIALIZATION_NVP(p_MethodSpecTable);
36191 s & BOOST_SERIALIZATION_NVP(p_ModuleTable);
36192 s & BOOST_SERIALIZATION_NVP(p_ModuleRefTable);
36193 s & BOOST_SERIALIZATION_NVP(p_NestedClassTable);
36194 s & BOOST_SERIALIZATION_NVP(p_ParamTable);
36195 s & BOOST_SERIALIZATION_NVP(p_PropertyTable);
36196 s & BOOST_SERIALIZATION_NVP(p_PropertyMapTable);
36197 s & BOOST_SERIALIZATION_NVP(p_StandAloneSigTable);
36198 s & BOOST_SERIALIZATION_NVP(p_TypeDefTable);
36199 s & BOOST_SERIALIZATION_NVP(p_TypeRefTable);
36200 s & BOOST_SERIALIZATION_NVP(p_TypeSpecTable);
36585 e_ref_string_heap = 1 << 0,
36586 e_ref_guid_heap = 1 << 1,
36587 e_ref_blob_heap = 1 << 2,
36589 e_ref_assembly_ref = 1 << 3,
36590 e_ref_type_def = 1 << 4,
36591 e_ref_event = 1 << 5,
36592 e_ref_field = 1 << 6,
36593 e_ref_generic_param = 1 << 7,
36594 e_ref_module_ref = 1 << 8,
36595 e_ref_method_def = 1 << 9,
36596 e_ref_param = 1 << 10,
36597 e_ref_property = 1 << 11,
36599 e_ref_has_constant = 1 << 12,
36600 e_ref_has_custom_attribute = 1 << 13,
36601 e_ref_has_decl_security = 1 << 14,
36602 e_ref_has_field_marshall = 1 << 15,
36603 e_ref_has_semantics = 1 << 16,
36604 e_ref_method_def_or_ref = 1 << 17,
36605 e_ref_type_def_or_ref = 1 << 18,
36606 e_ref_implementation = 1 << 19,
36607 e_ref_member_forwarded = 1 << 20,
36608 e_ref_member_ref_parent = 1 << 21,
36609 e_ref_type_or_method_def = 1 << 22,
36610 e_ref_custom_attribute_type = 1 << 23,
36611 e_ref_resolution_scope = 1 << 24,
36612 e_ref_last = 1 << 25,
36615 enum TableKind : std::uint8_t
36619 e_AssemblyOS = 0x22,
36620 e_AssemblyProcessor = 0x21,
36621 e_AssemblyRef = 0x23,
36622 e_AssemblyRefOS = 0x25,
36623 e_AssemblyRefProcessor = 0x24,
36624 e_ClassLayout = 0x0F,
36626 e_CustomAttribute = 0x0C,
36627 e_DeclSecurity = 0x0E,
36630 e_ExportedType = 0x27,
36632 e_FieldLayout = 0x10,
36633 e_FieldMarshal = 0x0D,
36636 e_GenericParam = 0x2A,
36637 e_GenericParamConstraint = 0x2C,
36639 e_InterfaceImpl = 0x09,
36640 e_ManifestResource = 0x28,
36641 e_MemberRef = 0x0A,
36642 e_MethodDef = 0x06,
36643 e_MethodImpl = 0x19,
36644 e_MethodSemantics = 0x18,
36645 e_MethodSpec = 0x2B,
36647 e_ModuleRef = 0x1A,
36648 e_NestedClass = 0x29,
36651 e_PropertyMap = 0x15,
36652 e_StandAloneSig = 0x11,
36656 e_Unknown_table_kind = 0xFF
36660 void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
36663 void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const override;
36666 void dump(std::ostream& os)
const override;
36695 uint32_t
const& Size,
36696 std::string
const& Name,
36697 uint32_t
const& NamePadding);
36708#ifdef DOCUMENTATION
36717DECLARE_LEAF_CLASS(AsmCilMemberRefTable);
36718IS_SERIALIZABLE(AsmCilMemberRefTable);
36720#ifndef DOCUMENTATION
36721AsmCilMemberRefTable.useSmallHeader(
true);
36724#ifdef DOCUMENTATION
36729#ifndef DOCUMENTATION
36730 AsmCilMemberRefTable.setDataPrototype(
36731 "std::vector<SgAsmCilMemberRef*>",
"elements",
"",
36732 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36735 DECLARE_OTHERS(AsmCilMemberRefTable);
36736#if defined(SgAsmCilMemberRefTable_OTHERS) || defined(DOCUMENTATION)
36739#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36741 friend class boost::serialization::access;
36744 void serialize(S &s,
const unsigned ) {
36747 s & BOOST_SERIALIZATION_NVP(p_elements);
36753 std::vector<SgAsmCilMemberRef*>
const& get_elements()
const;
36754 std::vector<SgAsmCilMemberRef*>& get_elements();
36774#ifdef DOCUMENTATION
36783DECLARE_LEAF_CLASS(AsmCilMemberRef);
36784IS_SERIALIZABLE(AsmCilMemberRef);
36786#ifndef DOCUMENTATION
36787AsmCilMemberRef.useSmallHeader(
true);
36790#ifdef DOCUMENTATION
36795#ifndef DOCUMENTATION
36796 AsmCilMemberRef.setDataPrototype(
36797 "uint32_t",
"Class",
"= 0",
36798 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36801#ifndef DOCUMENTATION
36802 AsmCilMemberRef.setDataPrototype(
36803 "uint32_t",
"Name",
"= 0",
36804 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36807#ifndef DOCUMENTATION
36808 AsmCilMemberRef.setDataPrototype(
36809 "uint32_t",
"Signature",
"= 0",
36810 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36813 DECLARE_OTHERS(AsmCilMemberRef);
36814#if defined(SgAsmCilMemberRef_OTHERS) || defined(DOCUMENTATION)
36817#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36819 friend class boost::serialization::access;
36822 void serialize(S &s,
const unsigned ) {
36825 s & BOOST_SERIALIZATION_NVP(p_Class);
36826 s & BOOST_SERIALIZATION_NVP(p_Name);
36827 s & BOOST_SERIALIZATION_NVP(p_Signature);
36862 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
36863 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
36864 void dump(std::ostream&)
const;
36867 const std::uint8_t* get_Name_string()
const;
36868 const std::uint8_t* get_Signature_blob()
const;
36886#ifdef DOCUMENTATION
36895DECLARE_LEAF_CLASS(AsmCilManifestResourceTable);
36896IS_SERIALIZABLE(AsmCilManifestResourceTable);
36898#ifndef DOCUMENTATION
36899AsmCilManifestResourceTable.useSmallHeader(
true);
36902#ifdef DOCUMENTATION
36907#ifndef DOCUMENTATION
36908 AsmCilManifestResourceTable.setDataPrototype(
36909 "std::vector<SgAsmCilManifestResource*>",
"elements",
"",
36910 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
36913 DECLARE_OTHERS(AsmCilManifestResourceTable);
36914#if defined(SgAsmCilManifestResourceTable_OTHERS) || defined(DOCUMENTATION)
36917#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
36919 friend class boost::serialization::access;
36922 void serialize(S &s,
const unsigned ) {
36925 s & BOOST_SERIALIZATION_NVP(p_elements);
36931 std::vector<SgAsmCilManifestResource*>
const& get_elements()
const;
36932 std::vector<SgAsmCilManifestResource*>& get_elements();
36952#ifdef DOCUMENTATION
36961DECLARE_LEAF_CLASS(AsmCilManifestResource);
36962IS_SERIALIZABLE(AsmCilManifestResource);
36964#ifndef DOCUMENTATION
36965AsmCilManifestResource.useSmallHeader(
true);
36968#ifdef DOCUMENTATION
36973#ifndef DOCUMENTATION
36974 AsmCilManifestResource.setDataPrototype(
36975 "uint32_t",
"Offset",
"= 0",
36976 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36979#ifndef DOCUMENTATION
36980 AsmCilManifestResource.setDataPrototype(
36981 "uint32_t",
"Flags",
"= 0",
36982 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36985#ifndef DOCUMENTATION
36986 AsmCilManifestResource.setDataPrototype(
36987 "uint32_t",
"Name",
"= 0",
36988 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36991#ifndef DOCUMENTATION
36992 AsmCilManifestResource.setDataPrototype(
36993 "uint32_t",
"Implementation",
"= 0",
36994 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
36997 DECLARE_OTHERS(AsmCilManifestResource);
36998#if defined(SgAsmCilManifestResource_OTHERS) || defined(DOCUMENTATION)
37001#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37003 friend class boost::serialization::access;
37006 void serialize(S &s,
const unsigned ) {
37009 s & BOOST_SERIALIZATION_NVP(p_Offset);
37010 s & BOOST_SERIALIZATION_NVP(p_Flags);
37011 s & BOOST_SERIALIZATION_NVP(p_Name);
37012 s & BOOST_SERIALIZATION_NVP(p_Implementation);
37057 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37058 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37059 void dump(std::ostream&)
const;
37061 const std::uint8_t* get_Name_string()
const;
37080#ifdef DOCUMENTATION
37089DECLARE_LEAF_CLASS(AsmCilInterfaceImplTable);
37090IS_SERIALIZABLE(AsmCilInterfaceImplTable);
37092#ifndef DOCUMENTATION
37093AsmCilInterfaceImplTable.useSmallHeader(
true);
37096#ifdef DOCUMENTATION
37101#ifndef DOCUMENTATION
37102 AsmCilInterfaceImplTable.setDataPrototype(
37103 "std::vector<SgAsmCilInterfaceImpl*>",
"elements",
"",
37104 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37107 DECLARE_OTHERS(AsmCilInterfaceImplTable);
37108#if defined(SgAsmCilInterfaceImplTable_OTHERS) || defined(DOCUMENTATION)
37111#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37113 friend class boost::serialization::access;
37116 void serialize(S &s,
const unsigned ) {
37119 s & BOOST_SERIALIZATION_NVP(p_elements);
37125 std::vector<SgAsmCilInterfaceImpl*>
const& get_elements()
const;
37126 std::vector<SgAsmCilInterfaceImpl*>& get_elements();
37146#ifdef DOCUMENTATION
37155DECLARE_LEAF_CLASS(AsmCilInterfaceImpl);
37156IS_SERIALIZABLE(AsmCilInterfaceImpl);
37158#ifndef DOCUMENTATION
37159AsmCilInterfaceImpl.useSmallHeader(
true);
37162#ifdef DOCUMENTATION
37167#ifndef DOCUMENTATION
37168 AsmCilInterfaceImpl.setDataPrototype(
37169 "uint32_t",
"Class",
"= 0",
37170 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37173#ifndef DOCUMENTATION
37174 AsmCilInterfaceImpl.setDataPrototype(
37175 "uint32_t",
"Interface",
"= 0",
37176 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37179 DECLARE_OTHERS(AsmCilInterfaceImpl);
37180#if defined(SgAsmCilInterfaceImpl_OTHERS) || defined(DOCUMENTATION)
37183#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37185 friend class boost::serialization::access;
37188 void serialize(S &s,
const unsigned ) {
37191 s & BOOST_SERIALIZATION_NVP(p_Class);
37192 s & BOOST_SERIALIZATION_NVP(p_Interface);
37217 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37218 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37219 void dump(std::ostream&)
const;
37240#ifdef DOCUMENTATION
37249DECLARE_LEAF_CLASS(AsmCilInstruction);
37250IS_SERIALIZABLE(AsmCilInstruction);
37252#ifndef DOCUMENTATION
37253AsmCilInstruction.useSmallHeader(
true);
37256DECLARE_HEADERS(AsmCilInstruction);
37257#if defined(SgAsmCilInstruction_HEADERS) || defined(DOCUMENTATION)
37258#include <Rose/BinaryAnalysis/InstructionEnumsCil.h>
37261#ifdef DOCUMENTATION
37265#ifndef DOCUMENTATION
37266 AsmCilInstruction.setDataPrototype(
37267 "Rose::BinaryAnalysis::CilInstructionKind",
"kind",
"= Rose::BinaryAnalysis::Cil_unknown_instruction",
37268 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37271 DECLARE_OTHERS(AsmCilInstruction);
37272#if defined(SgAsmCilInstruction_OTHERS) || defined(DOCUMENTATION)
37275#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37277 friend class boost::serialization::access;
37280 void serialize(S &s,
const unsigned ) {
37283 s & BOOST_SERIALIZATION_NVP(p_kind);
37295 Rose::BinaryAnalysis::CilInstructionKind
const&
get_kind()
const;
37296 void set_kind(Rose::BinaryAnalysis::CilInstructionKind
const&);
37312 uint8_t
const& architectureId,
37313 Rose::BinaryAnalysis::CilInstructionKind
const& kind);
37324#ifdef DOCUMENTATION
37333DECLARE_LEAF_CLASS(AsmCilImplMapTable);
37334IS_SERIALIZABLE(AsmCilImplMapTable);
37336#ifndef DOCUMENTATION
37337AsmCilImplMapTable.useSmallHeader(
true);
37340#ifdef DOCUMENTATION
37345#ifndef DOCUMENTATION
37346 AsmCilImplMapTable.setDataPrototype(
37347 "std::vector<SgAsmCilImplMap*>",
"elements",
"",
37348 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37351 DECLARE_OTHERS(AsmCilImplMapTable);
37352#if defined(SgAsmCilImplMapTable_OTHERS) || defined(DOCUMENTATION)
37355#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37357 friend class boost::serialization::access;
37360 void serialize(S &s,
const unsigned ) {
37363 s & BOOST_SERIALIZATION_NVP(p_elements);
37369 std::vector<SgAsmCilImplMap*>
const& get_elements()
const;
37370 std::vector<SgAsmCilImplMap*>& get_elements();
37390#ifdef DOCUMENTATION
37399DECLARE_LEAF_CLASS(AsmCilImplMap);
37400IS_SERIALIZABLE(AsmCilImplMap);
37402#ifndef DOCUMENTATION
37403AsmCilImplMap.useSmallHeader(
true);
37406#ifdef DOCUMENTATION
37411#ifndef DOCUMENTATION
37412 AsmCilImplMap.setDataPrototype(
37413 "uint16_t",
"MappingFlags",
"= 0",
37414 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37417#ifndef DOCUMENTATION
37418 AsmCilImplMap.setDataPrototype(
37419 "uint32_t",
"MemberForwarded",
"= 0",
37420 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37423#ifndef DOCUMENTATION
37424 AsmCilImplMap.setDataPrototype(
37425 "uint32_t",
"ImportName",
"= 0",
37426 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37429#ifndef DOCUMENTATION
37430 AsmCilImplMap.setDataPrototype(
37431 "uint32_t",
"ImportScope",
"= 0",
37432 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37435 DECLARE_OTHERS(AsmCilImplMap);
37436#if defined(SgAsmCilImplMap_OTHERS) || defined(DOCUMENTATION)
37439#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37441 friend class boost::serialization::access;
37444 void serialize(S &s,
const unsigned ) {
37447 s & BOOST_SERIALIZATION_NVP(p_MappingFlags);
37448 s & BOOST_SERIALIZATION_NVP(p_MemberForwarded);
37449 s & BOOST_SERIALIZATION_NVP(p_ImportName);
37450 s & BOOST_SERIALIZATION_NVP(p_ImportScope);
37495 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37496 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37497 void dump(std::ostream&)
const;
37500 const std::uint8_t* get_ImportName_string()
const;
37519#ifdef DOCUMENTATION
37528DECLARE_LEAF_CLASS(AsmCilGenericParamTable);
37529IS_SERIALIZABLE(AsmCilGenericParamTable);
37531#ifndef DOCUMENTATION
37532AsmCilGenericParamTable.useSmallHeader(
true);
37535#ifdef DOCUMENTATION
37540#ifndef DOCUMENTATION
37541 AsmCilGenericParamTable.setDataPrototype(
37542 "std::vector<SgAsmCilGenericParam*>",
"elements",
"",
37543 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37546 DECLARE_OTHERS(AsmCilGenericParamTable);
37547#if defined(SgAsmCilGenericParamTable_OTHERS) || defined(DOCUMENTATION)
37550#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37552 friend class boost::serialization::access;
37555 void serialize(S &s,
const unsigned ) {
37558 s & BOOST_SERIALIZATION_NVP(p_elements);
37564 std::vector<SgAsmCilGenericParam*>
const& get_elements()
const;
37565 std::vector<SgAsmCilGenericParam*>& get_elements();
37585#ifdef DOCUMENTATION
37594DECLARE_LEAF_CLASS(AsmCilGenericParamConstraintTable);
37595IS_SERIALIZABLE(AsmCilGenericParamConstraintTable);
37597#ifndef DOCUMENTATION
37598AsmCilGenericParamConstraintTable.useSmallHeader(
true);
37601#ifdef DOCUMENTATION
37606#ifndef DOCUMENTATION
37607 AsmCilGenericParamConstraintTable.setDataPrototype(
37608 "std::vector<SgAsmCilGenericParamConstraint*>",
"elements",
"",
37609 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37612 DECLARE_OTHERS(AsmCilGenericParamConstraintTable);
37613#if defined(SgAsmCilGenericParamConstraintTable_OTHERS) || defined(DOCUMENTATION)
37616#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37618 friend class boost::serialization::access;
37621 void serialize(S &s,
const unsigned ) {
37624 s & BOOST_SERIALIZATION_NVP(p_elements);
37630 std::vector<SgAsmCilGenericParamConstraint*>
const& get_elements()
const;
37631 std::vector<SgAsmCilGenericParamConstraint*>& get_elements();
37651#ifdef DOCUMENTATION
37660DECLARE_LEAF_CLASS(AsmCilGenericParamConstraint);
37661IS_SERIALIZABLE(AsmCilGenericParamConstraint);
37663#ifndef DOCUMENTATION
37664AsmCilGenericParamConstraint.useSmallHeader(
true);
37667#ifdef DOCUMENTATION
37672#ifndef DOCUMENTATION
37673 AsmCilGenericParamConstraint.setDataPrototype(
37674 "uint32_t",
"Owner",
"= 0",
37675 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37678#ifndef DOCUMENTATION
37679 AsmCilGenericParamConstraint.setDataPrototype(
37680 "uint32_t",
"Constraint",
"= 0",
37681 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37684 DECLARE_OTHERS(AsmCilGenericParamConstraint);
37685#if defined(SgAsmCilGenericParamConstraint_OTHERS) || defined(DOCUMENTATION)
37688#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37690 friend class boost::serialization::access;
37693 void serialize(S &s,
const unsigned ) {
37696 s & BOOST_SERIALIZATION_NVP(p_Owner);
37697 s & BOOST_SERIALIZATION_NVP(p_Constraint);
37722 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37723 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37724 void dump(std::ostream&)
const;
37745#ifdef DOCUMENTATION
37754DECLARE_LEAF_CLASS(AsmCilGenericParam);
37755IS_SERIALIZABLE(AsmCilGenericParam);
37757#ifndef DOCUMENTATION
37758AsmCilGenericParam.useSmallHeader(
true);
37761#ifdef DOCUMENTATION
37766#ifndef DOCUMENTATION
37767 AsmCilGenericParam.setDataPrototype(
37768 "uint16_t",
"Number",
"= 0",
37769 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37772#ifndef DOCUMENTATION
37773 AsmCilGenericParam.setDataPrototype(
37774 "uint16_t",
"Flags",
"= 0",
37775 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37778#ifndef DOCUMENTATION
37779 AsmCilGenericParam.setDataPrototype(
37780 "uint32_t",
"Owner",
"= 0",
37781 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37784#ifndef DOCUMENTATION
37785 AsmCilGenericParam.setDataPrototype(
37786 "uint32_t",
"Name",
"= 0",
37787 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37790 DECLARE_OTHERS(AsmCilGenericParam);
37791#if defined(SgAsmCilGenericParam_OTHERS) || defined(DOCUMENTATION)
37794#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37796 friend class boost::serialization::access;
37799 void serialize(S &s,
const unsigned ) {
37802 s & BOOST_SERIALIZATION_NVP(p_Number);
37803 s & BOOST_SERIALIZATION_NVP(p_Flags);
37804 s & BOOST_SERIALIZATION_NVP(p_Owner);
37805 s & BOOST_SERIALIZATION_NVP(p_Name);
37850 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
37851 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
37852 void dump(std::ostream&)
const;
37855 const std::uint8_t* get_Name_string()
const;
37873#ifdef DOCUMENTATION
37882DECLARE_LEAF_CLASS(AsmCilFileTable);
37883IS_SERIALIZABLE(AsmCilFileTable);
37885#ifndef DOCUMENTATION
37886AsmCilFileTable.useSmallHeader(
true);
37889#ifdef DOCUMENTATION
37894#ifndef DOCUMENTATION
37895 AsmCilFileTable.setDataPrototype(
37896 "std::vector<SgAsmCilFile*>",
"elements",
"",
37897 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
37900 DECLARE_OTHERS(AsmCilFileTable);
37901#if defined(SgAsmCilFileTable_OTHERS) || defined(DOCUMENTATION)
37904#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37906 friend class boost::serialization::access;
37909 void serialize(S &s,
const unsigned ) {
37912 s & BOOST_SERIALIZATION_NVP(p_elements);
37918 std::vector<SgAsmCilFile*>
const& get_elements()
const;
37919 std::vector<SgAsmCilFile*>& get_elements();
37939#ifdef DOCUMENTATION
37948DECLARE_LEAF_CLASS(AsmCilFile);
37949IS_SERIALIZABLE(AsmCilFile);
37951#ifndef DOCUMENTATION
37952AsmCilFile.useSmallHeader(
true);
37955#ifdef DOCUMENTATION
37960#ifndef DOCUMENTATION
37961 AsmCilFile.setDataPrototype(
37962 "uint32_t",
"Flags",
"= 0",
37963 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37966#ifndef DOCUMENTATION
37967 AsmCilFile.setDataPrototype(
37968 "uint32_t",
"Name",
"= 0",
37969 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37972#ifndef DOCUMENTATION
37973 AsmCilFile.setDataPrototype(
37974 "uint32_t",
"HashValue",
"= 0",
37975 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
37978 DECLARE_OTHERS(AsmCilFile);
37979#if defined(SgAsmCilFile_OTHERS) || defined(DOCUMENTATION)
37982#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
37984 friend class boost::serialization::access;
37987 void serialize(S &s,
const unsigned ) {
37990 s & BOOST_SERIALIZATION_NVP(p_Flags);
37991 s & BOOST_SERIALIZATION_NVP(p_Name);
37992 s & BOOST_SERIALIZATION_NVP(p_HashValue);
38027 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38028 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38029 void dump(std::ostream&)
const;
38031 const std::uint8_t* get_Name_string()
const;
38032 const std::uint8_t* get_HashValue_blob()
const;
38050#ifdef DOCUMENTATION
38059DECLARE_LEAF_CLASS(AsmCilFieldTable);
38060IS_SERIALIZABLE(AsmCilFieldTable);
38062#ifndef DOCUMENTATION
38063AsmCilFieldTable.useSmallHeader(
true);
38066#ifdef DOCUMENTATION
38071#ifndef DOCUMENTATION
38072 AsmCilFieldTable.setDataPrototype(
38073 "std::vector<SgAsmCilField*>",
"elements",
"",
38074 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38077 DECLARE_OTHERS(AsmCilFieldTable);
38078#if defined(SgAsmCilFieldTable_OTHERS) || defined(DOCUMENTATION)
38081#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38083 friend class boost::serialization::access;
38086 void serialize(S &s,
const unsigned ) {
38089 s & BOOST_SERIALIZATION_NVP(p_elements);
38095 std::vector<SgAsmCilField*>
const& get_elements()
const;
38096 std::vector<SgAsmCilField*>& get_elements();
38116#ifdef DOCUMENTATION
38125DECLARE_LEAF_CLASS(AsmCilFieldRVATable);
38126IS_SERIALIZABLE(AsmCilFieldRVATable);
38128#ifndef DOCUMENTATION
38129AsmCilFieldRVATable.useSmallHeader(
true);
38132#ifdef DOCUMENTATION
38137#ifndef DOCUMENTATION
38138 AsmCilFieldRVATable.setDataPrototype(
38139 "std::vector<SgAsmCilFieldRVA*>",
"elements",
"",
38140 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38143 DECLARE_OTHERS(AsmCilFieldRVATable);
38144#if defined(SgAsmCilFieldRVATable_OTHERS) || defined(DOCUMENTATION)
38147#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38149 friend class boost::serialization::access;
38152 void serialize(S &s,
const unsigned ) {
38155 s & BOOST_SERIALIZATION_NVP(p_elements);
38161 std::vector<SgAsmCilFieldRVA*>
const& get_elements()
const;
38162 std::vector<SgAsmCilFieldRVA*>& get_elements();
38182#ifdef DOCUMENTATION
38191DECLARE_LEAF_CLASS(AsmCilFieldRVA);
38192IS_SERIALIZABLE(AsmCilFieldRVA);
38194#ifndef DOCUMENTATION
38195AsmCilFieldRVA.useSmallHeader(
true);
38198#ifdef DOCUMENTATION
38203#ifndef DOCUMENTATION
38204 AsmCilFieldRVA.setDataPrototype(
38205 "uint32_t",
"RVA",
"= 0",
38206 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38209#ifndef DOCUMENTATION
38210 AsmCilFieldRVA.setDataPrototype(
38211 "uint32_t",
"Field",
"= 0",
38212 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38215 DECLARE_OTHERS(AsmCilFieldRVA);
38216#if defined(SgAsmCilFieldRVA_OTHERS) || defined(DOCUMENTATION)
38219#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38221 friend class boost::serialization::access;
38224 void serialize(S &s,
const unsigned ) {
38227 s & BOOST_SERIALIZATION_NVP(p_RVA);
38228 s & BOOST_SERIALIZATION_NVP(p_Field);
38253 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38254 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38255 void dump(std::ostream&)
const;
38275#ifdef DOCUMENTATION
38284DECLARE_LEAF_CLASS(AsmCilFieldMarshalTable);
38285IS_SERIALIZABLE(AsmCilFieldMarshalTable);
38287#ifndef DOCUMENTATION
38288AsmCilFieldMarshalTable.useSmallHeader(
true);
38291#ifdef DOCUMENTATION
38296#ifndef DOCUMENTATION
38297 AsmCilFieldMarshalTable.setDataPrototype(
38298 "std::vector<SgAsmCilFieldMarshal*>",
"elements",
"",
38299 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38302 DECLARE_OTHERS(AsmCilFieldMarshalTable);
38303#if defined(SgAsmCilFieldMarshalTable_OTHERS) || defined(DOCUMENTATION)
38306#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38308 friend class boost::serialization::access;
38311 void serialize(S &s,
const unsigned ) {
38314 s & BOOST_SERIALIZATION_NVP(p_elements);
38320 std::vector<SgAsmCilFieldMarshal*>
const& get_elements()
const;
38321 std::vector<SgAsmCilFieldMarshal*>& get_elements();
38341#ifdef DOCUMENTATION
38350DECLARE_LEAF_CLASS(AsmCilFieldMarshal);
38351IS_SERIALIZABLE(AsmCilFieldMarshal);
38353#ifndef DOCUMENTATION
38354AsmCilFieldMarshal.useSmallHeader(
true);
38357#ifdef DOCUMENTATION
38362#ifndef DOCUMENTATION
38363 AsmCilFieldMarshal.setDataPrototype(
38364 "uint32_t",
"Parent",
"= 0",
38365 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38368#ifndef DOCUMENTATION
38369 AsmCilFieldMarshal.setDataPrototype(
38370 "uint32_t",
"NativeType",
"= 0",
38371 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38374 DECLARE_OTHERS(AsmCilFieldMarshal);
38375#if defined(SgAsmCilFieldMarshal_OTHERS) || defined(DOCUMENTATION)
38378#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38380 friend class boost::serialization::access;
38383 void serialize(S &s,
const unsigned ) {
38386 s & BOOST_SERIALIZATION_NVP(p_Parent);
38387 s & BOOST_SERIALIZATION_NVP(p_NativeType);
38412 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38413 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38414 void dump(std::ostream&)
const;
38417 const std::uint8_t* get_NativeType_blob()
const;
38435#ifdef DOCUMENTATION
38444DECLARE_LEAF_CLASS(AsmCilFieldLayoutTable);
38445IS_SERIALIZABLE(AsmCilFieldLayoutTable);
38447#ifndef DOCUMENTATION
38448AsmCilFieldLayoutTable.useSmallHeader(
true);
38451#ifdef DOCUMENTATION
38456#ifndef DOCUMENTATION
38457 AsmCilFieldLayoutTable.setDataPrototype(
38458 "std::vector<SgAsmCilFieldLayout*>",
"elements",
"",
38459 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38462 DECLARE_OTHERS(AsmCilFieldLayoutTable);
38463#if defined(SgAsmCilFieldLayoutTable_OTHERS) || defined(DOCUMENTATION)
38466#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38468 friend class boost::serialization::access;
38471 void serialize(S &s,
const unsigned ) {
38474 s & BOOST_SERIALIZATION_NVP(p_elements);
38480 std::vector<SgAsmCilFieldLayout*>
const& get_elements()
const;
38481 std::vector<SgAsmCilFieldLayout*>& get_elements();
38501#ifdef DOCUMENTATION
38510DECLARE_LEAF_CLASS(AsmCilFieldLayout);
38511IS_SERIALIZABLE(AsmCilFieldLayout);
38513#ifndef DOCUMENTATION
38514AsmCilFieldLayout.useSmallHeader(
true);
38517#ifdef DOCUMENTATION
38522#ifndef DOCUMENTATION
38523 AsmCilFieldLayout.setDataPrototype(
38524 "uint32_t",
"Offset",
"= 0",
38525 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38528#ifndef DOCUMENTATION
38529 AsmCilFieldLayout.setDataPrototype(
38530 "uint32_t",
"Field",
"= 0",
38531 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38534 DECLARE_OTHERS(AsmCilFieldLayout);
38535#if defined(SgAsmCilFieldLayout_OTHERS) || defined(DOCUMENTATION)
38538#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38540 friend class boost::serialization::access;
38543 void serialize(S &s,
const unsigned ) {
38546 s & BOOST_SERIALIZATION_NVP(p_Offset);
38547 s & BOOST_SERIALIZATION_NVP(p_Field);
38572 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38573 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38574 void dump(std::ostream&)
const;
38594#ifdef DOCUMENTATION
38603DECLARE_LEAF_CLASS(AsmCilField);
38604IS_SERIALIZABLE(AsmCilField);
38606#ifndef DOCUMENTATION
38607AsmCilField.useSmallHeader(
true);
38610#ifdef DOCUMENTATION
38615#ifndef DOCUMENTATION
38616 AsmCilField.setDataPrototype(
38617 "uint16_t",
"Flags",
"= 0",
38618 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38621#ifndef DOCUMENTATION
38622 AsmCilField.setDataPrototype(
38623 "uint32_t",
"Name",
"= 0",
38624 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38627#ifndef DOCUMENTATION
38628 AsmCilField.setDataPrototype(
38629 "uint32_t",
"Signature",
"= 0",
38630 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38633 DECLARE_OTHERS(AsmCilField);
38634#if defined(SgAsmCilField_OTHERS) || defined(DOCUMENTATION)
38637#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38639 friend class boost::serialization::access;
38642 void serialize(S &s,
const unsigned ) {
38645 s & BOOST_SERIALIZATION_NVP(p_Flags);
38646 s & BOOST_SERIALIZATION_NVP(p_Name);
38647 s & BOOST_SERIALIZATION_NVP(p_Signature);
38682 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38683 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38684 void dump(std::ostream&)
const;
38686 const std::uint8_t* get_Name_string()
const;
38687 const std::uint8_t* get_Signature_blob()
const;
38705#ifdef DOCUMENTATION
38714DECLARE_LEAF_CLASS(AsmCilExportedTypeTable);
38715IS_SERIALIZABLE(AsmCilExportedTypeTable);
38717#ifndef DOCUMENTATION
38718AsmCilExportedTypeTable.useSmallHeader(
true);
38721#ifdef DOCUMENTATION
38726#ifndef DOCUMENTATION
38727 AsmCilExportedTypeTable.setDataPrototype(
38728 "std::vector<SgAsmCilExportedType*>",
"elements",
"",
38729 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
38732 DECLARE_OTHERS(AsmCilExportedTypeTable);
38733#if defined(SgAsmCilExportedTypeTable_OTHERS) || defined(DOCUMENTATION)
38736#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38738 friend class boost::serialization::access;
38741 void serialize(S &s,
const unsigned ) {
38744 s & BOOST_SERIALIZATION_NVP(p_elements);
38750 std::vector<SgAsmCilExportedType*>
const& get_elements()
const;
38751 std::vector<SgAsmCilExportedType*>& get_elements();
38771#ifdef DOCUMENTATION
38780DECLARE_LEAF_CLASS(AsmCilExportedType);
38781IS_SERIALIZABLE(AsmCilExportedType);
38783#ifndef DOCUMENTATION
38784AsmCilExportedType.useSmallHeader(
true);
38787#ifdef DOCUMENTATION
38792#ifndef DOCUMENTATION
38793 AsmCilExportedType.setDataPrototype(
38794 "uint32_t",
"EventFlags",
"= 0",
38795 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38798#ifndef DOCUMENTATION
38799 AsmCilExportedType.setDataPrototype(
38800 "uint32_t",
"TypeDefIdName",
"= 0",
38801 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38804#ifndef DOCUMENTATION
38805 AsmCilExportedType.setDataPrototype(
38806 "uint32_t",
"TypeName",
"= 0",
38807 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38810#ifndef DOCUMENTATION
38811 AsmCilExportedType.setDataPrototype(
38812 "uint32_t",
"TypeNamespace",
"= 0",
38813 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38816#ifndef DOCUMENTATION
38817 AsmCilExportedType.setDataPrototype(
38818 "uint32_t",
"Implementation",
"= 0",
38819 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38822 DECLARE_OTHERS(AsmCilExportedType);
38823#if defined(SgAsmCilExportedType_OTHERS) || defined(DOCUMENTATION)
38826#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38828 friend class boost::serialization::access;
38831 void serialize(S &s,
const unsigned ) {
38834 s & BOOST_SERIALIZATION_NVP(p_EventFlags);
38835 s & BOOST_SERIALIZATION_NVP(p_TypeDefIdName);
38836 s & BOOST_SERIALIZATION_NVP(p_TypeName);
38837 s & BOOST_SERIALIZATION_NVP(p_TypeNamespace);
38838 s & BOOST_SERIALIZATION_NVP(p_Implementation);
38893 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
38894 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
38895 void dump(std::ostream&)
const;
38897 const std::uint8_t* get_TypeName_string()
const;
38898 const std::uint8_t* get_TypeNamespace_string()
const;
38917#ifdef DOCUMENTATION
38926DECLARE_LEAF_CLASS(AsmCilExceptionData);
38927IS_SERIALIZABLE(AsmCilExceptionData);
38929#ifndef DOCUMENTATION
38930AsmCilExceptionData.useSmallHeader(
true);
38933#ifdef DOCUMENTATION
38941#ifndef DOCUMENTATION
38942 AsmCilExceptionData.setDataPrototype(
38943 "std::uint32_t",
"flags",
"= 0",
38944 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38947#ifndef DOCUMENTATION
38948 AsmCilExceptionData.setDataPrototype(
38949 "std::uint32_t",
"tryOffset",
"= 0",
38950 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38953#ifndef DOCUMENTATION
38954 AsmCilExceptionData.setDataPrototype(
38955 "std::uint32_t",
"tryLength",
"= 0",
38956 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38959#ifndef DOCUMENTATION
38960 AsmCilExceptionData.setDataPrototype(
38961 "std::uint32_t",
"handlerOffset",
"= 0",
38962 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38965#ifndef DOCUMENTATION
38966 AsmCilExceptionData.setDataPrototype(
38967 "std::uint32_t",
"handlerLength",
"= 0",
38968 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38971#ifndef DOCUMENTATION
38972 AsmCilExceptionData.setDataPrototype(
38973 "std::uint32_t",
"classTokenOrFilterOffset",
"= 0",
38974 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
38977 DECLARE_OTHERS(AsmCilExceptionData);
38978#if defined(SgAsmCilExceptionData_OTHERS) || defined(DOCUMENTATION)
38981#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
38983 friend class boost::serialization::access;
38986 void serialize(S &s,
const unsigned ) {
38988 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
38989 s & BOOST_SERIALIZATION_NVP(p_flags);
38990 s & BOOST_SERIALIZATION_NVP(p_tryOffset);
38991 s & BOOST_SERIALIZATION_NVP(p_tryLength);
38992 s & BOOST_SERIALIZATION_NVP(p_handlerOffset);
38993 s & BOOST_SERIALIZATION_NVP(p_handlerLength);
38994 s & BOOST_SERIALIZATION_NVP(p_classTokenOrFilterOffset);
39001 COR_ILEXCEPTION_CLAUSE_EXCEPTION = 0x0000,
39002 COR_ILEXCEPTION_CLAUSE_FILTER = 0x0001,
39003 COR_ILEXCEPTION_CLAUSE_FINALLY = 0x0002,
39004 COR_ILEXCEPTION_CLAUSE_FAULT = 0x0004,
39005 COR_ILEXCEPTION_CLAUSE_MASK = ( COR_ILEXCEPTION_CLAUSE_EXCEPTION
39006 | COR_ILEXCEPTION_CLAUSE_FILTER
39007 | COR_ILEXCEPTION_CLAUSE_FINALLY
39008 | COR_ILEXCEPTION_CLAUSE_FAULT
39014 std::uint32_t
const& get_flags()
const;
39015 void set_flags(std::uint32_t
const&);
39018 std::uint32_t
const& get_tryOffset()
const;
39019 void set_tryOffset(std::uint32_t
const&);
39022 std::uint32_t
const& get_tryLength()
const;
39023 void set_tryLength(std::uint32_t
const&);
39026 std::uint32_t
const& get_handlerOffset()
const;
39027 void set_handlerOffset(std::uint32_t
const&);
39030 std::uint32_t
const& get_handlerLength()
const;
39031 void set_handlerLength(std::uint32_t
const&);
39034 std::uint32_t
const& get_classTokenOrFilterOffset()
const;
39035 void set_classTokenOrFilterOffset(std::uint32_t
const&);
39041 bool isException()
const {
return (get_flags() & COR_ILEXCEPTION_CLAUSE_MASK) == COR_ILEXCEPTION_CLAUSE_EXCEPTION; }
39042 bool isFilter()
const {
return (get_flags() & COR_ILEXCEPTION_CLAUSE_MASK) == COR_ILEXCEPTION_CLAUSE_FILTER; }
39043 bool isFinally()
const {
return (get_flags() & COR_ILEXCEPTION_CLAUSE_MASK) == COR_ILEXCEPTION_CLAUSE_FINALLY; }
39044 bool isFault()
const {
return (get_flags() & COR_ILEXCEPTION_CLAUSE_MASK) == COR_ILEXCEPTION_CLAUSE_FAULT; }
39063#ifdef DOCUMENTATION
39072DECLARE_LEAF_CLASS(AsmCilEventTable);
39073IS_SERIALIZABLE(AsmCilEventTable);
39075#ifndef DOCUMENTATION
39076AsmCilEventTable.useSmallHeader(
true);
39079#ifdef DOCUMENTATION
39084#ifndef DOCUMENTATION
39085 AsmCilEventTable.setDataPrototype(
39086 "std::vector<SgAsmCilEvent*>",
"elements",
"",
39087 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39090 DECLARE_OTHERS(AsmCilEventTable);
39091#if defined(SgAsmCilEventTable_OTHERS) || defined(DOCUMENTATION)
39094#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39096 friend class boost::serialization::access;
39099 void serialize(S &s,
const unsigned ) {
39102 s & BOOST_SERIALIZATION_NVP(p_elements);
39108 std::vector<SgAsmCilEvent*>
const& get_elements()
const;
39109 std::vector<SgAsmCilEvent*>& get_elements();
39129#ifdef DOCUMENTATION
39138DECLARE_LEAF_CLASS(AsmCilEventMapTable);
39139IS_SERIALIZABLE(AsmCilEventMapTable);
39141#ifndef DOCUMENTATION
39142AsmCilEventMapTable.useSmallHeader(
true);
39145#ifdef DOCUMENTATION
39150#ifndef DOCUMENTATION
39151 AsmCilEventMapTable.setDataPrototype(
39152 "std::vector<SgAsmCilEventMap*>",
"elements",
"",
39153 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39156 DECLARE_OTHERS(AsmCilEventMapTable);
39157#if defined(SgAsmCilEventMapTable_OTHERS) || defined(DOCUMENTATION)
39160#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39162 friend class boost::serialization::access;
39165 void serialize(S &s,
const unsigned ) {
39168 s & BOOST_SERIALIZATION_NVP(p_elements);
39174 std::vector<SgAsmCilEventMap*>
const& get_elements()
const;
39175 std::vector<SgAsmCilEventMap*>& get_elements();
39195#ifdef DOCUMENTATION
39204DECLARE_LEAF_CLASS(AsmCilEventMap);
39205IS_SERIALIZABLE(AsmCilEventMap);
39207#ifndef DOCUMENTATION
39208AsmCilEventMap.useSmallHeader(
true);
39211#ifdef DOCUMENTATION
39216#ifndef DOCUMENTATION
39217 AsmCilEventMap.setDataPrototype(
39218 "uint32_t",
"Parent",
"= 0",
39219 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39222#ifndef DOCUMENTATION
39223 AsmCilEventMap.setDataPrototype(
39224 "uint32_t",
"EventList",
"= 0",
39225 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39228 DECLARE_OTHERS(AsmCilEventMap);
39229#if defined(SgAsmCilEventMap_OTHERS) || defined(DOCUMENTATION)
39232#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39234 friend class boost::serialization::access;
39237 void serialize(S &s,
const unsigned ) {
39240 s & BOOST_SERIALIZATION_NVP(p_Parent);
39241 s & BOOST_SERIALIZATION_NVP(p_EventList);
39266 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39267 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39268 void dump(std::ostream&)
const;
39289#ifdef DOCUMENTATION
39298DECLARE_LEAF_CLASS(AsmCilEvent);
39299IS_SERIALIZABLE(AsmCilEvent);
39301#ifndef DOCUMENTATION
39302AsmCilEvent.useSmallHeader(
true);
39305#ifdef DOCUMENTATION
39310#ifndef DOCUMENTATION
39311 AsmCilEvent.setDataPrototype(
39312 "uint16_t",
"EventFlags",
"= 0",
39313 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39316#ifndef DOCUMENTATION
39317 AsmCilEvent.setDataPrototype(
39318 "uint32_t",
"Name",
"= 0",
39319 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39322#ifndef DOCUMENTATION
39323 AsmCilEvent.setDataPrototype(
39324 "uint32_t",
"EventType",
"= 0",
39325 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39328 DECLARE_OTHERS(AsmCilEvent);
39329#if defined(SgAsmCilEvent_OTHERS) || defined(DOCUMENTATION)
39332#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39334 friend class boost::serialization::access;
39337 void serialize(S &s,
const unsigned ) {
39340 s & BOOST_SERIALIZATION_NVP(p_EventFlags);
39341 s & BOOST_SERIALIZATION_NVP(p_Name);
39342 s & BOOST_SERIALIZATION_NVP(p_EventType);
39377 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39378 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39379 void dump(std::ostream&)
const;
39381 const std::uint8_t* get_Name_string()
const;
39400#ifdef DOCUMENTATION
39409DECLARE_LEAF_CLASS(AsmCilErrorHeap);
39410IS_SERIALIZABLE(AsmCilErrorHeap);
39412#ifndef DOCUMENTATION
39413AsmCilErrorHeap.useSmallHeader(
true);
39416#ifdef DOCUMENTATION
39421 DECLARE_OTHERS(AsmCilErrorHeap);
39422#if defined(SgAsmCilErrorHeap_OTHERS) || defined(DOCUMENTATION)
39425#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39427 friend class boost::serialization::access;
39430 void serialize(S &s,
const unsigned ) {
39437 void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData)
override;
39438 void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const override;
39439 void dump(std::ostream& os)
const override;
39451 uint32_t
const& Size,
39452 std::string
const& Name,
39453 uint32_t
const& NamePadding);
39464#ifdef DOCUMENTATION
39473DECLARE_LEAF_CLASS(AsmCilDeclSecurityTable);
39474IS_SERIALIZABLE(AsmCilDeclSecurityTable);
39476#ifndef DOCUMENTATION
39477AsmCilDeclSecurityTable.useSmallHeader(
true);
39480#ifdef DOCUMENTATION
39485#ifndef DOCUMENTATION
39486 AsmCilDeclSecurityTable.setDataPrototype(
39487 "std::vector<SgAsmCilDeclSecurity*>",
"elements",
"",
39488 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39491 DECLARE_OTHERS(AsmCilDeclSecurityTable);
39492#if defined(SgAsmCilDeclSecurityTable_OTHERS) || defined(DOCUMENTATION)
39495#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39497 friend class boost::serialization::access;
39500 void serialize(S &s,
const unsigned ) {
39503 s & BOOST_SERIALIZATION_NVP(p_elements);
39509 std::vector<SgAsmCilDeclSecurity*>
const& get_elements()
const;
39510 std::vector<SgAsmCilDeclSecurity*>& get_elements();
39530#ifdef DOCUMENTATION
39539DECLARE_LEAF_CLASS(AsmCilDeclSecurity);
39540IS_SERIALIZABLE(AsmCilDeclSecurity);
39542#ifndef DOCUMENTATION
39543AsmCilDeclSecurity.useSmallHeader(
true);
39546#ifdef DOCUMENTATION
39551#ifndef DOCUMENTATION
39552 AsmCilDeclSecurity.setDataPrototype(
39553 "uint16_t",
"Action",
"= 0",
39554 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39557#ifndef DOCUMENTATION
39558 AsmCilDeclSecurity.setDataPrototype(
39559 "uint32_t",
"Parent",
"= 0",
39560 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39563#ifndef DOCUMENTATION
39564 AsmCilDeclSecurity.setDataPrototype(
39565 "uint32_t",
"PermissionSet",
"= 0",
39566 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39569 DECLARE_OTHERS(AsmCilDeclSecurity);
39570#if defined(SgAsmCilDeclSecurity_OTHERS) || defined(DOCUMENTATION)
39573#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39575 friend class boost::serialization::access;
39578 void serialize(S &s,
const unsigned ) {
39581 s & BOOST_SERIALIZATION_NVP(p_Action);
39582 s & BOOST_SERIALIZATION_NVP(p_Parent);
39583 s & BOOST_SERIALIZATION_NVP(p_PermissionSet);
39618 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39619 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39620 void dump(std::ostream&)
const;
39623 const std::uint8_t* get_PermissionSet_blob()
const;
39641#ifdef DOCUMENTATION
39650#ifndef DOCUMENTATION
39651AstNodeClass& AsmCilDataStream = nonTerminalConstructor(
39652 "AsmCilDataStream",
39654 "AsmCilDataStream",
39655 "AsmCilDataStreamTag",
39656 SubclassListBuilder()
39658 | AsmCilMetadataHeap
39662assert(AsmCilDataStream.associatedGrammar !=
nullptr);
39663AsmCilDataStream.setCppCondition(
"!defined(DOCUMENTATION)");
39664AsmCilDataStream.isBoostSerializable(
true);
39665AsmCilDataStream.setAutomaticGenerationOfConstructor(
false);
39666AsmCilDataStream.setAutomaticGenerationOfDestructor(
false);
39669#ifndef DOCUMENTATION
39670AsmCilDataStream.useSmallHeader(
true);
39673#ifdef DOCUMENTATION
39678#ifndef DOCUMENTATION
39679 AsmCilDataStream.setDataPrototype(
39680 "uint32_t",
"Offset",
"",
39681 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39684#ifndef DOCUMENTATION
39685 AsmCilDataStream.setDataPrototype(
39686 "uint32_t",
"Size",
"",
39687 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39690#ifndef DOCUMENTATION
39691 AsmCilDataStream.setDataPrototype(
39692 "std::string",
"Name",
"",
39693 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39696#ifndef DOCUMENTATION
39697 AsmCilDataStream.setDataPrototype(
39698 "uint32_t",
"NamePadding",
"",
39699 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39702 DECLARE_OTHERS(AsmCilDataStream);
39703#if defined(SgAsmCilDataStream_OTHERS) || defined(DOCUMENTATION)
39706#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39708 friend class boost::serialization::access;
39711 void serialize(S &s,
const unsigned ) {
39713 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
39714 s & BOOST_SERIALIZATION_NVP(p_Offset);
39715 s & BOOST_SERIALIZATION_NVP(p_Size);
39716 s & BOOST_SERIALIZATION_NVP(p_Name);
39717 s & BOOST_SERIALIZATION_NVP(p_NamePadding);
39773 virtual void parse(
const std::vector<uint8_t>& buf,
size_t startOfMetaData);
39776 virtual void unparse(std::vector<uint8_t>& buf,
size_t startOfMetaData)
const;
39779 virtual void dump(std::ostream& os)
const;
39791 uint32_t
const& Size,
39792 std::string
const& Name,
39793 uint32_t
const& NamePadding);
39804#ifdef DOCUMENTATION
39813DECLARE_LEAF_CLASS(AsmCilCustomAttributeTable);
39814IS_SERIALIZABLE(AsmCilCustomAttributeTable);
39816#ifndef DOCUMENTATION
39817AsmCilCustomAttributeTable.useSmallHeader(
true);
39820#ifdef DOCUMENTATION
39825#ifndef DOCUMENTATION
39826 AsmCilCustomAttributeTable.setDataPrototype(
39827 "std::vector<SgAsmCilCustomAttribute*>",
"elements",
"",
39828 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
39831 DECLARE_OTHERS(AsmCilCustomAttributeTable);
39832#if defined(SgAsmCilCustomAttributeTable_OTHERS) || defined(DOCUMENTATION)
39835#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39837 friend class boost::serialization::access;
39840 void serialize(S &s,
const unsigned ) {
39843 s & BOOST_SERIALIZATION_NVP(p_elements);
39849 std::vector<SgAsmCilCustomAttribute*>
const& get_elements()
const;
39850 std::vector<SgAsmCilCustomAttribute*>& get_elements();
39870#ifdef DOCUMENTATION
39879DECLARE_LEAF_CLASS(AsmCilCustomAttribute);
39880IS_SERIALIZABLE(AsmCilCustomAttribute);
39882#ifndef DOCUMENTATION
39883AsmCilCustomAttribute.useSmallHeader(
true);
39886#ifdef DOCUMENTATION
39891#ifndef DOCUMENTATION
39892 AsmCilCustomAttribute.setDataPrototype(
39893 "uint32_t",
"Parent",
"= 0",
39894 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39897#ifndef DOCUMENTATION
39898 AsmCilCustomAttribute.setDataPrototype(
39899 "uint32_t",
"Type",
"= 0",
39900 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39903#ifndef DOCUMENTATION
39904 AsmCilCustomAttribute.setDataPrototype(
39905 "uint32_t",
"Value",
"= 0",
39906 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
39909 DECLARE_OTHERS(AsmCilCustomAttribute);
39910#if defined(SgAsmCilCustomAttribute_OTHERS) || defined(DOCUMENTATION)
39913#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
39915 friend class boost::serialization::access;
39918 void serialize(S &s,
const unsigned ) {
39921 s & BOOST_SERIALIZATION_NVP(p_Parent);
39922 s & BOOST_SERIALIZATION_NVP(p_Type);
39923 s & BOOST_SERIALIZATION_NVP(p_Value);
39958 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
39959 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
39960 void dump(std::ostream&)
const;
39964 const std::uint8_t* get_Value_blob()
const;
39982#ifdef DOCUMENTATION
39991DECLARE_LEAF_CLASS(AsmCilConstantTable);
39992IS_SERIALIZABLE(AsmCilConstantTable);
39994#ifndef DOCUMENTATION
39995AsmCilConstantTable.useSmallHeader(
true);
39998#ifdef DOCUMENTATION
40003#ifndef DOCUMENTATION
40004 AsmCilConstantTable.setDataPrototype(
40005 "std::vector<SgAsmCilConstant*>",
"elements",
"",
40006 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
40009 DECLARE_OTHERS(AsmCilConstantTable);
40010#if defined(SgAsmCilConstantTable_OTHERS) || defined(DOCUMENTATION)
40013#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40015 friend class boost::serialization::access;
40018 void serialize(S &s,
const unsigned ) {
40021 s & BOOST_SERIALIZATION_NVP(p_elements);
40027 std::vector<SgAsmCilConstant*>
const& get_elements()
const;
40028 std::vector<SgAsmCilConstant*>& get_elements();
40048#ifdef DOCUMENTATION
40057DECLARE_LEAF_CLASS(AsmCilConstant);
40058IS_SERIALIZABLE(AsmCilConstant);
40060#ifndef DOCUMENTATION
40061AsmCilConstant.useSmallHeader(
true);
40064#ifdef DOCUMENTATION
40069#ifndef DOCUMENTATION
40070 AsmCilConstant.setDataPrototype(
40071 "uint8_t",
"Type",
"= 0",
40072 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40075#ifndef DOCUMENTATION
40076 AsmCilConstant.setDataPrototype(
40077 "uint8_t",
"Padding",
"= 0",
40078 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40081#ifndef DOCUMENTATION
40082 AsmCilConstant.setDataPrototype(
40083 "uint32_t",
"Parent",
"= 0",
40084 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40087#ifndef DOCUMENTATION
40088 AsmCilConstant.setDataPrototype(
40089 "uint32_t",
"Value",
"= 0",
40090 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40093 DECLARE_OTHERS(AsmCilConstant);
40094#if defined(SgAsmCilConstant_OTHERS) || defined(DOCUMENTATION)
40097#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40099 friend class boost::serialization::access;
40102 void serialize(S &s,
const unsigned ) {
40105 s & BOOST_SERIALIZATION_NVP(p_Type);
40106 s & BOOST_SERIALIZATION_NVP(p_Padding);
40107 s & BOOST_SERIALIZATION_NVP(p_Parent);
40108 s & BOOST_SERIALIZATION_NVP(p_Value);
40153 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
40154 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
40155 void dump(std::ostream&)
const;
40158 const std::uint8_t* get_Value_blob()
const;
40176#ifdef DOCUMENTATION
40185DECLARE_LEAF_CLASS(AsmCilClassLayoutTable);
40186IS_SERIALIZABLE(AsmCilClassLayoutTable);
40188#ifndef DOCUMENTATION
40189AsmCilClassLayoutTable.useSmallHeader(
true);
40192#ifdef DOCUMENTATION
40197#ifndef DOCUMENTATION
40198 AsmCilClassLayoutTable.setDataPrototype(
40199 "std::vector<SgAsmCilClassLayout*>",
"elements",
"",
40200 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
40203 DECLARE_OTHERS(AsmCilClassLayoutTable);
40204#if defined(SgAsmCilClassLayoutTable_OTHERS) || defined(DOCUMENTATION)
40207#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40209 friend class boost::serialization::access;
40212 void serialize(S &s,
const unsigned ) {
40215 s & BOOST_SERIALIZATION_NVP(p_elements);
40221 std::vector<SgAsmCilClassLayout*>
const& get_elements()
const;
40222 std::vector<SgAsmCilClassLayout*>& get_elements();
40242#ifdef DOCUMENTATION
40251DECLARE_LEAF_CLASS(AsmCilClassLayout);
40252IS_SERIALIZABLE(AsmCilClassLayout);
40254#ifndef DOCUMENTATION
40255AsmCilClassLayout.useSmallHeader(
true);
40258#ifdef DOCUMENTATION
40263#ifndef DOCUMENTATION
40264 AsmCilClassLayout.setDataPrototype(
40265 "uint16_t",
"PackingSize",
"= 0",
40266 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40269#ifndef DOCUMENTATION
40270 AsmCilClassLayout.setDataPrototype(
40271 "uint32_t",
"ClassSize",
"= 0",
40272 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40275#ifndef DOCUMENTATION
40276 AsmCilClassLayout.setDataPrototype(
40277 "uint32_t",
"Parent",
"= 0",
40278 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40281 DECLARE_OTHERS(AsmCilClassLayout);
40282#if defined(SgAsmCilClassLayout_OTHERS) || defined(DOCUMENTATION)
40285#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40287 friend class boost::serialization::access;
40290 void serialize(S &s,
const unsigned ) {
40293 s & BOOST_SERIALIZATION_NVP(p_PackingSize);
40294 s & BOOST_SERIALIZATION_NVP(p_ClassSize);
40295 s & BOOST_SERIALIZATION_NVP(p_Parent);
40330 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
40331 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
40332 void dump(std::ostream&)
const;
40352#ifdef DOCUMENTATION
40361DECLARE_LEAF_CLASS(AsmCilAssemblyTable);
40362IS_SERIALIZABLE(AsmCilAssemblyTable);
40364#ifndef DOCUMENTATION
40365AsmCilAssemblyTable.useSmallHeader(
true);
40368#ifdef DOCUMENTATION
40373#ifndef DOCUMENTATION
40374 AsmCilAssemblyTable.setDataPrototype(
40375 "std::vector<SgAsmCilAssembly*>",
"elements",
"",
40376 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
40379 DECLARE_OTHERS(AsmCilAssemblyTable);
40380#if defined(SgAsmCilAssemblyTable_OTHERS) || defined(DOCUMENTATION)
40383#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40385 friend class boost::serialization::access;
40388 void serialize(S &s,
const unsigned ) {
40391 s & BOOST_SERIALIZATION_NVP(p_elements);
40397 std::vector<SgAsmCilAssembly*>
const& get_elements()
const;
40398 std::vector<SgAsmCilAssembly*>& get_elements();
40418#ifdef DOCUMENTATION
40427DECLARE_LEAF_CLASS(AsmCilAssemblyRefTable);
40428IS_SERIALIZABLE(AsmCilAssemblyRefTable);
40430#ifndef DOCUMENTATION
40431AsmCilAssemblyRefTable.useSmallHeader(
true);
40434#ifdef DOCUMENTATION
40439#ifndef DOCUMENTATION
40440 AsmCilAssemblyRefTable.setDataPrototype(
40441 "std::vector<SgAsmCilAssemblyRef*>",
"elements",
"",
40442 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
40445 DECLARE_OTHERS(AsmCilAssemblyRefTable);
40446#if defined(SgAsmCilAssemblyRefTable_OTHERS) || defined(DOCUMENTATION)
40449#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40451 friend class boost::serialization::access;
40454 void serialize(S &s,
const unsigned ) {
40457 s & BOOST_SERIALIZATION_NVP(p_elements);
40463 std::vector<SgAsmCilAssemblyRef*>
const& get_elements()
const;
40464 std::vector<SgAsmCilAssemblyRef*>& get_elements();
40484#ifdef DOCUMENTATION
40493DECLARE_LEAF_CLASS(AsmCilAssemblyRefProcessorTable);
40494IS_SERIALIZABLE(AsmCilAssemblyRefProcessorTable);
40496#ifndef DOCUMENTATION
40497AsmCilAssemblyRefProcessorTable.useSmallHeader(
true);
40500#ifdef DOCUMENTATION
40505#ifndef DOCUMENTATION
40506 AsmCilAssemblyRefProcessorTable.setDataPrototype(
40507 "std::vector<SgAsmCilAssemblyRefProcessor*>",
"elements",
"",
40508 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
40511 DECLARE_OTHERS(AsmCilAssemblyRefProcessorTable);
40512#if defined(SgAsmCilAssemblyRefProcessorTable_OTHERS) || defined(DOCUMENTATION)
40515#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40517 friend class boost::serialization::access;
40520 void serialize(S &s,
const unsigned ) {
40523 s & BOOST_SERIALIZATION_NVP(p_elements);
40529 std::vector<SgAsmCilAssemblyRefProcessor*>
const& get_elements()
const;
40530 std::vector<SgAsmCilAssemblyRefProcessor*>& get_elements();
40550#ifdef DOCUMENTATION
40559DECLARE_LEAF_CLASS(AsmCilAssemblyRefProcessor);
40560IS_SERIALIZABLE(AsmCilAssemblyRefProcessor);
40562#ifndef DOCUMENTATION
40563AsmCilAssemblyRefProcessor.useSmallHeader(
true);
40566#ifdef DOCUMENTATION
40571#ifndef DOCUMENTATION
40572 AsmCilAssemblyRefProcessor.setDataPrototype(
40573 "uint32_t",
"Processor",
"= 0",
40574 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40577#ifndef DOCUMENTATION
40578 AsmCilAssemblyRefProcessor.setDataPrototype(
40579 "uint32_t",
"AssemblyRef",
"= 0",
40580 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40583 DECLARE_OTHERS(AsmCilAssemblyRefProcessor);
40584#if defined(SgAsmCilAssemblyRefProcessor_OTHERS) || defined(DOCUMENTATION)
40587#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40589 friend class boost::serialization::access;
40592 void serialize(S &s,
const unsigned ) {
40595 s & BOOST_SERIALIZATION_NVP(p_Processor);
40596 s & BOOST_SERIALIZATION_NVP(p_AssemblyRef);
40621 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
40622 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
40623 void dump(std::ostream&)
const;
40643#ifdef DOCUMENTATION
40652DECLARE_LEAF_CLASS(AsmCilAssemblyRefOSTable);
40653IS_SERIALIZABLE(AsmCilAssemblyRefOSTable);
40655#ifndef DOCUMENTATION
40656AsmCilAssemblyRefOSTable.useSmallHeader(
true);
40659#ifdef DOCUMENTATION
40664#ifndef DOCUMENTATION
40665 AsmCilAssemblyRefOSTable.setDataPrototype(
40666 "std::vector<SgAsmCilAssemblyRefOS*>",
"elements",
"",
40667 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
40670 DECLARE_OTHERS(AsmCilAssemblyRefOSTable);
40671#if defined(SgAsmCilAssemblyRefOSTable_OTHERS) || defined(DOCUMENTATION)
40674#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40676 friend class boost::serialization::access;
40679 void serialize(S &s,
const unsigned ) {
40682 s & BOOST_SERIALIZATION_NVP(p_elements);
40688 std::vector<SgAsmCilAssemblyRefOS*>
const& get_elements()
const;
40689 std::vector<SgAsmCilAssemblyRefOS*>& get_elements();
40709#ifdef DOCUMENTATION
40718DECLARE_LEAF_CLASS(AsmCilAssemblyRefOS);
40719IS_SERIALIZABLE(AsmCilAssemblyRefOS);
40721#ifndef DOCUMENTATION
40722AsmCilAssemblyRefOS.useSmallHeader(
true);
40725#ifdef DOCUMENTATION
40730#ifndef DOCUMENTATION
40731 AsmCilAssemblyRefOS.setDataPrototype(
40732 "uint32_t",
"OSPlatformID",
"= 0",
40733 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40736#ifndef DOCUMENTATION
40737 AsmCilAssemblyRefOS.setDataPrototype(
40738 "uint32_t",
"OSMajorVersion",
"= 0",
40739 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40742#ifndef DOCUMENTATION
40743 AsmCilAssemblyRefOS.setDataPrototype(
40744 "uint32_t",
"OSMinorVersion",
"= 0",
40745 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40748#ifndef DOCUMENTATION
40749 AsmCilAssemblyRefOS.setDataPrototype(
40750 "uint32_t",
"AssemblyRefOS",
"= 0",
40751 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40754 DECLARE_OTHERS(AsmCilAssemblyRefOS);
40755#if defined(SgAsmCilAssemblyRefOS_OTHERS) || defined(DOCUMENTATION)
40758#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40760 friend class boost::serialization::access;
40763 void serialize(S &s,
const unsigned ) {
40766 s & BOOST_SERIALIZATION_NVP(p_OSPlatformID);
40767 s & BOOST_SERIALIZATION_NVP(p_OSMajorVersion);
40768 s & BOOST_SERIALIZATION_NVP(p_OSMinorVersion);
40769 s & BOOST_SERIALIZATION_NVP(p_AssemblyRefOS);
40814 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
40815 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
40816 void dump(std::ostream&)
const;
40836#ifdef DOCUMENTATION
40845DECLARE_LEAF_CLASS(AsmCilAssemblyRef);
40846IS_SERIALIZABLE(AsmCilAssemblyRef);
40848#ifndef DOCUMENTATION
40849AsmCilAssemblyRef.useSmallHeader(
true);
40852#ifdef DOCUMENTATION
40857#ifndef DOCUMENTATION
40858 AsmCilAssemblyRef.setDataPrototype(
40859 "uint16_t",
"MajorVersion",
"= 0",
40860 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40863#ifndef DOCUMENTATION
40864 AsmCilAssemblyRef.setDataPrototype(
40865 "uint16_t",
"MinorVersion",
"= 0",
40866 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40869#ifndef DOCUMENTATION
40870 AsmCilAssemblyRef.setDataPrototype(
40871 "uint16_t",
"BuildNumber",
"= 0",
40872 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40875#ifndef DOCUMENTATION
40876 AsmCilAssemblyRef.setDataPrototype(
40877 "uint16_t",
"RevisionNumber",
"= 0",
40878 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40881#ifndef DOCUMENTATION
40882 AsmCilAssemblyRef.setDataPrototype(
40883 "uint32_t",
"Flags",
"= 0",
40884 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40887#ifndef DOCUMENTATION
40888 AsmCilAssemblyRef.setDataPrototype(
40889 "uint32_t",
"PublicKeyOrToken",
"= 0",
40890 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40893#ifndef DOCUMENTATION
40894 AsmCilAssemblyRef.setDataPrototype(
40895 "uint32_t",
"Name",
"= 0",
40896 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40899#ifndef DOCUMENTATION
40900 AsmCilAssemblyRef.setDataPrototype(
40901 "uint32_t",
"Culture",
"= 0",
40902 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40905#ifndef DOCUMENTATION
40906 AsmCilAssemblyRef.setDataPrototype(
40907 "uint32_t",
"HashValue",
"= 0",
40908 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
40911 DECLARE_OTHERS(AsmCilAssemblyRef);
40912#if defined(SgAsmCilAssemblyRef_OTHERS) || defined(DOCUMENTATION)
40915#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
40917 friend class boost::serialization::access;
40920 void serialize(S &s,
const unsigned ) {
40923 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
40924 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
40925 s & BOOST_SERIALIZATION_NVP(p_BuildNumber);
40926 s & BOOST_SERIALIZATION_NVP(p_RevisionNumber);
40927 s & BOOST_SERIALIZATION_NVP(p_Flags);
40928 s & BOOST_SERIALIZATION_NVP(p_PublicKeyOrToken);
40929 s & BOOST_SERIALIZATION_NVP(p_Name);
40930 s & BOOST_SERIALIZATION_NVP(p_Culture);
40931 s & BOOST_SERIALIZATION_NVP(p_HashValue);
41026 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
41027 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
41028 void dump(std::ostream&)
const;
41030 const std::uint8_t* get_PublicKeyOrToken_blob()
const;
41031 const std::uint8_t* get_Name_string()
const;
41032 const std::uint8_t* get_Culture_string()
const;
41033 const std::uint8_t* get_HashValue_blob()
const;
41051#ifdef DOCUMENTATION
41060DECLARE_LEAF_CLASS(AsmCilAssemblyProcessorTable);
41061IS_SERIALIZABLE(AsmCilAssemblyProcessorTable);
41063#ifndef DOCUMENTATION
41064AsmCilAssemblyProcessorTable.useSmallHeader(
true);
41067#ifdef DOCUMENTATION
41072#ifndef DOCUMENTATION
41073 AsmCilAssemblyProcessorTable.setDataPrototype(
41074 "std::vector<SgAsmCilAssemblyProcessor*>",
"elements",
"",
41075 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
41078 DECLARE_OTHERS(AsmCilAssemblyProcessorTable);
41079#if defined(SgAsmCilAssemblyProcessorTable_OTHERS) || defined(DOCUMENTATION)
41082#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41084 friend class boost::serialization::access;
41087 void serialize(S &s,
const unsigned ) {
41090 s & BOOST_SERIALIZATION_NVP(p_elements);
41096 std::vector<SgAsmCilAssemblyProcessor*>
const& get_elements()
const;
41097 std::vector<SgAsmCilAssemblyProcessor*>& get_elements();
41117#ifdef DOCUMENTATION
41126DECLARE_LEAF_CLASS(AsmCilAssemblyProcessor);
41127IS_SERIALIZABLE(AsmCilAssemblyProcessor);
41129#ifndef DOCUMENTATION
41130AsmCilAssemblyProcessor.useSmallHeader(
true);
41133#ifdef DOCUMENTATION
41138#ifndef DOCUMENTATION
41139 AsmCilAssemblyProcessor.setDataPrototype(
41140 "uint32_t",
"Processor",
"= 0",
41141 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41144 DECLARE_OTHERS(AsmCilAssemblyProcessor);
41145#if defined(SgAsmCilAssemblyProcessor_OTHERS) || defined(DOCUMENTATION)
41148#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41150 friend class boost::serialization::access;
41153 void serialize(S &s,
const unsigned ) {
41156 s & BOOST_SERIALIZATION_NVP(p_Processor);
41171 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
41172 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
41173 void dump(std::ostream&)
const;
41191#ifdef DOCUMENTATION
41200DECLARE_LEAF_CLASS(AsmCilAssemblyOSTable);
41201IS_SERIALIZABLE(AsmCilAssemblyOSTable);
41203#ifndef DOCUMENTATION
41204AsmCilAssemblyOSTable.useSmallHeader(
true);
41207#ifdef DOCUMENTATION
41212#ifndef DOCUMENTATION
41213 AsmCilAssemblyOSTable.setDataPrototype(
41214 "std::vector<SgAsmCilAssemblyOS*>",
"elements",
"",
41215 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
41218 DECLARE_OTHERS(AsmCilAssemblyOSTable);
41219#if defined(SgAsmCilAssemblyOSTable_OTHERS) || defined(DOCUMENTATION)
41222#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41224 friend class boost::serialization::access;
41227 void serialize(S &s,
const unsigned ) {
41230 s & BOOST_SERIALIZATION_NVP(p_elements);
41236 std::vector<SgAsmCilAssemblyOS*>
const& get_elements()
const;
41237 std::vector<SgAsmCilAssemblyOS*>& get_elements();
41257#ifdef DOCUMENTATION
41266DECLARE_LEAF_CLASS(AsmCilAssemblyOS);
41267IS_SERIALIZABLE(AsmCilAssemblyOS);
41269#ifndef DOCUMENTATION
41270AsmCilAssemblyOS.useSmallHeader(
true);
41273#ifdef DOCUMENTATION
41278#ifndef DOCUMENTATION
41279 AsmCilAssemblyOS.setDataPrototype(
41280 "uint32_t",
"OSPlatformID",
"= 0",
41281 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41284#ifndef DOCUMENTATION
41285 AsmCilAssemblyOS.setDataPrototype(
41286 "uint32_t",
"OSMajorVersion",
"= 0",
41287 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41290#ifndef DOCUMENTATION
41291 AsmCilAssemblyOS.setDataPrototype(
41292 "uint32_t",
"OSMinorVersion",
"= 0",
41293 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41296 DECLARE_OTHERS(AsmCilAssemblyOS);
41297#if defined(SgAsmCilAssemblyOS_OTHERS) || defined(DOCUMENTATION)
41300#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41302 friend class boost::serialization::access;
41305 void serialize(S &s,
const unsigned ) {
41308 s & BOOST_SERIALIZATION_NVP(p_OSPlatformID);
41309 s & BOOST_SERIALIZATION_NVP(p_OSMajorVersion);
41310 s & BOOST_SERIALIZATION_NVP(p_OSMinorVersion);
41345 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
41346 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
41347 void dump(std::ostream&)
const;
41365#ifdef DOCUMENTATION
41374DECLARE_LEAF_CLASS(AsmCilAssembly);
41375IS_SERIALIZABLE(AsmCilAssembly);
41377#ifndef DOCUMENTATION
41378AsmCilAssembly.useSmallHeader(
true);
41381#ifdef DOCUMENTATION
41386#ifndef DOCUMENTATION
41387 AsmCilAssembly.setDataPrototype(
41388 "uint32_t",
"HashAlgId",
"= 0",
41389 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41392#ifndef DOCUMENTATION
41393 AsmCilAssembly.setDataPrototype(
41394 "uint16_t",
"MajorVersion",
"= 0",
41395 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41398#ifndef DOCUMENTATION
41399 AsmCilAssembly.setDataPrototype(
41400 "uint16_t",
"MinorVersion",
"= 0",
41401 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41404#ifndef DOCUMENTATION
41405 AsmCilAssembly.setDataPrototype(
41406 "uint16_t",
"BuildNumber",
"= 0",
41407 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41410#ifndef DOCUMENTATION
41411 AsmCilAssembly.setDataPrototype(
41412 "uint16_t",
"RevisionNumber",
"= 0",
41413 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41416#ifndef DOCUMENTATION
41417 AsmCilAssembly.setDataPrototype(
41418 "uint32_t",
"Flags",
"= 0",
41419 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41422#ifndef DOCUMENTATION
41423 AsmCilAssembly.setDataPrototype(
41424 "uint32_t",
"PublicKey",
"= 0",
41425 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41428#ifndef DOCUMENTATION
41429 AsmCilAssembly.setDataPrototype(
41430 "uint32_t",
"Name",
"= 0",
41431 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41434#ifndef DOCUMENTATION
41435 AsmCilAssembly.setDataPrototype(
41436 "uint32_t",
"Culture",
"= 0",
41437 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41440 DECLARE_OTHERS(AsmCilAssembly);
41441#if defined(SgAsmCilAssembly_OTHERS) || defined(DOCUMENTATION)
41444#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41446 friend class boost::serialization::access;
41449 void serialize(S &s,
const unsigned ) {
41452 s & BOOST_SERIALIZATION_NVP(p_HashAlgId);
41453 s & BOOST_SERIALIZATION_NVP(p_MajorVersion);
41454 s & BOOST_SERIALIZATION_NVP(p_MinorVersion);
41455 s & BOOST_SERIALIZATION_NVP(p_BuildNumber);
41456 s & BOOST_SERIALIZATION_NVP(p_RevisionNumber);
41457 s & BOOST_SERIALIZATION_NVP(p_Flags);
41458 s & BOOST_SERIALIZATION_NVP(p_PublicKey);
41459 s & BOOST_SERIALIZATION_NVP(p_Name);
41460 s & BOOST_SERIALIZATION_NVP(p_Culture);
41555 void parse(
const std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing);
41556 void unparse(std::vector<uint8_t>& buf,
size_t& index, uint64_t uses4byteIndexing)
const;
41557 void dump(std::ostream&)
const;
41559 const std::uint8_t* get_PublicKey_blob()
const;
41560 const std::uint8_t* get_Name_string()
const;
41561 const std::uint8_t* get_Culture_string()
const;
41579#ifdef DOCUMENTATION
41588#ifndef DOCUMENTATION
41589AstNodeClass& AsmCilMetadata = nonTerminalConstructor(
41593 "AsmCilMetadataTag",
41594 SubclassListBuilder()
41597 | AsmCilAssemblyOSTable
41598 | AsmCilAssemblyProcessor
41599 | AsmCilAssemblyProcessorTable
41600 | AsmCilAssemblyRef
41601 | AsmCilAssemblyRefOS
41602 | AsmCilAssemblyRefOSTable
41603 | AsmCilAssemblyRefProcessor
41604 | AsmCilAssemblyRefProcessorTable
41605 | AsmCilAssemblyRefTable
41606 | AsmCilAssemblyTable
41607 | AsmCilClassLayout
41608 | AsmCilClassLayoutTable
41610 | AsmCilConstantTable
41611 | AsmCilCustomAttribute
41612 | AsmCilCustomAttributeTable
41613 | AsmCilDeclSecurity
41614 | AsmCilDeclSecurityTable
41617 | AsmCilEventMapTable
41619 | AsmCilExportedType
41620 | AsmCilExportedTypeTable
41622 | AsmCilFieldLayout
41623 | AsmCilFieldLayoutTable
41624 | AsmCilFieldMarshal
41625 | AsmCilFieldMarshalTable
41627 | AsmCilFieldRVATable
41631 | AsmCilGenericParam
41632 | AsmCilGenericParamConstraint
41633 | AsmCilGenericParamConstraintTable
41634 | AsmCilGenericParamTable
41636 | AsmCilImplMapTable
41637 | AsmCilInterfaceImpl
41638 | AsmCilInterfaceImplTable
41639 | AsmCilManifestResource
41640 | AsmCilManifestResourceTable
41642 | AsmCilMemberRefTable
41644 | AsmCilMethodDefTable
41646 | AsmCilMethodImplTable
41647 | AsmCilMethodSemantics
41648 | AsmCilMethodSemanticsTable
41650 | AsmCilMethodSpecTable
41653 | AsmCilModuleRefTable
41654 | AsmCilModuleTable
41655 | AsmCilNestedClass
41656 | AsmCilNestedClassTable
41660 | AsmCilPropertyMap
41661 | AsmCilPropertyMapTable
41662 | AsmCilPropertyTable
41663 | AsmCilStandAloneSig
41664 | AsmCilStandAloneSigTable
41666 | AsmCilTypeDefTable
41668 | AsmCilTypeRefTable
41670 | AsmCilTypeSpecTable
41672assert(AsmCilMetadata.associatedGrammar !=
nullptr);
41673AsmCilMetadata.setCppCondition(
"!defined(DOCUMENTATION)");
41674AsmCilMetadata.isBoostSerializable(
true);
41675AsmCilMetadata.setAutomaticGenerationOfConstructor(
false);
41676AsmCilMetadata.setAutomaticGenerationOfDestructor(
false);
41679#ifndef DOCUMENTATION
41680AsmCilMetadata.useSmallHeader(
true);
41683#ifdef DOCUMENTATION
41688 DECLARE_OTHERS(AsmCilMetadata);
41689#if defined(SgAsmCilMetadata_OTHERS) || defined(DOCUMENTATION)
41692#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41694 friend class boost::serialization::access;
41697 void serialize(S &s,
const unsigned ) {
41699 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmCilNode);
41721#ifdef DOCUMENTATION
41730#ifndef DOCUMENTATION
41731AstNodeClass& AsmCilNode = nonTerminalConstructor(
41736 SubclassListBuilder()
41738 | AsmCilExceptionData
41740 | AsmCilMetadataRoot
41743assert(AsmCilNode.associatedGrammar !=
nullptr);
41744AsmCilNode.setCppCondition(
"!defined(DOCUMENTATION)");
41745AsmCilNode.isBoostSerializable(
true);
41746AsmCilNode.setAutomaticGenerationOfConstructor(
false);
41747AsmCilNode.setAutomaticGenerationOfDestructor(
false);
41750#ifndef DOCUMENTATION
41751AsmCilNode.useSmallHeader(
true);
41754#ifdef DOCUMENTATION
41759 DECLARE_OTHERS(AsmCilNode);
41760#if defined(SgAsmCilNode_OTHERS) || defined(DOCUMENTATION)
41763#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41765 friend class boost::serialization::access;
41768 void serialize(S &s,
const unsigned ) {
41770 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
41792#ifdef DOCUMENTATION
41801DECLARE_LEAF_CLASS(AsmByteOrder);
41802IS_SERIALIZABLE(AsmByteOrder);
41804#ifndef DOCUMENTATION
41805AsmByteOrder.useSmallHeader(
true);
41808DECLARE_HEADERS(AsmByteOrder);
41809#if defined(SgAsmByteOrder_HEADERS) || defined(DOCUMENTATION)
41810#include <Rose/BinaryAnalysis/ByteOrder.h>
41813#ifdef DOCUMENTATION
41818 DECLARE_OTHERS(AsmByteOrder);
41819#if defined(SgAsmByteOrder_OTHERS) || defined(DOCUMENTATION)
41822#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41824 friend class boost::serialization::access;
41827 void serialize(S &s,
const unsigned ) {
41830 s & BOOST_SERIALIZATION_NVP(byteOrder_);
41867#ifdef DOCUMENTATION
41876DECLARE_LEAF_CLASS(AsmBlock);
41877IS_SERIALIZABLE(AsmBlock);
41879#ifndef DOCUMENTATION
41880AsmBlock.useSmallHeader(
true);
41883DECLARE_HEADERS(AsmBlock);
41884#if defined(SgAsmBlock_HEADERS) || defined(DOCUMENTATION)
41885#include <Rose/BinaryAnalysis/Address.h>
41887#include <sageContainer.h>
41889#ifdef ROSE_SgAsmBlock_IMPL
41890#include <SgAsmInstruction.h>
41894#ifdef DOCUMENTATION
41918#ifndef DOCUMENTATION
41919 AsmBlock.setDataPrototype(
41920 "Rose::BinaryAnalysis::Address",
"id",
"= 0",
41921 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41924#ifndef DOCUMENTATION
41925 AsmBlock.setDataPrototype(
41926 "unsigned",
"reason",
"= SgAsmBlock::BLK_NONE",
41927 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41930#ifndef DOCUMENTATION
41931 AsmBlock.setDataPrototype(
41932 "SgAsmStatementPtrList",
"statementList",
"",
41933 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
41936#ifndef DOCUMENTATION
41937 AsmBlock.setDataPrototype(
41938 "SgAsmIntegerValuePtrList",
"successors",
"",
41939 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41942#ifndef DOCUMENTATION
41943 AsmBlock.setDataPrototype(
41944 "bool",
"successorsComplete",
"= false",
41945 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41948#ifndef DOCUMENTATION
41949 AsmBlock.setDataPrototype(
41950 "SgAsmBlock*",
"immediateDominator",
"= nullptr",
41951 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41954#ifndef DOCUMENTATION
41955 AsmBlock.setDataPrototype(
41956 "size_t",
"cachedVertex",
"= (size_t)(-1)",
41957 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41960#ifndef DOCUMENTATION
41961 AsmBlock.setDataPrototype(
41962 "double",
"codeLikelihood",
"= 0.0",
41963 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41966#ifndef DOCUMENTATION
41967 AsmBlock.setDataPrototype(
41968 "int64_t",
"stackDeltaOut",
"= SgAsmInstruction::INVALID_STACK_DELTA",
41969 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
41972 DECLARE_OTHERS(AsmBlock);
41973#if defined(SgAsmBlock_OTHERS) || defined(DOCUMENTATION)
41976#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
41978 friend class boost::serialization::access;
41981 void serialize(S &s,
const unsigned ) {
41984 s & BOOST_SERIALIZATION_NVP(p_reason);
41985 s & BOOST_SERIALIZATION_NVP(p_statementList);
41986 s & BOOST_SERIALIZATION_NVP(p_successors);
41987 s & BOOST_SERIALIZATION_NVP(p_successorsComplete);
41988 s & BOOST_SERIALIZATION_NVP(p_immediateDominator);
41989 s & BOOST_SERIALIZATION_NVP(p_cachedVertex);
41990 s & BOOST_SERIALIZATION_NVP(p_codeLikelihood);
41991 s & BOOST_SERIALIZATION_NVP(p_stackDeltaOut);
42241 Rose::BinaryAnalysis::Address get_fallthrough_va() ROSE_DEPRECATED("use getFallthroughVa");
42243 bool has_instructions() const ROSE_DEPRECATED("use
hasInstructions");
42244 bool is_basic_block() const ROSE_DEPRECATED("use
isBasicBlock");
42245 bool is_function_call(
Rose::BinaryAnalysis::Address&,
Rose::BinaryAnalysis::Address&) ROSE_DEPRECATED("use
isFunctionCall");
42246 static std::
string reason_key(const std::
string& = "") ROSE_DEPRECATED("use
reasonKey");
42247 std::
string reason_str(
bool) const ROSE_DEPRECATED("use
reasonString");
42248 static std::
string reason_str(
bool,
unsigned) ROSE_DEPRECATED("use
reasonString");
42270#ifdef DOCUMENTATION
42279DECLARE_LEAF_CLASS(AsmBinarySubtract);
42280IS_SERIALIZABLE(AsmBinarySubtract);
42282#ifndef DOCUMENTATION
42283AsmBinarySubtract.useSmallHeader(
true);
42286#ifdef DOCUMENTATION
42291 DECLARE_OTHERS(AsmBinarySubtract);
42292#if defined(SgAsmBinarySubtract_OTHERS) || defined(DOCUMENTATION)
42295#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42297 friend class boost::serialization::access;
42300 void serialize(S &s,
const unsigned ) {
42329#ifdef DOCUMENTATION
42338DECLARE_LEAF_CLASS(AsmBinaryRor);
42339IS_SERIALIZABLE(AsmBinaryRor);
42341#ifndef DOCUMENTATION
42342AsmBinaryRor.useSmallHeader(
true);
42345#ifdef DOCUMENTATION
42350 DECLARE_OTHERS(AsmBinaryRor);
42351#if defined(SgAsmBinaryRor_OTHERS) || defined(DOCUMENTATION)
42354#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42356 friend class boost::serialization::access;
42359 void serialize(S &s,
const unsigned ) {
42388#ifdef DOCUMENTATION
42397DECLARE_LEAF_CLASS(AsmBinaryPreupdate);
42398IS_SERIALIZABLE(AsmBinaryPreupdate);
42400#ifndef DOCUMENTATION
42401AsmBinaryPreupdate.useSmallHeader(
true);
42404#ifdef DOCUMENTATION
42412 DECLARE_OTHERS(AsmBinaryPreupdate);
42413#if defined(SgAsmBinaryPreupdate_OTHERS) || defined(DOCUMENTATION)
42416#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42418 friend class boost::serialization::access;
42421 void serialize(S &s,
const unsigned ) {
42450#ifdef DOCUMENTATION
42459DECLARE_LEAF_CLASS(AsmBinaryPostupdate);
42460IS_SERIALIZABLE(AsmBinaryPostupdate);
42462#ifndef DOCUMENTATION
42463AsmBinaryPostupdate.useSmallHeader(
true);
42466#ifdef DOCUMENTATION
42474 DECLARE_OTHERS(AsmBinaryPostupdate);
42475#if defined(SgAsmBinaryPostupdate_OTHERS) || defined(DOCUMENTATION)
42478#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42480 friend class boost::serialization::access;
42483 void serialize(S &s,
const unsigned ) {
42512#ifdef DOCUMENTATION
42521DECLARE_LEAF_CLASS(AsmBinaryMultiply);
42522IS_SERIALIZABLE(AsmBinaryMultiply);
42524#ifndef DOCUMENTATION
42525AsmBinaryMultiply.useSmallHeader(
true);
42528#ifdef DOCUMENTATION
42533 DECLARE_OTHERS(AsmBinaryMultiply);
42534#if defined(SgAsmBinaryMultiply_OTHERS) || defined(DOCUMENTATION)
42537#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42539 friend class boost::serialization::access;
42542 void serialize(S &s,
const unsigned ) {
42571#ifdef DOCUMENTATION
42580DECLARE_LEAF_CLASS(AsmBinaryMsl);
42581IS_SERIALIZABLE(AsmBinaryMsl);
42583#ifndef DOCUMENTATION
42584AsmBinaryMsl.useSmallHeader(
true);
42587#ifdef DOCUMENTATION
42594 DECLARE_OTHERS(AsmBinaryMsl);
42595#if defined(SgAsmBinaryMsl_OTHERS) || defined(DOCUMENTATION)
42598#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42600 friend class boost::serialization::access;
42603 void serialize(S &s,
const unsigned ) {
42632#ifdef DOCUMENTATION
42641DECLARE_LEAF_CLASS(AsmBinaryMod);
42642IS_SERIALIZABLE(AsmBinaryMod);
42644#ifndef DOCUMENTATION
42645AsmBinaryMod.useSmallHeader(
true);
42648#ifdef DOCUMENTATION
42653 DECLARE_OTHERS(AsmBinaryMod);
42654#if defined(SgAsmBinaryMod_OTHERS) || defined(DOCUMENTATION)
42657#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42659 friend class boost::serialization::access;
42662 void serialize(S &s,
const unsigned ) {
42691#ifdef DOCUMENTATION
42700DECLARE_LEAF_CLASS(AsmBinaryLsr);
42701IS_SERIALIZABLE(AsmBinaryLsr);
42703#ifndef DOCUMENTATION
42704AsmBinaryLsr.useSmallHeader(
true);
42707#ifdef DOCUMENTATION
42712 DECLARE_OTHERS(AsmBinaryLsr);
42713#if defined(SgAsmBinaryLsr_OTHERS) || defined(DOCUMENTATION)
42716#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42718 friend class boost::serialization::access;
42721 void serialize(S &s,
const unsigned ) {
42750#ifdef DOCUMENTATION
42759DECLARE_LEAF_CLASS(AsmBinaryLsl);
42760IS_SERIALIZABLE(AsmBinaryLsl);
42762#ifndef DOCUMENTATION
42763AsmBinaryLsl.useSmallHeader(
true);
42766#ifdef DOCUMENTATION
42771 DECLARE_OTHERS(AsmBinaryLsl);
42772#if defined(SgAsmBinaryLsl_OTHERS) || defined(DOCUMENTATION)
42775#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42777 friend class boost::serialization::access;
42780 void serialize(S &s,
const unsigned ) {
42809#ifdef DOCUMENTATION
42818DECLARE_LEAF_CLASS(AsmBinaryDivide);
42819IS_SERIALIZABLE(AsmBinaryDivide);
42821#ifndef DOCUMENTATION
42822AsmBinaryDivide.useSmallHeader(
true);
42825#ifdef DOCUMENTATION
42830 DECLARE_OTHERS(AsmBinaryDivide);
42831#if defined(SgAsmBinaryDivide_OTHERS) || defined(DOCUMENTATION)
42834#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42836 friend class boost::serialization::access;
42839 void serialize(S &s,
const unsigned ) {
42868#ifdef DOCUMENTATION
42877DECLARE_LEAF_CLASS(AsmBinaryConcat);
42878IS_SERIALIZABLE(AsmBinaryConcat);
42880#ifndef DOCUMENTATION
42881AsmBinaryConcat.useSmallHeader(
true);
42884#ifdef DOCUMENTATION
42889 DECLARE_OTHERS(AsmBinaryConcat);
42890#if defined(SgAsmBinaryConcat_OTHERS) || defined(DOCUMENTATION)
42893#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42895 friend class boost::serialization::access;
42898 void serialize(S &s,
const unsigned ) {
42927#ifdef DOCUMENTATION
42936DECLARE_LEAF_CLASS(AsmBinaryAsr);
42937IS_SERIALIZABLE(AsmBinaryAsr);
42939#ifndef DOCUMENTATION
42940AsmBinaryAsr.useSmallHeader(
true);
42943#ifdef DOCUMENTATION
42948 DECLARE_OTHERS(AsmBinaryAsr);
42949#if defined(SgAsmBinaryAsr_OTHERS) || defined(DOCUMENTATION)
42952#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
42954 friend class boost::serialization::access;
42957 void serialize(S &s,
const unsigned ) {
42986#ifdef DOCUMENTATION
42995DECLARE_LEAF_CLASS(AsmBinaryAdd);
42996IS_SERIALIZABLE(AsmBinaryAdd);
42998#ifndef DOCUMENTATION
42999AsmBinaryAdd.useSmallHeader(
true);
43002#ifdef DOCUMENTATION
43007 DECLARE_OTHERS(AsmBinaryAdd);
43008#if defined(SgAsmBinaryAdd_OTHERS) || defined(DOCUMENTATION)
43011#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43013 friend class boost::serialization::access;
43016 void serialize(S &s,
const unsigned ) {
43045#ifdef DOCUMENTATION
43054#ifndef DOCUMENTATION
43055AstNodeClass& AsmBinaryExpression = nonTerminalConstructor(
43056 "AsmBinaryExpression",
43058 "AsmBinaryExpression",
43059 "AsmBinaryExpressionTag",
43060 SubclassListBuilder()
43069 | AsmBinaryMultiply
43070 | AsmBinaryPostupdate
43071 | AsmBinaryPreupdate
43073 | AsmBinarySubtract
43075assert(AsmBinaryExpression.associatedGrammar !=
nullptr);
43076AsmBinaryExpression.setCppCondition(
"!defined(DOCUMENTATION)");
43077AsmBinaryExpression.isBoostSerializable(
true);
43078AsmBinaryExpression.setAutomaticGenerationOfConstructor(
false);
43079AsmBinaryExpression.setAutomaticGenerationOfDestructor(
false);
43082#ifndef DOCUMENTATION
43083AsmBinaryExpression.useSmallHeader(
true);
43086#ifdef DOCUMENTATION
43091#ifndef DOCUMENTATION
43092 AsmBinaryExpression.setDataPrototype(
43093 "SgAsmExpression*",
"lhs",
"= nullptr",
43094 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
43097#ifndef DOCUMENTATION
43098 AsmBinaryExpression.setDataPrototype(
43099 "SgAsmExpression*",
"rhs",
"= nullptr",
43100 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
43103 DECLARE_OTHERS(AsmBinaryExpression);
43104#if defined(SgAsmBinaryExpression_OTHERS) || defined(DOCUMENTATION)
43107#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43109 friend class boost::serialization::access;
43112 void serialize(S &s,
const unsigned ) {
43115 s & BOOST_SERIALIZATION_NVP(p_lhs);
43116 s & BOOST_SERIALIZATION_NVP(p_rhs);
43159#ifdef DOCUMENTATION
43168DECLARE_LEAF_CLASS(AsmBasicString);
43169IS_SERIALIZABLE(AsmBasicString);
43171#ifndef DOCUMENTATION
43172AsmBasicString.useSmallHeader(
true);
43175DECLARE_HEADERS(AsmBasicString);
43176#if defined(SgAsmBasicString_HEADERS) || defined(DOCUMENTATION)
43177#include <Rose/BinaryAnalysis/Address.h>
43180#ifdef DOCUMENTATION
43188#ifndef DOCUMENTATION
43189 AsmBasicString.setDataPrototype(
43190 "std::string",
"string",
"",
43191 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
43194 DECLARE_OTHERS(AsmBasicString);
43195#if defined(SgAsmBasicString_OTHERS) || defined(DOCUMENTATION)
43198#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43200 friend class boost::serialization::access;
43203 void serialize(S &s,
const unsigned ) {
43206 s & BOOST_SERIALIZATION_NVP(p_string);
43225 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const override;
43243#ifdef DOCUMENTATION
43252#ifndef DOCUMENTATION
43253AstNodeClass& AsmGenericString = nonTerminalConstructor(
43254 "AsmGenericString",
43256 "AsmGenericString",
43257 "AsmGenericStringTag",
43258 SubclassListBuilder()
43262assert(AsmGenericString.associatedGrammar !=
nullptr);
43263AsmGenericString.setCppCondition(
"!defined(DOCUMENTATION)");
43264AsmGenericString.isBoostSerializable(
true);
43265AsmGenericString.setAutomaticGenerationOfConstructor(
false);
43266AsmGenericString.setAutomaticGenerationOfDestructor(
false);
43269#ifndef DOCUMENTATION
43270AsmGenericString.useSmallHeader(
true);
43273DECLARE_HEADERS(AsmGenericString);
43274#if defined(SgAsmGenericString_HEADERS) || defined(DOCUMENTATION)
43275#include <Rose/BinaryAnalysis/Address.h>
43278#ifdef DOCUMENTATION
43283 DECLARE_OTHERS(AsmGenericString);
43284#if defined(SgAsmGenericString_OTHERS) || defined(DOCUMENTATION)
43287#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43289 friend class boost::serialization::access;
43292 void serialize(S &s,
const unsigned ) {
43317 virtual void dump(FILE*,
const char *prefix, ssize_t idx)
const;
43335#ifdef DOCUMENTATION
43344#ifndef DOCUMENTATION
43345AstNodeClass& AsmExecutableFileFormat = nonTerminalConstructor(
43346 "AsmExecutableFileFormat",
43348 "AsmExecutableFileFormat",
43349 "AsmExecutableFileFormatTag",
43350 SubclassListBuilder()
43351 | AsmCoffSymbolList
43352 | AsmDwarfInformation
43353 | AsmElfDynamicEntry
43354 | AsmElfDynamicEntryList
43355 | AsmElfEHFrameEntryCI
43356 | AsmElfEHFrameEntryCIList
43357 | AsmElfEHFrameEntryFD
43358 | AsmElfEHFrameEntryFDList
43360 | AsmElfNoteEntryList
43362 | AsmElfRelocEntryList
43363 | AsmElfSectionTableEntry
43364 | AsmElfSegmentTableEntry
43365 | AsmElfSegmentTableEntryList
43367 | AsmElfSymverDefinedAux
43368 | AsmElfSymverDefinedAuxList
43369 | AsmElfSymverDefinedEntry
43370 | AsmElfSymverDefinedEntryList
43371 | AsmElfSymverEntry
43372 | AsmElfSymverEntryList
43373 | AsmElfSymverNeededAux
43374 | AsmElfSymverNeededAuxList
43375 | AsmElfSymverNeededEntry
43376 | AsmElfSymverNeededEntryList
43378 | AsmGenericDLLList
43381 | AsmGenericHeaderList
43382 | AsmGenericSection
43383 | AsmGenericSectionList
43387 | AsmGenericSymbolList
43389 | AsmLEPageTableEntry
43390 | AsmLESectionTableEntry
43393 | AsmNESectionTableEntry
43394 | AsmPEExportDirectory
43396 | AsmPEExportEntryList
43397 | AsmPEImportDirectory
43398 | AsmPEImportDirectoryList
43400 | AsmPEImportItemList
43402 | AsmPERVASizePairList
43403 | AsmPESectionTableEntry
43406assert(AsmExecutableFileFormat.associatedGrammar !=
nullptr);
43407AsmExecutableFileFormat.setCppCondition(
"!defined(DOCUMENTATION)");
43408AsmExecutableFileFormat.isBoostSerializable(
true);
43409AsmExecutableFileFormat.setAutomaticGenerationOfConstructor(
false);
43410AsmExecutableFileFormat.setAutomaticGenerationOfDestructor(
false);
43413#ifndef DOCUMENTATION
43414AsmExecutableFileFormat.useSmallHeader(
true);
43417DECLARE_HEADERS(AsmExecutableFileFormat);
43418#if defined(SgAsmExecutableFileFormat_HEADERS) || defined(DOCUMENTATION)
43419#include <Rose/BinaryAnalysis/Address.h>
43420#include <Rose/Exception.h>
43423#ifdef DOCUMENTATION
43428 DECLARE_OTHERS(AsmExecutableFileFormat);
43429#if defined(SgAsmExecutableFileFormat_OTHERS) || defined(DOCUMENTATION)
43432#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43434 friend class boost::serialization::access;
43437 void serialize(S &s,
const unsigned ) {
43439 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
43462 ~ShortRead() throw () {}
43560 ISA_SPARC_V7 = 0x0301,
43561 ISA_SPARC_V8 = 0x0302,
43562 ISA_SPARC_V8E = 0x0303,
43563 ISA_SPARC_V9 = 0x0304,
43564 ISA_SPARC_V9JPS1 = 0x0305,
43565 ISA_SPARC_V9UA = 0x0306,
43566 ISA_SPARC_V9JPS2 = 0x0307,
43570 ISA_M68K_68EC000 = 0x0402,
43571 ISA_M68K_68HC000 = 0x0403,
43572 ISA_M68K_68008 = 0x0404,
43573 ISA_M68K_68010 = 0x0405,
43574 ISA_M68K_68012 = 0x0406,
43576 ISA_M68K_68EC020 = 0x0408,
43577 ISA_M68K_68030 = 0x0409,
43578 ISA_M68K_68EC030 = 0x040a,
43580 ISA_M68K_68EC040 = 0x040c,
43581 ISA_M68K_68LC040 = 0x040d,
43611 ISA_MIPS_R16000A = 0x0613,
43648 ISA_OTHER_Family = 0xf000,
43651 ISA_IBM_System_370 = 0xf002,
43653 ISA_Fujitsu_VPP500 = 0xf004,
43654 ISA_Sun_v8plus = 0xf005,
43655 ISA_PowerPC = 0xf006,
43656 ISA_PowerPC_64bit = 0xf007,
43657 ISA_IBM_S390 = 0xf008,
43658 ISA_NEC_V800_series = 0xf009,
43659 ISA_Fujitsu_FR20 = 0xf00a,
43660 ISA_TRW_RH_32 = 0xf00b,
43661 ISA_Motorola_RCE = 0xf00c,
43662 ISA_Digital_Alpha_fake = 0xf00e,
43663 ISA_Hitachi_SH = 0xf00f,
43664 ISA_Siemens_Tricore = 0xf010,
43665 ISA_Argonaut_RISC_Core = 0xf011,
43666 ISA_Hitachi_H8_300 = 0xf012,
43667 ISA_Hitachi_H8_300H = 0xf013,
43668 ISA_Hitachi_H8S = 0xf014,
43669 ISA_Hitachi_H8_500 = 0xf015,
43670 ISA_Stanford_MIPS_X = 0xf016,
43671 ISA_Motorola_M68HC12 = 0xf017,
43672 ISA_Fujitsu_MMA_Multimedia_Accelerator=0xf018,
43673 ISA_Siemens_PCP = 0xf019,
43674 ISA_Sony_nCPU_embeeded_RISC = 0xf01a,
43675 ISA_Denso_NDR1_microprocessor=0xf01b,
43676 ISA_Motorola_Start_Core_processor=0xf01c,
43677 ISA_Toyota_ME16_processor = 0xf01d,
43678 ISA_STMicroelectronic_ST100_processor=0xf01e,
43679 ISA_Advanced_Logic_Corp_Tinyj_emb_family=0xf01f,
43680 ISA_AMD_x86_64_architecture = 0xf020,
43681 ISA_Sony_DSP_Processor = 0xf021,
43682 ISA_Siemens_FX66_microcontroller=0xf022,
43683 ISA_STMicroelectronics_ST9_plus_8_16_microcontroller=0xf023,
43684 ISA_STMicroelectronics_ST7_8bit_microcontroller=0xf024,
43685 ISA_Motorola_MC68HC16_microcontroller=0xf025,
43686 ISA_Motorola_MC68HC11_microcontroller=0xf026,
43687 ISA_Motorola_MC68HC08_microcontroller=0xf027,
43688 ISA_Motorola_MC68HC05_microcontroller=0xf028,
43689 ISA_Silicon_Graphics_SVx = 0xf029,
43690 ISA_STMicroelectronics_ST19_8bit_microcontroller=0xf02a,
43691 ISA_Digital_VAX = 0xf02b,
43692 ISA_Axis_Communications_32bit_embedded_processor=0xf02c,
43693 ISA_Infineon_Technologies_32bit_embedded_processor=0xf02d,
43694 ISA_Element_14_64bit_DSP_Processor=0xf02e,
43695 ISA_LSI_Logic_16bit_DSP_Processor=0xf02f,
43696 ISA_Donald_Knuths_educational_64bit_processor=0xf030,
43697 ISA_Harvard_University_machine_independent_object_files=0xf031,
43698 ISA_SiTera_Prism = 0xf032,
43699 ISA_Atmel_AVR_8bit_microcontroller=0xf033,
43700 ISA_Fujitsu_FR30 = 0xf034,
43701 ISA_Mitsubishi_D10V = 0xf035,
43702 ISA_Mitsubishi_D30V = 0xf036,
43703 ISA_NEC_v850 = 0xf037,
43704 ISA_Mitsubishi_M32R = 0xf038,
43705 ISA_Matsushita_MN10300 = 0xf039,
43706 ISA_Matsushita_MN10200 = 0xf03a,
43707 ISA_picoJava = 0xf03b,
43708 ISA_OpenRISC_32bit_embedded_processor=0xf03c,
43709 ISA_ARC_Cores_Tangent_A5 = 0xf03d,
43710 ISA_Tensilica_Xtensa_Architecture=0xf03e,
43711 ISA_Digital_Alpha = 0xf03f,
43712 ISA_Matsushita_AM33 = 0xf040,
43713 ISA_EFI_ByteCode = 0xf041
43790#ifdef DOCUMENTATION
43799#ifdef ROSE_ENABLE_ASM_AARCH64
43800DECLARE_LEAF_CLASS(AsmAarch64SysMoveOperand);
43801IS_SERIALIZABLE(AsmAarch64SysMoveOperand);
43803#ifndef DOCUMENTATION
43804AsmAarch64SysMoveOperand.useSmallHeader(
true);
43807DECLARE_HEADERS(AsmAarch64SysMoveOperand);
43808#if defined(SgAsmAarch64SysMoveOperand_HEADERS) || defined(DOCUMENTATION)
43809#ifdef ROSE_ENABLE_ASM_AARCH64
43813#ifdef DOCUMENTATION
43818 DECLARE_OTHERS(AsmAarch64SysMoveOperand);
43819#if defined(SgAsmAarch64SysMoveOperand_OTHERS) || defined(DOCUMENTATION)
43822#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43824 friend class boost::serialization::access;
43827 void serialize(S &s,
const unsigned ) {
43830 s & BOOST_SERIALIZATION_NVP(access_);
43844 unsigned const& access()
const;
43845 void access(
unsigned const&);
43850 virtual ~SgAsmAarch64SysMoveOperand();
43854 SgAsmAarch64SysMoveOperand();
43858 explicit SgAsmAarch64SysMoveOperand(
unsigned const& access);
43869#ifdef DOCUMENTATION
43879#ifdef ROSE_ENABLE_ASM_AARCH64
43880DECLARE_LEAF_CLASS(AsmAarch64PState);
43881IS_SERIALIZABLE(AsmAarch64PState);
43883#ifndef DOCUMENTATION
43884AsmAarch64PState.useSmallHeader(
true);
43887DECLARE_HEADERS(AsmAarch64PState);
43888#if defined(SgAsmAarch64PState_HEADERS) || defined(DOCUMENTATION)
43889#ifdef ROSE_ENABLE_ASM_AARCH64
43891#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
43895#ifdef DOCUMENTATION
43900 DECLARE_OTHERS(AsmAarch64PState);
43901#if defined(SgAsmAarch64PState_OTHERS) || defined(DOCUMENTATION)
43904#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43906 friend class boost::serialization::access;
43909 void serialize(S &s,
const unsigned ) {
43912 s & BOOST_SERIALIZATION_NVP(pstate_);
43918 Rose::BinaryAnalysis::Aarch64PState pstate_;
43926 Rose::BinaryAnalysis::Aarch64PState
const& pstate()
const;
43927 void pstate(Rose::BinaryAnalysis::Aarch64PState
const&);
43932 virtual ~SgAsmAarch64PState();
43936 SgAsmAarch64PState();
43940 explicit SgAsmAarch64PState(Rose::BinaryAnalysis::Aarch64PState
const& pstate);
43951#ifdef DOCUMENTATION
43961#ifdef ROSE_ENABLE_ASM_AARCH64
43962DECLARE_LEAF_CLASS(AsmAarch64PrefetchOperand);
43963IS_SERIALIZABLE(AsmAarch64PrefetchOperand);
43965#ifndef DOCUMENTATION
43966AsmAarch64PrefetchOperand.useSmallHeader(
true);
43969DECLARE_HEADERS(AsmAarch64PrefetchOperand);
43970#if defined(SgAsmAarch64PrefetchOperand_HEADERS) || defined(DOCUMENTATION)
43971#ifdef ROSE_ENABLE_ASM_AARCH64
43973#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
43977#ifdef DOCUMENTATION
43982 DECLARE_OTHERS(AsmAarch64PrefetchOperand);
43983#if defined(SgAsmAarch64PrefetchOperand_OTHERS) || defined(DOCUMENTATION)
43986#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
43988 friend class boost::serialization::access;
43991 void serialize(S &s,
const unsigned ) {
43994 s & BOOST_SERIALIZATION_NVP(operation_);
44000 Rose::BinaryAnalysis::Aarch64PrefetchOperation operation_;
44008 Rose::BinaryAnalysis::Aarch64PrefetchOperation
const& operation()
const;
44009 void operation(Rose::BinaryAnalysis::Aarch64PrefetchOperation
const&);
44014 virtual ~SgAsmAarch64PrefetchOperand();
44018 SgAsmAarch64PrefetchOperand();
44022 explicit SgAsmAarch64PrefetchOperand(Rose::BinaryAnalysis::Aarch64PrefetchOperation
const& operation);
44033#ifdef DOCUMENTATION
44043#ifdef ROSE_ENABLE_ASM_AARCH64
44044DECLARE_LEAF_CLASS(AsmAarch64Instruction);
44045IS_SERIALIZABLE(AsmAarch64Instruction);
44047#ifndef DOCUMENTATION
44048AsmAarch64Instruction.useSmallHeader(
true);
44051DECLARE_HEADERS(AsmAarch64Instruction);
44052#if defined(SgAsmAarch64Instruction_HEADERS) || defined(DOCUMENTATION)
44053#ifdef ROSE_ENABLE_ASM_AARCH64
44054#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
44058#ifdef DOCUMENTATION
44063#ifndef DOCUMENTATION
44064 AsmAarch64Instruction.setDataPrototype(
44065 "Rose::BinaryAnalysis::Aarch64InstructionKind",
"kind",
"= Rose::BinaryAnalysis::Aarch64InstructionKind::ARM64_INS_INVALID",
44066 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44069#ifndef DOCUMENTATION
44070 AsmAarch64Instruction.setDataPrototype(
44071 "Rose::BinaryAnalysis::Aarch64InstructionCondition",
"condition",
"= Rose::BinaryAnalysis::Aarch64InstructionCondition::ARM64_CC_INVALID",
44072 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44075#ifndef DOCUMENTATION
44076 AsmAarch64Instruction.setDataPrototype(
44077 "bool",
"updatesFlags",
"= false",
44078 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44081 DECLARE_OTHERS(AsmAarch64Instruction);
44082#if defined(SgAsmAarch64Instruction_OTHERS) || defined(DOCUMENTATION)
44085#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44087 friend class boost::serialization::access;
44090 void serialize(S &s,
const unsigned ) {
44093 s & BOOST_SERIALIZATION_NVP(p_kind);
44094 s & BOOST_SERIALIZATION_NVP(p_condition);
44106 Rose::BinaryAnalysis::Aarch64InstructionKind
const& get_kind()
const;
44107 void set_kind(Rose::BinaryAnalysis::Aarch64InstructionKind
const&);
44114 Rose::BinaryAnalysis::Aarch64InstructionCondition
const& get_condition()
const;
44115 void set_condition(Rose::BinaryAnalysis::Aarch64InstructionCondition
const&);
44122 bool const& get_updatesFlags()
const;
44123 void set_updatesFlags(
bool const&);
44130 virtual ~SgAsmAarch64Instruction();
44134 SgAsmAarch64Instruction();
44139 uint8_t
const& architectureId,
44140 Rose::BinaryAnalysis::Aarch64InstructionKind
const& kind,
44141 Rose::BinaryAnalysis::Aarch64InstructionCondition
const& condition);
44152#ifdef DOCUMENTATION
44162#ifdef ROSE_ENABLE_ASM_AARCH64
44163DECLARE_LEAF_CLASS(AsmAarch64CImmediateOperand);
44164IS_SERIALIZABLE(AsmAarch64CImmediateOperand);
44166#ifndef DOCUMENTATION
44167AsmAarch64CImmediateOperand.useSmallHeader(
true);
44170DECLARE_HEADERS(AsmAarch64CImmediateOperand);
44171#if defined(SgAsmAarch64CImmediateOperand_HEADERS) || defined(DOCUMENTATION)
44172#ifdef ROSE_ENABLE_ASM_AARCH64
44176#ifdef DOCUMENTATION
44181 DECLARE_OTHERS(AsmAarch64CImmediateOperand);
44182#if defined(SgAsmAarch64CImmediateOperand_OTHERS) || defined(DOCUMENTATION)
44185#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44187 friend class boost::serialization::access;
44190 void serialize(S &s,
const unsigned ) {
44193 s & BOOST_SERIALIZATION_NVP(immediate_);
44199 unsigned immediate_;
44207 unsigned const& immediate()
const;
44208 void immediate(
unsigned const&);
44213 virtual ~SgAsmAarch64CImmediateOperand();
44217 SgAsmAarch64CImmediateOperand();
44221 explicit SgAsmAarch64CImmediateOperand(
unsigned const& immediate);
44232#ifdef DOCUMENTATION
44242#ifdef ROSE_ENABLE_ASM_AARCH64
44243DECLARE_LEAF_CLASS(AsmAarch64BarrierOperand);
44244IS_SERIALIZABLE(AsmAarch64BarrierOperand);
44246#ifndef DOCUMENTATION
44247AsmAarch64BarrierOperand.useSmallHeader(
true);
44250DECLARE_HEADERS(AsmAarch64BarrierOperand);
44251#if defined(SgAsmAarch64BarrierOperand_HEADERS) || defined(DOCUMENTATION)
44252#ifdef ROSE_ENABLE_ASM_AARCH64
44254#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
44258#ifdef DOCUMENTATION
44263 DECLARE_OTHERS(AsmAarch64BarrierOperand);
44264#if defined(SgAsmAarch64BarrierOperand_OTHERS) || defined(DOCUMENTATION)
44267#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44269 friend class boost::serialization::access;
44272 void serialize(S &s,
const unsigned ) {
44275 s & BOOST_SERIALIZATION_NVP(operation_);
44281 Rose::BinaryAnalysis::Aarch64BarrierOperation operation_;
44287 Rose::BinaryAnalysis::Aarch64BarrierOperation
const& operation()
const;
44288 void operation(Rose::BinaryAnalysis::Aarch64BarrierOperation
const&);
44293 virtual ~SgAsmAarch64BarrierOperand();
44297 SgAsmAarch64BarrierOperand();
44301 explicit SgAsmAarch64BarrierOperand(Rose::BinaryAnalysis::Aarch64BarrierOperation
const& operation);
44312#ifdef DOCUMENTATION
44322#ifdef ROSE_ENABLE_ASM_AARCH64
44323DECLARE_LEAF_CLASS(AsmAarch64AtOperand);
44324IS_SERIALIZABLE(AsmAarch64AtOperand);
44326#ifndef DOCUMENTATION
44327AsmAarch64AtOperand.useSmallHeader(
true);
44330DECLARE_HEADERS(AsmAarch64AtOperand);
44331#if defined(SgAsmAarch64AtOperand_HEADERS) || defined(DOCUMENTATION)
44332#ifdef ROSE_ENABLE_ASM_AARCH64
44334#include <Rose/BinaryAnalysis/InstructionEnumsAarch64.h>
44338#ifdef DOCUMENTATION
44343 DECLARE_OTHERS(AsmAarch64AtOperand);
44344#if defined(SgAsmAarch64AtOperand_OTHERS) || defined(DOCUMENTATION)
44347#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44349 friend class boost::serialization::access;
44352 void serialize(S &s,
const unsigned ) {
44355 s & BOOST_SERIALIZATION_NVP(operation_);
44361 Rose::BinaryAnalysis::Aarch64AtOperation operation_;
44369 Rose::BinaryAnalysis::Aarch64AtOperation
const& operation()
const;
44370 void operation(Rose::BinaryAnalysis::Aarch64AtOperation
const&);
44375 virtual ~SgAsmAarch64AtOperand();
44379 SgAsmAarch64AtOperand();
44383 explicit SgAsmAarch64AtOperand(Rose::BinaryAnalysis::Aarch64AtOperation
const& operation);
44394#ifdef DOCUMENTATION
44404#ifdef ROSE_ENABLE_ASM_AARCH32
44405DECLARE_LEAF_CLASS(AsmAarch32Instruction);
44406IS_SERIALIZABLE(AsmAarch32Instruction);
44408#ifndef DOCUMENTATION
44409AsmAarch32Instruction.useSmallHeader(
true);
44412DECLARE_HEADERS(AsmAarch32Instruction);
44413#if defined(SgAsmAarch32Instruction_HEADERS) || defined(DOCUMENTATION)
44414#ifdef ROSE_ENABLE_ASM_AARCH32
44415#include <Rose/BinaryAnalysis/InstructionEnumsAarch32.h>
44419#ifdef DOCUMENTATION
44424#ifndef DOCUMENTATION
44425 AsmAarch32Instruction.setDataPrototype(
44426 "Rose::BinaryAnalysis::Aarch32InstructionKind",
"kind",
"= Rose::BinaryAnalysis::Aarch32InstructionKind::ARM_INS_INVALID",
44427 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44430#ifndef DOCUMENTATION
44431 AsmAarch32Instruction.setDataPrototype(
44432 "Rose::BinaryAnalysis::Aarch32InstructionCondition",
"condition",
"= Rose::BinaryAnalysis::Aarch32InstructionCondition::ARM_CC_INVALID",
44433 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44436#ifndef DOCUMENTATION
44437 AsmAarch32Instruction.setDataPrototype(
44438 "bool",
"updatesFlags",
"= false",
44439 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44442#ifndef DOCUMENTATION
44443 AsmAarch32Instruction.setDataPrototype(
44444 "bool",
"writesBack",
"= false",
44445 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44448#ifndef DOCUMENTATION
44449 AsmAarch32Instruction.setDataPrototype(
44450 "bool",
"writesToIp",
"= false",
44451 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44454 DECLARE_OTHERS(AsmAarch32Instruction);
44455#if defined(SgAsmAarch32Instruction_OTHERS) || defined(DOCUMENTATION)
44458#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44460 friend class boost::serialization::access;
44463 void serialize(S &s,
const unsigned ) {
44466 s & BOOST_SERIALIZATION_NVP(p_kind);
44467 s & BOOST_SERIALIZATION_NVP(p_condition);
44468 s & BOOST_SERIALIZATION_NVP(p_updatesFlags);
44469 s & BOOST_SERIALIZATION_NVP(p_writesBack);
44470 s & BOOST_SERIALIZATION_NVP(p_writesToIp);
44482 Rose::BinaryAnalysis::Aarch32InstructionKind
const& get_kind()
const;
44483 void set_kind(Rose::BinaryAnalysis::Aarch32InstructionKind
const&);
44492 Rose::BinaryAnalysis::Aarch32InstructionCondition
const& get_condition()
const;
44493 void set_condition(Rose::BinaryAnalysis::Aarch32InstructionCondition
const&);
44500 bool const& get_updatesFlags()
const;
44501 void set_updatesFlags(
bool const&);
44508 bool const& get_writesBack()
const;
44509 void set_writesBack(
bool const&);
44519 bool const& get_writesToIp()
const;
44520 void set_writesToIp(
bool const&);
44527 virtual ~SgAsmAarch32Instruction();
44531 SgAsmAarch32Instruction();
44536 uint8_t
const& architectureId,
44537 Rose::BinaryAnalysis::Aarch32InstructionKind
const& kind,
44538 Rose::BinaryAnalysis::Aarch32InstructionCondition
const& condition);
44549#ifdef DOCUMENTATION
44559#ifndef DOCUMENTATION
44560AstNodeClass& AsmInstruction = nonTerminalConstructor(
44564 "AsmInstructionTag",
44565 SubclassListBuilder()
44566#ifdef ROSE_ENABLE_ASM_AARCH32
44567 | AsmAarch32Instruction
44569#ifdef ROSE_ENABLE_ASM_AARCH64
44570 | AsmAarch64Instruction
44572 | AsmCilInstruction
44573 | AsmJvmInstruction
44574 | AsmM68kInstruction
44575 | AsmMipsInstruction
44576 | AsmNullInstruction
44577 | AsmPowerpcInstruction
44578 | AsmUserInstruction
44579 | AsmX86Instruction
44581assert(AsmInstruction.associatedGrammar !=
nullptr);
44582AsmInstruction.setCppCondition(
"!defined(DOCUMENTATION)");
44583AsmInstruction.isBoostSerializable(
true);
44584AsmInstruction.setAutomaticGenerationOfConstructor(
false);
44585AsmInstruction.setAutomaticGenerationOfDestructor(
false);
44588#ifndef DOCUMENTATION
44589AsmInstruction.useSmallHeader(
true);
44592DECLARE_HEADERS(AsmInstruction);
44593#if defined(SgAsmInstruction_HEADERS) || defined(DOCUMENTATION)
44594#include <Rose/BinaryAnalysis/Address.h>
44595#include <Rose/BinaryAnalysis/Architecture/BasicTypes.h>
44596#include <Rose/BinaryAnalysis/MemoryMap.h>
44597#include <sageContainer.h>
44598#include <Sawyer/Cached.h>
44600#ifdef ROSE_SgAsmInstruction_IMPL
44601#include <SgAsmExprListExp.h>
44602#include <SgAsmOperandList.h>
44606#ifdef DOCUMENTATION
44631#ifndef DOCUMENTATION
44632 AsmInstruction.setDataPrototype(
44633 "uint8_t",
"architectureId",
"",
44634 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44637#ifndef DOCUMENTATION
44638 AsmInstruction.setDataPrototype(
44639 "SgUnsignedCharList",
"rawBytes",
"",
44640 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44643#ifndef DOCUMENTATION
44644 AsmInstruction.setDataPrototype(
44645 "SgAsmOperandList*",
"operandList",
"= nullptr",
44646 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
44649#ifndef DOCUMENTATION
44650 AsmInstruction.setDataPrototype(
44651 "SgAsmInstruction*",
"delaySlot",
"= nullptr",
44652 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
44655#ifndef DOCUMENTATION
44656 AsmInstruction.setDataPrototype(
44657 "SgAsmExprListExp*",
"semantics",
"= nullptr",
44658 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, DEF_TRAVERSAL, NO_DELETE, COPY_DATA);
44661 DECLARE_OTHERS(AsmInstruction);
44662#if defined(SgAsmInstruction_OTHERS) || defined(DOCUMENTATION)
44665#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44667 friend class boost::serialization::access;
44670 void serialize(S &s,
const unsigned ) {
44674 auto temp = architectureIdSerialize(p_architectureId);
44675 s & boost::serialization::make_nvp(
"p_architectureId", temp);
44676 p_architectureId = architectureIdDeserialize(temp);
44678 s & BOOST_SERIALIZATION_NVP(p_rawBytes);
44679 s & BOOST_SERIALIZATION_NVP(p_operandList);
44680 s & BOOST_SERIALIZATION_NVP(p_delaySlot);
44681 userSerializeBoost(s);
44689 struct SemanticFailure {
44691 SemanticFailure(): n(0) {}
44693#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
44695 friend class boost::serialization::access;
44697 void serialize(S &s,
const unsigned ) {
44698 s & BOOST_SERIALIZATION_NVP(n);
44723 std::string architectureIdSerialize(uint8_t
id)
const;
44724 uint8_t architectureIdDeserialize(
const std::string &name)
const;
44778 SemanticFailure semanticFailure_;
44809 virtual std::
string description() const final ROSE_DEPRECATED("use Architecture::Base::instructionDescription");
44820 virtual
bool terminatesBasicBlock() final ROSE_DEPRECATED("use Architecture::Base::terminatesBasicBlock");
44821 virtual
bool isFunctionCallFast(const std::vector<
SgAsmInstruction*>&,
Rose::BinaryAnalysis::Address *target,
44822 Rose::BinaryAnalysis::Address *ret) final
44823 ROSE_DEPRECATED("use Architecture::Base::isFunctionCallFast");
44824 virtual
bool isFunctionCallSlow(const std::vector<
SgAsmInstruction*>&,
Rose::BinaryAnalysis::Address *target,
44825 Rose::BinaryAnalysis::Address *ret) final
44826 ROSE_DEPRECATED("use Architecture::Base::isFunctionCallSlow");
44827 virtual
bool isFunctionReturnFast(const std::vector<
SgAsmInstruction*>&) final
44828 ROSE_DEPRECATED("use Architecture::Base::isFunctionReturnFast");
44829 virtual
bool isFunctionReturnSlow(const std::vector<
SgAsmInstruction*>&) final
44830 ROSE_DEPRECATED("use Architecture::Base::isFunctionReturnSlow");
44831 virtual
Sawyer::Optional<
Rose::BinaryAnalysis::Address> branchTarget() final
44832 ROSE_DEPRECATED("use Architecture::Base::branchTarget");
44989 bool relax_stack_semantics=false);
45000 virtual std::vector<std::pair<
size_t,
size_t> >
45002 bool relax_stack_semantics=false);
45005 virtual
Rose::BinaryAnalysis::AddressSet getSuccessors(
bool &complete)
45006 ROSE_DEPRECATED("use Architecture::Base::getSuccessors");
45007 virtual
Rose::BinaryAnalysis::AddressSet getSuccessors(const std::vector<
SgAsmInstruction*> &basicBlock,
45009 const
Rose::BinaryAnalysis::MemoryMap::Ptr &initial_memory =
45010 Rose::BinaryAnalysis::MemoryMap::Ptr())
45011 ROSE_DEPRECATED("use Architecture::Base::getSuccessors");
45021 virtual
bool isUnknown() const final ROSE_DEPRECATED("use Architecture::Base::isUnknown");
45112#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
45115 void userSerializeBoost(S &s) {
45116 s & BOOST_SERIALIZATION_NVP(semanticFailure_);
45125 const SgUnsignedCharList& get_raw_bytes() const ROSE_DEPRECATED("use
get_rawBytes");
45126 void set_raw_bytes(const SgUnsignedCharList&) ROSE_DEPRECATED("use
set_rawBytes");
45138 uint8_t const& architectureId);
45149#ifdef DOCUMENTATION
45158#ifndef DOCUMENTATION
45159AstNodeClass& AsmStatement = nonTerminalConstructor(
45164 SubclassListBuilder()
45168 | AsmSynthesizedDeclaration
45170assert(AsmStatement.associatedGrammar !=
nullptr);
45171AsmStatement.setCppCondition(
"!defined(DOCUMENTATION)");
45172AsmStatement.isBoostSerializable(
true);
45173AsmStatement.setAutomaticGenerationOfConstructor(
false);
45174AsmStatement.setAutomaticGenerationOfDestructor(
false);
45177#ifndef DOCUMENTATION
45178AsmStatement.useSmallHeader(
true);
45181DECLARE_HEADERS(AsmStatement);
45182#if defined(SgAsmStatement_HEADERS) || defined(DOCUMENTATION)
45183#include <Rose/BinaryAnalysis/Address.h>
45186#ifdef DOCUMENTATION
45194#ifndef DOCUMENTATION
45195 AsmStatement.setDataPrototype(
45196 "Rose::BinaryAnalysis::Address",
"address",
"= 0",
45197 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
45200#ifndef DOCUMENTATION
45201 AsmStatement.setDataPrototype(
45202 "std::string",
"comment",
"",
45203 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
45206 DECLARE_OTHERS(AsmStatement);
45207#if defined(SgAsmStatement_OTHERS) || defined(DOCUMENTATION)
45210#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
45212 friend class boost::serialization::access;
45215 void serialize(S &s,
const unsigned ) {
45217 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
45218 s & BOOST_SERIALIZATION_NVP(p_address);
45219 s & BOOST_SERIALIZATION_NVP(p_comment);
45263#ifdef DOCUMENTATION
45272DECLARE_LEAF_CLASS(AsmAarch32Coprocessor);
45273IS_SERIALIZABLE(AsmAarch32Coprocessor);
45275#ifndef DOCUMENTATION
45276AsmAarch32Coprocessor.useSmallHeader(
true);
45279#ifdef DOCUMENTATION
45284 DECLARE_OTHERS(AsmAarch32Coprocessor);
45285#if defined(SgAsmAarch32Coprocessor_OTHERS) || defined(DOCUMENTATION)
45288#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
45290 friend class boost::serialization::access;
45293 void serialize(S &s,
const unsigned ) {
45296 s & BOOST_SERIALIZATION_NVP(coprocessor_);
45333#ifdef DOCUMENTATION
45342#ifndef DOCUMENTATION
45343AstNodeClass& AsmExpression = nonTerminalConstructor(
45347 "AsmExpressionTag",
45348 SubclassListBuilder()
45349 | AsmAarch32Coprocessor
45350#ifdef ROSE_ENABLE_ASM_AARCH64
45351 | AsmAarch64AtOperand
45353#ifdef ROSE_ENABLE_ASM_AARCH64
45354 | AsmAarch64BarrierOperand
45356#ifdef ROSE_ENABLE_ASM_AARCH64
45357 | AsmAarch64CImmediateOperand
45359#ifdef ROSE_ENABLE_ASM_AARCH64
45360 | AsmAarch64PrefetchOperand
45362#ifdef ROSE_ENABLE_ASM_AARCH64
45365#ifdef ROSE_ENABLE_ASM_AARCH64
45366 | AsmAarch64SysMoveOperand
45368 | AsmBinaryExpression
45370 | AsmCommonSubExpression
45371 | AsmControlFlagsExpression
45373 | AsmMemoryReferenceExpression
45375 | AsmRegisterReferenceExpression
45377 | AsmStackExpression
45378 | AsmUnaryExpression
45379 | AsmValueExpression
45381assert(AsmExpression.associatedGrammar !=
nullptr);
45382AsmExpression.setCppCondition(
"!defined(DOCUMENTATION)");
45383AsmExpression.isBoostSerializable(
true);
45384AsmExpression.setAutomaticGenerationOfConstructor(
false);
45385AsmExpression.setAutomaticGenerationOfDestructor(
false);
45388#ifndef DOCUMENTATION
45389AsmExpression.useSmallHeader(
true);
45392#ifdef DOCUMENTATION
45397#ifndef DOCUMENTATION
45398 AsmExpression.setDataPrototype(
45399 "SgAsmType*",
"type",
"= nullptr",
45400 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
45403#ifndef DOCUMENTATION
45404 AsmExpression.setDataPrototype(
45405 "std::string",
"comment",
"",
45406 NO_CONSTRUCTOR_PARAMETER, NO_ACCESS_FUNCTIONS, NO_TRAVERSAL, NO_DELETE, COPY_DATA);
45409 DECLARE_OTHERS(AsmExpression);
45410#if defined(SgAsmExpression_OTHERS) || defined(DOCUMENTATION)
45413#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
45415 friend class boost::serialization::access;
45418 void serialize(S &s,
const unsigned ) {
45420 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgAsmNode);
45421 s & BOOST_SERIALIZATION_NVP(p_type);
45422 s & BOOST_SERIALIZATION_NVP(p_comment);
45491#ifdef DOCUMENTATION
45500#ifndef DOCUMENTATION
45501AstNodeClass& AsmNode = nonTerminalConstructor(
45506 SubclassListBuilder()
45508 | AsmExecutableFileFormat
45510 | AsmGenericFileList
45511 | AsmInstructionList
45512 | AsmInterpretation
45513 | AsmInterpretationList
45519assert(AsmNode.associatedGrammar !=
nullptr);
45520AsmNode.setCppCondition(
"!defined(DOCUMENTATION)");
45521AsmNode.isBoostSerializable(
true);
45522AsmNode.setAutomaticGenerationOfConstructor(
false);
45523AsmNode.setAutomaticGenerationOfDestructor(
false);
45526#ifndef DOCUMENTATION
45527AsmNode.useSmallHeader(
true);
45530DECLARE_HEADERS(AsmNode);
45531#if defined(SgAsmNode_HEADERS) || defined(DOCUMENTATION)
45532#include <Sawyer/Attribute.h>
45533#include <boost/format.hpp>
45536#ifdef DOCUMENTATION
45541 DECLARE_OTHERS(AsmNode);
45542#if defined(SgAsmNode_OTHERS) || defined(DOCUMENTATION)
45545#ifdef ROSE_ENABLE_BOOST_SERIALIZATION
45547 friend class boost::serialization::access;
45550 void serialize(S &s,
const unsigned ) {
45552 s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
SgNode);
45592#ifdef DOCUMENTATION
45596#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.
Base class for CIL branch of binary analysis IR nodes.
SgAsmCilErrorHeap(uint32_t const &Offset, uint32_t const &Size, std::string const &Name, uint32_t const &NamePadding)
Constructor.
void dump(std::ostream &os) const override
Prints the object's data in a human readable form.
void parse(const std::vector< uint8_t > &buf, size_t startOfMetaData) override
}@
virtual ~SgAsmCilErrorHeap()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
void unparse(std::vector< uint8_t > &buf, size_t startOfMetaData) const override
Unparses the metadata objects into the buffer.
SgAsmCilErrorHeap()
Default constructor.
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.
int const & get_bodyState() const
Property: status (ROSE extension)
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.
@ BDY_INVALID_SECTION_ALIGN
extra sections are misaligned
@ BDY_INVALID_HEADER_ALIGN
fat header is improperly aligned
@ BDY_FULLY_DECODED
decoded successfully
@ BDY_INVALID_INSTRUCTION_LENGTH
decoding instructions exceeded body length
@ BDY_INVALID_HEADER_KIND
method header kind is neither tiny nor fat
@ BDY_INVALID_CLAUSE_KIND
clauses section length and kind do not match
@ BDY_NOT_AVAILABLE
RVA is 0 -> body is null.
@ BDY_INVALID_INSTRUCTION
encountered unknown instruction
@ BDY_INVALID_CLAUSE_LENGTH
clause could not be read completely
@ BDY_NOT_PROCESSED
method has not been processed
@ BDY_INVALID_HEADER_BYTE
method header leading byte cannot be read
@ BDY_RUNTIME_SUPPORTED
body is runtime supported (looking for specimen)
@ BDY_INVALID_CODE_LENGTH
could not read all bytes as specified by header
@ BDY_INVALID_SECTION_HEADER
extra section could not be read completely or is inconsistent
void set_bodyState(int const &)
Property: status (ROSE extension)
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.
virtual std::string toStringNoAddrNoColor() const
Converts the instruction to a string without address or color.
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 toStringNoColor() const
Converts the instruction to a string without any ANSI color escapes.
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.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_default_value(SgAsmJvmRuntimeAnnotationValue *const &)
Property: value.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual SgAsmJvmAnnotationDefault * parse(SgAsmJvmConstantPool *) override
Initialize the object by parsing content from the class file.
virtual void unparse(std::ostream &) const override
Write line number entry to a binary file.
SgAsmJvmRuntimeAnnotationValue *const & get_default_value() const
Property: value.
SgAsmJvmAnnotationDefault()
Default constructor.
SgAsmJvmAnnotationDefault(SgAsmJvmAttributeTable *)
Initialize the object before parsing.
virtual ~SgAsmJvmAnnotationDefault()
Destructor.
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 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.
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.
unsigned const & get_attribute_type() const
Property: attribute_type.
void initializeProperties()
Initialize all properties that have explicit initial values.
std::vector< uint16_t > const & get_table() const
Property: table.
AttributeType
Type of JVM attribute.
virtual ~SgAsmJvmIndexTableAttr()
Destructor.
virtual void unparse(std::ostream &) const override
Write the local variable table to a binary file.
virtual SgAsmJvmIndexTableAttr * 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.
SgAsmJvmIndexTableAttr(SgAsmJvmAttributeTable *table, unsigned type)
Initialize the IndexTableAttr attribute before parsing.
std::vector< uint16_t > & get_table()
Property: table.
SgAsmJvmIndexTableAttr()
Default constructor.
void set_attribute_type(unsigned const &)
Property: attribute_type.
void set_index(uint16_t const &)
Property: index.
void set_attribute_type(unsigned const &)
Property: attribute_type.
unsigned const & get_attribute_type() const
Property: attribute_type.
virtual ~SgAsmJvmIndexedAttr()
Destructor.
AttributeType
Type of JVM attribute.
SgAsmJvmIndexedAttr(SgAsmJvmAttributeTable *table, unsigned type)
Initialize the IndexedAttr attribute before parsing.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
virtual SgAsmJvmIndexedAttr * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
uint16_t const & get_index() const
Property: index.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmIndexedAttr()
Default constructor.
virtual void unparse(std::ostream &) const override
Write the local variable table to a binary 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.
SgAsmJvmInnerClasses(SgAsmJvmAttributeTable *table)
Initialize the InnerClasses attribute before parsing.
std::vector< SgAsmJvmInnerClasses::Entry * > const & get_classes() 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.
SgAsmJvmInnerClasses * parse(SgAsmJvmConstantPool *) override
Parses a JVM InnerClasses attribute.
std::vector< SgAsmJvmInnerClasses::Entry * > & get_classes()
Property: List of pointers to InnerClasses attribute entry.
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.
JVM LineNumberTable attribute.
SgAsmJvmLineNumberTable()
Default constructor.
std::vector< SgAsmJvmLineNumberTable::Entry * > & 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.
std::vector< SgAsmJvmLineNumberTable::Entry * > const & get_line_number_table() const
Property: line_number_table.
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.
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.
void set_module_name_index(uint16_t const &)
Property: module_name_index.
void set_module_flags(uint16_t const &)
Property: module_flags.
std::vector< SgAsmJvmModule::Provides * > const & get_provides() const
Property: provides.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmJvmModule()
Destructor.
void set_uses_index(std::vector< uint16_t > const &)
Property: uses_index.
uint16_t const & get_module_name_index() const
Property: module_name_index.
std::vector< SgAsmJvmModule::Exports * > & get_exports()
Property: exports.
void set_provides(std::vector< SgAsmJvmModule::Provides * > const &)
Property: provides.
virtual SgAsmJvmModule * parse(SgAsmJvmConstantPool *pool) override
Initialize the attribute by parsing the file.
void set_requires(std::vector< SgAsmJvmModule::Requires * > const &)
Property: requires.
SgAsmJvmModule(SgAsmJvmAttributeTable *table)
Initialize the Module attribute before parsing.
std::vector< SgAsmJvmModule::Exports * > const & get_exports() const
Property: exports.
uint16_t const & get_module_version_index() const
Property: module_version_index.
std::vector< uint16_t > const & get_uses_index() const
Property: uses_index.
std::vector< SgAsmJvmModule::Requires * > & get_requires()
Property: requires.
virtual void unparse(std::ostream &) const override
Write the local variable table to a binary file.
uint16_t const & get_module_flags() const
Property: module_flags.
void set_module_version_index(uint16_t const &)
Property: module_version_index.
std::vector< SgAsmJvmModule::Requires * > const & get_requires() const
Property: requires.
void set_exports(std::vector< SgAsmJvmModule::Exports * > const &)
Property: exports.
std::vector< SgAsmJvmModule::Opens * > & get_opens()
Property: opens.
std::vector< SgAsmJvmModule::Provides * > & get_provides()
Property: provides.
std::vector< SgAsmJvmModule::Opens * > const & get_opens() const
Property: opens.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmModule()
Default constructor.
void set_opens(std::vector< SgAsmJvmModule::Opens * > const &)
Property: opens.
std::vector< uint16_t > & get_uses_index()
Property: uses_index.
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.
JVM RuntimeAnnotationPair.
void set_value(SgAsmJvmRuntimeAnnotationValue *const &)
Property: value.
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.
SgAsmJvmRuntimeAnnotationValue *const & get_value() const
Property: value.
SgAsmJvmRuntimeAnnotationPair(SgAsmJvmRuntimeAnnotation *)
Initialize the object before parsing.
uint16_t const & get_element_name_index() const
Property: element_name_index.
virtual ~SgAsmJvmRuntimeAnnotationPair()
Destructor.
SgAsmJvmRuntimeAnnotationPair * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
void set_element_name_index(uint16_t const &)
Property: element_name_index.
SgAsmJvmRuntimeAnnotationPair()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
JVM RuntimeAnnotationValue.
void set_tag(uint8_t const &)
Property: tag.
void set_type_name_index(uint16_t const &)
Property: type_name_index.
uint16_t const & get_const_name_index() const
Property: const_name_index.
bool const & get_is_annotation_value() const
Property: is_annotation_value.
virtual void unparse(std::ostream &) const override
Write line number entry to a binary file.
SgAsmJvmRuntimeAnnotationValue(SgAsmJvmRuntimeAnnotationPair *)
Initialize the object before parsing.
std::vector< SgAsmJvmRuntimeAnnotationValue * > const & get_values() const
Property: values.
uint16_t const & get_type_name_index() const
Property: type_name_index.
void set_class_info_index(uint16_t const &)
Property: class_info_index.
virtual ~SgAsmJvmRuntimeAnnotationValue()
Destructor.
SgAsmJvmRuntimeAnnotationValue * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
uint8_t const & get_tag() const
Property: tag.
void set_is_annotation_value(bool const &)
Property: is_annotation_value.
uint16_t const & get_const_value_index() const
Property: const_value_index.
void set_const_value_index(uint16_t const &)
Property: const_value_index.
SgAsmJvmRuntimeAnnotationValue()
Default constructor.
std::vector< SgAsmJvmRuntimeAnnotationValue * > & get_values()
Property: values.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmRuntimeAnnotationValue(SgAsmJvmAnnotationDefault *)
Initialize the object before parsing.
SgAsmJvmRuntimeAnnotation *const & get_annotation_value() const
Property: annotation_value.
uint16_t const & get_class_info_index() const
Property: class_info_index.
SgAsmJvmRuntimeAnnotationValue(SgAsmJvmRuntimeAnnotationValue *)
Initialize the object before parsing.
void initializeProperties()
Initialize all properties that have explicit initial values.
void set_annotation_value(SgAsmJvmRuntimeAnnotation *const &)
Property: annotation_value.
void set_const_name_index(uint16_t const &)
Property: const_name_index.
SgAsmJvmRuntimeAnnotation()
Default constructor.
SgAsmJvmRuntimeAnnotation(SgAsmJvmRuntimeInvisibleAnnotations *)
Initialize the object before parsing.
SgAsmJvmRuntimeAnnotation(SgAsmJvmRuntimeAnnotationValue *)
Initialize the object before parsing.
virtual void unparse(std::ostream &) const override
Write line number entry to a binary file.
SgAsmJvmRuntimeAnnotation(SgAsmJvmRuntimeParameterAnnotation *)
Initialize the object before parsing.
std::vector< SgAsmJvmRuntimeAnnotationPair * > const & get_element_value_pairs() const
Property: element_value_pairs.
uint16_t const & get_type_index() const
Property: type_index.
virtual ~SgAsmJvmRuntimeAnnotation()
Destructor.
void set_type_index(uint16_t const &)
Property: type_index.
std::vector< SgAsmJvmRuntimeAnnotationPair * > & get_element_value_pairs()
Property: element_value_pairs.
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.
SgAsmJvmRuntimeAnnotation(SgAsmJvmRuntimeVisibleAnnotations *)
Initialize the object before parsing.
SgAsmJvmRuntimeAnnotation * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
JVM RuntimeInvisibleAnnotations attribute.
SgAsmJvmRuntimeInvisibleAnnotations(SgAsmJvmAttributeTable *)
Initialize the RuntimeInvisibleAnnotations attribute before parsing.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmRuntimeInvisibleAnnotations()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual SgAsmJvmRuntimeInvisibleAnnotations * parse(SgAsmJvmConstantPool *) override
Initialize the attribute by parsing the file.
std::vector< SgAsmJvmRuntimeAnnotation * > & get_annotations()
Property: annotations.
virtual void unparse(std::ostream &) const override
Write the local variable table to a binary file.
std::vector< SgAsmJvmRuntimeAnnotation * > const & get_annotations() const
Property: annotations.
virtual ~SgAsmJvmRuntimeInvisibleAnnotations()
Destructor.
JVM RuntimeParameterAnnotation.
SgAsmJvmRuntimeParameterAnnotation()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
std::vector< SgAsmJvmRuntimeAnnotation * > const & get_annotations() const
Property: annotations.
SgAsmJvmRuntimeParameterAnnotation(SgAsmJvmRuntimeVisibilityParamAnnotations *)
Initialize the object before parsing.
SgAsmJvmRuntimeParameterAnnotation * parse(SgAsmJvmConstantPool *)
Initialize the object by parsing content from the class file.
void initializeProperties()
Initialize all properties that have explicit initial values.
std::vector< SgAsmJvmRuntimeAnnotation * > & get_annotations()
Property: annotations.
virtual void unparse(std::ostream &) const override
Write line number entry to a binary file.
virtual ~SgAsmJvmRuntimeParameterAnnotation()
Destructor.
JVM RuntimeVisibleParameterAnnotations and RuntimeInvisibleParameterAnnotations attribute.
virtual SgAsmJvmRuntimeVisibilityParamAnnotations * 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 ~SgAsmJvmRuntimeVisibilityParamAnnotations()
Destructor.
void set_isVisible(bool const &)
Property: isVisible.
SgAsmJvmRuntimeVisibilityParamAnnotations(SgAsmJvmAttributeTable *table, bool visibility)
Initialize an SgAsmJvmRuntimeVisibilityParamAnnotations object before parsing.
virtual void unparse(std::ostream &) const override
Write the local variable table to a binary file.
std::vector< SgAsmJvmRuntimeParameterAnnotation * > & get_parameter_annotations()
Property: parameter_annotations.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmRuntimeVisibilityParamAnnotations()
Default constructor.
std::vector< SgAsmJvmRuntimeParameterAnnotation * > const & get_parameter_annotations() const
Property: parameter_annotations.
bool const & get_isVisible() const
Property: isVisible.
JVM RuntimeVisibleAnnotations attribute.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmRuntimeVisibleAnnotations(SgAsmJvmAttributeTable *table)
Initialize the RuntimeVisibleAnnotations attribute before parsing.
std::vector< SgAsmJvmRuntimeAnnotation * > const & get_annotations() const
Property: annotations.
std::vector< SgAsmJvmRuntimeAnnotation * > & get_annotations()
Property: annotations.
virtual ~SgAsmJvmRuntimeVisibleAnnotations()
Destructor.
SgAsmJvmRuntimeVisibleAnnotations()
Default constructor.
virtual SgAsmJvmRuntimeVisibleAnnotations * 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.
Represents a frame in a stack map table.
SgAsmJvmStackMapVerificationTypePtrList const & get_locals() const
Property: List of verification_type_info local variables.
SgAsmJvmStackMapVerificationTypePtrList & get_stack()
Property: List of verification_type_info stack variables.
void set_frame_type(uint8_t const &)
Property: frame_type.
SgAsmJvmStackMapVerificationTypePtrList & get_locals()
Property: List of verification_type_info local variables.
void set_stack(SgAsmJvmStackMapVerificationTypePtrList const &)
Property: List of verification_type_info stack variables.
SgAsmJvmStackMapVerificationTypePtrList const & get_stack() const
Property: List of verification_type_info stack variables.
SgAsmJvmStackMapFrame(SgAsmJvmStackMapTable *table)
Initialize the object before parsing.
void set_locals(SgAsmJvmStackMapVerificationTypePtrList const &)
Property: List of verification_type_info local variables.
void set_offset_delta(uint16_t const &)
Property: offset_delta.
virtual void unparse(std::ostream &) const override
Write the stack map table frame to a binary file.
uint8_t const & get_frame_type() const
Property: frame_type.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmStackMapFrame * parse(SgAsmJvmConstantPool *pool)
Initialize the object by parsing content from the class file.
virtual ~SgAsmJvmStackMapFrame()
Destructor.
SgAsmJvmStackMapFrame()
Default constructor.
uint16_t const & get_offset_delta() const
Property: offset_delta.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
The StackMapTable attribute is a variable-length attribute in the attributes table of a Code attribut...
virtual ~SgAsmJvmStackMapTable()
Destructor.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
SgAsmJvmStackMapFramePtrList & get_entries()
Property: List of stack map table entries/frames.
void set_entries(SgAsmJvmStackMapFramePtrList const &)
Property: List of stack map table entries/frames.
virtual void unparse(std::ostream &) const override
Write stack map table to a binary file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmJvmStackMapTable(SgAsmJvmAttributeTable *table)
Initialize the object before parsing.
virtual SgAsmJvmStackMapTable * parse(SgAsmJvmConstantPool *pool) override
Initialize the object by parsing content from the class file.
SgAsmJvmStackMapTable()
Default constructor.
SgAsmJvmStackMapFramePtrList const & get_entries() const
Property: List of stack map table entries/frames.
Represents an entry in a stack map table.
virtual ~SgAsmJvmStackMapVerificationType()
Destructor.
uint16_t const & get_cpool_index() const
Property: cpool_index.
SgAsmJvmStackMapVerificationType(SgAsmJvmStackMapFrame *frame)
Initialize the object before parsing.
void set_offset(uint16_t const &)
Property: offset.
void set_cpool_index(uint16_t const &)
Property: cpool_index.
SgAsmJvmStackMapVerificationType * parse(SgAsmJvmConstantPool *pool)
Initialize the object by parsing content from the class file.
void set_tag(uint8_t const &)
Property: tag.
SgAsmJvmStackMapVerificationType()
Default constructor.
void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging information.
uint8_t const & get_tag() const
Property: tag.
uint16_t const & get_offset() const
Property: offset.
virtual void unparse(std::ostream &) const override
Write stack map table to a binary file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmLEEntryPoint()
Default constructor.
virtual ~SgAsmLEEntryPoint()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
SgAsmLEEntryTable()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmLEEntryTable()
Destructor.
SgAsmLEPageTableEntry()
Default constructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual ~SgAsmLEPageTableEntry()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmLEPageTable()
Default constructor.
virtual ~SgAsmLEPageTable()
Destructor.
virtual ~SgAsmLERelocTable()
Destructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmLERelocTable()
Default constructor.
@ SF_SHARED
Section is shared.
@ SF_WRITABLE
Write permission granted when mapped.
@ SF_TYPE_ZERO
Section has zero-filled pages.
@ SF_TYPE_RESIDENT
Section is resident (valid for VDDs and PDDs only)
@ SF_DISCARDABLE
Discardable section.
@ SF_BIG_BIT
Big/default bit setting (80x86 specific); see note above.
@ SF_RES_LONG_LOCK
Section is resident and "long-lockable" (VDDs and PDDs only)
@ SF_PRELOAD_PAGES
Section has preload pages.
@ SF_RESOURCE
Section contains resource objects.
@ SF_IO_PRIV
Section I/O privilege level (80x86 specific; used only for 16:16 alias objects)
@ SF_1616_ALIAS
16:16 alias required (80x86 specific)
@ SF_INVALID_PAGES
Section has invalid pages.
@ SF_READABLE
Read permission granted when mapped.
@ SF_EXECUTABLE
Execute permission granted when mapped.
@ SF_CODE_CONFORM
Section is conforming for code (80x86 specific)
@ SF_TYPE_RESCONT
Section is resident and contiguous.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmLESectionTableEntry()
Default constructor.
SgAsmLESectionTable()
Default constructor.
virtual ~SgAsmLESectionTable()
Destructor.
void initializeProperties()
Initialize all properties that have explicit initial values.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual void unparse(std::ostream &) const override
Write a section back to the file.
void initializeProperties()
Initialize all properties that have explicit initial values.
SgAsmLESection()
Default constructor.
virtual void dump(FILE *, const char *prefix, ssize_t idx) const override
Print some debugging info.
virtual unsigned get_anyKind() const override
Returns instruction kind for any architecture.
Rose::BinaryAnalysis::M68kDataFormat const & get_dataFormat() const
Property: Data format.
SgAsmM68kInstruction(Rose::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...