How is reflection information about a new C++ class stored?

Hello,

I would like to understand how the reflection/property system stores information about the classes whose definition is annotated with the UCLASS() macro.

Does a definition like that result in a definition of another class that derives from UClass or will it be just another UClass instance that stores the reflection information about the annotated class? Basically is every new annotated C++ class paired with an UClass object or a class derived from UClass in order to store reflection information?

Thanks for help and sorry for my bad English.