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)
|
||||
|
||||
// TODO: This is a mess. Cleanup!
|
||||
do {
|
||||
val key = reachableTopLevels.first()
|
||||
|
||||
@@ -221,21 +220,15 @@ class KonanIrModuleDeserializer(
|
||||
continue
|
||||
}
|
||||
|
||||
val previousModuleDescriptor = deserializedModuleDescriptor
|
||||
deserializedModuleDescriptor = key.moduleOfOrigin
|
||||
|
||||
if (deserializedModuleDescriptor == null) {
|
||||
deserializedModuleDescriptor = previousModuleDescriptor
|
||||
reachableTopLevels.remove(key)
|
||||
deserializedTopLevels.add(key)
|
||||
continue
|
||||
if (key.moduleOfOrigin != null) {
|
||||
deserializedModuleDescriptor = key.moduleOfOrigin
|
||||
val reachable = deserializeTopLevelDeclaration(key)
|
||||
reversedFileIndex[key]!!.declarations.add(reachable)
|
||||
} else {
|
||||
// The key.moduleOrigin is null for uniqIds that we haven't seen in any of the library headers.
|
||||
// Just skip it for now and handle it elsewhere.
|
||||
}
|
||||
|
||||
val reachable = deserializeTopLevelDeclaration(key)
|
||||
|
||||
deserializedModuleDescriptor = previousModuleDescriptor
|
||||
|
||||
reversedFileIndex[key]!!.declarations.add(reachable)
|
||||
reachableTopLevels.remove(key)
|
||||
deserializedTopLevels.add(key)
|
||||
} while (reachableTopLevels.isNotEmpty())
|
||||
|
||||
Reference in New Issue
Block a user