diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-10-05 17:28:04 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-10-05 17:28:04 +0200 |
commit | 7e5c48457edf7973ea7c59ab2f351c80f6e7a301 (patch) | |
tree | 0585dce0c52e01b6df0c19aaa838f367c8b91d59 /src/lib/corelib/language/evaluatorscriptclass.cpp | |
parent | 631b1a1732e9837ae7eeaa5113c4b6c451bae569 (diff) | |
parent | f47a71fe70312646a8bf155c7edce761f4be1204 (diff) |
Merge 1.9 into master
This is intended to be the last merge from 1.9.
Change-Id: I7b9dec70a50726f4ed2d54152eab472f2c6b74ec
Diffstat (limited to 'src/lib/corelib/language/evaluatorscriptclass.cpp')
-rw-r--r-- | src/lib/corelib/language/evaluatorscriptclass.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/lib/corelib/language/evaluatorscriptclass.cpp b/src/lib/corelib/language/evaluatorscriptclass.cpp index 4c4a521a5..6e131fdec 100644 --- a/src/lib/corelib/language/evaluatorscriptclass.cpp +++ b/src/lib/corelib/language/evaluatorscriptclass.cpp @@ -213,14 +213,11 @@ private: // condition is true, let's use the value of this alternative if (alternative.value->sourceUsesOuter() && !outerItem) { // Clone value but without alternatives. - JSSourceValuePtr outerValue = JSSourceValue::create(); - outerValue->setFile(value->file()); - outerValue->setHasFunctionForm(value->hasFunctionForm()); - outerValue->setSourceCode(value->sourceCode()); - outerValue->setBaseValue(value->baseValue()); - if (value->sourceUsesBase()) - outerValue->setSourceUsesBaseFlag(); - outerValue->setLocation(value->line(), value->column()); + JSSourceValuePtr outerValue = + std::static_pointer_cast<JSSourceValue>(value->clone()); + outerValue->setNext(ValuePtr()); + outerValue->clearCreatedByPropertiesBlock(); + outerValue->clearAlternatives(); outerItem = Item::create(data->item->pool(), ItemType::Outer); outerItem->setProperty(propertyName->toString(), outerValue); } |