diff options
Diffstat (limited to 'highlevelilinstruction.h')
| -rw-r--r-- | highlevelilinstruction.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/highlevelilinstruction.h b/highlevelilinstruction.h index 6c249d94..cfc917e8 100644 --- a/highlevelilinstruction.h +++ b/highlevelilinstruction.h @@ -85,6 +85,7 @@ namespace BinaryNinja HighExprHighLevelOperandUsage, LowExprHighLevelOperandUsage, OffsetHighLevelOperandUsage, + MemberIndexHighLevelOperandUsage, ConstantHighLevelOperandUsage, VectorHighLevelOperandUsage, IntrinsicHighLevelOperandUsage, @@ -390,6 +391,7 @@ namespace BinaryNinja template <BNHighLevelILOperation N> HighLevelILInstruction GetHighExpr() const { return As<N>().GetHighExpr(); } template <BNHighLevelILOperation N> HighLevelILInstruction GetLowExpr() const { return As<N>().GetLowExpr(); } template <BNHighLevelILOperation N> uint64_t GetOffset() const { return As<N>().GetOffset(); } + template <BNHighLevelILOperation N> size_t GetMemberIndex() const { return As<N>().GetMemberIndex(); } template <BNHighLevelILOperation N> int64_t GetConstant() const { return As<N>().GetConstant(); } template <BNHighLevelILOperation N> int64_t GetVector() const { return As<N>().GetVector(); } template <BNHighLevelILOperation N> uint32_t GetIntrinsic() const { return As<N>().GetIntrinsic(); } @@ -443,6 +445,7 @@ namespace BinaryNinja HighLevelILInstruction GetHighExpr() const; HighLevelILInstruction GetLowExpr() const; uint64_t GetOffset() const; + size_t GetMemberIndex() const; int64_t GetConstant() const; int64_t GetVector() const; uint32_t GetIntrinsic() const; @@ -628,11 +631,13 @@ namespace BinaryNinja { HighLevelILInstruction GetSourceExpr() const { return GetRawOperandAsExpr(0); } uint64_t GetOffset() const { return GetRawOperandAsInteger(1); } + size_t GetMemberIndex() const { return GetRawOperandAsIndex(2); } }; template <> struct HighLevelILInstructionAccessor<HLIL_DEREF_FIELD>: public HighLevelILInstructionBase { HighLevelILInstruction GetSourceExpr() const { return GetRawOperandAsExpr(0); } uint64_t GetOffset() const { return GetRawOperandAsInteger(1); } + size_t GetMemberIndex() const { return GetRawOperandAsIndex(2); } }; template <> struct HighLevelILInstructionAccessor<HLIL_DEREF_SSA>: public HighLevelILInstructionBase { @@ -646,6 +651,7 @@ namespace BinaryNinja size_t GetSourceMemoryVersion() const { return GetRawOperandAsIndex(1); } void SetSourceMemoryVersion(size_t version) { UpdateRawOperand(1, version); } uint64_t GetOffset() const { return GetRawOperandAsInteger(2); } + size_t GetMemberIndex() const { return GetRawOperandAsIndex(3); } }; template <> struct HighLevelILInstructionAccessor<HLIL_ARRAY_INDEX>: public HighLevelILInstructionBase { |
