// If the proxy object's ~get_type_name~ method returns the empty string,// name-based lookup is effectively disabled.purevirtualfunctionvoidregister(uvm_object_wrapperobj);// Group: Type & Instance Overrides// Function: set_inst_override_by_typepurevirtualfunctionvoidset_inst_override_by_type(uvm_object_wrapperoriginal_type,uvm_object_wrapperoverride_type,stringfull_inst_path);// Function: set_inst_override_by_name//// Configures the factory to create an object of the override's type whenever// a request is made to create an object of the original type using a context
endfunction// @uvm-ieee 1800.2-2020 auto 8.3.1.2.2staticfunctionvoidset(uvm_factoryf);uvm_coreservice_ts;s=uvm_coreservice_t::get();s.set_factory(f);endfunction// Group -- NODOCS -- Registering Types// Function -- NODOCS -- register//// Registers the given proxy object, ~obj~, with the factory. The proxy object// is a lightweight substitute for the component or object it represents. When// the factory needs to create an object of a given type, it calls the proxy's// create_object or create_component method to do so.//// When doing name-based operations, the factory calls the proxy's
purevirtual// @uvm-ieee 1800.2-2020 auto 8.3.1.7.3functionbitis_type_name_registered(stringtype_name);// Function -- NODOCS -- is_type_registered purevirtual// @uvm-ieee 1800.2-2020 auto 8.3.1.7.4functionbitis_type_registered(uvm_object_wrapperobj);//// Creates and returns a component or object of the requested type, which may// be specified by type or by name. A requested component must be derived// from the <uvm_component> base class, and a requested object must be derived// from the <uvm_object> base class.//// When requesting by type, the ~requested_type~ is a handle to the type's// proxy object. Preregistration is not required.//// When requesting by name, the ~request_type_name~ is a string representing// the requested type, which must have been registered with the factory with// that name prior to the request. If the factory does not recognize the// ~requested_type_name~, an error is produced and a ~null~ handle returned.
// Function -- NODOCS -- set_type_aliaspurevirtualfunction// @uvm-ieee 1800.2-2020 auto 8.3.1.6.1voidset_type_alias(stringalias_type_name,uvm_object_wrapperoriginal_type);//Intended to allow overrides by type to use the alias_type_name as an additional name to refer to//original_type // Function -- NODOCS -- set_inst_aliaspurevirtualfunction// @uvm-ieee 1800.2-2020 auto 8.3.1.6.2voidset_inst_alias(stringalias_type_name,uvm_object_wrapperoriginal_type,stringfull_inst_path);//Intended to allow overrides by name to use the alias_type_name as an additional name to refer to//original_type in the context referred to by full_inst_path. // Group -- NODOCS -- Debug// Function -- NODOCS -- debug_create_by_typepurevirtualfunctionvoiddebug_create_by_type(uvm_object_wrapperrequested_type,stringparent_inst_path="",stringname="");