Add lookup for members of builtin types to QmlLookupContext.

This commit is contained in:
Christian Kamm
2010-01-15 12:07:22 +01:00
parent a482654bb1
commit cbaa9b9fc0
2 changed files with 8 additions and 4 deletions

View File

@@ -204,7 +204,12 @@ QmlSymbol *QmlLookupContext::resolveProperty(const QString &name, QmlSymbol *sco
if (typeSymbol->isSymbolFromFile()) {
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;
}

View File

@@ -281,7 +281,7 @@ void tst_Lookup::localScopeLookup()
symbol = context.resolve("x");
QVERIFY(symbol);
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()
}
// try lookup
QmlSymbol *parent = scopes.top();
QmlSymbol *parent = scopes.front();
QmlLookupContext context(scopes, doc, snapshot(doc), typeSystem());
QmlSymbol *symbol;
@@ -319,7 +319,6 @@ void tst_Lookup::localRootLookup()
symbol = context.resolve("color");
QVERIFY(symbol);
QVERIFY(symbol->isProperty());
QVERIFY(parent->members().contains(symbol));
}
QTEST_APPLESS_MAIN(tst_Lookup)