summaryrefslogtreecommitdiff
path: root/src/lib/language/builtindeclarations.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/language/builtindeclarations.cpp')
-rw-r--r--src/lib/language/builtindeclarations.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/language/builtindeclarations.cpp b/src/lib/language/builtindeclarations.cpp
index 1df7649a9..5ea695924 100644
--- a/src/lib/language/builtindeclarations.cpp
+++ b/src/lib/language/builtindeclarations.cpp
@@ -128,6 +128,21 @@ QList<PropertyDeclaration> BuiltinDeclarations::declarationsForType(const QStrin
return m_builtins.value(typeName);
}
+void BuiltinDeclarations::setupItemForBuiltinType(Item *item) const
+{
+ foreach (const PropertyDeclaration &pd, declarationsForType(item->typeName())) {
+ item->m_propertyDeclarations.insert(pd.name, pd);
+ ValuePtr &value = item->m_properties[pd.name];
+ if (!value) {
+ JSSourceValuePtr sourceValue = JSSourceValue::create();
+ sourceValue->setFile(item->file());
+ sourceValue->setSourceCode(pd.initialValueSource.isEmpty() ?
+ "undefined" : pd.initialValueSource);
+ value = sourceValue;
+ }
+ }
+}
+
static PropertyDeclaration conditionProperty()
{
return PropertyDeclaration(QLatin1String("condition"), PropertyDeclaration::Boolean);