endfunctionconststaticstringtype_name=Tname;// Function: get_type_name//// Returns the value given by the string parameter, ~Tname~. This method// overrides the method in <uvm_object_wrapper>.virtualfunctionstringget_type_name();returntype_name;endfunctionlocalstaticthis_typeme=get();// Function: get//
returnobj;endfunctionconststaticstringtype_name=Tname;// Function: get_type_name//// Returns the value given by the string parameter, ~Tname~. This method// overrides the method in <uvm_object_wrapper>.virtualfunctionstringget_type_name();returntype_name;endfunctionlocalstaticthis_typeme=get();// Function: get//// Returns the singleton instance of this type. Type-based factory operation
endfunctionstaticfunctionstringtype_name();returncommon_type::type_name();endfunction:type_name// Function -- NODOCS -- get_type_name//// Returns the value given by the string parameter, ~Tname~. This method// overrides the method in <uvm_object_wrapper>.// @uvm-ieee 1800.2-2020 auto 8.2.3.2.2virtualfunctionstringget_type_name();common_typecommon=common_type::get();returncommon.get_type_name();endfunction// @uvm-ieee 1800.2-2020 manual 8.2.4.2.3
// then the alias is deferred until registration occurs.//// @uvm-contrib This API is being considered for potential contribution to 1800.2staticfunctionbitset_type_alias(stringalias_name);common_type::set_type_alias(alias_name);return1;endfunctionendclass// Class: uvm_object_registry#(T,Tname)// Implementation of uvm_object_registry#(T,Tname), as defined by section// 8.2.4.1 of 1800.2-2020.// @uvm-ieee 1800.2-2020 auto 8.2.4.1classuvm_object_registry#(typeT=uvm_object,stringTname="<unknown>")extendsuvm_object_wrapper;typedefuvm_object_registry#(T,Tname)this_type;
// 8.2.5.1.1 of 1800.2-2020.// @uvm-ieee 1800.2-2020 auto 8.2.5.1.1classuvm_abstract_component_registry#(typeT=uvm_component,stringTname="<unknown>")extendsuvm_object_wrapper;typedefuvm_abstract_component_registry#(T,Tname)this_type;typedefuvm_registry_common#(this_type,uvm_registry_component_creator,T,Tname)common_type;// Function -- NODOCS -- create_component//// Creates a component of type T having the provided ~name~ and ~parent~.// This is an override of the method in <uvm_object_wrapper>. It is// called by the factory after determining the type of object to create.// You should not call this method directly. Call <create> instead.// @uvm-ieee 1800.2-2020 auto 8.2.5.1.2virtualfunctionuvm_componentcreate_component(stringname,uvm_componentparent);`uvm_error(
// 8.2.5.2.1 of 1800.2-2020.// @uvm-ieee 1800.2-2020 auto 8.2.5.2.1classuvm_abstract_object_registry#(typeT=uvm_object,stringTname="<unknown>")extendsuvm_object_wrapper;typedefuvm_abstract_object_registry#(T,Tname)this_type;typedefuvm_registry_common#(this_type,uvm_registry_object_creator,T,Tname)common_type;// Function -- NODOCS -- create_object//// Creates an object of type ~T~ and returns it as a handle to a// <uvm_object>. This is an override of the method in <uvm_object_wrapper>.// It is called by the factory after determining the type of object to create.// You should not call this method directly. Call <create> instead.// @uvm-ieee 1800.2-2020 auto 8.2.5.2.2virtualfunctionuvm_objectcreate_object(stringname="");`uvm_error("UVM/ABST_RGTRY/CREATE_ABSTRACT_OBJ",