19 #ifndef __ARCH_OPTIONS__ 20 #define __ARCH_OPTIONS__ 49 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const=0;
51 static bool onOrOff(
const string &p);
65 map<string,ArchOption *> optionmap;
70 string set(
const string &nm,
const string &p1=
"",
const string &p2=
"",
const string &p3=
"");
71 void parseOne(
const Element *el);
72 void restoreXml(
const Element *el);
78 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
84 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
90 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
96 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
102 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
108 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
114 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
120 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
126 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
132 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
138 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
144 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
150 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
156 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
162 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
168 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
174 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
180 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
186 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
192 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
198 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
204 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
210 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
216 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
222 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
228 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
234 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
240 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
246 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
252 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
258 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
264 virtual string apply(
Architecture *glb,
const string &p1,
const string &p2,
const string &p3)
const;
Toggle whether the disassembly engine is allowed to modify context.
Definition: options.hh:207
string name
Name of the option.
Definition: options.hh:34
OptionAllowContextSet(void)
Constructor.
Definition: options.hh:209
Set the number of characters to indent per nested scope.
Definition: options.hh:159
OptionWarning(void)
Constructor.
Definition: options.hh:119
OptionStructAlign(void)
Constructor.
Definition: options.hh:113
OptionConventionPrinting(void)
Constructor.
Definition: options.hh:137
Mark/unmark a specific function with the noreturn property.
Definition: options.hh:105
Base class for options classes that affect the configuration of the Architecture object.
Definition: options.hh:32
Toggle whether a specific Rule is applied in the current Action.
Definition: options.hh:255
Toggle whether cast syntax is emitted by the decompiler or stripped.
Definition: options.hh:141
Set the default prototype model for analyzing unknown functions.
Definition: options.hh:87
Toggle whether read-only memory locations have their value propagated.
Definition: options.hh:81
Establish a new root Action for the decompiler.
Definition: options.hh:195
OptionCurrentAction(void)
Constructor.
Definition: options.hh:203
OptionNoReturn(void)
Constructor.
Definition: options.hh:107
OptionInPlaceOps(void)
Constructor.
Definition: options.hh:131
Set the maximum number of characters per decompiled line.
Definition: options.hh:153
OptionSetLanguage(void)
Constructor.
Definition: options.hh:245
Lightweight (and incomplete) XML parser for marshaling data to and from the decompiler.
OptionErrorTooManyInstructions(void)
Constructor.
Definition: options.hh:233
Set the current language emitted by the decompiler.
Definition: options.hh:243
OptionJumpLoad(void)
Constructor.
Definition: options.hh:251
Set the prototype model to use when evaluating the parameters of the current function.
Definition: options.hh:237
Toggle whether the calling convention is printed when emitting function prototypes.
Definition: options.hh:135
Toggle whether the decompiler attempts to infer constant pointers.
Definition: options.hh:93
OptionIndentIncrement(void)
Constructor.
Definition: options.hh:161
A Dispatcher for possible ArchOption commands.
Definition: options.hh:63
Toggle whether null pointers should be printed as the string "NULL".
Definition: options.hh:123
Manager for all the major decompiler subsystems.
Definition: architecture.hh:117
Toggle whether too many instructions in one function body is considered a fatal error.
Definition: options.hh:231
OptionHideExtensions(void)
Constructor.
Definition: options.hh:149
OptionToggleRule(void)
Constructor.
Definition: options.hh:257
OptionMaxLineWidth(void)
Constructor.
Definition: options.hh:155
Mark/unmark a specific function as inline.
Definition: options.hh:99
An XML element. A node in the DOM tree.
Definition: xml.hh:150
static bool onOrOff(const string &p)
Parse an "on" or "off" string.
Definition: options.cc:25
Toggle whether unimplemented instructions are treated as a fatal error.
Definition: options.hh:219
Toggle whether a warning should be issued if a specific action/rule is applied.
Definition: options.hh:117
Base class for error handling facilities.
Toggle whether unimplemented instructions are treated as a no-operation.
Definition: options.hh:213
Toggle whether the decompiler should try to recover the table used to evaluate a switch.
Definition: options.hh:249
Toggle whether off-cut reinterpretation of an instruction is a fatal error.
Definition: options.hh:225
OptionNullPrinting(void)
Constructor.
Definition: options.hh:125
OptionErrorUnimplemented(void)
Constructor.
Definition: options.hh:221
OptionErrorReinterpreted(void)
Constructor.
Definition: options.hh:227
OptionNoCastPrinting(void)
Constructor.
Definition: options.hh:143
OptionProtoEval(void)
Constructor.
Definition: options.hh:239
Toggle whether implied extensions (ZEXT or SEXT) are printed.
Definition: options.hh:147
Set how locked data-types on the stack affect alias heuristics.
Definition: options.hh:261
string getName(void) const
Return the name of the option.
Definition: options.hh:36
OptionAliasBlock(void)
Constructor.
Definition: options.hh:263
OptionSetAction(void)
Constructor.
Definition: options.hh:197
OptionIgnoreUnimplemented(void)
Constructor.
Definition: options.hh:215
Toggle a sub-group of actions within a root Action.
Definition: options.hh:201
Alter the "structure alignment" data organization setting.
Definition: options.hh:111
OptionReadOnly(void)
Constructor.
Definition: options.hh:83
OptionInline(void)
Constructor.
Definition: options.hh:101
virtual string apply(Architecture *glb, const string &p1, const string &p2, const string &p3) const =0
Apply a particular configuration option to the Architecture.
OptionInferConstPtr(void)
Constructor.
Definition: options.hh:95
Toggle whether in-place operators (+=, *=, &=, etc.) are emitted by the decompiler.
Definition: options.hh:129
OptionDefaultPrototype(void)
Constructor.
Definition: options.hh:89