diff options
| author | kat <katherine@vector35.com> | 2022-10-17 12:37:02 -0400 |
|---|---|---|
| committer | Kyle Martin <krm504@nyu.edu> | 2022-10-17 19:55:39 -0400 |
| commit | 070b1a17dd32a673fd96e645d47dd0ca3bf764c6 (patch) | |
| tree | 0e2e4d864dde75bb0e6391f0f070682e75edeeea /highlevelilinstruction.h | |
| parent | d41f2296da756d3f1916f70fb1db2f67f1549b7c (diff) | |
[C++ docs] Several fixes, improvements, additions, and general cleanup
- Sort documentation into groups (aka. modules)
- Add DataRenderer, BinaryView, InstructionTextToken, Others docs
- Fixes stylesheet for documentation website
- New 'Deprecated' section listing deprecated items
- Re-add 'Files' listing
- Add a 'Main page' and restructure the navbar
Diffstat (limited to 'highlevelilinstruction.h')
| -rw-r--r-- | highlevelilinstruction.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/highlevelilinstruction.h b/highlevelilinstruction.h index 97418100..fe205b41 100644 --- a/highlevelilinstruction.h +++ b/highlevelilinstruction.h @@ -38,6 +38,10 @@ namespace BinaryNinja { class HighLevelILFunction; + + /*! + \ingroup highlevelil + */ template <BNHighLevelILOperation N> struct HighLevelILInstructionAccessor {}; @@ -52,6 +56,9 @@ namespace BinaryNinja class HighLevelILOperand; class HighLevelILOperandList; + /*! + \ingroup highlevelil + */ enum HighLevelILOperandType { IntegerHighLevelOperand, @@ -65,6 +72,9 @@ namespace BinaryNinja IndexListHighLevelOperand }; + /*! + \ingroup highlevelil + */ enum HighLevelILOperandUsage { SourceExprHighLevelOperandUsage, @@ -149,6 +159,9 @@ namespace BinaryNinja #define _STD_UNORDERED_MAP std::unordered_map #endif + /*! + \ingroup highlevelil + */ class HighLevelILInstructionAccessException : public std::exception { public: @@ -156,6 +169,9 @@ namespace BinaryNinja virtual const char* what() const NOEXCEPT { return "invalid access to HLIL instruction"; } }; + /*! + \ingroup highlevelil + */ class HighLevelILIntegerList { struct ListIterator @@ -191,6 +207,9 @@ namespace BinaryNinja operator _STD_VECTOR<uint64_t>() const; }; + /*! + \ingroup highlevelil + */ class HighLevelILIndexList { struct ListIterator @@ -222,6 +241,9 @@ namespace BinaryNinja operator _STD_VECTOR<size_t>() const; }; + /*! + \ingroup highlevelil + */ class HighLevelILInstructionList { struct ListIterator @@ -258,6 +280,9 @@ namespace BinaryNinja operator _STD_VECTOR<HighLevelILInstruction>() const; }; + /*! + \ingroup highlevelil + */ class HighLevelILSSAVariableList { struct ListIterator @@ -290,6 +315,9 @@ namespace BinaryNinja operator _STD_VECTOR<SSAVariable>() const; }; + /*! + \ingroup highlevelil + */ struct HighLevelILInstructionBase : public BNHighLevelILInstruction { #ifdef BINARYNINJACORE_LIBRARY @@ -391,6 +419,9 @@ namespace BinaryNinja } }; + /*! + \ingroup highlevelil + */ struct HighLevelILInstruction : public HighLevelILInstructionBase { HighLevelILInstruction(); @@ -713,6 +744,9 @@ namespace BinaryNinja size_t GetDestMemoryVersion() const; }; + /*! + \ingroup highlevelil + */ class HighLevelILOperand { HighLevelILInstruction m_instr; @@ -737,6 +771,9 @@ namespace BinaryNinja HighLevelILIndexList GetIndexList() const; }; + /*! + \ingroup highlevelil + */ class HighLevelILOperandList { struct ListIterator @@ -773,22 +810,34 @@ namespace BinaryNinja operator _STD_VECTOR<HighLevelILOperand>() const; }; + /*! + \ingroup highlevelil + */ struct HighLevelILConstantInstruction : public HighLevelILInstructionBase { int64_t GetConstant() const { return GetRawOperandAsInteger(0); } }; + /*! + \ingroup highlevelil + */ struct HighLevelILOneOperandInstruction : public HighLevelILInstructionBase { HighLevelILInstruction GetSourceExpr() const { return GetRawOperandAsExpr(0); } }; + /*! + \ingroup highlevelil + */ struct HighLevelILTwoOperandInstruction : public HighLevelILInstructionBase { HighLevelILInstruction GetLeftExpr() const { return GetRawOperandAsExpr(0); } HighLevelILInstruction GetRightExpr() const { return GetRawOperandAsExpr(1); } }; + /*! + \ingroup highlevelil + */ struct HighLevelILTwoOperandWithCarryInstruction : public HighLevelILInstructionBase { HighLevelILInstruction GetLeftExpr() const { return GetRawOperandAsExpr(0); } |
