Error regarding factory.print()

In reply to cgales:

class axi_test extends uvm_test;
//factory registration
`uvm_component_utils(axi_test)

//constructor
function new(string name, uvm_component parent);
super.new(name, parent);
endfunction: new

//build phase
function void build_phase(uvm_phase phase);
super.build_phase(phase);
endfunction: build_phase

//view the structural composition of the testbench classes and the
//factory setup
function void end_of_elaboration_phase(uvm_phase phase);
super.end_of_elaboration_phase(phase);
this.print();
factory.print();
endfunction

//run phase
task run_phase(uvm_phase phase);
super.run_phase(phase);
endtask: run_phase

endclass: axi_test

I included the macros in other files, so the macros are not an issue.