Replace the hand-maintained ``api.rst`` listing with a single
``.. autosummary:: :recursive:`` entry point, and add an autosummary
template under ``_templates/autosummary/module.rst`` that recursively
emits a page per submodule. The output directory ``docs/api/`` is
gitignored.
The template uses ``.. rubric:: Submodules`` instead of a section
heading so the autogenerated pages don't all register a duplicate
"Submodules" autosectionlabel.
Adjustments to ``conf.py`` to make the auto-generated pages readable:
- ``autodoc_class_signature = "separated"`` so the class declaration line
does not duplicate the ``__init__`` parameter list.
- ``skip_inherited_undocumented`` (autodoc-skip-member): when a subclass
overrides a method without its own docstring, do not document the
override on the subclass page; the parent's "Bases:" link already
points readers to the canonical entry. Avoids duplicating the parent's
full docstring on every subclass.
- ``_patch_directive_header_for_reexports`` (monkey-patch of
``_directive_header_lines``): for re-exported symbols (e.g.
``angr.SimState`` re-exporting ``angr.sim_state.SimState``), inject
``:no-index:`` so the entry still renders on the parent page but the
canonical defining-module page is the unambiguous cross-reference
target.
Turn on ``autosectionlabel_prefix_document = True`` so that auto-generated
section labels are prefixed with the document path. This silences the
duplicate-label warnings between narrative pages where the same H1 text
appears in more than one file (e.g. "State Plugins" in
``core-concepts/states.rst`` and ``extending-angr/state_plugins.rst``,
"Core Concepts" in ``core-concepts/index.rst`` and
``core-concepts/toplevel.rst``).
Update the existing bare-label ``:ref:`` links to use the prefixed form
(e.g. ``:ref:`text <core-concepts/loading:Loading a Binary>```), and at
the same time collapse the line-wrapped links that were already brittle.
* Add experimental Rust SegmnentList implementation
* Add rust to RTD environment
* Fix cargo check
* Add update method to avoid ._list
* Change rust version to latest
* Fix some inconsistencies with original implementation
* Fix iterator
* Fix lint issues
* Disable setuptools_rust check in setup.py
* Fix import
* Use asdf to install rust
* Specify latest version
* Also set the rust version globally
* Revert "Disable setuptools_rust check in setup.py"
This reverts commit 0fd2a4b61c.
* Add a note about rust in the docs
* chore: Make SIM_LIBRARIES a dict of list of lib instead of a dict of lib
* lint
* Revert "Temporarily disabling a line in test_decompiling_4846..."
This reverts commit eafdbf857a.
* remove stray line
* docs: Remove extending-angr/angr_management
* docs: Updated angr-management help wanted blurb
* docs: Add short blurb about angr-management on doc index
* fix typos
This mostly fixes comments, but in a handful of places fixes bugs due to typos.
One example:
```
- insn_op_idx=None if cmsg.operand_idx == -1 else cmsg.opearnd_idx,
+ insn_op_idx=None if cmsg.operand_idx == -1 else cmsg.operand_idx,
```
* more typo fixes
* address lint issues
* more import fixes?
* address feedback from PR
---------
Co-authored-by: Brian Caswell <bcaswell@microsoft.com>
* Update symbolic.rst with more information and example
This commit adds more information to the symbolic execution core-concepts page with a small example.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update symbolic.rst
Fix pre-commit.ci check for code (`` instead `)
* symbolic.rst docs line break at 80 chars
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* added the angr symbolic example
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix a typo
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* sync
* Update symbolic.rst
fix a minor issue
* Update symbolic.rst
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Aggressively polish the RDA deref and get_concrete_value apis
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add load-from-loader-memory code path for rda memory loads
* RDA: FunctionCallDataUnwrapped, reset_prototype, and many interfaces now take more types
* Types; imports; other atoms
* lmao
* New overload for definition filters + new behavior for generating external definitions
* weh
* Add extract and concat to multivalues; make multivalues not choke on zero-length bitvectors
* Additional finagling for multivalues; match extern definitions
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* oopsie whoopsie
* lint
* lint harder
* rename only -> one
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add in-tree docs
* Add build dependencies to RTD build
* Also install newer pip
* Install angrdb and pcode when building docs
* Sync ci docs with rtd config
* Use pipe for multiline string
* Fix typo
* Replace copyright with project_copyright
* Ignore type aliases in sphinx coverage
* Add links to plugin documentation
* Use coverage_ignore_pyobjects to ignore aliases
* Attribute copyright to contributors