xo-interpreter2 stack: + dict.make() + Dictionary impl

This commit is contained in:
Roland Conybeare 2026-03-03 16:45:54 +11:00
commit 7871c7dbea
16 changed files with 904 additions and 23 deletions

View file

@ -90,6 +90,7 @@ namespace xo {
obj<AGCObject> at(size_type index) const;
const obj<AGCObject> & operator[](size_type index) const noexcept { return elts_[index]; }
// TODO: nuke this or provide LValue shim. need write barrier!
obj<AGCObject> & operator[](size_type index) noexcept { return elts_[index]; }
///@}
@ -99,10 +100,17 @@ namespace xo {
///@}
/** @defgroup darray-assign assignment **/
///@{
/** store @p elt at position @p index.
* true on success, false otherwise
**/
bool assign_at(size_type index, obj<AGCObject> elt) noexcept;
/** append @p elt at the end of array.
* true on success, false otherwise
**/
bool push_back(obj<AGCObject> elt) noexcept;
///@}
/** @defgroup darray-general general methods **/
///@{