Hello seniors, please let me know what is wrong when i am creating driver class

ifndef r_agent define r_agent
import uvm_pkg::*;

include"uvm_macros.svh" include"w_config.sv"
include"r_driver.sv" include"r_sequencer.sv"
`include"r_monitor.sv"

class r_agent extends uvm_agent;
`uvm_component_utils(r_agent)

r_config rcfg;
r_driver rdr;
r_sequencer rsqr;
r_monitor rmon;

extern function new(string name=“r_agent”,uvm_component parent);
extern function void build_phase(uvm_phase phase);
extern function void connect_phase(uvm_phase phase);

endclass

// New construct

function r_agent::new(string name=“r_agent”, uvm_component parent);

super.new(name,parent);
endfunction

// BUILD Phase

function void r_agent::build_phase(uvm_phase phase);
super.build_phase(phase);

if(!uvm_config_db#(r_config)::get(this,“”,“r_config”,rcfg))
`uvm_fatal(“TB CONFIG”,“can not get() wcfg from uvm_config”)

rmon=r_monitor::type_id::create(“rmon”,this);

if(rcfg.is_active==UVM_ACTIVE)
begin
rdr=r_driver::type_id::create(“rdr”,this);/// ERROR ERROR ERROR
rsqr=r_sequencer::type_id::create(“rsqr”,this);
end
endfunction

//////// COnnect Phase

function void r_agent::connect_phase(uvm_phase phase);
if(rcfg.is_active==UVM_ACTIVE)
rdr.seq_item_port.connect(rsqr.se_item_export);
endfunction

`endif

///////////////////////////////////////////////// ERROR/////////////////////////////////////////////////////////////

** Error: C:/Users/BAVITH KUMAR/Desktop/SRAM_UVM/r_agent.sv(46): Failed to find name ‘type_id’ in specified scope

In reply to uvm_verification:

It indicates that you haven’t registered your driver with the factory using uvm_component_utils().