static function T create(string name, uvm_component parent, ...);
uvm_object obj;
uvm_factory f = uvm_factory::get();
...
obj = f.create_component_by_type(get(),contxt,name,parent);
if (!$cast(create, obj)) begin
string msg;
msg = {<"... error message ...">};
uvm_report_fatal("FCTTYP", msg, UVM_NONE);
end
endfunction
The above code of create function is taken from uvm_registry class. I have question that how this function works , specially " if (!$cast(create, obj)) begin " I think here create is a function call but when it will be completed. What will create returns ??