summaryrefslogtreecommitdiff
path: root/src/core/model/Domain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/model/Domain.cpp')
-rw-r--r--src/core/model/Domain.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/core/model/Domain.cpp b/src/core/model/Domain.cpp
index f9e2a55..e2aaba4 100644
--- a/src/core/model/Domain.cpp
+++ b/src/core/model/Domain.cpp
@@ -82,14 +82,18 @@ void Domain::doResolve(std::vector<Rooted<Managed>> &res,
/* Type registrations */
namespace RttiTypes {
-const Rtti<model::FieldDescriptor> FieldDescriptor{"FieldDescriptor", {&Node}};
-const Rtti<model::Descriptor> Descriptor{"Descriptor", {&Node}};
-const Rtti<model::StructuredClass> StructuredClass{
- "StructuredClass", {&Descriptor}, {&FieldDescriptor}};
-const Rtti<model::AnnotationClass> AnnotationClass{"AnnotationClass",
- {&Descriptor}};
-const Rtti<model::Domain> Domain{
- "Domain", {&Node}, {&StructuredClass, &AnnotationClass}};
+const Rtti<model::FieldDescriptor> FieldDescriptor =
+ RttiBuilder("FieldDescriptor").parent(&Node);
+const Rtti<model::Descriptor> Descriptor =
+ RttiBuilder("Descriptor").parent(&Node);
+const Rtti<model::StructuredClass> StructuredClass =
+ RttiBuilder("StructuredClass").parent(&Descriptor).composedOf(
+ &FieldDescriptor);
+const Rtti<model::AnnotationClass> AnnotationClass =
+ RttiBuilder("AnnotationClass").parent(&Descriptor);
+const Rtti<model::Domain> Domain =
+ RttiBuilder("Domain").parent(&Node).composedOf(
+ {&StructuredClass, &AnnotationClass});
}
}