summaryrefslogtreecommitdiff
path: root/src/lib/corelib/language/evaluatorscriptclass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/language/evaluatorscriptclass.cpp')
-rw-r--r--src/lib/corelib/language/evaluatorscriptclass.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/corelib/language/evaluatorscriptclass.cpp b/src/lib/corelib/language/evaluatorscriptclass.cpp
index e9e6d8d36..e0dd5a525 100644
--- a/src/lib/corelib/language/evaluatorscriptclass.cpp
+++ b/src/lib/corelib/language/evaluatorscriptclass.cpp
@@ -215,6 +215,16 @@ private:
if (value->sourceUsesOuter() && outerItem)
setupConvenienceProperty(QLatin1String("outer"), &extraScope,
data->evaluator->property(outerItem, *propertyName));
+ if (value->sourceUsesOriginal()) {
+ const Item *item = itemOfProperty;
+ while (item->isModuleInstance())
+ item = item->prototype();
+ QScriptValue originalValue;
+ SVConverter converter(scriptClass, object, item->property(*propertyName), item,
+ propertyName, data, &originalValue, sourceValueStack);
+ converter.start();
+ setupConvenienceProperty(QLatin1String("original"), &extraScope, originalValue);
+ }
pushScope(data->evaluator->fileScope(value->file()));
pushItemScopes(data->item);