diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-04-14 00:23:09 +0200 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2016-04-25 22:24:18 +0200 |
commit | 0f345bc54c4e048d25f0dc49bf1427d8e30c3d01 (patch) | |
tree | e0efb9efef88ba20a1221bd4357289002f61aeb6 /src/core | |
parent | 439a3c0bd9e2c81082de2cdf0ff8352828bd5364 (diff) |
Small changes to the ReferenceType class, allows them to be used -- however resolution of referenced objects is still missing.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/model/Typesystem.cpp | 9 | ||||
-rw-r--r-- | src/core/model/Typesystem.hpp | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/core/model/Typesystem.cpp b/src/core/model/Typesystem.cpp index 6ae92b4..17d81dd 100644 --- a/src/core/model/Typesystem.cpp +++ b/src/core/model/Typesystem.cpp @@ -666,8 +666,13 @@ bool ReferenceType::doBuild(Variant &data, Logger &logger, throw LoggableException("Reference must be a valid identifier", data); } + data = Variant{}; + return true; } - return false; + + // Throw an exception if no valid data is given + throw LoggableException( + "Expected object or string for constructing a reference", data); } bool ReferenceType::doCheckIsa(Handle<const Type> type) const @@ -676,6 +681,8 @@ bool ReferenceType::doCheckIsa(Handle<const Type> type) const return type->isa(&RttiTypes::ReferenceType); } +Variant ReferenceType::create() const { return Variant{}; } + Handle<Descriptor> ReferenceType::getDescriptor() { return descriptor; } void ReferenceType::setDescriptor(Handle<Descriptor> descriptor) diff --git a/src/core/model/Typesystem.hpp b/src/core/model/Typesystem.hpp index ce3cee0..3d869d9 100644 --- a/src/core/model/Typesystem.hpp +++ b/src/core/model/Typesystem.hpp @@ -1034,7 +1034,7 @@ public: * * @return a null reference. */ - Variant create() const override { return Variant{}; } + Variant create() const override; /** * Returns the descriptor containing the ontological type of which an |