From 5033b65ef2cc2ee650716000dc5ba6a7406dde11 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 26 Jan 2026 21:36:10 -0500 Subject: [PATCH] xo-reader2: formatting + asserts --- src/expression2/DDefineExpr.cpp | 23 ++++++++++++++++++----- src/expression2/DVariable.cpp | 7 ++++--- src/expression2/TypeRef.cpp | 8 +++++--- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/expression2/DDefineExpr.cpp b/src/expression2/DDefineExpr.cpp index 47465c0e..ba2304ad 100644 --- a/src/expression2/DDefineExpr.cpp +++ b/src/expression2/DDefineExpr.cpp @@ -75,23 +75,36 @@ namespace xo { bool DDefineExpr::pretty(const ppindentinfo & ppii) const { + assert(lhs_var_); + auto lhs = obj(lhs_var_); auto rhs = FacetRegistry::instance().try_variant(rhs_); + if (lhs_var_) + assert(lhs.data()); + + (void)lhs; + (void)rhs; + + if (rhs_) + assert(rhs.data()); + // note: xo::print::cond() doesn't resolve the way we want here if (rhs) { return ppii.pps()->pretty_struct (ppii, - "DDefineExpr", - refrtag("lhs", lhs), - refrtag("rhs", rhs)); + "DDefineExpr" + , refrtag("lhs", lhs) + , refrtag("rhs", rhs) + ); } else { return ppii.pps()->pretty_struct (ppii, - "DDefineExpr", - refrtag("lhs", lhs)); + "DDefineExpr" + , refrtag("lhs", lhs) + ); } } diff --git a/src/expression2/DVariable.cpp b/src/expression2/DVariable.cpp index 4550a102..af47de00 100644 --- a/src/expression2/DVariable.cpp +++ b/src/expression2/DVariable.cpp @@ -47,9 +47,10 @@ namespace xo { return ppii.pps()->pretty_struct (ppii, - "DVariable", - refrtag("name", quot(name)), - refrtag("typeref", typeref_)); + "DVariable" + , refrtag("name", quot(name)) + , refrtag("typeref", typeref_) + ); } } /*namespace scm*/ diff --git a/src/expression2/TypeRef.cpp b/src/expression2/TypeRef.cpp index 01cb043c..5ff1d258 100644 --- a/src/expression2/TypeRef.cpp +++ b/src/expression2/TypeRef.cpp @@ -4,6 +4,7 @@ **/ #include "TypeRef.hpp" +#include #include #include @@ -71,9 +72,10 @@ namespace xo { return ppii.pps()->pretty_struct (ppii, - "TypeRef", - refrtag("id", quot(id_)), - refrtag("td", td_)); + "TypeRef" + , refrtag("id", quot(id_)) + , refrtag("td", cond(td_, td_, "null")) + ); } } /*namespace scm*/