Cleaned up deserialization reachability loop a little.
This commit is contained in:
committed by
alexander-gorshenev
parent
cfe153c742
commit
2736876919
+7
-14
@@ -212,7 +212,6 @@ class KonanIrModuleDeserializer(
|
|||||||
|
|
||||||
reachableTopLevels.add(topLevelKey)
|
reachableTopLevels.add(topLevelKey)
|
||||||
|
|
||||||
// TODO: This is a mess. Cleanup!
|
|
||||||
do {
|
do {
|
||||||
val key = reachableTopLevels.first()
|
val key = reachableTopLevels.first()
|
||||||
|
|
||||||
@@ -221,21 +220,15 @@ class KonanIrModuleDeserializer(
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
val previousModuleDescriptor = deserializedModuleDescriptor
|
if (key.moduleOfOrigin != null) {
|
||||||
deserializedModuleDescriptor = key.moduleOfOrigin
|
deserializedModuleDescriptor = key.moduleOfOrigin
|
||||||
|
val reachable = deserializeTopLevelDeclaration(key)
|
||||||
if (deserializedModuleDescriptor == null) {
|
reversedFileIndex[key]!!.declarations.add(reachable)
|
||||||
deserializedModuleDescriptor = previousModuleDescriptor
|
} else {
|
||||||
reachableTopLevels.remove(key)
|
// The key.moduleOrigin is null for uniqIds that we haven't seen in any of the library headers.
|
||||||
deserializedTopLevels.add(key)
|
// Just skip it for now and handle it elsewhere.
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val reachable = deserializeTopLevelDeclaration(key)
|
|
||||||
|
|
||||||
deserializedModuleDescriptor = previousModuleDescriptor
|
|
||||||
|
|
||||||
reversedFileIndex[key]!!.declarations.add(reachable)
|
|
||||||
reachableTopLevels.remove(key)
|
reachableTopLevels.remove(key)
|
||||||
deserializedTopLevels.add(key)
|
deserializedTopLevels.add(key)
|
||||||
} while (reachableTopLevels.isNotEmpty())
|
} while (reachableTopLevels.isNotEmpty())
|
||||||
|
|||||||
Reference in New Issue
Block a user