summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahoo-inc.com>2017-02-02 11:01:21 +0100
committerTor Brede Vekterli <vekterli@yahoo-inc.com>2017-02-02 15:18:37 +0100
commit83027de31f87a76de76d4a5cc3ebcdff440e2d36 (patch)
tree1f3134727fae1dbb2845734ccc84dd0a84f4c677 /document
parent76d66d3cc617155c7cb54bb0f921b3484ba31d9d (diff)
Simplify branching
Diffstat (limited to 'document')
-rw-r--r--document/src/vespa/document/fieldvalue/referencefieldvalue.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/document/src/vespa/document/fieldvalue/referencefieldvalue.cpp b/document/src/vespa/document/fieldvalue/referencefieldvalue.cpp
index d5a8412059a..ca939b644a0 100644
--- a/document/src/vespa/document/fieldvalue/referencefieldvalue.cpp
+++ b/document/src/vespa/document/fieldvalue/referencefieldvalue.cpp
@@ -55,20 +55,19 @@ void ReferenceFieldValue::requireIdOfMatchingType(
FieldValue& ReferenceFieldValue::assign(const FieldValue& rhs) {
const auto* refValueRhs(dynamic_cast<const ReferenceFieldValue*>(&rhs));
- if (refValueRhs != nullptr) {
- if (refValueRhs == this) {
- return *this;
- }
- _documentId = refValueRhs->_documentId;
- _dataType = refValueRhs->_dataType;
- _altered = true;
- } else {
+ if (refValueRhs == nullptr) {
throw IllegalArgumentException(
make_string("Can't assign field value of type %s to "
"a ReferenceFieldValue",
rhs.getDataType()->getName().c_str()),
VESPA_STRLOC);
}
+ if (refValueRhs == this) {
+ return *this;
+ }
+ _documentId = refValueRhs->_documentId;
+ _dataType = refValueRhs->_dataType;
+ _altered = true;
return *this;
}