void uvm_ml_tlm_transrec_base::object(sc_object* b) {
  sc_module* m;
  m_obj = b;
  uvm_ml_utils::add_transrec_to_map(m_obj, this);
  if (is_transmitter()) {
    m = b->get_top_parent_module();
    if (m) uvm_ml_utils::register_static_top(m->name());
  }
}
void uvm_ml_tlm_transrec_base::object(sc_object* b) {
  sc_module* m = NULL;
  m_obj = b;
  uvm_ml_utils::add_transrec_to_map(m_obj, this);
  if (is_transmitter()) {
    sc_object* obj = b->get_parent();
    while (obj) {
      if (typeid(*obj) == typeid(parent_component_proxy)) return; // Parent proxy shall not be registered as a root node
      sc_module* mm = DCAST<sc_module*>(obj);
      if (!mm) break;
      m = mm;
      obj = obj->get_parent();
    }
    if (m) uvm_ml_utils::register_static_top(m->name());
  }
}