Revert "IR: put resolution of unbound type parameter symbols behind a language version flag"

This reverts commit 9634e6fba3.
This commit is contained in:
Georgy Bronnikov
2020-04-15 15:56:31 +03:00
parent b4c62cdb52
commit a1a2da3c0f
3 changed files with 16 additions and 19 deletions
@@ -62,7 +62,7 @@ internal class FirClassImpl(
transformAnnotations(transformer, data)
typeParameters.transformInplace(transformer, data)
transformStatus(transformer, data)
transformDeclarations(transformer, data)
declarations.transformInplace(transformer, data)
companionObject = declarations.asSequence().filterIsInstance<FirRegularClass>().firstOrNull { it.status.isCompanion }
superTypeRefs.transformInplace(transformer, data)
transformControlFlowGraphReference(transformer, data)
@@ -65,7 +65,7 @@ internal class FirSealedClassImpl(
transformAnnotations(transformer, data)
typeParameters.transformInplace(transformer, data)
transformStatus(transformer, data)
transformDeclarations(transformer, data)
declarations.transformInplace(transformer, data)
companionObject = declarations.asSequence().filterIsInstance<FirRegularClass>().firstOrNull { it.status.isCompanion }
superTypeRefs.transformInplace(transformer, data)
transformControlFlowGraphReference(transformer, data)
@@ -53,25 +53,22 @@ class ExternalDependenciesGenerator(
}
} while (unbound.isNotEmpty())
}
private val SymbolTable.allUnbound: List<IrSymbol>
get() {
val r = mutableListOf<IrSymbol>()
r.addAll(unboundClasses)
r.addAll(unboundConstructors)
r.addAll(unboundEnumEntries)
r.addAll(unboundFields)
r.addAll(unboundSimpleFunctions)
r.addAll(unboundProperties)
r.addAll(unboundTypeAliases)
if (!languageVersionSettings.supportsFeature(LanguageFeature.NewInference)) {
r.addAll(unboundTypeParameters)
}
return r
}
}
private val SymbolTable.allUnbound: List<IrSymbol>
get() {
val r = mutableListOf<IrSymbol>()
r.addAll(unboundClasses)
r.addAll(unboundConstructors)
r.addAll(unboundEnumEntries)
r.addAll(unboundFields)
r.addAll(unboundSimpleFunctions)
r.addAll(unboundProperties)
r.addAll(unboundTypeAliases)
r.addAll(unboundTypeParameters)
return r
}
fun List<IrProvider>.getDeclaration(symbol: IrSymbol): IrDeclaration =
firstNotNullResult { provider ->
provider.getDeclaration(symbol)