Commit 75fc503
[emulator] Use typed LLIL operand accessors instead of GetRawOperandAs*
Replace ~130 raw operand accesses in EvalExpr/ExecuteCurrentInstruction with the
typed LowLevelILInstruction accessors (GetLeftExpr/GetRightExpr/GetCarryExpr,
GetSourceExpr, GetDestRegister, GetHighRegister/GetLowRegister, GetConstant,
GetDestExpr, GetParameterExprs, GetTarget/GetTrueTarget/GetFalseTarget, etc.),
which are self-documenting and avoid the operand-index mixups raw indexing
invites. Each mapping was verified against the LowLevelILInstructionAccessor
specializations to read the same operand index; LLIL_EXTERN_PTR is intentionally
left raw (its constant+offset has no equivalent typed pair). No behavior change;
the full emulator test suite passes.
Addresses bdash review comment on PR #8314.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent be67e81 commit 75fc503
1 file changed
Lines changed: 134 additions & 133 deletions
0 commit comments