summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/model/Domain.cpp8
-rw-r--r--test/core/model/TestAdvanced.hpp6
2 files changed, 7 insertions, 7 deletions
diff --git a/src/core/model/Domain.cpp b/src/core/model/Domain.cpp
index f03bd7a..1de4f1a 100644
--- a/src/core/model/Domain.cpp
+++ b/src/core/model/Domain.cpp
@@ -29,9 +29,11 @@ namespace model {
void Descriptor::continueResolve(ResolutionState &state)
{
- const NodeVector<Attribute> &attributes =
- attributesDescriptor->getAttributes();
- continueResolveComposita(attributes, attributes.getIndex(), state);
+ if (attributesDescriptor != nullptr) {
+ const NodeVector<Attribute> &attributes =
+ attributesDescriptor->getAttributes();
+ continueResolveComposita(attributes, attributes.getIndex(), state);
+ }
continueResolveComposita(fieldDescriptors, fieldDescriptors.getIndex(),
state);
}
diff --git a/test/core/model/TestAdvanced.hpp b/test/core/model/TestAdvanced.hpp
index 5af6003..98b41b4 100644
--- a/test/core/model/TestAdvanced.hpp
+++ b/test/core/model/TestAdvanced.hpp
@@ -30,12 +30,10 @@ static Rooted<StructuredClass> resolveDescriptor(Handle<Domain> domain,
const std::string &className)
{
// use the actual resolve method.
- std::vector<Rooted<Managed>> resolved = domain->resolve(className);
+ std::vector<ResolutionResult> resolved = domain->resolve(className, typeOf<StructuredClass>());
// take the first valid result.
for (auto &r : resolved) {
- if (r->isa(typeOf<StructuredClass>())) {
- return r.cast<StructuredClass>();
- }
+ return r.node.cast<StructuredClass>();
}
// if no valid result exists, return nullptr.
return {nullptr};