Set_type_override for parameterized classes


class A #(type T=uvm_transaction) extends B
`uvm_object_param_utils( A#(T) ) //Also tried with `uvm_object_utils()
....
endclass

class B #(type T=uvm_transaction) extends C
`uvm_object_param_utils( B#(T) ) //Also tried with `uvm_object_utils()
....
endclass

class C #(type T=uvm_transaction) extends uvm_sequence
`uvm_object_utils( C#(T) )

....
endclass

I am using plusargs to override
+uvm_set_type_override=C,A

But I am running intho this error
UVM_ERROR @ 0: reporter [TYPNTF] Cannot register override for original type ‘C’ because the override type ‘A’ is not registered with the factory.

Any help in how to get fix this?

In reply to saisandeep:

You can’t override parameterized types from the command line. You may be able to create specialized types with typedefs and use them in an override, but I’ve never tried.

In reply to saisandeep:

What you do not show is for which parameter values you have made an object of class A.
As cgales said you cannot pverride for any parameter values.

In reply to saisandeep:

Paramterized classes cannot be registered with the factory using string names, and the command line only can override classes with string names.

Please see http://go.mentor.com/mcem