xo-expression2 stack: expand MemorySizeInfo w/ per-type detail
This commit is contained in:
parent
1918dd06e5
commit
95b0292667
2 changed files with 25 additions and 4 deletions
13
include/xo/expression2/GlobalSymtab.hpp
Normal file
13
include/xo/expression2/GlobalSymtab.hpp
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/** @file GlobalSymtab.hpp
|
||||
*
|
||||
* @author Roland Conybeare, Feb 2026
|
||||
**/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "DGlobalSymtab.hpp"
|
||||
//#include "symtab/ISymbolTable_DGlobalSymtab.hpp"
|
||||
//#include "symtab/IGCObject_DGlobalSymtab.hpp"
|
||||
//#include "symtab/IPrintable_DGlobalSymtab.hpp"
|
||||
|
||||
/* end GlobalSymtab.hpp */
|
||||
|
|
@ -26,6 +26,7 @@
|
|||
#include <xo/expression2/detail/IGCObject_DSequenceExpr.hpp>
|
||||
#include <xo/expression2/detail/IPrintable_DSequenceExpr.hpp>
|
||||
|
||||
#include <xo/expression2/GlobalSymtab.hpp>
|
||||
#include <xo/expression2/LocalSymtab.hpp>
|
||||
|
||||
#include <xo/gc/detail/AGCObject.hpp>
|
||||
|
|
@ -37,6 +38,7 @@ namespace xo {
|
|||
using xo::mm::AGCObject;
|
||||
using xo::print::APrintable;
|
||||
using xo::facet::FacetRegistry;
|
||||
using xo::facet::TypeRegistry;
|
||||
using xo::facet::typeseq;
|
||||
|
||||
namespace scm {
|
||||
|
|
@ -45,6 +47,8 @@ namespace xo {
|
|||
{
|
||||
scope log(XO_DEBUG(true));
|
||||
|
||||
|
||||
|
||||
FacetRegistry::register_impl<AGCObject, DUniqueString>();
|
||||
FacetRegistry::register_impl<APrintable, DUniqueString>();
|
||||
|
||||
|
|
@ -58,10 +62,6 @@ namespace xo {
|
|||
// +- IfElseExpr
|
||||
// \- SequenceExpr
|
||||
|
||||
// SymbolTable
|
||||
// +- LocalSymtab
|
||||
// \- GlobalSymtab
|
||||
|
||||
FacetRegistry::register_impl<AExpression, DConstant>();
|
||||
FacetRegistry::register_impl<AGCObject, DConstant>();
|
||||
FacetRegistry::register_impl<APrintable, DConstant>();
|
||||
|
|
@ -94,10 +94,17 @@ namespace xo {
|
|||
FacetRegistry::register_impl<AGCObject, DSequenceExpr>();
|
||||
FacetRegistry::register_impl<APrintable, DSequenceExpr>();
|
||||
|
||||
// SymbolTable
|
||||
// +- LocalSymtab
|
||||
// \- GlobalSymtab
|
||||
|
||||
FacetRegistry::register_impl<ASymbolTable, DLocalSymtab>();
|
||||
FacetRegistry::register_impl<AGCObject, DLocalSymtab>();
|
||||
FacetRegistry::register_impl<APrintable, DLocalSymtab>();
|
||||
|
||||
// until we register facets
|
||||
TypeRegistry::register_type<DGlobalSymtab>();
|
||||
|
||||
log && log(xtag("DUniqueString.tseq", typeseq::id<DUniqueString>()));
|
||||
log && log(xtag("DDefineExpr.tseq", typeseq::id<DDefineExpr>()));
|
||||
log && log(xtag("DVariable.tseq", typeseq::id<DVariable>()));
|
||||
|
|
@ -108,6 +115,7 @@ namespace xo {
|
|||
log && log(xtag("DIfElseExpr.tseq", typeseq::id<DIfElseExpr>()));
|
||||
log && log(xtag("DSequenceExpr.tseq", typeseq::id<DSequenceExpr>()));
|
||||
|
||||
log && log(xtag("DGlobalSymtab.tseq", typeseq::id<DGlobalSymtab>()));
|
||||
log && log(xtag("DLocalSymtab.tseq", typeseq::id<DLocalSymtab>()));
|
||||
|
||||
log && log(xtag("AExpression.tseq", typeseq::id<AExpression>()));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue