externvirtualfunctionstringemit();externvirtualfunctionvoidflush();// @uvm-ieee 1800.2-2020 auto 16.2.5.1externvirtualfunctionvoidset_name_enabled(bitenabled);// @uvm-ieee 1800.2-2020 auto 16.2.5.1externvirtualfunctionbitget_name_enabled();// @uvm-ieee 1800.2-2020 auto 16.2.5.2externvirtualfunctionvoidset_type_name_enabled(bitenabled);// @uvm-ieee 1800.2-2020 auto 16.2.5.2externvirtualfunctionbitget_type_name_enabled();// @uvm-ieee 1800.2-2020 auto 16.2.5.3externvirtualfunctionvoidset_size_enabled(bitenabled);// @uvm-ieee 1800.2-2020 auto 16.2.5.3externvirtualfunctionbitget_size_enabled();
stringlinefeed;if(!m_flushed)begin`uvm_error("UVM/PRINT/NO_FLUSH","printer emit() method called twice without intervening uvm_printer::flush()")endelsem_flushed=0;linefeed={"\n",get_line_prefix()};beginintq[5];intm;intqq[$];q='{m_max_name,m_max_type,m_max_size,m_max_value,100};qq=q.max;m=qq[0];if(dash.len()<m)begindash={m{"-"}};m_space={m{" "}};