| 252 | |
| 253 | |
| 254 | void PseudoRustFunction::AppendComparison(const string& comparison, const HighLevelILInstruction& instr, |
| 255 | HighLevelILTokenEmitter& emitter, DisassemblySettings* settings, BNOperatorPrecedence precedence, |
| 256 | std::optional<bool> signedHint) |
| 257 | { |
| 258 | const auto leftExpr = instr.GetLeftExpr(); |
| 259 | const auto rightExpr = instr.GetRightExpr(); |
| 260 | |
| 261 | if (leftExpr.operation == HLIL_SPLIT) |
| 262 | AppendDefaultSplitExpr(leftExpr, emitter, settings, precedence); |
| 263 | else |
| 264 | GetExprText(leftExpr, emitter, settings, precedence, InnerExpression, signedHint); |
| 265 | emitter.Append(OperationToken, comparison); |
| 266 | if (rightExpr.operation == HLIL_SPLIT) |
| 267 | AppendDefaultSplitExpr(rightExpr, emitter, settings, precedence); |
| 268 | else |
| 269 | GetExprText(rightExpr, emitter, settings, precedence, InnerExpression, signedHint); |
| 270 | } |
| 271 | |
| 272 | |
| 273 | void PseudoRustFunction::AppendTwoOperand(const string& operand, const HighLevelILInstruction& instr, |
nothing calls this directly
no test coverage detected