diff options
| author | Rusty Wagner <rusty@vector35.com> | 2019-07-30 18:21:15 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2020-04-17 14:20:36 -0400 |
| commit | 652dd72149b9c030e438d6de1a03ef54eafd8091 (patch) | |
| tree | 17e798a8becf6c39d236f31111c136f13b4f49a3 /highlevelilinstruction.cpp | |
| parent | 203717232e816d42973f05f1c9fbc950914d71dc (diff) | |
Add continue HLIL instruction
Diffstat (limited to 'highlevelilinstruction.cpp')
| -rw-r--r-- | highlevelilinstruction.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/highlevelilinstruction.cpp b/highlevelilinstruction.cpp index 311d4e93..a53d5fe4 100644 --- a/highlevelilinstruction.cpp +++ b/highlevelilinstruction.cpp @@ -71,6 +71,7 @@ unordered_map<BNHighLevelILOperation, vector<HighLevelILOperandUsage>> HighLevelILInstructionBase::operationOperandUsage = { {HLIL_NOP, {}}, {HLIL_BREAK, {}}, + {HLIL_CONTINUE, {}}, {HLIL_NORET, {}}, {HLIL_BP, {}}, {HLIL_UNDEF, {}}, @@ -974,6 +975,8 @@ ExprId HighLevelILInstruction::CopyTo(HighLevelILFunction* dest, subExprHandler(GetTrueExpr<HLIL_CASE>()), *this); case HLIL_BREAK: return dest->Break(*this); + case HLIL_CONTINUE: + return dest->Continue(*this); case HLIL_ASSIGN: return dest->Assign(size, subExprHandler(GetDestExpr<HLIL_ASSIGN>()), subExprHandler(GetSourceExpr<HLIL_ASSIGN>()), *this); @@ -1457,6 +1460,12 @@ ExprId HighLevelILFunction::Break(const ILSourceLocation& loc) } +ExprId HighLevelILFunction::Continue(const ILSourceLocation& loc) +{ + return AddExprWithLocation(HLIL_CONTINUE, loc, 0); +} + + ExprId HighLevelILFunction::Jump(ExprId dest, const ILSourceLocation& loc) { return AddExprWithLocation(HLIL_JUMP, loc, 0, dest); |
