24 QQmlJSTypeResolver::init(visitor, program);
26 m_root = visitor->result();
28 QQueue<QQmlJSScope::Ptr> objects;
29 objects.enqueue(m_root);
30 while (!objects.isEmpty()) {
31 const QQmlJSScope::Ptr object = objects.dequeue();
32 const QQmlJS::SourceLocation location = object->sourceLocation();
33 qCDebug(lcTypeResolver2()).nospace() <<
"inserting " << object.data() <<
" at "
34 << location.startLine <<
':' << location.startColumn;
35 m_objectsByLocationNonConst.insert({ location.startLine, location.startColumn }, object);
37 const auto childScopes = object->childScopes();
38 for (
const auto &childScope : childScopes)
39 objects.enqueue(childScope);
54 const auto files = m_importer->importedFiles();
55 auto it = std::find_if(files.cbegin(), files.cend(), [&](
const QQmlJSScope::Ptr &importedType) {
56 return importedType.data() == type.data();
58 if (it == files.cend())
60 return { it.key(), it.value() };