xo-type: + TypeVarRef

This commit is contained in:
Roland Conybeare 2026-03-12 20:31:46 -05:00
commit 106ed35b52
4 changed files with 30 additions and 4 deletions

View file

@ -102,6 +102,22 @@ xo_add_genfacetimpl(
# ----------------------------------------------------------------
# note: manual target; generated code committed to git
xo_add_genfacetimpl(
TARGET xo-type-facetimpl-type-typevarref
FACET_PKG xo_type
INPUT idl/IType_DTypeVarRef.json5
)
# note: manual target; generated code committed to git
xo_add_genfacetimpl(
TARGET xo-type-facetimpl-gcobject-typevarref
FACET_PKG xo_alloc2
INPUT idl/IGCObject_DTypeVarRef.json5
)
# ----------------------------------------------------------------
xo_add_genfacet_all(xo-type-genfacet-all)
install(DIRECTORY idl/

View file

@ -11,15 +11,18 @@ set(SELF_SRCS
DListType.cpp
DArrayType.cpp
DFunctionType.cpp
DTypeVarRef.cpp
IType_Any.cpp
IType_DAtomicType.cpp
IType_DListType.cpp
IType_DArrayType.cpp
IType_DFunctionType.cpp
IType_DTypeVarRef.cpp
IGCObject_DAtomicType.cpp
IGCObject_DListType.cpp
IGCObject_DArrayType.cpp
IGCObject_DFunctionType.cpp
IGCObject_DTypeVarRef.cpp
)
xo_add_shared_library4(${SELF_LIB} ${PROJECT_NAME}Targets ${PROJECT_VERSION} 1 ${SELF_SRCS})

View file

@ -4,11 +4,12 @@
**/
#include "type_register_facets.hpp"
#include "AtomicType.hpp"
#include "ListType.hpp"
#include "ArrayType.hpp"
#include "FunctionType.hpp"
#include "TypeVarRef.hpp"
#include <xo/type/AtomicType.hpp>
#include <xo/type/ListType.hpp>
#include <xo/type/ArrayType.hpp>
#include <xo/type/FunctionType.hpp>
#include <xo/facet/FacetRegistry.hpp>
#include <xo/indentlog/scope.hpp>
@ -36,10 +37,14 @@ namespace xo {
FacetRegistry::register_impl<AType, DFunctionType>();
FacetRegistry::register_impl<AGCObject, DFunctionType>();
FacetRegistry::register_impl<AType, DTypeVarRef>();
FacetRegistry::register_impl<AGCObject, DTypeVarRef>();
log && log(xtag("DAtomicType.tseq", typeseq::id<DAtomicType>()));
log && log(xtag("DListType.tseq", typeseq::id<DListType>()));
log && log(xtag("DArrayType.tseq", typeseq::id<DArrayType>()));
log && log(xtag("DFunctionType.tseq", typeseq::id<DFunctionType>()));
log && log(xtag("DTypeVarRef.tseq", typeseq::id<DTypeVarRef>()));
return true;
}

View file

@ -9,6 +9,7 @@
#include "ListType.hpp"
#include "ArrayType.hpp"
#include "FunctionType.hpp"
#include "TypeVarRef.hpp"
#include <xo/alloc2/Collector.hpp>
#include <xo/facet/FacetRegistry.hpp>
#include <xo/indentlog/scope.hpp>
@ -31,6 +32,7 @@ namespace xo {
ok &= gc.install_type(impl_for<AGCObject, DListType>());
ok &= gc.install_type(impl_for<AGCObject, DArrayType>());
ok &= gc.install_type(impl_for<AGCObject, DFunctionType>());
ok &= gc.install_type(impl_for<AGCObject, DTypeVarRef>());
return ok;
}