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

@ -6,30 +6,14 @@
#include "object2_register_facets.hpp"
#include "RuntimeError.hpp"
#include <xo/object2/Dictionary.hpp>
#include <xo/object2/Array.hpp>
//#include <xo/object2/List.hpp>
#include <xo/object2/List.hpp>
#include <xo/object2/Boolean.hpp>
#include <xo/object2/Integer.hpp>
#include <xo/object2/Float.hpp>
#include <xo/object2/String.hpp>
//#include <xo/object2/array/IGCObject_DArray.hpp>
#include <xo/object2/list/IGCObject_DList.hpp>
//#include <xo/object2/boolean/IGCObject_DBoolean.hpp>
//#include <xo/object2/number/IGCObject_DFloat.hpp>
//#include <xo/object2/number/IGCObject_DInteger.hpp>
//#include <xo/object2/string/IGCObject_DString.hpp>
//#include <xo/object2/array/IPrintable_DArray.hpp>
#include <xo/object2/list/IPrintable_DList.hpp>
//#include <xo/object2/boolean/IPrintable_DBoolean.hpp>
//#include <xo/object2/number/IPrintable_DFloat.hpp>
//#include <xo/object2/number/IPrintable_DInteger.hpp>
//#include <xo/object2/string/IPrintable_DString.hpp>
#include <xo/object2/list/ISequence_DList.hpp>
//#include <xo/object2/array/ISequence_DArray.hpp>
#include <xo/printable2/detail/APrintable.hpp>
#include <xo/alloc2/alloc/AAllocator.hpp>
#include <xo/facet/FacetRegistry.hpp>
@ -74,6 +58,9 @@ namespace xo {
FacetRegistry::register_impl<APrintable, DArray>();
FacetRegistry::register_impl<ASequence, DArray>();
FacetRegistry::register_impl<AGCObject, DDictionary>();
FacetRegistry::register_impl<APrintable, DDictionary>();
FacetRegistry::register_impl<AGCObject, DRuntimeError>();
FacetRegistry::register_impl<APrintable, DRuntimeError>();
@ -85,6 +72,7 @@ namespace xo {
log && log(xtag("DInteger.tseq", typeseq::id<DInteger>()));
log && log(xtag("DString.tseq", typeseq::id<DString>()));
log && log(xtag("DArray.tseq", typeseq::id<DArray>()));
log && log(xtag("DDictionary.tseq", typeseq::id<DDictionary>()));
log && log(xtag("DRuntimeError.tseq", typeseq::id<DRuntimeError>()));
log && log(xtag("AAllocator.tseq", typeseq::id<AAllocator>()));