From 1e83e9aabae1c705cca132f690bdb16299367615 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 ++++++++++++++---- xo-expression2/src/expression2/DVariable.cpp | 7 +++--- xo-expression2/src/expression2/TypeRef.cpp | 8 ++++--- xo-reader2/src/reader2/DDefineSsm.cpp | 9 +++++-- xo-reader2/src/reader2/DExpectExprSsm.cpp | 3 ++- xo-reader2/src/reader2/DProgressSsm.cpp | 24 ++++--------------- xo-reader2/src/reader2/ParserStack.cpp | 5 ++-- xo-reader2/src/reader2/SchematikaParser.cpp | 3 ++- xo-reader2/utest/SchematikaParser.test.cpp | 4 ++-- 9 files changed, 47 insertions(+), 39 deletions(-) diff --git a/xo-expression2/src/expression2/DDefineExpr.cpp b/xo-expression2/src/expression2/DDefineExpr.cpp index 47465c0e..ba2304ad 100644 --- a/xo-expression2/src/expression2/DDefineExpr.cpp +++ b/xo-expression2/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/xo-expression2/src/expression2/DVariable.cpp b/xo-expression2/src/expression2/DVariable.cpp index 4550a102..af47de00 100644 --- a/xo-expression2/src/expression2/DVariable.cpp +++ b/xo-expression2/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/xo-expression2/src/expression2/TypeRef.cpp b/xo-expression2/src/expression2/TypeRef.cpp index 01cb043c..5ff1d258 100644 --- a/xo-expression2/src/expression2/TypeRef.cpp +++ b/xo-expression2/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*/ diff --git a/xo-reader2/src/reader2/DDefineSsm.cpp b/xo-reader2/src/reader2/DDefineSsm.cpp index 0cd488e5..c4628c22 100644 --- a/xo-reader2/src/reader2/DDefineSsm.cpp +++ b/xo-reader2/src/reader2/DDefineSsm.cpp @@ -733,13 +733,18 @@ namespace xo { bool DDefineSsm::pretty(const ppindentinfo & ppii) const { - auto expr = FacetRegistry::instance().variant(def_expr_); + auto expr + = FacetRegistry::instance().variant(def_expr_); + assert(expr.data()); + (void)expr; return ppii.pps()->pretty_struct (ppii, "DDefineSsm", refrtag("defstate", defstate_), - refrtag("def_expr", expr)); + refrtag("def_expr", expr) + ); } } /*namespace scm*/ } /*namespace xo*/ diff --git a/xo-reader2/src/reader2/DExpectExprSsm.cpp b/xo-reader2/src/reader2/DExpectExprSsm.cpp index 66eb41cd..7a82ad1c 100644 --- a/xo-reader2/src/reader2/DExpectExprSsm.cpp +++ b/xo-reader2/src/reader2/DExpectExprSsm.cpp @@ -336,7 +336,8 @@ namespace xo { (ppii, "DExpectExprSsm", refrtag("allow_defs", allow_defs_), - refrtag("cxl_on_rightbrace", cxl_on_rightbrace_)); + refrtag("cxl_on_rightbrace", cxl_on_rightbrace_) + ); } #ifdef NOT_YET diff --git a/xo-reader2/src/reader2/DProgressSsm.cpp b/xo-reader2/src/reader2/DProgressSsm.cpp index cc0fc14b..e085f8cf 100644 --- a/xo-reader2/src/reader2/DProgressSsm.cpp +++ b/xo-reader2/src/reader2/DProgressSsm.cpp @@ -1115,32 +1115,16 @@ namespace xo { if (rhs_) rhs = FacetRegistry::instance().variant(rhs_); + (void)lhs; + return ppii.pps()->pretty_struct (ppii, "DProgressSsm", refrtag("lhs", lhs), refrtag("op", op_type_), - cond(rhs, refrtag("rhs", rhs), "nullptr")); + cond(rhs, refrtag("rhs", rhs), "nullptr") + ); -#ifdef NOPE - if (ppii.upto()) { - return (ppii.pps()->print_upto("print_upto(refrtag("lhs", lhs_)) : true) - && (op_type_ != optype::invalid ? ppii.pps()->print_upto(refrtag("op", op_type_)) : true) - && (rhs_ ? ppii.pps()->print_upto(refrtag("rhs", rhs_)) : true) - && ppii.pps()->print_upto(">")); - } else { - ppii.pps()->write("pretty(refrtag("lhs", lhs_)); - if (op_type_ != optype::invalid) - ppii.pps()->pretty(refrtag("op", op_type_)); - if (rhs_) - ppii.pps()->pretty(refrtag("rhs", rhs_)); - ppii.pps()->write(">"); - return false; - } -#endif } obj diff --git a/xo-reader2/src/reader2/ParserStack.cpp b/xo-reader2/src/reader2/ParserStack.cpp index 91d8bca9..9af9f339 100644 --- a/xo-reader2/src/reader2/ParserStack.cpp +++ b/xo-reader2/src/reader2/ParserStack.cpp @@ -73,8 +73,9 @@ namespace xo { char buf[80]; snprintf(buf, sizeof(buf), "[%lu]", i_frame); - auto ssm = FacetRegistry::instance().variant (frame->top()); + auto ssm = (FacetRegistry::instance().variant + (frame->top())); + assert(ssm.data()); pps->newline_pretty_tag(ppii.ci1(), buf, ssm); diff --git a/xo-reader2/src/reader2/SchematikaParser.cpp b/xo-reader2/src/reader2/SchematikaParser.cpp index 13f9edff..e584044c 100644 --- a/xo-reader2/src/reader2/SchematikaParser.cpp +++ b/xo-reader2/src/reader2/SchematikaParser.cpp @@ -117,7 +117,8 @@ namespace xo { return pps->pretty_struct (ppii, "SchematikaParser", - refrtag("stack", psm_.stack())); + refrtag("stack", psm_.stack()) + ); } } /*namespace scm*/ } /*namespace xo*/ diff --git a/xo-reader2/utest/SchematikaParser.test.cpp b/xo-reader2/utest/SchematikaParser.test.cpp index a8544687..895aed10 100644 --- a/xo-reader2/utest/SchematikaParser.test.cpp +++ b/xo-reader2/utest/SchematikaParser.test.cpp @@ -16,9 +16,9 @@ namespace xo { using xo::scm::SchematikaParser; using xo::scm::ASyntaxStateMachine; using xo::scm::syntaxstatetype; - using xo::scm::DDefineSsm; +// using xo::scm::DDefineSsm; using xo::scm::DExpectExprSsm; - using xo::scm::defexprstatetype; +// using xo::scm::defexprstatetype; //using xo::scm::ParserResult; //using xo::scm::parser_result_type; using xo::scm::Token;