IR: put resolution of unbound type parameter symbols behind a language version flag
This commit is contained in:
@@ -62,7 +62,7 @@ internal class FirClassImpl(
|
||||
transformAnnotations(transformer, data)
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
declarations.transformInplace(transformer, data)
|
||||
transformDeclarations(transformer, data)
|
||||
companionObject = declarations.asSequence().filterIsInstance<FirRegularClass>().firstOrNull { it.status.isCompanion }
|
||||
superTypeRefs.transformInplace(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ internal class FirSealedClassImpl(
|
||||
transformAnnotations(transformer, data)
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
declarations.transformInplace(transformer, data)
|
||||
transformDeclarations(transformer, data)
|
||||
companionObject = declarations.asSequence().filterIsInstance<FirRegularClass>().firstOrNull { it.status.isCompanion }
|
||||
superTypeRefs.transformInplace(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
|
||||
+17
-14
@@ -53,21 +53,24 @@ 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)
|
||||
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)
|
||||
if (!languageVersionSettings.supportsFeature(LanguageFeature.NewInference)) {
|
||||
r.addAll(unboundTypeParameters)
|
||||
}
|
||||
return r
|
||||
}
|
||||
}
|
||||
|
||||
fun List<IrProvider>.getDeclaration(symbol: IrSymbol): IrDeclaration =
|
||||
firstNotNullResult { provider ->
|
||||
|
||||
Reference in New Issue
Block a user