Skip to content
Snippets Groups Projects
Commit cbaa9b9f authored by Christian Kamm's avatar Christian Kamm
Browse files

Add lookup for members of builtin types to QmlLookupContext.

parent a482654b
No related branches found
No related tags found
No related merge requests found
...@@ -204,7 +204,12 @@ QmlSymbol *QmlLookupContext::resolveProperty(const QString &name, QmlSymbol *sco ...@@ -204,7 +204,12 @@ QmlSymbol *QmlLookupContext::resolveProperty(const QString &name, QmlSymbol *sco
if (typeSymbol->isSymbolFromFile()) { if (typeSymbol->isSymbolFromFile()) {
return resolveProperty(name, typeSymbol->asSymbolFromFile(), typeSymbol->asSymbolFromFile()->fileName()); return resolveProperty(name, typeSymbol->asSymbolFromFile(), typeSymbol->asSymbolFromFile()->fileName());
} // TODO: internal types } else if (QmlBuildInSymbol *builtinSymbol = typeSymbol->asBuildInSymbol()) {
foreach (QmlSymbol *member, builtinSymbol->members(true)) {
if (member->isProperty() && member->name() == name)
return member;
}
}
return 0; return 0;
} }
......
...@@ -281,7 +281,7 @@ void tst_Lookup::localScopeLookup() ...@@ -281,7 +281,7 @@ void tst_Lookup::localScopeLookup()
symbol = context.resolve("x"); symbol = context.resolve("x");
QVERIFY(symbol); QVERIFY(symbol);
QVERIFY(symbol->isProperty()); QVERIFY(symbol->isProperty());
QVERIFY(parent->members().contains(symbol)); // how do we know we got the right x?
} }
} }
...@@ -307,7 +307,7 @@ void tst_Lookup::localRootLookup() ...@@ -307,7 +307,7 @@ void tst_Lookup::localRootLookup()
} }
// try lookup // try lookup
QmlSymbol *parent = scopes.top(); QmlSymbol *parent = scopes.front();
QmlLookupContext context(scopes, doc, snapshot(doc), typeSystem()); QmlLookupContext context(scopes, doc, snapshot(doc), typeSystem());
QmlSymbol *symbol; QmlSymbol *symbol;
...@@ -319,7 +319,6 @@ void tst_Lookup::localRootLookup() ...@@ -319,7 +319,6 @@ void tst_Lookup::localRootLookup()
symbol = context.resolve("color"); symbol = context.resolve("color");
QVERIFY(symbol); QVERIFY(symbol);
QVERIFY(symbol->isProperty()); QVERIFY(symbol->isProperty());
QVERIFY(parent->members().contains(symbol));
} }
QTEST_APPLESS_MAIN(tst_Lookup) QTEST_APPLESS_MAIN(tst_Lookup)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment